道德黑客 - 指纹识别



在道德黑客中,操作系统指纹识别是指用于确定远程计算机上运行的操作系统的任何方法。这可能是:

  • 主动指纹识别 - 主动指纹识别是通过向目标机器发送特制的数据包,然后记录其响应并分析收集到的信息来确定目标操作系统来实现的。在下一节中,我们将提供一个示例来说明如何使用 NMAP 工具检测目标域的操作系统。

  • 被动指纹识别 - 被动指纹识别基于来自远程系统的嗅探器跟踪。根据数据包的嗅探器跟踪(例如 Wireshark),您可以确定远程主机的操作系统。

我们将关注以下四个重要因素来确定操作系统:

  • TTL - 操作系统设置生存时间 (Time-To-Live) 的值。

  • 窗口大小 - 操作系统设置的窗口大小。

  • DF - 操作系统是否设置了不分段 (Don't Fragment) 位。

  • TOS - 操作系统是否设置了服务类型 (Type of Service),如果是,设置为什么值。

通过分析数据包的这些因素,您可以确定远程操作系统。此系统并非 100% 准确,对某些操作系统比其他操作系统更有效。

基本步骤

在攻击系统之前,需要知道哪个操作系统正在托管网站。一旦知道目标操作系统,就可以轻松确定可能存在的漏洞以利用目标系统。

下面是一个简单的nmap 命令,可用于识别托管网站的操作系统以及与域名(即 IP 地址)关联的所有打开的端口。

$nmap -O -v tutorialspoint.com 

它将显示有关给定域名或 IP 地址的以下敏感信息:

Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 09:57 CDT 
Initiating Parallel DNS resolution of 1 host. at 09:57 
Completed Parallel DNS resolution of 1 host. at 09:57, 0.00s elapsed 
Initiating SYN Stealth Scan at 09:57
Scanning tutorialspoint.com (66.135.33.172) [1000 ports] 
Discovered open port 22/tcp on 66.135.33.172 
Discovered open port 3306/tcp on 66.135.33.172 
Discovered open port 80/tcp on 66.135.33.172 
Discovered open port 443/tcp on 66.135.33.172 
Completed SYN Stealth Scan at 09:57, 0.04s elapsed (1000 total ports) 
Initiating OS detection (try #1) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #2) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #3) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #4) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #5) against tutorialspoint.com (66.135.33.172) 
Nmap scan report for tutorialspoint.com (66.135.33.172) 
Host is up (0.000038s latency). 
Not shown: 996 closed ports 
PORT     STATE SERVICE 
22/tcp   open  ssh 
80/tcp   open  http 
443/tcp  open  https 
3306/tcp open  mysql  

TCP/IP fingerprint: 
OS:SCAN(V=5.51%D=10/4%OT=22%CT=1%CU=40379%PV=N%DS=0%DC=L%G=Y%TM=56113E6D%P= 
OS:x86_64-redhat-linux-gnu)SEQ(SP=106%GCD=1%ISR=109%TI=Z%CI=Z%II=I%TS=A)OPS 
OS:(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFF 
OS:D7ST11NW7%O6=MFFD7ST11)WIN(W1=FFCB%W2=FFCB%W3=FFCB%W4=FFCB%W5=FFCB%W6=FF 
OS:CB)ECN(R=Y%DF=Y%T=40%W=FFD7%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A 
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0% 
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S= 
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R= 
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N% 
OS:T=40%CD=S)

如果您的 Linux 系统上没有安装nmap 命令,则可以使用以下yum 命令安装:

$yum install nmap

您可以详细了解nmap 命令,以检查和了解与系统相关的不同功能,并保护系统免受恶意攻击。

快速修复

您可以将主要系统隐藏在安全的代理服务器或 VPN 后面,以便您的完整身份安全,最终您的主要系统保持安全。

端口扫描

我们刚刚看到了nmap 命令提供的信息。此命令列出了给定服务器上的所有打开的端口。

PORT       STATE   SERVICE 
22/tcp     open    ssh 
80/tcp     open    http 
443/tcp    open    https 
3306/tcp   open    mysql

您还可以使用以下命令检查特定端口是否已打开:

$nmap -sT -p 443 tutorialspoint.com

它将产生以下结果:

Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT 
Nmap scan report for tutorialspoint.com (66.135.33.172) 
Host is up (0.000067s latency). 
PORT    STATE SERVICE 
443/tcp open  https  

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

一旦黑客知道了打开的端口,他就可以通过打开的端口规划不同的攻击技术。

快速修复

始终建议检查并关闭所有不需要的端口,以保护系统免受恶意攻击。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

Ping 扫描

Ping 扫描是一种网络扫描技术,您可以使用它来确定哪个 IP 地址范围内的 IP 地址映射到活动主机。Ping 扫描也称为ICMP 扫描

您可以使用fping 命令进行 Ping 扫描。此命令类似于 ping 程序,它使用互联网控制消息协议 (ICMP) 回显请求来确定主机是否已启动。

fpingping 的不同之处在于,您可以在命令行中指定任意数量的主机,或者指定包含要 ping 的主机列表的文件。如果主机在一定的时间限制和/或重试限制内没有响应,则将其视为不可达。

快速修复

要在网络上禁用 Ping 扫描,您可以阻止来自外部来源的 ICMP ECHO 请求。这可以通过以下命令完成,该命令将在iptables 中创建一个防火墙规则。

$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

DNS 枚举

域名服务器 (DNS) 就像地图或地址簿。事实上,它就像一个分布式数据库,用于将 IP 地址 192.111.1.120 转换为名称 www.example.com,反之亦然。

DNS 枚举是查找组织的所有 DNS 服务器及其相应记录的过程。其目的是在发起攻击之前尽可能多地收集有关目标的有趣细节。

您可以使用 Linux 上可用的nslookup 命令获取 DNS 和主机相关信息。此外,您可以使用以下DNSenum 脚本来获取有关域的详细信息:

DNSenum.pl

DNSenum 脚本可以执行以下重要操作:

  • 获取主机的地址

  • 获取名称服务器

  • 获取 MX 记录

  • 对名称服务器执行axfr 查询

  • 通过谷歌抓取获取额外的名称和子域名

  • 可以对具有 NS 记录的子域名执行文件中的子域名暴力破解和递归

  • 计算 C 类域名网络范围并对其执行whois 查询

  • 网络范围执行反向查找

快速修复

DNS 枚举没有快速修复方法,这超出了本教程的范围。防止 DNS 枚举是一个巨大的挑战。

如果您的 DNS 配置不安全,则网络和组织的大量敏感信息可能会泄露到外部,并且不受信任的互联网用户可以执行 DNS 区域传输。

广告