"/>
声明 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。 前言 回顾一下之前的内容: Metasploit是一款开源的安全漏洞检测工具,检测,扫描,利用,后渗透.. 现在,Metasploit被公认是进行渗透测试时最有效的安全审计工具之一,它提供了最全面的漏 洞渗透模块库,集成了优秀的模块开发环境,具有强大的信息收集和Web测试能力及其他许多功能。 之前的两堂课介绍了Metasploit的语言,程序,本次内容开始进入模块的学习 分析Http扫描模块 分析的模块位于/modules/auxiliary/scanner/http/http_version.rb 首先来看模块头的引入与类的定义: ## # This module requires Metasploit: https://metasploit.com/download #Current source: https://github.com/rapid7/metasploit-framework ## require 'rex/proto/http' class MetasploitModule < Msf::Auxiliary (1)equire 'rex/proto/http'表示该模块将要引入这个rex库文件目录下的所有http协议方法,所有的模块都可以被调取使用。包括用于设置连接的函数,get和post的请求和响应处理等。 (2)Msf::Auxiliary定义了该代码的类为辅助模块。 如下为/lib/rex/proto/http目录下的内容: ![]() [注:继承有助于重用代码和快速执行,不幸的是,Ruby不支持多继承,但是Ruby支持mixins。mixin就像是多继承的一个特定实现,在多继承中,只有接口部分是可继承的。] # Exploit mixins should be called first(首先调用渗透模块mixins类) include Msf::Exploit::Remote::HttpClientinclude Msf::Auxiliary::WmapScanServer # Scanner mixin should be near last(接着是扫描模块mixins类)include Msf::Auxiliary::Scanner 上面代码所必需库文件中涵盖了编写模块所需要的所有方法,这些库文件的详细信息如下: ![]() 这个initialize方法是Ruby编程语言中的默认构造方法。它定义了名称Name、描述Description、作者Author、许可License等。许可就是'License' => MSF_LICENSE,最后用一个end结束。 def initialize 最后这段代码才是真正干活做事的: def run_host(ip) 先来解释下在本段代码中所使用的重要函数: ![]() 在这里会产生疑问,就是从代码上下文中根本不清楚函数的具体定义,该如何解决?这时就需要查询Metasploit API官方文档。 下面来具体查询分析下: run_host 在run方法中,作用是与所需主机建立连接。 ![]() begin意味着代码块的开始。 如果连接成功,就进行到connect方法,用于与目标服务器建立一个HTTP类型的连接。 ![]() 之后使用send_request_raw方法,连接到服务器,创建请求,发送请求,读取响应。并将这个方法的参数URI的值设置为/,参数method的值设置为GET,将这个响应保存在res变量。 res = send_request_raw({ 'uri' => '/', 'method' => 'GET' }) ![]() 如果连接成功,使用http_fingerprint方法,记录和过滤信息。如:Set-cookie、等。 ![]() ![]() (1)接着再把收到的响应信息赋值给res,意味着将根据之前发送请求的响应数据进行特征匹配。 fp = http_fingerprint(:response => res) (2)之后对这些响应数据进行输出打印。 (3)最后,rescue ::Timeout::Error, ::Errno::EPIPE 将会在模块超时的情况下处理程序的异常。 ![]() 可见,输出的格式对应print_good("#{ip}:#{rport} #{fp}") if fp 招聘 安恒雷神众测SRC运营(实习生) 4. 具备美术功底、懂得设计美化等 简历投递至 strategy@dbappsecurity.com.cn 设计师(实习生) ———————— 【职位描述】 简历投递至 strategy@dbappsecurity.com.cn 岗位:红队武器化Golang开发工程师 安全招聘 工作环境:一座大厦,健身场所,医师,帅哥,美女,高级食堂… 岗位:安全红队武器自动化工程师 简历投递至 strategy@dbappsecurity.com.cn ![]() 专注渗透测试技术 全球最新网络攻击技术 END ![]() 上一篇:打造定制化的Metasploit-第一课 下一篇:微信表情符号写入判决书,还能用表情斗图愉快聊天么? |
/1
|最近更新|Archiver|手机版|小黑屋|DZ插件网!
( 鄂ICP备20010621号-1 )
知道创宇云防御
您的IP:216.73.216.247(美国),GMT+8, 2026-10-28 03:18 , Processed in 0.042069 second(s), 50 queries , Gzip On, Redis On.
Powered by Discuz! X5.1 Licensed
© 2001-2026 Discuz! Team.