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

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

  • 环境下载
  • TOPHATSEC: FRESHLY靶机搭建
  • 渗透测试
    • 信息搜集
    • 漏洞挖掘
    • getshell
    • 提权
      • 方法一
      • 方法二

环境下载

戳此进行环境下载

TOPHATSEC: FRESHLY靶机搭建

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第1张图片
获取到目标靶机的IP为:192.168.246.132

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第2张图片

渗透测试

信息搜集

Nmap扫描一下目标靶机:sudo nmap -sS -A 192.168.246.132,发现仅开放了80端口

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第3张图片

漏洞挖掘

dirsearch探测一下80端口web的目录:python3 dirsearch.py -u 192.168.246.132 -e *.php

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第4张图片

查看一下扫描到的信息:

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第5张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第6张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第7张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第8张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第9张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第10张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第11张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第12张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第13张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第14张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第15张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第16张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第17张图片

getshell

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第18张图片

提权

方法一

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第19张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第20张图片

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

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第21张图片

查看文件

  • 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_第22张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第23张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第24张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第25张图片
VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第26张图片

.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_第27张图片

方法二

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

在这里插入图片描述

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第28张图片

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

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第29张图片

VulnHub渗透测试实战靶场 - FRISTILEAKS: 1.3_第30张图片

你可能感兴趣的:(#,VulnHub,VulnHub,渗透测试,安全,linux)