Kali Linux网络扫描教程(内部资料)
试读样张:http://pan.baidu.com/s/1qWuNSYw
Kali Linux是业内最知名的安全渗透测试专用操作系统。它的前身就是业界知名的BackTrack操作系统。BackTrack在2013年停止更新,转为Kali Linux。Kali Linux集成了海量渗透测试、网络扫描、攻击等专用工具。通过系统更新,用户可以快速获取最新的各类工具。所以,Kali Linux是专业人员的不二选择。
网络扫描是一门操作性极强的学科。通过实施网络扫描,用户能够发现目标主机上各种服务分配的端口、开放的服务、服务软件及版本等信息。网络扫描的基本流程如下所示:
(1)发现目标主机
(2)端口扫描
(3)指纹信息扫描
(4)漏洞扫描
(5)实施渗透攻击
本教程就是按照该流程,使用Kali Linux中的各种工具实施渗透测试。在本书中使用到的工具包括Scapy、Nmap、Amap、Dmitry、p0f、Nessus、Burp Suite等。
1.学习所需的系统和软件
q Kali Linux操作系统
q Scapy:是用Python编写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包。
q ARPing:是一个ARP级别的ping工具,可以用来直接ping MAC地址。
q Nmap:是Linux下的网络扫描和嗅探工具包。
q NetDiscover:用来扫描局域网内MAC地址对应的IP地址。
q Metasploit:是一款开源的安全漏洞检测工具。该工具主要的功能,就是有大量的辅助模块可以用于各种扫描并进行信息收集。
q ICMP ping:使用Ping命令,可以检查网络的连通性和活动状态。
q Fping:可以用来法送ICMP Echo request包到一个单独的目标地址,来判断该主机是否活动。
q Hping3:是一个命令行下使用的TCP/IP数据包组装/分析工具。
q Dmitry:可以用来实现对一个目标系统进行TCP扫描。
q Netcat:是一个网络套接字连接和管理工具。
q Nmap NSE:可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能。
q Amap:是一个应用程序映射工具,可以用来通过远程端口读取正在运行的网络服务的标志。
q xProbe2:是一款远程主机操作系统探查工具。
q p0f:是一款用于识别远程操作系统的工具。
q onesixtyone:是一个简单的SNMP分析工具。使用该工具,可以请求指定地址的系统描述值。
q snmpwalk:可以收集使用SNMP社区字符串设备的大量信息。
q Nessus:是一个最强大并广泛使用的漏洞扫描工具,可以自动扫描所有识别出服务的各种漏洞。
q SSLScan:该工具可以用来评估远程Web服务器上SSL/TLS的支持。
q SSLyze:是一款使用Python实现的SSL扫描工具,它可以扫描出SSL中一些经典的配置错误。
q Burp Suite:是用于攻击Web应用程序的集成平台。
q sqlmap:是一个开放源码的渗透测试工具。它可以自动探测和利用SQL注入漏洞,来接管数据库服务器。
目 录
第1章 网络扫描概述 1
1.1 什么是网络扫描 1
1.1.1 网络构成 1
1.1.2 网络扫描流程 1
1.1.3 法律边界 3
1.2 本书网络环境 3
1.3 安装Kali Linux操作系统 4
1.3.1 安装Kali Linux 4
1.3.2 安装VMware tools 20
1.4 安装Metasploitable2操作系统 21
1.5 安装其他所需的工具 23
1.5.1 安装及配置Nessus 23
1.5.2 使用及配置SSH工具 32
1.5.3 配置Burp Suite工具 34
1.5.4 使用文本编辑器(VIM和Nano) 37
第2章 扫描发现 39
2.1 OSI模型 39
2.2 实施第二层扫描发现 40
2.2.1 使用Scapy工具 40
2.2.2 使用ARPing工具 46
2.2.3 使用Nmap工具 49
2.2.4 使用NetDiscover工具 52
2.2.5 使用Metasploit工具 53
2.3 实施第三层扫描发现 55
2.3.1 使用ICMP Ping工具 55
2.3.2 使用Scapy工具 58
2.3.3 使用Nmap工具 63
2.3.4 使用Fping工具 65
2.3.5 使用Hping3工具 67
2.4 实施第四层扫描发现 70
2.4.1 使用Scapy工具 70
2.4.2 使用Nmap工具 81
2.4.3 使用Hping3工具 83
第3章 端口扫描 89
3.1 UDP端口扫描 89
3.1.1 使用Scapy实施UDP端口扫描 89
3.1.2 使用Nmap实施UDP端口扫描 94
3.1.3 使用Metasploit实施UDP端口扫描 97
3.2 隐蔽扫描 100
3.2.1 使用Scapy实施隐蔽扫描 100
3.2.2 使用Nmap实施隐蔽扫描 106
3.2.3 使用Metasploit实施隐蔽扫描 110
3.2.4 使用Hping3实施隐蔽扫描 113
3.3 TCP全连接扫描 115
3.3.1 使用Scapy实施TCP全连接扫描 115
3.3.2 使用Nmap实施TCP全连接扫描 120
3.3.3 使用Metasploit实施TCP全连接扫描 123
3.3.4 使用Dmitry实施TCP全连接扫描 126
3.4 使用Netcat实施TCP端口扫描 128
第4章 指纹识别 131
4.1 获取标志 131
4.1.1 使用Netcat获取标志 131
4.1.2 使用Python套接字模块获取标志 132
4.1.3 使用Dmitry获取标志 134
4.1.4 使用Nmap NSE获取标志 135
4.1.5 使用Amap获取标志 136
4.2 服务指纹识别 138
4.2.1 使用Nmap工具实施服务指纹识别 138
4.2.2 使用Amap工具实施服务指纹识别 139
4.3 操作系统指纹识别 141
4.3.1 使用Scapy实施操作系统指纹识别 141
4.3.2 使用Nmap实施操作系统指纹识别 146
4.3.3 使用xProbe2实施操作系统指纹识别 146
4.3.4 使用p0f实施操作系统指纹识别 147
4.4 SNMP服务分析 151
4.4.1 安装及配置SNMP服务 151
4.4.2 使用Onesixtyoue实施SNMP服务分析 154
4.4.3 使用SNMPwalk实施SNMP服务分析 154
4.5 防火墙指纹识别 156
4.5.1 使用Scapy实施防火墙指纹识别 156
4.5.2 使用Nmap实施防火墙指纹识别 165
4.5.3 使用Metasploit框架实施防火墙指纹识别 166
第5章 漏洞扫描 169
5.1 使用Nmap脚本引擎 169
5.2 使用MSF辅助模块 172
5.3 使用Nessus实施漏洞扫描 175
5.3.2 创建扫描策略 175
5.3.3 实施漏洞扫描 177
5.3.4 使用Nessuscmd实施命令行扫描 180
5.4 验证漏洞 182
5.4.1 HTTP交互 182
5.4.2 使用ICMP交互 183
第6章 拒绝服务(DoS) 185
6.1 缓存溢出 185
6.1.1 识别缓存溢出 185
6.1.2 远程FTP服务缓存溢出DoS 187
6.2 拒绝服务(DoS)攻击 191
6.2.1 Smurf攻击 191
6.2.2 DNS放大攻击 193
6.2.3 SNMP放大攻击 200
6.2.4 NTP放大攻击 207
6.2.5 SYN洪水(SYN flood)攻击 208
6.2.6 Sock Stress攻击 213
6.3 实施拒绝服务(DoS)攻击 216
6.3.1 使用Nmap NSE工具 216
6.3.2 使用Metasploit框架 218
第7章 Web扫描及攻击 222
7.1 使用Nikto实施Web应用程序扫描 222
7.2 SSL/TLS扫描 224
7.2.1 使用SSLScan工具 225
7.2.2 使用SSLyze工具 226
7.3 使用Burp Suite工具 228
7.3.1 定义Web应用目标 228
7.3.2 使用Spider工具 230
7.3.3 使用Engagement工具 232
7.3.4 使用Proxy工具 236
7.3.5 使用Scanner工具 238
7.3.6 使用Intruder工具 240
7.3.7 使用Burp Suite Comparer工具 243
7.3.8 使用Repeater工具 244
7.3.9 使用Decoder工具 249
7.3.10 使用Sequencer工具 251
7.4 SQL注入 254
7.4.1 GET method SQL注入 254
7.4.2 捕获一个请求并实施SQL注入 259