VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

环境下载

戳此进行环境下载

TOPHATSEC: FRESHLY靶机搭建

将下载好的靶机导入Vmware,网络连接设置为NAT模式,虚拟机的MAC地址为:08:00:27:A5:A6:76

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
获取到目标靶机的IP为:192.168.246.132

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

渗透测试

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

查看一下扫描到的信息

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

访问http://192.168.246.132/robots.txt中的路径,发现都是同一张图片"THIS IS NOT THE RUL"

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

分析发现http://192.168.246.132/images/keep-calm.png中的图片提示了一个目录fristi,尝试访问一下

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

再次用dirsearch扫描一下http://192.168.246.132/fristi/的目录

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

进一步分析扫描得到的信息,发现在http://192.168.246.132/fristi/main_login.php的源码中存在一串base64字符串

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

将内容复制出来写入文本,用base64解密发现是一张png格式的图片

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

在head部分同样发现可以字样

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

尝试用eezeepz:keKkeKKeKKeKkEkkEk登录,成功进入,发现文件上传点

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

测试后发现此上传点未做任何过滤,可以直接上传shell文件

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

getshell

在shell文件的后缀名上加上.png或者.jpg或者.gif,上传上去
起一个监听,访问上传的图片,成功反弹shell

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

提权

方法一

查看/etc/passwd,发现有三个用户可以调用/bin/bash

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

查看home目录中的eezeepz目录,发现一个值得注意的文件notes.txt

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

根据notes.txt中的内容描述,在/tmp/目录下创建runthis的文件,过了一段时间后发现计划任务就执行成功了

echo "/usr/bin/../../bin/chmod -R 777 /home/admin" >/tmp/runthis 
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

查看文件

  • 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 
  • whoisyourgodnow.txt
=RFn0AKnlMHMPIzpyuTI0ITG 
  • cryptedpass.txt
mVGZ3O3omkJLmy2pcuTq 

对应写出解密脚本,并对两个txt文本文档进行解密
得到:LetThereBeFristi!thisisalsopw123

import sys import codecs import base64 def decodeString(str):     strs = codecs.decode(str[::-1],'rot13')     return base64.b64decode(strs)  cryptoResult = decodeString(sys.argv[1]) print(cryptoResult) 
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

用得到的密码尝试登录另外两个账户,发现admin的密码是thisisalsopw123,fristigod的密码是LetThereBeFristi!
测试后发现admin用户无法直接提权至root,也无法访问fristigod用户的家目录

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

在之前查看/etc/passwd时发现fristigod用户目录是位于/var/fristigod,发现文件.bash_history和目录.secret_admin_stuff,分别查看一下

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

.bash_history中,可以看到通过sudo -u来执行一些操作,在.secret_admin_stuff目录下存在doCom文件

这里采用 sudo 提升权限,并创建一个shell

  • 原理:通过sudo -u可以以root身份来执行./doCom,而./doCom文件,可以执行任何命令,如ls等,通过/bin/bash来拿到root的shell
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash 
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

方法二

使用命令uname -a查看linux内核信息,发现在脏牛漏洞范围内(Linux kernel >= 2.6.22),可以进行测试

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

在GitHub上下载exp:exp链接,用前面已知的文件上传漏洞,结合蚁剑将exp上传上去

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

利用命令 gcc -pthread dirty.c -o dirty -lcrypt 进行编译,生成dirty文件

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3 VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3

版权声明:玥玥 发表于 2021-08-07 14:38:05。
转载请注明:VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3 | 女黑客导航