网络攻击之信息收集阶段

(本文为笔者学习《网络攻防技术》所做总结,侵删)

信息收集是网络攻击中的第一步,是最关键的阶段,也是耗费时间最长的阶段。但信息的收集也不只在攻击前进行,能夹杂在攻击的不同阶段进行。

一、信息收集概况

(一)信息收集的内容

  1. 入侵目标时从目标的域名、IP地址入手
    了解目标的OS类型,开放的端口,提供开放端口的服务或应用程序,漏洞、防火墙以及入侵检测系统情况等
  2. 系统的缺陷和漏洞情况(信息收集的重点)
    主要包括管理漏洞、系统漏洞、协议漏洞
    (1)管理漏洞:目标系统信息的泄露、错误的配置、未采用必要的安全防护系统、设置了弱口令等
    (2)系统漏洞:未能及时更新导致的漏洞、系统设计上的缺陷等;
    (3)协议漏洞:身份认证协议、网络传输协议的设计缺陷等
  3. 入侵的过程中需进一步收集的信息:
    目标网络的拓扑结构、目标系统与外部网络的连接方式、防火墙的访问控制列表、使用的加密和认证系统、网络管理员的私人信息等

(二)信息收集的方法

  1. 技术手段:公开信息收集、网络扫描、漏洞扫描、网络拓扑探测
  2. 非技术手段:社会工程学等

二、信息收集的技术手段

(一)公开信息收集

  1. 利用Web服务
    可能存在安全隐患的公开信息如下:
    (1)Web网站提供的公开邮箱:
    发送钓鱼邮件欺骗邮箱使用者下载、运行带有恶意代码附件的邮件、利用社工库或字典破解邮箱
    (2)Web网站所有网页的有用信息
    如网络的拓扑结构、网页原码的注释、目标域名、网站地址、网站模板、网络管理员信息、公司人员名单、电话
  2. 利用搜索引擎服务
    常用通用搜索引擎:Google、Baidu、Bing;
    搜索联网设备信息:Shoda、Censys;
    搜索源码:Github
    关键在于合理地提取搜索的关键字,以谷歌为例的搜索技巧:
    (1)intitle/allintitle:搜索标题中带有指定关键字的网页
    (2)inurl/allinurl:搜索URL地址中包含指定关键字的网页
    (3)site:在指定站点内搜索指定的关键字
    (4)filetype:搜索指定类型的文件
    (5)link:返回所有链接到某个URL地址的网页
    (6)related:搜索与指定网站有关联的主页
    (7)cache:指明在Google缓存中搜索
    (8)intext:搜索在正文中出现指定关键字的网页
  3. 利用Whois服务
    可查询已注册域名、域名登记人、相关管理人员的联系方式(上次我们做项目的时候还发现了有负责人的私人邮箱,简直是福利啊)、域名注册时间及更新时间、权威DNS服务器的IP地址等
    查询Whois信息的方式:①提供域名查询服务的主页:www.whois.net;②带有Whois查询功能的网络工具,如SamSpade、whois
  4. 利用DNS域名服务
  5. 利用公开渠道收集有用的个人信息
    (1)在同学录中寻找目标
    (2)在论坛、聊天室设“钓鱼”陷阱
    (3)通过建立收集信息
    (4)利用搜索引擎进行数据挖掘
    (5)网站出售注册信息

(二)网络扫描

大体分为主动扫描和被动扫描(主要是嗅探)两种,包括主机扫描、端口扫描、系统类型扫描

  1. 主机扫描:
    (1)使用ICMP扫描(Icmpquery、Icmpush、Icmpenum);
    (2)其他类型的主机扫描:构造异常的IP包头、在IP头中设置无效的字段值、构造错误的数据分片、通过超长包探测内部路由器、通过超长包探测内部路由器、反向映射探测
  2. 端口扫描:
    (1)connect扫描
    (2)SYN扫描和FIN扫描
    (3)其他端口扫描技术:SYN+ACK扫描;TCP XMAS扫描;NULL扫描;IP分段扫描、IP分段扫描、TCP FTP Proxy扫描
    对于扫描来说,NMAP ! ! ! 神一般的存在!
    (4)UDP端口扫描:向目标主机的UDP端口随意发送一些数据
  3. 系统类型扫描:
    判断目标系统的OS类型和版本、应用程序的版本等
    (1)利用端口扫描结果
    Windows:端口137、139、445等
    Linux:端口512、513、514、2049等
    QQ:8000;
    SQL Server:1521;
    Oracle:2030;
    Web代理服务器:8080
    (2)利用Banner
    (3)TCP/IP协议栈指纹(最准确)

(三)漏洞扫描

  1. 漏洞扫描的分类:
    (1)基于网络的漏洞扫描:从外部攻击者的角度对目标网络和系统进行扫描,主要用于贪色网络协议和计算机系统的网络服务中存在的漏洞(漏洞信息收集工具)
    (2)基于主机的漏洞扫描:从系统用户的角度检测计算机系统的漏洞,发现应用软件、注册表或用户配置等存在的漏洞
  2. 漏洞扫描器的组成:
    (1)漏洞数据库模块
    (2)扫描引擎模块
    (3)用户配置控制台模块
    (4)当前活动的扫描知识库模块
    (5)结果存储器和报告生成工具

(四)网络拓扑探测

  1. 拓扑探测
    (1)Traceroute技术
    (2)SNMP:简单网络管理协议(C/S模式)
    可以获取网段情况:机器名字、硬件信息、系统配置、路由表、网络连接情况
  2. 网络设备识别
    扫描整个目标网络的网络地址,发现存在的各种终端设备并获得各设备的系统和版本信息,将设备信息与漏洞信息进行关联,可以反映出网络终端设备的分布情况和存在的脆弱点
    方法:①利用专用设备搜索引擎(如Shodan、ZoomEye)、②探测设备的多维特征形成指纹与指纹库对比
    (1)Shodan侧重于从主机层面进行探测,ZoomEye更侧重于从应用服务尤其是Web应用层面进行扫描和识别
    (2)FTP协议、SSH协议、Telnet协议、HTTP协议等有一些特定的旗标
  3. 网络实体IP地理位置定位:
    确定一个网络目标节点在某个粒度层次的地理位置(IP定位–利用IP地址寻找地理坐标映射),可以通过已知数据库的查询和网络测量定位实现
    (1)基于查询信息的定位:结果受限于注册信息的准确性,通常只能得到粗粒度的定位结果
    (2)基于网络测量的定位:利用探测源的与目标实体的时延、拓扑或其他信息估计,得到的定位结果为一个单点或区域
    PS:利用时延进行定位的方法,认为网络实体之间的时延与距离具有相关性

你可能感兴趣的:(网络攻防技术,网络,安全,网络安全)