知己知彼,百战不殆,说明了情报在战争中的重要性,而渗透测试就可以看做是一场没有硝烟的战争。

当用户向你授权以某网站所包含的资产范围内开展渗透测工作,你可能会遇到两种不同的情况:如果该网站时某机构的唯一门户,那么该机构所有的网站链接的设备均包含在渗透测试范围之内;如果该网站是某个网站群的一个子站,那么就应该把仅仅与该网站相关的资产和其他统计或上级网站的资产划清界限。

 

首先我们来通过DNSIP地址挖掘目标网络信息:

1Whois域名注册信息查询

msf11.png

进行whois查询的时候请去掉wwwftp等前缀,这是由于机构在注册域名是通常会注册一个上层域名,其子域名由其域名服务器管理。

2nslookupdig域名查询

nslookupdig的功能基本相同,都能查到指定域名的IP地址,只不过nslookup有可能查到的是DNS解析服务器缓存中的非权威回答,而dig是向该域名官网DNS服务器进行查询

msf12.png

如果想查看是否有DNS传送漏洞可以在交互中使用ls –d xxx.com

msf13.png

Dig查询的话需要一个官方的dns服务器地址作为参数,dig命令会想该地址去询问,之后去得到确切的回答。

3IP2Location地理位置查询

如果需要定位IP的地理位置,国外的可以使用www.maxmind.com,国内的可以使用百度的IP地址查询

4netcraft网站提供的信息查询服务

大型网站一般会有许多子站点,为了强调子站点的独立性,一般在二级域名上设置子域名,而网站searchdns.netcraft.com只在查询国外的站上面比较好用,国内的话还是使用dnsenum来通过字典来确定其所有子域名。

5IP域名反查

因为一天物理服务器上可以运行多个虚拟主机,并且这些虚拟主机都具有不同的域名,但通常都使用同一个ip地址,只是端口不同,所以在Kail中可以使用www.7cv.com里面的域名反查,不过有时不准,如果在windows里面可以使用御剑的主机查询

 

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

1、  GOOGLE HACKING

利用谷歌强大的收集能力,查询其收集的站点信息,Google Hacking语法详见常用工具中的googlegoogle hacking,当然还有直接集成的googl hacking工具,不过是在windows平台运行的,如SiteDiggersearch Diggity.

2、  搜索网站的目录结构

搜索网站的目录结构是十分重要的,往往能在一次渗透中起到决定性的作用,可以使用google hacking中的语法去寻找,如site: xxx.com text:admintext:parent directory site:xxx.com等等,或者搜索比如incbak等文件后缀,如果网站不限制扫描的话,可以直接使用扫描器挂上大字典开始扫描,一般都有很大的可能出现致命漏洞,在msf中有dir_scannerbrute_dirsdir_listing等模块来进行网站目录搜索,这样主要是看字典的质量

msf14.png

像这样就发现了目标下的admin目录虽然是403,但是目录确实存在

 

3、  搜索和网站相关的电子邮件

电子邮件是渗透测试中很容易利用的,如:set配合msf进行邮箱钓鱼,或者使用你的邮箱进行社工库查询等等,所以电子邮箱的搜索在渗透测试中也是十分重要的,而在msf的辅助模块中有一个很棒的电子邮箱收集模块search_email_collectorsearch_email_collector模块要求提供一个邮箱后缀(域名),一定要挂上VPN不然你上不去谷歌,就会出现下面的情况:

msf15.png

 

主机探测与端口扫描

一、活跃主机扫描

1ICMP Ping命令

Ping是一个用于测试网络连接的程序,Ping程序会发送一个ICMP echo请求消息给目的主机,并报告应答情况。

2Metasploit的主机发现模块

Arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机。

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

TCP/IP网络环境中,一台主机在发生数据帧前需要使用ARP将目标IP地址转换成MAC地址,这个转换过程是通过发送一个ARP请求来完成的,所以使用arp_sweep是很容易也很安全的活跃主机探测工具。

msf16.png

因为是虚拟机所以前两个主机10.10.10.110.10.10.2是宿主机上的虚拟网卡,而后两个是打开的活跃主机地址。

3、  神器nmap进行主机探测

NMAP在这里就不详细介绍了,在常用工具里面有专门的Nmap使用介绍,这里只提几个常用的参数,下面是在msf输入nmap后出现的使用说明:

HOST DISCOVERY:      活跃主机发现

-sL: List Scan - simply list targets to scan            简单列表扫描

-sn: Ping Scan - disable port scan                       仅仅主机探测,不进行端口扫描

SCAN TECHNIQUES:     扫描技术策略

  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans 进行TCP的各种类型发包的扫描

  -sU: UDP Scan             进行UDP发包扫描

……

个人常用的参数有:在只探测活跃主机的情况下只使用-sn参数

Nmap –Sp –v –n 10.1.1.0/24 对活动主机的扫描,大范围

Nmap –A –v –n 10.1.1.1 对特定主机详细扫描

而在Internet环境中,推荐使用-Pn选项,他会告诉Nmap不要使用Ping扫描,因为ICMP包一般是无法穿透Internet上的网络边界的(被防火墙过滤),所以可以使用-PU来针对开放的UDP端口进行探测以确定存活的主机,其功能类似udp_sweep模块。


二、操作系统识别

Nmap中使用参数-O来进行系统探测,但是更长用的还是使用-A来进行探测,而对于防护比较好的内网需要一点点的渗透,绝对不能使用-A这种选项。


三、端口扫描与服务类型探测

目前的端口扫描技术一般有如下几类:TCP ConnectTCP SYNTCP ACKTCP FIN,当然还有一些比较高级的技术,详情看《metasploit渗透测试指南》中的TCP IDLE使用,而msf中也集成了一下端口扫描辅助模块:

msf17.png

这些扫描工具在实现原理和使用上有较大据别,以下对它们进行简要介绍:

ack:通过ack扫描的方式对防火墙上为被屏蔽的端口进行探测。

ftpbounce:通过FTP bounce工具原理对TCP服务进行枚举。

syn:使用发送TCP SYN标志的方式探测开放的端口

tcp:通过一次完整的TCP连接来判断端口是否开放,这种扫描方式最准确,但最慢

xmas:一种更为隐秘的扫描方式,通过发送FINPSHURG、标志,能够躲避一下高级的TCP标记检测器的过滤。

在一般情况下推荐使用syn端口扫描器,就如同一次平常的TCP连接,第一次握手就是向目标主机发送syn报文段,这样不止扫描速度快,结果准确而且不易被对方发觉。


四、服务扫描与查点

MetasploitScanner辅助模块中,有很多用于服务扫描和查点的工具,而这些工具常以[service_name]_version[service_name]_login命名。

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

[service_name]_login可对某种服务进行口令探测工具

msf18.png


五、开放代理的探测与利用

在渗透测试的过程中会有许多需要隐藏自己身份的时候,隐藏身份的技术有很多,比如使用代理服务器(proxy)VPN等,而Metasploit提供了open_proxy模块,能够让你更加方便地获取免费的HTTP代理服务器地址。

msf19.png

因为无法连接Google所以需要先挂上VPN才能进一步获取,不过如果有VPN那么也不怎么需要代理了。


六、口令探测与嗅探

针对SSH的服务口令探测,可以使用auxiliary/scanner/ssh/ssh_login

msf110.png

使用字典来进行暴力破解,在Metasploit中的辅助模块有auxiliary/sniffer/psnuffle可以用来嗅探口令,一般在一次渗透中,再介入对方的网络初始访问点后,就直接开启嗅探,以增加截获口令的可能性。


网络漏洞扫描

一、 配置Openvas漏洞扫描器

kail 2.0中预装了Openvas,所以与最早版本的bt5的初始化不一样了,只需要简单的安装配置就可以使用了,首先使用

1.png

然后就开始初始化安装了,第一次安装会出现下面的界面,如果其出现了让输入Y/N就输入Y表示确定,之后就开始初始化一切东西,并伴随着数据更新,要保持网络通畅

2.png

安装过程会耗费很长的时间,当安装好后会出现以下界面,当然最重要的是密码部分,这是等会我们登陆所需的所以必须记下来(我当时安装完没有记所以造成了后面一系列的麻烦,不过都已经解决了,下面这个图是别人的图)

3.png

上图的密码一定要记下来,然后就该运行 openvas start

4.png

之后就可以进入浏览器https://127.0.0.1:9392https协议)后面会出现证书认证,按照以下的步骤就可以

5.png


之后就可以进入登陆页面,使用admin账号之前安装时的那个很长的密码登陆就行了(因为密码比较长推荐复制粘贴,如果你手残关了,不记得密码了也没关系,下面说解决办法)

8.png

你忘记了当时安装时候的密码了?安装完成后关掉了?没关系,我们可以在命令行使用openvas –h 选项看看说明书,里面有


只需要用root执行openvasmd --user=admin  --new-password=admin就可以修改密码,然后就可以轻松登录

11.png

登录之后可以输入IP进行start scan,下图是扫描完成后的图,可以在results里面查看结果

12.png

severity排序就是这样子了,可以详细点进去并配合cve看漏洞详情

13.png

对于专门的漏洞可以用专业的软件,或根据漏洞自己编写软件做测试,想openvas这种高自动化的漏洞扫描工具对于系统的负担特别大,在一些环节中杀伤性太大,并不适合,并且也不是一定可以扫描出全部漏洞,对于专门的漏洞需要专门的软件去识别

 

信息收集与数据库共享

渗透测试信息分析与数据库共享这方面的知识就不一一细说了,现在的kali2.0postgresqlmysql两种数据库,但是metasploit最新版好像只支持PostgreSQL数据库,对于数据库的连接扫描的大家可以去自己实践,数据库的好处在于可以与他人分析收集的信息,在团队合作中是非常好用的。

 

 

在这个里面有很多的工具并没有提及到,因为这是主要就msf的应用和渗透的一个流程,所以像kali里面很多好用的工具并没有涉及,主要是为了提及渗透测试信息收集的整个流程,这才是最重要的。所有工具都可以凭个人爱好习惯使用就好。



---

create by 任庆彬