道德黑客 – 指纹识别
道德黑客 – 指纹识别
Ethical Hacking 中的术语操作系统指纹是指用于确定远程计算机上运行的操作系统的任何方法。这可能是 –
-
主动指纹– 主动指纹是通过将特制的数据包发送到目标机器,然后记下其响应并分析收集的信息以确定目标操作系统来完成的。在下一节中,我们将举例说明如何使用 NMAP 工具来检测目标域的操作系统。
-
被动指纹– 被动指纹基于远程系统的嗅探器跟踪。根据数据包的嗅探器踪迹(如Wireshark),您可以确定远程主机的操作系统。
我们将查看以下四个重要元素来确定操作系统 –
-
TTL – 操作系统在出站数据包上设置的生存时间。
-
窗口大小– 操作系统将窗口大小设置为什么。
-
DF – 操作系统是否设置了Don’t Fragment位。
-
TOS – 操作系统是否设置了服务类型,如果是,设置了什么。
通过分析数据包的这些因素,您也许能够确定远程操作系统。这个系统不是 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
黑客一旦知道开放端口,就可以通过开放端口规划不同的攻击技术。
快速解决
始终建议检查并关闭所有不需要的端口,以保护系统免受恶意攻击。
平扫
ping 扫描是一种网络扫描技术,可用于确定 IP 地址范围中的哪个 IP 地址映射到活动主机。Ping Sweep 也称为ICMP 扫描。
您可以使用fping命令进行 ping 扫描。此命令是一个类似于 ping 的程序,它使用 Internet 控制消息协议 (ICMP) 回显请求来确定主机是否已启动。
fping与ping 的不同之处在于您可以在命令行上指定任意数量的主机,或者指定一个包含要 ping 的主机列表的文件。如果主机在特定时间限制和/或重试限制内未响应,则将其视为不可达。
快速解决
要在网络上禁用 ping 扫描,您可以阻止来自外部来源的 ICMP ECHO 请求。这可以使用以下命令完成,该命令将在iptable 中创建防火墙规则。
$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脚本可以执行以下重要操作 –
-
获取主机地址
-
获取名称服务器
-
获取 MX 记录
-
在名称服务器上执行axfr查询
-
通过Google 抓取获取额外的名称和子域
-
来自文件的蛮力子域也可以对具有 NS 记录的子域执行递归
-
计算 C 类域网络范围并对其执行whois查询
-
对网络范围执行反向查找
快速解决
DNS 枚举没有快速修复方法,它确实超出了本教程的范围。防止 DNS 枚举是一个巨大的挑战。
如果您的 DNS 未以安全方式配置,则有关网络和组织的大量敏感信息可能会泄露出去,不受信任的 Internet 用户可能会执行 DNS 区域传输。