Hacker kid 1.0.1
https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova
靶场IP:192.168.32.230
扫描对外端口服务
┌──(root💀kali)-[/tmp]
└─# nmap -p 1-65535 -sV 192.168.32.230
Starting Nmap 7.92 ( https://nmap.org ) at 2022-09-11 08:59 EDT
Nmap scan report for 192.168.32.230
Host is up (0.00058s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE VERSION
53/tcp open domain ISC BIND 9.16.1 (Ubuntu Linux)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
9999/tcp open http Tornado httpd 6.1
MAC Address: 00:0C:29:95:5F:70 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.84 seconds
访问80端口

查看页面源代码,找到一个参数:page_no

爆破参数内容为21。


好的,所以你想让我说点什么? 我是一个黑客小子,不是一个愚蠢的黑客。所以我创建了一些子域,以便随时返回服务器! 在我的许多家中......一个这样的家..一个这样的家对我来说:hackers.blackhat.local
配置本地hosts
再挖一个域名,写入/etc/hosts。
访问:http://hackerkid.blackhat.local/

抓包分析,body是xml格式,尝试使用XXE攻击

存在XXE漏洞

我们可以从上面的截图中看到,电子邮件被文件"/etc/passwd"的内容所取代。此前,用户曾暗示过家。因此,我们可以假设用户"saket"的主目录中有一些东西。当我尝试打开 .bashrc 文件时,它失败了。但是,在使用 PHP 包装器时,我们可以获取 base64 格式的内容。有效载荷如下。

访问:http://192.168.32.230:9999/login?next=%2F,输入:saket/Saket!#$%@!!

登录成功

按照提示,输入参数:name

我们可以看到它返回的内容与我在"name"参数中发送的内容相同。因此,我们可以尝试一个简单的 SSTI 有效载荷。

如我们所见,命令被执行,我们得到了 7*7 的结果 49。这意味着我们可以注入一个可以为我们提供反向 shell 的有效负载。幸运的是,它使用了 Tornado,我们可以使用一个非常简单的有效载荷来获得反向 shell。
当然,我们必须对它进行 URL 编码

反弹成功

root 权限提升是这台机器的一个有趣部分。让我们检查机器上不同二进制文件的功能。
EXP
因为需要找root进程进行注入,所以简单写个脚本对root进程进行批量尝试
本地执行成功后,通过netstat可以看到开启监听了5600端口,通过nc连接后即可执行命令


最后更新于
这有帮助吗?