Metasploit学习笔记之——情报搜集

1.情报搜集

1.1外围信息搜索

1.1.1通过DNS和IP地址挖掘目标网络信息

(1)whois域名注冊信息查询(BT5、kali专有):[email protected]:~# whois testfire.net  s

(2)nslookup与dig域名查询(查询域名相应的IP地址):msf > nslookup

> set type=A

> testfire.net

msf > dig

注:nslookup仅仅能得到DNS解析server保存在Cache中的非权威解答,dig则能够从该域名的官方DNSserver上查询到精确的权威解答

(3)IP2Location地理位置查询

主要目的是由IP地址查询地理位置。此类方法称为IP2Location。

一些站点提供了这种服务,如GeoIP:http://www.maxmind.com。

在找出此IP相应的经纬度之后能够用Google Maps进一步查询其地址。

对于国内IP地址查询。能够使用QQ纯真数据库:http://www.cz88.net

(4)利用netcraft站点提供的信息查询服务.

用于查询子站点子域名等信息,对了解站点整体架构、业务应用等很有帮助。

http://searchdns.netcraft.com/,此外还能够利用此站点获取很多其它的西悉尼,如地理位置、域名server的地址、server操作系统类型、server执行状况等,在浏览器中输入:http://toolbar.netcraft.com/site_report?url=http://www.baidu.com

(5)IP2Domain反查域名

        在实际的渗透目标站点可能是一台虚拟主机,及一台server上面可能执行多个虚拟机。这些虚拟主机可能有不同的域名,但通常公用一个IP地址。假设知道有哪些站点公用这台server,就有可能通过此台server上其它站点的漏洞获取server控制权限。进而迂回获取渗透目标的权限,这样的攻击技术称为”旁注“。能够使用http://www.ip-address.com/reverse_ip/查询。

国内可使用http://www.7c.com/

1.1.2通过搜索引擎进行信息搜集

(1)Google Hacking技术

GHDB(Google Hacking DataBase, Google黑客数据库)。包括了大量使用Google从事渗透或者黑客活动所用的搜索字符串,http://www.exploit-db.com/google-dorks

另外还有SiteDigger和Search Diggity等自己主动化搜索工具,但有些须要收费。

(2)搜索站点的文件夹结构

Google中输入parent directory site:testfire.net,来查询相关站点的子文件夹,inc文件可能会包括站点的配置信息,如数据库username/口令等。

bak文件一般是一些文本编辑器在编辑源码后留下的备份文件,txt或sql文件一般包括站点上执行的SQL脚本,可能会透露类似数据库结构等信息。

类似的功能能够借助metasploit中的brute_dirs、dir_listing、dir_scanner等辅助模块来完毕:

msf > use auxiliary/scanner/http/dir_scanner

 (3) 搜索特定类型的文件

            site:testfire.net filetype:xls

            (4)搜索站点中的E-mail地址

              msf > use auxiliary/gather/search_email_collector

(5)搜索存在SQL注入点的页面

site:testfire.net inurl:login

简单的绕过登陆验证的方法:Username: admin ‘OR‘1   password: test ‘OR‘1

               

1.2主机探測与port扫描

1.2.1活跃主机扫描

(1)ICMP Ping命令:[email protected]:~# ping -c 5 www.baidu.com

(2)metasploit的主机发现模块

        arp_sweep使用ARP请求枚举本地居于网络中的全部活跃主机:

use auxiliary/scanner/discovery/arp_sweep

show options

set RHOST 192.168.1.0/24

set THREADS 50  扫描线程数越高扫描速度越快,但也更easy被发现,通常设置较小的值有利于隐藏扫描行为。

udp_sweep通过发送UDP数据包探查指定主机是否活跃,并发现主机上的UDP服务:

use auxiliary/scanner/discovery/udp_sweep

此外,还有ipv6_multicast_ping、iv6_neighbor、ipv6_neighbor_router-advertisement、udp_prob等模块

(3)使用Nmap进行主机探測

nmap -sn 192.168.1.0/24(ICMP包探測,Ping扫描,适合内网,外网easy被防火墙过滤掉)

nmap -Pn -sn 192.168.1.0/24(UDP包探測,适合Internet环境。功能类似于metasploit的udp_sweep模块)

          (4)操作系统辨识

                    操作系统辨识能更正主机发现或主机探測中存在的误报情况。

nmap -O 192.168.1.1

(5)port扫描与服务类型探測

                    使用Metasploit中的port扫描模块:

msf > search portscan,结果例如以下:

auxiliary/scanner/portscan/ack

auxiliary/scanner/portscan/ftpbounce

auxiliary/scanner/portscan/syn

auxiliary/scanner/portscan/tcp

auxiliary/scanner/portscan/xmas

一般使用synport扫描器。由于其速度快,结果准确且不easy被对方察觉。用法:

msf > use auxiliary/scanner/portscan/syn

msf    auxiliary(syn) > set RHOSTS 192.168.1.1

msf    auxiliary(syn) > set THREADS 20

msf    auxiliary(syn) > run

                     Nmap的port扫描功能

                        msf > nmap -sS -Pn 192.168.1.1

对于其扫描结果的port状态说明例如以下:

                        open (开放)、closed(关闭)、filtered(被过滤)、unfiltered(未过滤)、open|filtered(开放或被过滤)、                        closed|filtered(关闭或被过滤)、

                     使用nmap探測更具体的服务信息

                      msf > nmap -sV -Pn 192.168.1.116,相比于上面的nmapport扫描,能获取很多其它的关于响应的port开放了哪些服务的具体信息

1.3服务扫描与查点

确定开放的port及对应服务的具体信息之后。须要对对应的服务信息进行更深入的挖掘,通常称为“服务查点”。在metasploit的scanner模块中有对应的服务扫描和查点工作:

[service_name] _version 可用于遍历网络中包括了某种服务的主机,并进一步确定服务的版本号。

[service_name] _login可对某种服务进行口令探測攻击。详细信息可在msf终端中输入search name:_version进行查询。会得到诸如一下的结果:

auxiliary/fuzzers/ssh/ssh_version_15

...

(1)常见的网络服务扫描

telnet服务扫描:

msf > use auxiliary/scanner/telnet/telnet_version

msf > show options

... ...

SSH服务扫描:

msf > use auxiliary/scanner/ssh/ssh_version

msf > show options

... ...

 Microsoft SQL Server、Oracle数据库服务查点:

                           msf > use auxiliary/scanner/mssql_ping/tnslsnr_version

msf > show options

... ...

msf > use auxiliary/scanner/oracle/tnslsnr_version

msf > show options

... ...

开放代理探測与利用:

使用代理server能避免被对方的入侵检測系统跟踪,进而隐藏自己的身份,但公开渠道获取的代理server安全性无法保证,进行重要私密通信室需慎重。更好的方法是利用开放或者自己搭建的VPN服务。能够从公开渠道搜集到一些免费的VPN服务。也能够在已控制的主机上如果OpenVPN服务。

msf > use auxiliary/scanner/http/open_proxy

msf > show options

... ...

(2)口令猜解与嗅探

SSH服务口令推測(此模块须要自己设置或者导入USERNAME或者PASS_FILE文件作为推測的根据)

msf auxiliary(ssh_version) > use auxiliary/scanner/ssh/ssh_login

msf > show options

... ...

psnuffle口令嗅探

                             msf > use auxiliary/sniffer/psnuffle

msf > show options

... ...

1.4网络漏洞扫描

漏洞扫描原理与漏洞扫描器

OpenVAS漏洞扫描器

配置OpenVAS

使用GSA

在Metasploit内部使用OpenVAS(用msf终端控制OpenVAS)

查找特定服务漏洞(利用Nmap查找特定漏洞)

1.5渗透測试信息数据库与共享

參考资料:诸葛建伟《Metasploit渗透測试魔鬼训练营》

时间: 2024-10-10 13:55:53

Metasploit学习笔记之——情报搜集的相关文章

Metasploit学习笔记(一)

渗透测试过程环节: 1.前期交互阶段(Pre-Engagement Interaction),渗透测试团队与客户组织进行交互讨论,确定渗透范围.目标.限制条件以及服务合同细节. 2.情报收集阶段(Information Gathering),渗透测试团队利用各种信息来源与搜集技术方法,尝试获取更多目标组织网络拓扑.系统配置.与安全防御措施的信息,其包括:公开来源信息查询.Google Hacking.社会工程学.网络踩点.扫描探测.被动监听.服务查点等. 3.威胁建模阶段(Threat Mode

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl

[原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------