跳转到内容

✨ 🔭 网络侦察

来自维基教科书,为开放世界提供开放书籍


网络侦察方法可以是被动的或主动的。

被动方法:漏洞赏金计划嗅探攻击监控模式混杂模式TCP/IP 堆栈指纹识别足迹分析蜜罐.

主动方法:网络枚举网络扫描器端口扫描空闲扫描。黑客努力减少数字足迹


一个“无线”嗅探器可以找到IP 地址,这对于网络映射很有帮助[1]

接入点通常将无线网络的节点连接到有线网络作为桥接或路由器。[2] 桥接和路由器都使用路由表来转发数据包。[3]

在攻击互联网上的组织时,找到相关可达的 IP 地址是侦察阶段的目标。 通过尽可能多地收集DNS 主机名并将它们转换为 IP 地址和 IP 地址范围来确定相关 IP 地址。 这称为足迹分析。[4]

一个搜索引擎是找到有关目标尽可能多的信息的关键。[5] 在很多情况下,组织并不想保护其所有资源免受互联网访问。 例如,一个Web 服务器必须可以访问。 许多组织还拥有邮件服务器FTP 服务器以及必须通过互联网访问的其他系统。[6] 组织的 IP 地址通常分组在一起。 如果找到一个 IP 地址,那么它周围的其他 IP 地址可能也能找到。[7]

域名服务器存储表,这些表显示如何将域名转换为 IP 地址,反之亦然。[8] 在 Windows 中,可以使用命令NSLookup 来查询 DNS 服务器。 当在 NSLookup 的提示符中输入 help 时,将显示所有命令的列表。[9] 在 Linux 中,可以使用命令 dig 来查询 DNS 服务器。 它在使用选项 -h 调用时会显示选项列表。 并且命令 host 将 IP 地址反向解析为主机名。[10] 程序nmap可以用作反向 DNS 遍历器:nmap -sL 1.1.1.1-30 会给出给定范围的反向条目。[11]

ARIN、RIPE、APNIC、LACNIC 和 AFRINIC 是五个区域互联网注册机构,负责分配和注册 IP 地址。 它们都拥有网站,可以搜索其数据库以查找 IP 地址的拥有者。 一些注册机构对搜索组织名称的响应是列出分配给该名称的所有 IP 地址范围。 但是,注册机构的记录并不总是正确的,在大多数情况下是无用的。[12]

可能大多数连接到互联网的计算机都通过DHCP动态获取其 IP 地址。 由于可用 IP 地址减少以及动态大型网络增加,该协议在过去几年中变得越来越流行。 DHCP 在许多员工将便携式计算机从一个办公室带到另一个办公室时尤其重要。 人们在家中连接到互联网使用的路由器/ 防火墙 设备也可能充当 DHCP 服务器。[13]

如今,许多路由器/DHCP 设备执行网络地址转换 (NAT)。 NAT 设备是本地网络和互联网之间的网关。 从互联网的角度来看,NAT 设备似乎是一个单独的主机。 使用 NAT,本地网络可以使用任何 IP 地址空间。 一些 IP 地址范围是为私有网络保留的。 这些范围通常用于 NAT 设备后面的本地网络,并且分别是:10.0.0.0 - 10.255.255.255、172.16.0.0 - 172.31.255.255 和 192.168.0.0 - 192.168.255.255。[14]

相关 IP 地址必须缩小到可达的那些地址。 为此,扫描过程就进入了视野。[15]

主机扫描

[编辑 | 编辑源代码]

一旦获得了对无线网络的访问权限,确定网络拓扑结构(包括连接到网络的计算机名称)将很有帮助。 Nmap 可以用于此目的,它有 Windows 版本和 Linux 版本。 但是,Nmap 不会向用户提供网络图。 在 Windows 上运行的网络扫描器 Network View 则可以做到。 该程序会要求一个 IP 地址或一个 IP 地址范围。 当程序完成扫描后,它会使用不同的图片显示网络地图,分别代表路由器、 工作站服务器笔记本电脑,并附上它们的名称。[16]

LAN 上查找主机的最直接方法是使用程序ping。 当使用现代版本的Unix 时,可以将 shell 命令组合起来以生成自定义的 ping 扫描。 当使用 Windows 时,也可以使用命令行来创建 ping 扫描。 例子在参考中给出。[17]

ping 扫描也称为主机扫描。 当添加选项 -sP 时,Nmap 可以用于主机扫描:nmap -n -sP 10.160.9.1-30 扫描子网 10.160.9 的前 30 个地址,其中 -n 选项会阻止反向 DNS 查找。

Ping 包可以可靠地确定计算机是否在线,并指定其 IP 地址。如今,这些 ICMP 回声请求包有时会被 操作系统 的防火墙阻止。虽然 Nmap 也会探测 TCP 端口 80,但在 ping 被阻止的情况下,建议指定更多 TCP 端口进行探测。因此,nmap -sP -PS21,22,23,25,80,139,445,3389 10.160.9.1-30 可以取得更好的结果。通过组合各种选项,例如 nmap -sP -PS21,22,23,25,80,135,139,445,1025,3389 -PU53,67,68,69,111,161,445,514 -PE -PP -PM 10.160.9.1-30,可以实现出色的主机扫描。

Nmap 可用于 Windows 和大多数 Unix 操作系统,并提供图形和命令行界面。[18]

端口扫描

[edit | edit source]

端口扫描的目的是找出主机扫描中发现的计算机上的开放端口[19] 当在网络上启动端口扫描而不使用主机扫描的结果时,当地址范围内的许多 IP 地址为空时,会浪费很多时间。[20]

开放端口

[edit | edit source]

大多数通过互联网通信的程序使用 TCPUDP 协议。这两种协议都支持 65536 个称为端口,程序可以选择绑定到这些端口。这允许程序在同一个 IP 地址上并发运行。大多数程序都有默认端口,这些端口最常被使用。例如,HTTP 服务器通常使用 TCP 端口 80。

网络扫描程序尝试连接到 TCP 或 UDP 端口。当端口接受连接时,可以假设通常绑定的程序正在运行。

TCP 连接从客户端向服务器发送 SYN 数据包开始。服务器以 SYN/ACK 数据包响应。最后,客户端发送一个 ACK 数据包。当扫描程序发送 SYN 数据包并收到 SYN/ACK 数据包时,该端口被认为是开放的。当收到 RST 数据包时,该端口被认为是关闭的。当没有收到响应时,该端口被认为是被防火墙过滤了,或者 IP 地址上没有运行主机。

扫描 UDP 端口更困难,因为 UDP 不使用握手,并且程序倾向于丢弃它们无法处理的 UDP 数据包。当 UDP 数据包发送到没有程序绑定的端口时,将返回一个 ICMP 错误数据包。然后可以认为该端口已关闭。当没有收到答复时,可以认为该端口被防火墙过滤了或已打开。许多人放弃了 UDP 扫描,因为简单的 UDP 扫描程序无法区分过滤端口和开放端口。[21]

常见端口

[edit | edit source]

虽然扫描所有 65536 个端口最为彻底,但这将比只扫描最常见的端口花费更多的时间。因此,Nmap 默认扫描 1667 个 TCP 端口(在 2007 年)。[22]

指定端口

[edit | edit source]

-p 选项指示 Nmap 扫描指定的端口,例如 nmap -p 21-25,80,100-160 10.150.9.46。还可以指定 TCP 和 UDP 端口,例如 nmap -pT:21-25,80,U:5000-5500 10.150.9.46。[23]

指定目标

[edit | edit source]

Nmap 始终需要指定要扫描的主机。单个主机可以使用 IP 地址或域名指定。多个主机可以使用 IP 地址范围指定。例如 1.1.1.1、www.company.com 和 10.1.50.1-5,250-254。[24]

指定扫描类型

[edit | edit source]

TCP SYN 扫描 Nmap 默认执行 TCP SYN 扫描。在这种扫描中,数据包仅设置其 SYN 标志。-sS 选项显式指定默认值。当 Nmap 以管理员权限启动时,此默认扫描生效。当 Nmap 以用户权限启动时,将执行连接扫描。

TCP 连接扫描 -sT 选项指示 Nmap 建立完整的连接。这种扫描不如之前的扫描好,因为它需要发送额外的包,并且目标记录的可能性更高。当 Nmap 以用户权限执行或扫描 IPv6 地址时,将执行连接扫描。

TCP 空扫描 -sN 选项指示 Nmap 发送未设置 SYN、RST 和 ACK 标志的任何数据包。当 TCP 端口关闭时,会返回一个 RST 数据包。当 TCP 端口打开或被过滤时,没有响应。空扫描通常可以绕过无状态防火墙,但在使用有状态防火墙时没有用。

UDP 空数据包扫描 -sU 选项指示 Nmap 发送没有数据的 UDP 数据包。当返回 ICMP 错误时,可以假设该端口已关闭。当没有收到响应时,可以假设该端口已打开或被过滤。开放端口和过滤端口之间的不区分是一个严重的限制。

UDP 应用程序数据扫描 -sU -sV 选项指示 Nmap 使用应用程序数据进行应用程序识别。这种选项组合会导致非常慢的扫描。[25]


其他选项

[edit | edit source]

指定扫描速度 当数据包发送到网络的速度超过其处理能力时,数据包将被丢弃。这会导致不准确的扫描结果。当目标网络上存在入侵检测系统或入侵防御系统时,随着速度的增加,检测的可能性会更高。许多 IPS 设备和防火墙通过启用 SYN cookie 来响应 SYN 数据包的暴雨,使每个端口看起来都是打开的。全速扫描甚至会对 有状态网络设备 造成破坏。

Nmap 提供了五种模板用于调整速度,并且它本身也会进行调整。-T0 选项使其在发送下一个数据包之前等待 5 分钟,-T1 选项使其等待 15 秒,-T2 插入 0.4 秒,-T3 是默认值(保持计时设置不变),-T4 减少超时和重传以稍微加快速度,-T5 进一步减少超时和重传以显著加快速度。现代 IDS/IPS 设备可以检测使用 -T1 选项的扫描。用户还可以定义一个新的设置模板,并使用它来代替提供的模板。[26]


应用程序识别 -sV 选项指示 Nmap 还确定正在运行应用程序的版本。[27]


操作系统识别 -O 选项指示 Nmap 尝试确定目标的操作系统。特制的数据包被发送到开放和关闭的端口,并将响应与数据库进行比较。[28]


保存输出 -oX <filename> 选项指示 Nmap 将输出保存到 XML 格式的文件中。[29]


另请参阅

Nmap

漏洞扫描

[edit | edit source]

漏洞扫描确定目标是否存在已知的漏洞。漏洞是应用程序中的一个错误,会影响安全性。它们会在 Full-Disclosure 邮件列表 等地方公布。 计算机应急响应小组 (CERT) 每年都会发布一份统计报告。

漏洞数据库:

http://www.PacketStormSecurity.org/Packet Storm
http://www.exploit-db.com/The Exploit Database

工具

[edit | edit source]
https://www.offensive-security.com/metasploit-unleashed/information-gathering/
https://docs.rapid7.com/metasploit/discovery-scan
https://www.bettercap.org/modules/ethernet/net.recon/
https://www.bettercap.org/modules/ethernet/net.sniff/
https://www.bettercap.org/modules/ethernet/net.probe/
  1. 无线安全手册 by Aaron E. Earle, Auerbach Publications, 2006, page 301.
  2. 安全力量工具 by Bryan Burns and others, O'Reilly Media, Inc., 2007, page 102.
  3. Sams 教你自学 TCP/IP 在 24 小时内, 第 4 版, by Joe Casad, Sams, 2009, page 167.
  4. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 2-3、5-6 页。
  5. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 36 页。
  6. Joe Casad 著,《Sams 教您在 24 小时内学习 TCP/IP》,第 4 版,Sams 出版,2009 年,第 178 页。
  7. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 19、25 页。
  8. Joe Casad 著,《Sams 教您在 24 小时内学习 TCP/IP》,第 4 版,Sams 出版,2009 年,第 15 页。
  9. Joe Casad 著,《Sams 教您在 24 小时内学习 TCP/IP》,第 4 版,Sams 出版,2009 年,第 201-202 页。
  10. Ellen Siever 等人著,《Linux 入门》,第 6 版,O'Reilly Media, Inc. 出版,2009 年,第 116-117、197 页。
  11. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 29 页。
  12. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 26-27 页。
  13. Joe Casad 著,《Sams 教您在 24 小时内学习 TCP/IP》,第 4 版,Sams 出版,2009 年,第 215-217 页。
  14. Joe Casad 著,《Sams 教您在 24 小时内学习 TCP/IP》,第 4 版,Sams 出版,2009 年,第 61、223-224 页。
  15. Johnny Long 等人著,《渗透测试人员的开源工具包》,Syngress Publishing, Inc. 出版,2006 年,第 3、7 页。
  16. Chris Hurley 等人著,《WarDriving 与无线渗透测试》,Syngress Publishing, Inc. 出版,2007 年,第 112-115 页。
  17. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 87-88 页。
  18. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 34-37 页。
  19. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 37 页。
  20. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 35-36 页。
  21. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 32-33 页。
  22. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 37-39 页。
  23. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 38-39 页。
  24. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 40-42 页。
  25. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 42-44 页。
  26. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 45-47 页。
  27. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 49 页。
  28. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 49-50 页。
  29. Bryan Burns 等人著,《安全力量工具》,O'Reilly Media, Inc. 出版,2007 年,第 51 页。
华夏公益教科书