vulnhub DC-1靶机

DC-1靶机

过关条件:需要通过入侵DC-1靶机,得到5个flag。

攻击机:kali 192.168.56.132

靶机:DC 1 192.168.56.140

内网信息探测

首先我们需要得到靶机的IP地址,在这之前我们需要将 kali 和 靶机的网卡都设置为NAT模式。

arp-scan -l 
image-20230302092230483

扫到了多个IP地址如何确定靶机的ip呢?

这里我为了简单快速,我直接去查看了靶机的mac地址,进而确定了靶机的ip

192.168.56.140

使用nmap进行扫描端口操作

nmap -A -p1-65535 -T4 192.168.56.140
image-20230302093449933
通过nmap扫描发现开放端口为 22 80 111 44377

可通过80端口访问网页 22端口进行SSH连接。

image-20230302093513782
发现搭建的cms为 Drupal 通过进一步收集得到版本为 7.x
内网攻击
去metasploit看下有没有nday可以打的
image-20230302094028538

直接使用exp

image-20230302094219715
首先需要进行info查看配置信息,发现RHOSTS的地方没有内容,我们需要手动设置为靶机的IP
set RHOSTS 192.168.56.140
然后执行run或者exploit都可以。
exp执行成功后输入shell 进入shell执行界面,但是得到的不是一个完整的shell环境,我们需要用过python的pty模块进行反弹完整的shell
python -c 'import pty;pty.spawn("/bin/bash")'
image-20230302094912306
现在我们就相当于进入了网站的根目录下面了,现在我们需要做的是找到flag。
image-20230302095108128
首先ls一下看目录下有什么文件 发现 flag1.txt文件
直接cat flag1.txt
得到flag1                       Every good CMS needs a config file - and so do you.

通过翻译软件得到上面的中文意思为 每个好的 CMS 都需要一个配置文件——您也一样

提示我们需要到设置文件下找到下一个flag。

image-20230302095655160
得到flag 2                        Brute force and dictionary attacks aren't the
                                 only ways to gain access (and you WILL need access).
                                 What can you do with these credentials?
就是说我们需要得到访问权限。
image-20230302095907246
这段是数据库的一些内容猜测下一个flag的获取于数据库有关。
image-20230302100218387
根据前一段的提示猜测是进入 deupaldb数据库
show tables; //查看下有哪些表
image-20230302100449449
用户的密码存在users表里面。
image-20230302100601777
发现是加盐密码,但是一般加盐的密码是很难破解的,所以选择修改用户密码来解决。首先生成自定密码的加盐哈希值。回到网站的目录下执行php scripts/password-hash.sh 密码命令生成。
$S$DvoxOGg83NlqLw.PSRMYaRVxsvbCeZa6MgfentndPzsV3qDPZ2y7
image-20230302101249779
image-20230302101332999
查询数据库文件发现已经成功修改了。

进入web页面输入我们能重新设置的账号和密码

admin 666

image-20230302101453072

成功进入。在content里面找到flag3

image-20230302101631910
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
image-20230302101815061
权限提升
通过前前面的提示cat/etc/passwd/
发现了flag4但是当我们想深度利用的话,发现没有权限。
我们通过kali的暴破神器 hydra暴破ssh的密码 暴破出来为orage。
image-20230302102127675
通过上面的方法成功ssh成功连接。
探测权限。 whoami 为普通用户。
image-20230302102356517

成功提权。

image-20230302102657787
成功找到剩下的两个flag。
思路总结

首先我们通过扫描器确定了靶机的IP地址和开放端口,通过开放端口思考可以进行哪些工作。发现开放了80端口,于是想到访问web页面,然后通过信息收集确定了使用的cms和版本号。然后就用msf上的exp直接打,中间为了实现完整的shell环境需要使用到python的pty模块。进入shell环境后就开始找flag (第一个flag比较好找,剩下的flag需要根据上一个flag的提示寻找。)中间涉及到的一些问题就是关于数据库中的密码加盐加密,无法准确的解密,通过自己对密码设定加盐加密然后更新密码。得到新的账号和密码。然后就是通过暴力破解得到ssh的连接密码,但是这个密码是普通用户权限,需要进行权限提升。