Moriarty Corp靶场渗透笔记
本文最后更新于:2022年8月18日 下午
Moriarty Corp靶场渗透笔记
靶场地址:https://www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/
网路配置:仅主机
信息收集
1 |
|
-sn:只进行主机发现,不进行端口扫描。
-PR:ARP Ping。
-T:指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,在网络通讯状况较好的情况下推荐使用T4。
端口扫描:
漏洞探测
直接访问8000端口,注意一点,访问使用http协议,部分浏览器会自动使用https访问,会出现未响应现象
拿到第一个flag,flag{start}打靶正式开始
可以看到开放80端口
随便访问一下,可以看到可能存在文件包含漏洞,使用**../../../../../../../../etc/passwd**进行测试,存在该漏洞
漏洞利用
文件包含漏洞,通常分为本地文件包含和远程文件包含。本地文件包含,通常需要能够写入webshell的文件进行包含,进而获取shell权限。远程文件包含,可对远程写入webshell的文件进行包含,获取shell权限,这里提供两种不同利用方法的payload。
远程文件包含
kali开启apache2服务创建一句话木马evil.php
网页访问即可
1 |
|
值得注意的一点是,此时网页显示的phpinfo信息是kali攻击机apache2的信息,本次远程文件包含的流程是受害者访问kali攻击机的evil.php,此时返回的结果是php在kali攻击机运行完成后结果,而并非在受害机上运行phpinfo,如果想在受害机上运行phpinfo应该将evil.php改为evil.txt,使得受害机获取evil.txt的网页源代码,由于文件包含会自动将包含内容的php代码解析,因此可在受害机上执行php代码。
攻击代码:
1 |
|
php伪协议
1 |
|
1 |
|
利用上述两种方法反弹shell即可,获得flag
内网渗透
要求获得内网权限,根据配置我们可以知道受害机是连接外网的机器,其内部应该有连接内网的网卡,这里靶机应该是用多个docker构建内,因此我们需要利用受害机转发流量。
代理转发这里提供两种方法供学习使用:Venom工具和metasploit工具
Venom工具
github链接:https://github.com/Dliv3/Venom/releases
打开目录可以看到分为:admin(服务端)和agent(客户端),服务端是在本地运行,客户端则是在目标服务器上运行,分类也是包含了大部分操作系统的类型,scripts目录里的脚本是用来端口复用的:
这里出现了权限问题,说明在本目录没有权限,切换至/tmp/文件即可
kali运行监听端口
1 |
|
受害机连接端口
1 |
|
这里可以配置代理设置
可以看到节点已经连接上(A表示本机,1表示受害者)
配置sock代理端口1080,即所有经过kali1080端口的流量都将转发至1号节点
1 |
|
metasploit工具
攻击机进行监听设置(注意:监听主机设置需要与生成的payload保持一致):
1 |
|
生成反弹需要的payload文件
1 |
|
将生成的文件上传到目标主机,并更改payload可执行权限,并执行。
1 |
|
在攻击端,监听的主机收到目标主机反弹的shell权限
根据提交flag后系统反馈的提示说明,需要我们对内网的web应用网站进行渗透攻击,此时为了能够访问到内网,需要进行添加代理操作。查看当前路由有一个内网段ip地址段位172.17.0.0/24。
执行指令添加路由操作。
1 |
|
添加socks5代理:
1 |
|
配置kali的proxychain,利用它的代理功能让kali上的所有工具都能利用这个代理穿透内网。
1 |
|
扫描比较慢稍等片刻即可
文件上传,传个小马试试
上传之后还想没啥反应,看其他writeup可知,需要密码爆破,发burp设代理,一气呵成,爆出密码password
找到地址,蚁剑访问即可
获得flag
SSH爆破
根据提示,我需要找一个ssh服务器
proxychains扫描内网中开启22端口的主机
1 |
|
值得注意的是nmap扫描网段并不是完全顺序扫描,这里可以看到172.17.0.5开始了ssh,接下来扫描的是172.17.0.8
md5破解密文,hydra加载用户名密码破解
1 |
|
找到用户root和密码weapons,登陆即可,在根目录找到flag
水平越权
重新进行端口扫描
1 |
|
这次等待时间稍长一些,发现开放端口8000的ip172.17.0.7
有更改密码选项,直接抓包
似乎未对用户名验证,存在水平越权,在聊天框里获取到用户名管理员admin
重新登陆即可获得本关flag
Elasticsearch提权
本官提示网站数据库Elasticsearch,百度可知Elasticsearch默认端口9200
端口扫描
1 |
|
找到172.17.0.9:9200
访问获得相关版本信息
搜索Elasticsearch历史版本漏洞exp
按文档执行即可
遇到的问题
1.环境启动时候可能会出现卡死现象,这是网络配置出现问题
解决方法:
可以在虚拟机网络配置中切换连接方式为NAT,即可顺利进入虚拟机,进入后再次切换为所要连接方式即可
2.在利用venom搭建代理时,采用正向代理不成功,怀疑内网设置了防火墙禁止外网访问
正向代理
如果目标防火墙只允许进不允许出,那么我们就可以使用正向代理。也就是我们去连接目标。
agent监听端口,admin发起连接:
1 |
|
反向代理
反向代理就是我们客户端监听,目标服务端连接我们的客户端。
admin监听端口,agent发起连接:
1 |
|