- 道德黑客教程
- 道德黑客 - 首页
- 道德黑客 - 概述
- 道德黑客 - 黑客类型
- 道德黑客 - 著名的黑客
- 道德黑客 - 术语
- 道德黑客 - 工具
- 道德黑客 - 技能
- 道德黑客 - 流程
- 道德黑客 - 侦察
- 道德黑客 - 足迹追踪
- 道德黑客 - 指纹识别
- 道德黑客 - 嗅探
- 道德黑客 - 嗅探工具
- 道德黑客 - ARP 欺骗
- 道德黑客 - DNS 欺骗
- 道德黑客 - 利用
- 道德黑客 - 枚举
- 道德黑客 - Metasploit
- 道德黑客 - 木马攻击
- 道德黑客 - TCP/IP 劫持
- 道德黑客 - 邮件劫持
- 道德黑客 - 密码破解
- 道德黑客 - 无线黑客
- 道德黑客 - 社会工程
- 道德黑客 - DDOS 攻击
- 道德黑客 - 跨站脚本攻击
- 道德黑客 - SQL 注入
- 道德黑客 - 渗透测试
- 道德黑客实用资源
- 道德黑客 - 快速指南
- 道德黑客 - 资源
- 道德黑客 - 讨论
道德黑客 - 指纹识别
在道德黑客中,操作系统指纹识别是指用于确定远程计算机上运行的操作系统的任何方法。这可能是:
主动指纹识别 - 主动指纹识别是通过向目标机器发送特制的数据包,然后记录其响应并分析收集到的信息来确定目标操作系统来实现的。在下一节中,我们将提供一个示例来说明如何使用 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
一旦黑客知道了打开的端口,他就可以通过打开的端口规划不同的攻击技术。
快速修复
始终建议检查并关闭所有不需要的端口,以保护系统免受恶意攻击。
Ping 扫描
Ping 扫描是一种网络扫描技术,您可以使用它来确定哪个 IP 地址范围内的 IP 地址映射到活动主机。Ping 扫描也称为ICMP 扫描。
您可以使用fping 命令进行 Ping 扫描。此命令类似于 ping 程序,它使用互联网控制消息协议 (ICMP) 回显请求来确定主机是否已启动。
fping 与ping 的不同之处在于,您可以在命令行中指定任意数量的主机,或者指定包含要 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 脚本可以执行以下重要操作:
获取主机的地址
获取名称服务器
获取 MX 记录
对名称服务器执行axfr 查询
通过谷歌抓取获取额外的名称和子域名
可以对具有 NS 记录的子域名执行文件中的子域名暴力破解和递归
计算 C 类域名网络范围并对其执行whois 查询
对网络范围执行反向查找
快速修复
DNS 枚举没有快速修复方法,这超出了本教程的范围。防止 DNS 枚举是一个巨大的挑战。
如果您的 DNS 配置不安全,则网络和组织的大量敏感信息可能会泄露到外部,并且不受信任的互联网用户可以执行 DNS 区域传输。