靶机下载地址: https://www.vulnhub.com/entry/grotesque-301,723/
# 确认攻击目标
攻击机 KALI: 192.168.31.135
 靶机 GROTESQUE3:桥接于 192.168.31.1 的网卡,ip 未知
1 )确定靶机 ip 地址
 sudo arp-scan -l > 1.txt ; cat 1.txt | grep 'a0' ; rm -f 1.txt
 
-> 靶机 ip:192.168.31.63
2 )确认靶机 ip 开放的端口信息
 sudo nmap -p- 192.168.31.63
 
-> 靶机开放端口 22,80
# 网站信息收集
打开 http://192.168.31.102/ 进行信息收集
 
这里有一个地址,点击这个地址会跳转到一个页面
http://192.168.31.63/atlasg.jpg
 
提示指向了这个图片,看来这个图片有一些线索,仔细查看这个图片
 
图片中的一部分有这么一张小图片,有 MD 还有 5 个 X,很显然是 md5
 那么这个 md5 加密有什么可以利用的地方吗?可能会是目录采用的 md5 加密,可能是某个特殊的文件地址的前缀是 md5 的字符串
# linux 下 md5 加密
终端里边进行 md5 加密和解密分别为如下操作
echo “xxx” | md5sum
John 1.txt –format=Raw-MD5 –wordlist=/usr/share/wordlists/dirbuster/directory –fork =2
 
抓取网站的数据包,通过 burp 代理浏览器数据
 
设置攻击类型为 Cluster bomb,即两个字段采用两个不同的字典,第一个字段填一个比较常用的爆破字典
 
第二个字典填一个经常用的后缀,如下
 
并且采用 md5 加密对自己的 payload 进行加密
 
注意要对第一个字段 md5 加密,第二个字段不加密,按此方法爆破即可
还有另外一种爆破方式,是通过 linux 命令生成批量的 md5 加密的字典
 for i in $(cat /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt); do echo $i;echo $i | md5sum >> dirscroty_md5.txt; done
 
生成的字典显示如下,每一行的最后面都有一个横线
 
# 利用 vim 自定义 txt
输入:% s#-##g 即可以批量清除横线
 
此时的字典已经显示为正常,可用此 md5 加密字典进行爆破
 
# 爆破 md5 目录
用 gobuster 加载此字典进行目录的搜集
 gobuster dir -x php,txt,html,zip,rar,bak,php.bak -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium-md5.txt -u http://192.168.31.63/
 
找到了一个敏感的地址:http://192.168.31.242/f66b22bf020334b04c7d0d3eb5010391.php
 
看来是有一些参数在这个 url 地址后边
# wfuzz 爆破 http 参数
用 wfuzz 爆破 http 参数
 wfuzz -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u "http://192.168.31.63/f66b22bf020334b04c7d0d3eb5010391.php?FUZZ=/etc/passwd" -c --hh 0 -t 32 --hc 404,403
 
找到了一个 pupose 时返回 200 的代码,打开目录
http://192.168.31.63/f66b22bf020334b04c7d0d3eb5010391.php?purpose=/etc/passwd
 
发现了敏感文件泄漏,检查源代码可以看到格式比较标准的文件,
 
-> 发现存在 freddie 和 root 两个用户
# hydra 爆破 ssh
目前只能收集到上述一个用户名的信息,密码没有,尝试 hydra 爆破,由于之前采用的是 md5 加密的目录才搜索到的网址,这里对正常的字典扫描了,一遍之后并没有发现,于是猜测用 md5 加密字典对 ssh 密码扫描
hydra -l freddie -P g3.txt ssh://192.168.31.63 -f -t 32 -I -o hydra.ssh
-> 扫描到用户 freddie 的密码是 61a4e3e60c063d1e472dd780f64e6cad
 
ssh freddie@192.168.31.63
 
# 上传 shell.sh 到 smb
看到有一个 445 端口正在执行,445 是 smb 协议
 
看看共享文件夹中的内容  smbclient -N -L 127.0.0.1
 
其中带 $ 的是管理员才能进入的目录,发现可直接访问的 grotesque 目录
连接到共享文件夹中  smbclient \\\\127.0.0.1\\grotesque
 
没有什么敏感文件,给服务器下载一个 pyps64s 进行监控,看会不会执行 smb 中的文件
发现每隔一段时间会执行 smb 中的可执行文件, 准备一个 shell.sh,尝试上传到 smb 中
 
将 shell.sh 中的内容复制,粘贴到靶机上边,将靶机上的 shell.sh 中的内容上传到 smb 服务中
 
监听 shell,等待反弹,pspy 监控到执行,同时得到了 root 的 shell
 
-> 拿到了 root 的权限
