1.环境准备
下载地址:https://www.vulnhub.com/entry/fristileaks-13,133/
攻击机:kali(192.168.26.128)
靶机:FRISTILEAKS: 1.3
将靶机和kali的网络连接模式设置为同一种模式(Nat模式)
注意:根据官网靶机描述,安装靶机完成后,需要将靶机的MAC地址修改为08:00:27:A5:A6:76
编辑虚拟机配置-->>硬件-->>网络适配器-->>高级
2.渗透测试
信息收集
主机收集
nmap -sP 192.168.26.0/24
可以得知靶机的ip地址为:192.168.26.139
当然我们也可以用arp命令来扫描到这个靶机
arp-scan -l
题目也已经给出了
端口扫描
nmap -sS -sV -p- 192.168.26.139
扫描得知该ip地址开放80端口,那么可想而知需要我们从网站中寻找漏洞了
目录扫描
我们用dirb扫描一下端口
dirb http://192.168.26.139
扫描存在上述文件,我们一一进行访问,看能不能得到有用信息
访问一下/robots.txt的三个目录文件,都是一张图片,显示this is not the url
接着访问/images文件,也是没有什么重要的
紧接着访问/cgi-bin文件,显示禁止的页面,没有权限进入此目录
漏洞探测
用工具扫描一下存在的漏洞
nikto -h http://192.168.26.139
直接访问该ip地址,出现一个界面
上面有提及到url,我们试着根据页面的提示尝试将fristi作为路径进行访问
直接回显出一个登录框的界面,先尝试下amdin/admin弱口令登录,尝试失败,点击查看源代码看看
这里发现了一个作者,猜测有可能是用户名eezeepz
将上述base64编码保存到一个1.txt文件,随后在kali上进行base64解密,显示一个png
发现这是一个图片,接着base64 -d 1.txt > a.png转换为文件然后查看图片内容:
显示keKkeKKeKKeKkEkkEk,猜测有可能是网站进入的密码,而用户名就是那个作者eezeepz
漏洞利用
登录成功,出现了一个上传文件的界面
搞到这里思路就很清晰了,尝试利用上传图片漏洞拿到SHELL
本来是想上传图片马的,但是看了看别人上传的文件,可以直接上传文件后获得webshell
这边我们就利用kali自带的反弹shell脚本了,将/usr/share/webshells/目录下的php-reverse-shell.php复制到物理机上,修改监听的IP地址为kali的IP:
上传文件看看
发现只能上传图片后缀,接下来修改下我们脚本文件的后缀,改为1.php.png,接着上传:
可以发现文件已经上传至 /uploads目录下了。
然后我们在kali上监听1234端口,并在物理机上访问上传的文件:
开启监听
成功得到权限!!嘿嘿,但是还不是root权限,接下来就尝试提权
权限提升
先将shell转换成交互式tty:
python -c 'import pty;pty.spawn("/bin/bash")'
查看内核版本
uname -a
查看系统版本信息
cat /etc/**-release
内核版本为:2.6.32 可以用脏牛提权,接下来就用脏牛提权
kali下载dirty.c文件,再开启一个http服务:
接下来就将此文件上传到靶机的/tmp目录上面
编译并执行dirty.c
gcc -o dirty dirty.c -pthread -lcrypt
./dirty 123456
最后用firefart/123456去登录下,查看用户权限:
成功获取到root权限 !!!
总结
经过这个靶场,了解到收集信息需要仔细,也需要进行大脑的思考,其中在漏洞利用中,我们用kali自带反弹shell的脚本直接获取网站的权限,在权限提升方面中,我们用到了linux的脏牛提权漏洞,这里也涉及到一些小知识(shell转换成交互式tty,用python打开http服务器端口,上传,编译以及执行)等,后面再进行复习