信息收集分类

主动收集

直接将流量流经目标,如直接访问、扫描等。能获得更多信息,但可能会被目标主机捕获活动记录。

被动收集

利用第三方服务,如浏览器搜索。获取的信息相对少,但不会被目标发现。

公开信息收集

利用web服务

企业邮箱域名、网络拓扑图、公开网页源码中未删除的注释等。

利用搜索引擎服务

  1. google hacking高级搜索,如site关键字表示在指定主域内搜索(可用于获取该主域下的所有子域名)、link关键字用于搜索所有链接到某个url的网页。
  2. 网站服务器的目录索引通常包含Index of关键字,所以用Index of/admin可以搜索出所有包含admin的目录,很可能包含网站管理员相关的敏感信息。

利用WhoIs服务

查询已注册域名的所有人信息。

利用DNS域名服务

  1. DNS分为主服务器、辅助服务器和缓存服务器。主服务器在每个区域内有且只有一个(其数据库称为区域文件)。辅助服务器定期对区域文件进行复制(区域传送),成功后会将区域文件设置为只读,即辅助服务器不能修改区域文件。这一行为的目的是若主服务器不能正常工作,辅助服务器可以接任。缓存服务器不管理任何DNS区域,但是可以接受域名解析请求并将其转发给指定服务器进行解析,把返回结果给客户端时保存一份在自己的缓存区内。
  2. 如果管理员给主服务器设置的是“允许任意IP从该主机的DNS区域传送请求”,就导致任何主机都可以获得主服务器中的信息;如果没有使用公用/私用DNS机制分割外部和内部的DNS信息,就会导致任何主机都可以获得内部主机名和IP信息。
  3. 许多网站为了提升用户体验选择使用CDN服务,可以通过设置代理或利用在线Ping网站来使用不同地区的Ping服务器来测试目标,若不同地区访问到的服务器不同,说明该网站存在CDN服务器,我们拿到的很可能不是真实的服务器IP地址。

网络扫描

主机扫描

Ping

通过ping可以实现主机扫描。ping使用ICMP协议工作,ICMP是IP层协议,主要功能是网络信息查询和IP传送时的差错报告与控制。
各操作系统实现TCP/IP时可能并没有完全遵守RFC的规定,所以某些操作系统可能不会对一些ICMP请求做出规定中的应答。

高级IP扫描

  1. 构造异常IP包头
  2. 在IP头中设置无效字段值
  3. 构造错误的数据分片(如部分丢失)
  4. 用超长包探测内部路由器
  5. 反向映射,通过构造可能的内部IP列表探测被过滤设备或被防火墙保护的网络和主机

端口扫描

  1. connect扫描
    用socket向目标端口发送connect请求,若端口开放,会建立TCP连接,否则会返回错误原因。
    优点:实现简单;允许以普通用户权限调用
    缺点:容易被防火墙检测;容易被目标记录
  2. SYN扫描
    要达到“得知端口是否开放”的目的不需要建立完整连接。向目标发送SYN数据包,若返回SYN/ACK,说明端口打开;若返回RST,说明端口关闭。不需要发送最后一个ACK,所以称为半连接扫描。
    优点:一般不会被目标记录
    缺点:运行raw socket需要管理员权限;可能被某些防火墙和包过滤器过滤掉
  3. FIN扫描
    发送FIN,若无返回信息,说明端口打开;若返回RST,说明端口关闭。
    优点:不会被记录;可以绕过某些防火墙;netstat不会显示(只显示已建立的TCP连接和连接尝试)
    缺点:实现复杂;不同操作系统结果不同
  4. ACK扫描
    发送ACK,不回复说明被过滤或关闭;回复TTL小于64说明开放,大于64说明关闭。
  5. XMAS扫描
    置位所有标志位。关闭的端口响应一个置位所有标志位的包,开放的端口不响应。
  6. NULL扫描
    所有标志位置0。不回复表示开放,回复RST表示关闭。不同操作系统响应不同。
  7. Windows扫描
    发送一个ACK,若没有返回说明端口被过滤;若返回的RST窗口值非零,表示开放,若窗口值等于0,说明端口关闭。

系统类型扫描

利用banner

TCP/IP协议栈指纹

  1. TCP指纹
    1)FIN探测
    2)BOGUS标记位探测:观察对非正常数据包的反应
    3)SYN泛洪测试:部分操作系统对SYN处理数量有限制
    4)TCP INS取样:观察初始序列号规律
    5)TCP初始化窗口值
    6)ACK值:回复FIN|URG|PSH时不同操作系统响应不同
    7)TCP选项
  2. IP和ICMP指纹
    1)ICMP错误信息查询:不同系统返回频率不同
    2)ICMP信息引用:ICMP回复数据包携带请求包开头若干字节的数据,不同系统携带的字节数不同
    3)ToS和TTL的值
    4)碎片处理:分片重叠时,有的系统用新数据覆盖旧数据,有的反之
    5)DF标记位

加强扫描隐蔽性

  1. 包特征随机化(TTL、源端口目的端口等)
  2. 慢速扫描:躲避NIDS检测
  3. 分片扫描:将扫描包进行IP分片,通过包过滤防火墙
  4. 源地址欺骗:伪造大量虚假源IP包以混淆真正的攻击IP
  5. 跳板主机
  6. 分布式(合作)扫描

漏洞扫描

漏洞又称为脆弱性,指计算机系统在硬件、软件、协议的实现或系统安全策略上存在的缺陷或不足。系统漏洞也称为安全缺陷。

主动式策略

基于网络,从外部攻击者角度扫描目标。执行脚本,观察目标反应,确定对应漏洞是否存在。主要探测网络协议和系统的网络服务中存在的漏洞。

被动式策略

基于主机,从系统用户角度扫描目标。主要检测主机系统内的应用漏洞。

网络拓扑探测

拓扑探测

  1. Traceroute
    若已经获取目标网络中一台主机的控制权,可以通过traceroute探测其他主机的路径信息,也可以通过其路由表获取路由信息,进而还原出目标网络的拓扑结构。
  2. SNMP
    可获取网段中主机名、硬件信息、系统配置、路由信息和网络连接情况等。

网络设备识别

  1. 利用专用搜索引擎
    shodan侧重主机层面,ZoomEye侧重应用服务尤其是web应用层面。
  2. 利用设备指纹
    FTP、SSH、Telnet、HTTP等。
  3. 网络实体IP地理位置定位
    利用查询信息或网络测量。
posted on 2024-10-04 15:19  ww0809  阅读(6)  评论(0编辑  收藏  举报