Patrilic's blog

metaspolit-2

Word count: 1,660 / Reading time: 6 min
2018/03/31 Share

0x00 前言

情报搜集作为渗透测试中至关重要的一个环节,在MSF中也有很多的辅助模块来帮助我们完成情报搜集工作,这篇文章来纪录信息搜集的一部分–外围信息搜集和端口查询

0x01 外围信息搜集

DNS+IP挖掘目标网络信息

whois域名注册信息查询

whois 是一个用来查询域名注册信息数据的工具,一般的域名注册信息会包含域名所有者、服务商、管理员邮件地址、域名注册日期、过期日期等。
whois信息在很多地方都能查询,进行查询时去掉www等前缀,直接使用顶级域名进行查询。
whois.jpg

nslookup与dig域名查询

两个工具在都可以查询指定域名所对应的ip地址,不同的是dig工具从域名的官方DNS服务器上查询精确的权威解答,而nslookup只会得到DNS解析服务器保存在Cache中的非权威解答
nslookup.jpg
使用set type =A可以对其ip地址进行解析,在开放了区域传送的DNS服务器中使用,ls -d example.com命令可以查看所有的DNS纪录,可能暴露大量的网络内部拓扑信息

dig.jpg

dig的基本使用语法为

dig @<DNS服务器>

使用dig -h 查看type的使用方法

netcraft信息查询

https://searchdns.netcraft.com/ 输入顶级域名 点击 lookup! 即可查询其子域名
netcraft.jpg
https://toolbar.netcraft.com/site_report?url='' 可查具体服务器信息

ip反查

如果渗透目标主机为虚拟主机,通过ip反查域名可以知道哪些网站共用一台虚拟机,这样可以通过其他网站的漏洞来获取服务器权限,从而获取渗透目标的权限(旁注)
在查询网[http://site.ip138.com] 等网站可以进行ip反差
ip反查.jpg

Google hacking

这部分在网上有很多教程,推荐《Google Hacking技术手册》

特别提一下,可以借助Metasploit中的brute_dirs,dir_listing,dir_scanner等模块来完成猜解网站目录
例如:dir_scanner
dir_scanner.jpg

使用search_email_collector 模块获取某个机构的大量邮件地址。(原理:通过多个搜索引擎的查询结果分析使用此后缀的邮件地址)
search email collector.jpg

0x02 主机探测和端口扫描

活跃主机扫描

ICMP Ping 命令

PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声清求消息给目的地并报告是否收到所希望的ICMP回声应答。
使用ping 命令,首先解析为ip地址,并向其发送数据包,如果得到回应,代表该主机活跃
ping.jpg

Metasploit中的主机发现模块

Metasploit中提供的一些辅助模块可用于活跃主机的发现:arp_sweep,ipv6_multicast_ping,ipv6_neighbor,ipv6_neighbor_router_advertisement,udp_probe,udp_sweep

arp_sweep 使用arp请求本地局域网中的所有活跃主机
udp_sweep 通过发送UDP数据包探查指定主机是否活跃,并发现主机上的UDP服务

ARP –在TCP/IP环境中,一台主机在发送数据帧前需要使用ARP将目标IP转换为MAC地址(A—>B 请求获取mac地址,如果B存在,回应)
arp_sweep.jpg
RHOST 可用 - 连接多个IP地址,
THREAD 越大扫描速度越快,越小越隐蔽

nmap

nmap作为时下最流行的网络扫描工具,在各个平台都有实现,同样,在MSF终端也可以直接使用nmap

语法

nmap <扫描选项> <扫描目标>
nmap.jpg
介绍几个基本的扫描选项
-sS 隐蔽扫描
发出一个tcp连接,不进行三次握手
-sT TCP连接扫描
建立一个完整的TCP连接,能提供更多的信息
-sU UDP扫描
评估目标系统上的UDP端口,期望收到已关闭端口的系统的应答。发送到开放的UDP端口的数据包并不会被响应。
-sA ACK扫描
用于确定tcp端口是否被过滤,对目标主机发起一个标记为ACK的通信,这种扫描有时候可以绕过防火墙,因为它是假装由内网机器发起的tcp请求的响应
-sn 在一个内网中发现存活,使用ICMP PING扫描补货

操作系统辨识

在确认存活主机后,辨识其操作系统对于攻击载荷的选择和渗透流程的确定非常重要
使用Nmap -O对目标系统进行探测
nmap-O.jpg

端口扫描

通过端口扫描可以了解到目标网络主机的详细信息,为下一步的渗透测试打下基础。

Metasploit里面的端口扫描器

portscan.jpg

1.ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测

TCP ACK扫描是利用标志位ACK,而ACK标志在TCP协议中表示确认序号有效,它表示确认一个正常的TCP连接。但是在TCP ACK扫描中没有进行正常的TCP连接过程,实际上是没有真正的TCP连接。那么当发送一个带有ACK标志的TCP报文到目标主机的端口时,目标主机会怎样反应呢?

使用TCP ACK扫描不能够确定端口的关闭或者开放,因为当发送给对方一个含有ACK表示的TCP报文的时候,都返回含有RST标志的报文,无论端口是开放或者关闭。所以,不能使用TCP ACK扫描来确定端口是否开放或者关闭。但是可以利用它来扫描防火墙的配置,用它来发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

2.ftpbounce:通过FTP bounce攻击的原理对TCP服务进行枚举(一般只有老旧的Solaris及FreeBSD系统的FTP服务中此类攻击方式仍能被利用)
3.syn:使用发送TCP SYN标志的方式探测开放的端口
4.tcp:通过一次完整的tcp握手来判断端口的开放,速度较慢
5.xmas:一种更为隐蔽的扫描方式,通过发送FIN、PSH和URG标志,能够躲避一些高级的TCP标志监测器的过滤。

一般情况下,推荐使用syn端口扫描器,因为它的扫描速度较快、结果准确且不易被对方察觉。

nmap

nmap的参数上面已经讲过了,这里提一下用-sV来列出服务器详细的信息
nmap-sV.jpg

0x03 附上学习链接

https://nmap.org/man/zh/index.html // Nmap手册

CATALOG
  1. 1. 0x00 前言
  2. 2. 0x01 外围信息搜集
    1. 2.1. DNS+IP挖掘目标网络信息
      1. 2.1.1. whois域名注册信息查询
      2. 2.1.2. nslookup与dig域名查询
      3. 2.1.3. netcraft信息查询
      4. 2.1.4. ip反查
    2. 2.2. Google hacking
  3. 3. 0x02 主机探测和端口扫描
    1. 3.1. 活跃主机扫描
      1. 3.1.1. ICMP Ping 命令
      2. 3.1.2. Metasploit中的主机发现模块
      3. 3.1.3. nmap
    2. 3.2. 操作系统辨识
    3. 3.3. 端口扫描
      1. 3.3.1. Metasploit里面的端口扫描器
      2. 3.3.2. nmap
  4. 4. 0x03 附上学习链接