信息收集--主动


被动信息收集的结果可能不准确,并不是最新的。利用主动信息收集来进行验证

流程:

发现存活主机–>扫描开放端口–>识别端口对应的应用程序–>利用应用程序漏洞–>通过端口攻击进入系统

要求

  1. 直接与目标进行交互

  2. 使用代理、第三方受控的计算机进行探测(避免目标系统封堵IP)

  3. 做好被封IP的准备

  4. 使用噪声迷惑目标,淹没真实的探测流量(伪造IP迷惑目标,将真实的探测隐于其中)

主机发现

发现阶段用于识别活着的主机(潜在的攻击目标)

二层主机发现

使用协议:ARP协议

优点:扫描速度快,可靠

缺点:不可路由,只可发现本网段内的主机,不可跨网段扫描

arping

1
arping 1.1.1.1 -c 1

1.png

nmap

1
2
3
nmap -sn 1.1.1.1

-sn:ping扫描,禁止端口扫描

2.png

netdiscover

专用于二层发现,可用于无线和有线网络,可选择主动或被动探测方式

主动探测

1
netdiscover -i eth0 -r 192.168.1.0/24

3.png

被动探测

将网卡置于混杂模式,用于嗅探网络中的ARP数据包,根据ARP数据包判断主机是否存活

1
netdiscover -p

4.png

三层主机发现

使用协议:IP协议、ICMP协议

优点:可路由,速度较快

缺点:速度比二层慢,可能被边界防火墙过滤

ping

1
ping 1.1.1.1 -c 5

traceroute

1
traceroute www.baidu.com

5.png

四层主机发现

使用协议:TCP协议、UDP协议

优点:可路由,结果可靠

缺点:基于状态过滤的防火墙可能过滤扫描

TCP主机发现

原理:向主机IP主机发送未经请求的ACK数据包

若目标IP存在,不论用于探测的端口是否开放,都将返回RST数据包

若目标IP不存在,将无任何返回

nmap

1
nmap 1.1.1.0/24 -PA80 -sn

6.png

hping3

1
hping3 1.1.1.1 -c 1

9.png

UDP主机发现

原理:

若目标存在,用于探测的端口也是开放的,则用于探测的包会一去不复返,无回包

若目标不存在,则用于探测的包会以取不复返,无回包

只有目标存在,用于探测的端口是未开放的,目标主机才会返回ICMP端口不可达,以证明目标存在

nmap

1
nmap 1.1.1.0/24 -PU2356 -sn

7.png

hping3

1
hping3 --udp 1.1.1.1 -c 1

8.png

端口扫描

通过扫描服务器开放端口以及从该端口判断服务器上存在的服务,最常见的工具是nmap,无状态端口扫描工具MasscanZMap和御剑高速TCP端口扫描工具

常见端口及攻击方向

文件共享

20.png

远程连接

21.png

web应用

22.png

数据库服务

23.png

邮件服务

24.png

网络常见协议端口

25.png

特殊服务

26.png

TCP端口扫描

全连接扫描

完整进行三次握手过程,结果非常准确,但容易被目标发现

nmap

1
nmap -sT 1.1.1.1 -p 100-200

10.png

dmitry

1
dmitry -p 1.1.1.1

11.png

隐蔽扫描

对目标端口发送SYN数据包

若目标端口开放,会返回SYN+ACK数据包

若目标端口未开放,会返回RST数据包

nmap

1
nmap -sS 1.1.1.1 -p 1-100

12.png

hping3

1
hping3 1.1.1.1 --scan 1-100 -S

13.png

UDP端口扫描

对目标指定端口发送请求

若目标返回ICMP端口不可达,表示目标端口关闭

若目标未返回任何数据包,则认为目标端口开放,存在误判

nmap

1
nmap -sU 1.1.1.1

14.png

服务扫描

要求:

  1. 识别开放端口上运行的应用

  2. 识别目标操作系统

获取Banner信息

Banner信息:软件开发商、软件名称、服务类型、版本号

nc

1
nc -nv 1.1.1.1 53

dmitry

1
dmitry -pb 1.1.1.1

nmap

1
nmap -sT 1.1.1.1 -p 1-100 --script=banner.nse

15.png

amap

1
amap -B 1.1.1.1 902

16.png

服务识别

根据响应特征分析识别服务:发送一系列复杂的探测,依据响应判断

nmap

1
nmap 1.1.1.1 -p 1-100 -sV

17.png

操作系统识别

TTL起始值

  1. Windows:128,范围65–128

  2. Linux/Unix:64,范围1-64

  3. 某些Unix:255

nmap

1
nmap -O 1.1.1.1

18.png

被动分析

监听网络内数据包,以判断与本机进行数据通信的主机的操作系统类型

19.png

CMS指纹识别

指纹由于终身性、不变性、唯一性和方便性,几乎已经成为生物识别的代名词

这里指网站CMS指纹识别及web容器的指纹识别等

应用程序一般在htmljscss等文件中会包含一些特征码,比如wordpressrobots.txt中会包含wp-admin、首页index.php中会包含generator=wordpress 3.xx,这就是CMS指纹

CMS(Content Management System)称为整站系统或文章系统。开发者需提供一个软件包,客户进行安装配置、维护内容就可以

常见CMSDedecms(织梦)、DiscuzPHPWEBPHPWindPHPCMSECShopDvbbsSiteWeaverASPCNMS、帝国、Z-BlogWordPress

常用工具有:御剑whatwebwebrobo、椰树、轻量web指纹识别等

在线查询CMS指纹网站:

  1. BugScanerhttp://whatweb.bugscaner.com/

  2. 云悉指纹:http://www.yunsee.cn/finger.html

  3. WhatWebhttps://www.whatweb.net/

获取真实IP

一般目标网站只有一个域名,但是对应的真实IP有时会很难确定

CDN(内容分发网络),主要解决因传输距离和不同运营商节点造成的网络速度性能低下问题。就是在一组不同运营商之间的对接节点上的高速缓存服务器,将用户经常访问的静态数据资源直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户最近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程服务器上进行响应,可以大大提高网站响应速度及用户体验

若目标网站使用CDN服务,直接ping域名,得到的不是目标真正IP地址,而只是距离近的CDN服务器

判断目标是否使用CDN

利用在线网站17CE(https://www.17ce.com/),进行全国多地区的`ping`服务器操作,通过判断各地区的`ping`结果,判断是否使用`CDN`

IP地址相同,极可能不存在CDN

IP大多不一样或规律性很强,可以尝试查询这些IP的归属地,判断是否使用CDN

绕过CDN

  1. 内部邮箱源。一般邮件系统处于内部,没有经过CDN解析,通过网站用户注册或者RSS订阅功能,查看邮件头中的邮件服务器域名,以此域名获取真实IP

  2. 扫描网站测试文件。如phpinfotest

  3. 分站域名。很多网站主站会使用CDN,但分站可能并没有使用CDN。通过分站域名获取分站IP,可能存在分站与主站不是同一IP,但是属于同一IP段的情况

  4. 国外访问。国内CDN通常只会针对国内用户提供访问加速。可以通过国外在线代理网站App Synthetic Monitor(https://asm.ca.com/zh_cn/ping.php) 访问,可能会获取真实IP

  5. 查询域名解析记录。可能目标网站以前并没有使用CDN,可以通过NETCRAFT(https://www.netcraft.com/) 来观察域名的IP历史记录,可以大致分析出目标真实IP

  6. 目标网站APP。若目标网站有APP,可以利用Burp Suite抓取APP请求,查找目标真实IP

  7. 绕过CloudFlare CDN查找真实IP。很多网站使用CloudFlare提供CDN服务,可以尝试通过在线网站CloudFlareWatch(http://www.crimeflare.org:82/) 对网站进行真实IP查询

验证IP的真实性

  1. 查看域名访问与IP访问的页面返回状态是否一致

  2. 对于IP段,可以批量扫描IP段中开启常见web端口的主机,对其进行访问以判断

收集敏感文件目录

探测web目录结构和隐藏的敏感文件可以获取网站后台管理界面、文件上传界面,甚至可以获取到网站的源代码

针对网站目录的扫描有:DirBuster、御剑后台扫描珍藏版、wwwscanspinder.pySensitivefilescanWeakfilescan

---------------The End---------------
0%