1.情报搜集

1.1外围信息搜索

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

(1)whois域名注冊信息查询(BT5、kali专有):root@kali:~# 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命令:root@kali:~# 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渗透測试魔鬼训练营》

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

  1. Metasploit学习笔记——情报搜集技术(只记录与metasploit有关的)

    1.外围信息搜集 1.1whois域名注册信息查询 示例代码如下 msf > whois testfire.net 1.2网站的目录结构 示例代码如下 msf > use auxiliar ...

  2. metasploit 学习笔记-VULNERABILITY SCANNING

    使用漏洞扫描器会在网络上产生大量流量,因此如果你不希望被发现踪迹时,不要使用漏洞扫描器。 The Basic Vulnerability Scan 漏洞扫描器的质量很大程度上取决于它自带的漏洞特征库。 ...

  3. Metasploit学习笔记(博主推荐)

    不多说,直接上干货! 连接后台的数据库,当然不是必须品. 连接数据库的好处:1.可以攻击和扫描的结果,保存起来      2.将一些搜索结果做个缓存 默认数据库是postgresql. 同时要注意的是 ...

  4. Metasploit学习笔记

    原创博客,转载请注出处! 各位看官可参看——Metasploit实验操作 1.打开msf        msfconsole2.帮助选项:    msfconsole -h        显示在msf ...

  5. Metasploit学习笔记(一) Samba服务 usermap_script安全漏洞相关信息

    一.Samba介绍 Samba是linux和unix系统上实现smb协议的一个免费软件,由客户机和服务器构成.SMB是一种在局域网上实现共享文件和打印机的协议.存在一个服务器,客户机通过该协议可以服务 ...

  6. Metasploit学习笔记——强大的Meterpreter

    1. Meterpreter命令详解 1.1基本命令 使用Adobe阅读器渗透攻击实战案例打开的Meterpreter会话实验,靶机是WinXP.由于所有命令与书中显示一致,截图将书中命令记录下来. ...

  7. Metasploit学习笔记——社会工程学

    1.社会工程学攻击案例——伪装木马 Linux命令终端输入命令msfvenom -l payloads用来列出攻击载荷,grep命令用来查询所需要的攻击载荷,条件是windows系统.要有回连至监听主 ...

  8. Metasploit学习笔记——客户端渗透攻击

    1.浏览器渗透攻击实例——MS11-050安全漏洞 示例代码如下 msf > use windows/browser/ms11_050_mshtml_cobjectelement msf exp ...

  9. Metasploit学习笔记——网络服务渗透攻击

    1.内存攻防技术 1.1缓冲区溢出漏洞机理 1.2栈溢出利用机理 1.3缓冲区溢出利用的限制条件 2.网络服务渗透攻击面 3. Windows服务渗透攻击实战案例——MS08-067安全漏洞 示例代码 ...

随机推荐

  1. 浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式?

    浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式? 存入 IndexdDB 写入 COOKIE 放在 URL 参数 写入 Session 使用 POST ...

  2. HDU 3947 River Problem

    River Problem Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ...

  3. 九度oj 题目1104:整除问题

    题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. ...

  4. 使用反射获取类中的属性(可用于动态返回PO类的列,当做表格的表头)

    //利用反射取类中的属性字段 try { Class clazz = Class.forName("houji.bean.model.TaskModel"); Field[] fi ...

  5. Swift3.0 函数闭包与 Block

    刚接触Swift,如有不对,欢迎指正 Swift中定义一个基本函数 //定义一个函数,接收一个字符串,返回一个String类型的值 func test(name:String) -> Strin ...

  6. msp430项目编程44

    msp430综合项目---门禁控制系统44 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  7. Python入门--6--今天抄袭人家一篇日志--numpy这个

    Numpy NumPy的主要对象是同种元素的多维数组. 这是一个所有元素都是同一类型.通过一个正整数元祖索引的元素表格(通常元素都是数字) 在Numpy中维度(dimensions)叫做:轴 轴的个数 ...

  8. LL(1)语法分析器 //c++实现

    #include<iostream> #include<string> #include<map> #include<vector> #include& ...

  9. webstorm(二):拼写warning

    逼死强迫症之对拼写进行检查,警告 typo:in word “msgfromfather”

  10. 什么是Hadoop?什么是HDFS?

    [学习笔记] 什么是Hadoop?什么是HDFS?马 克-to-win @ 马克java社区:Hadoop是Apache基金会开发的一个分布式系统基础架构.比如前面我们接触的Spring就是一个开发应 ...