运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:driftingblues5(10.0.2.21)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/driftingblues-5,662/
使用nmap主机发现靶机ip:10.0.2.21
使用nmap端口扫描发现靶机开放端口:22、80
80端口:打开网站发现是一个wordpress模板搭建的网站
使用dirsearch工具爆破目录,未发现其他敏感路径
直接用wpscan工具对网站进行扫描,枚举出5个用户名
wpscan --url http://10.0.2.21/ --enumerate u,p,t --plugins-detection aggressive --detection-mode aggressive
abuzerkomurcu
collins
gill
satanic
gadd
使用wpscan
工具对枚举出5个用户暴力破解。电脑太垃圾了,跑了5个半小时还才不到1%,并且还没跑出结果来,放弃了,时间太久了
wpscan --url http://10.0.2.21/ -P /usr/share/wordlists/rockyou.txt -U user.txt -t 100
好吧,看了网上的wp,他们是使用工具cewl
制作字典进行暴力破解,爬虫会根据指定的URL和深度进行爬取,然后将可用于密码破解的字典输入到passwd.txt
cewl http://10.0.2.21/ -w passwd.txt
然后再使用生成的字典进行暴力破解,破解得到:gill/interchangeable
wpscan --url http://10.0.2.21/ -P passwd.txt -U user.txt -t 100
先尝试使用破解出来的用户名和密码登录ssh,失败。
登录网站,尝试上传webshell,上传失败,没有发现其他可利用的功能点了
再到网站上翻一翻,发现有一张图片没有出现在首页
将图片下载下来,使用exiftool
工具查看图片的EXIF信息。
EXIF:通常被数码相机在拍摄照片时自动添加,比如相机型号、镜头、曝光、图片尺寸等信息。
exiftool dblogo.png
发现一个ssh密码:59583hello
登录ssh:gill/59583hello
使用sudo -l
命令查看是否有特权命令,使用find / -perm -u=s -type f 2>/dev/null
命令查看是否有root权限的文件,发现都没有可利用的
到处翻一翻看看有没有什么特殊的文件,发现/home/gill
目录下有一个可疑文件:keyfile.kdbx
使用python建立临时web服务器,将该文件下载下来
靶机:python -m SimpleHTTPServer 8888
攻击机:wget http://10.0.2.21:8888/keyfile.kdbx
通过KeePass密码安全创建的数据文件称为KDBX文件,它们通常所说的KeePass的密码数据库。这些文件包含密码的加密数据库,其中如果用户设置一个主密码,并通过主密码访问他们,他们只能查看。当涉及到的电子邮件帐户的个人登录凭据,电子商务网站,视窗,FTP站点和其他目的的安全存储KDBX文件是很有用的。
使用keepass2john
将文件keyfile.kdbx
转换为john
格式,使用john
工具进行破解
keepass2john keyfile.kdbx > passwd.txt
john --wordlist=/usr/share/wordlists/rockyou.txt passwd.txt
将刚才的keyfile.kdbx
文件上传到keeWeb,输入破解出的密码即可打开,得到六个类似密码的字符串;也可以使用keepass
工具读取keyfile.kdbx
文件
将这6个字符串构造成字典文件,尝试破解root的ssh,但失败
查看靶机上有没有其他可疑文件,发现在根目录下有一个keyfolder
目录,但里面是空的
我们向靶机中上传一个监控程序pspy64,并赋予执行权限chmod +x pspy64
,执行
pspy是一个命令行工具,它可以在没有Root权限的情况下,监控Linux进程。黑客可以利用它来查看其他用户的计划任务工作(cron job)等
上传文件:scp pspy64 gill@10.0.2.21:/home/gill
发现每隔一分钟靶机都会执行/root/key.sh
,我们可以推测/root/key.sh
脚本会通过计划任务执行。
(看了网上其他人的wp)后来想着是不是这个脚本将密码写入到了6个字符串标题里面去了,然后就尝试在/keyfolder
目录下创建刚才的几个标题,但是没什么变化,后来就一个一个单独创建,在创建fracturedocean
文件时,多出来一个rootcreds.txt
文件,读取该文件获得root密码信息:imjustdrifting31
使用得到的密码切换为root用户
获取flag