渗透测试必备的Nmap命令
Nmap 已成为网络扫描领域最受欢迎的工具之一,远远超过了其他扫描器。很多时候,一些组织的主机使用防火墙或入侵防御系统进行保护,而这会导致扫描失败,因为目前用于阻止网络流量的规则集。在Nmap 中,渗透测试人员可以轻松使用备用主机发现技术来防止这种情况发生。它包含某些功能,使网络流量不那么可疑。因此,让我们来看看主机发现的各种技术。
目录
- Ping 扫描(无端口扫描)
- 禁用arp ping
- 发送 IP
- TCP 标志
- 扫描类型
- TCP SYN Ping 扫描
- TCP ACK Ping 扫描
- ICMP ECHO Ping 扫描(Scan)
- ICMP ECHO Ping 扫描(Sweep)
- UDP Ping 扫描
- IP 协议 Ping 扫描
- ARP Ping 扫描
- 跟踪路由
Ping 扫描(无端口扫描)
让我们首先使用 Ping 扫描(-sP)来扫描整个网络。
nmap –sP 192.168.1.0/24
当你仔细观察 Wireshark 中的数据包时,你会发现在扫描网络时只发送了 ARP 数据包,
注意:-sP和-sn的工作原理相同。
让我们尝试使用无端口扫描 (-sn)选项执行相同的操作。在此选项中,我们还使用 –packet-trace选项,这将使您无需使用 Wireshark 即可查看详细的数据包传输。在这里您可以观察到正在接收的 ARP 数据包。
nmap -sn 192.168.1.0/24 --packet-trace
现在,当我们看到网络中出现 ARP 数据包时,我们将使用–disable-arp-ping选项,您可以看到有 4 个数据包被发送。
禁用arp ping
为了禁用 ARP 发现,Nmap 提供了此选项。
nmap -sn 192.168.1.108 --disable-arp-ping
您将看到 ARP 数据包不可见
注意:使用 Nmap 扫描本地网络时,nmap 每次扫描都会发送一个 ARP 数据包。如果要扫描外部网络;使用 –disable-arp-ping 时,Nmap 会发送以下请求数据包:
您还可以使用–send-ip选项来获得与上述步骤相同的结果。
发送 IP
nmap –sn 192.168.1.108 --packet-trace --send-ip
主机发现被认为是信息收集中最主要的步骤,它可以提供有关网络中活动端口和 IP 地址的准确结果。
TCP 标志
首先,让我们了解一下 TCP 中通信标志的基础知识。TCP 标头主要由六个标志组成,它们管理系统之间的连接并向它们提供指令。每个标志为 1 位,因此 TCP 标志的大小为 6 位。现在让我们简单了解一下每个标志。
扫描类型
为了发现网络中的主机,可以使用各种 ping 扫描方法。
TCP SYN Ping 扫描
这是一种主机发现方法,有助于查找端口是否打开,并确保它是否符合防火墙的规则。因此,渗透测试人员可以向目标发送一个空的 SYN 标志来检查它在哪里活动。此扫描类型可以定义多个端口。
Nmap 中的 -sP 命令仅允许发现在线主机。而 SYN Ping (-PS) 会向端口发送 TCP SYN 数据包,如果端口已关闭,主机将以 RST 数据包进行响应。如果请求的端口已打开,则会响应 TCP SYN/ACK,并会发送一个重置数据包以重置连接。
nmap -sn -PS 192.168.1.108 --disable-arp-ping
使用 Wireshark 捕获的数据包可能会过度服务
TCP SYN Ping 扫描的优点是,渗透测试人员甚至无需创建连接即可获取主机的活动/非活动状态,因此它甚至不会在系统或网络中创建日志。
TCP ACK Ping 扫描
这是一种主机发现方法,类似于 TCP SYN Ping 扫描,但略有不同。此扫描也使用端口 80。渗透测试人员向目标发送一个空的 TCP 数据包,由于它们之间没有连接,它将收到一个确认数据包,然后重置并终止请求
此命令用于确定目标的响应,并检查最新防火墙是否阻止了 SYN 数据包或 ICMP 回显请求
nmap -sn -PA 192.168.1.108 --disable-arp-ping
您可以在此处观察到 Wireshark 捕获的数据包。
一些防火墙配置为阻止 SYN ping 数据包,因此,在这种情况下,此扫描将有效地轻松绕过防火墙。
ICMP Echo Ping 扫描(Scan)
ICMP Ping 扫描可用于收集有关目标系统的信息,这使得它与端口扫描不同。渗透测试人员可以向目标发送 ICMP ECHO 请求并得到 ICMP Echo 回复。
ICMP 现在对已被管理员阻止的远程 ICMP 数据包无效。它仍可用于监控本地网络。
nmap -sn -PE 192.168.1.108 --disable-arp-ping
可以在Wireshark中观察到捕获的数据包。
ICMP ECHO Ping 扫描(Sweep)
它类似于 Echo Ping 扫描,用于扫描给定 IP 地址范围内的活动主机。它向大量目标发送 ICMP 请求,如果特定目标处于活动状态,则它将返回 ICMP 回复。
nmap -sn -PE 192.168.1-10
ICMP 地址掩码扫描
这是 ICMP ECHO ping 扫描的一种较老的方法。它提供有关系统及其子网掩码的信息。
nmap -sn -PM 192.168.1.108 --disable-arp-ping
ICMP ECHO 时间戳扫描
当系统管理员阻止常规 ICMP 时间戳时,渗透测试人员可以在特定情况下采用此技术。它通常用于时间同步。
nmap -sn -PP 192.168.1.108 --disable-arp-ping
可以观察到使用Wireshark捕获的数据包。
UDP Ping 扫描
UDP Ping 扫描使用非常不常见的默认端口号 40125 向目标发送数据包。它类似于 TCP Ping 扫描。渗透测试人员将向目标发送 UDP 数据包,如果有响应,则表示主机处于活动状态,否则处于离线状态
UDP 扫描的优点在于它可以检测到具有严格 TCP 规则并放宽 UDP 规则的防火墙的系统。
nmap -sn -PU 192.168.1.108 --disable-arp-ping
您可以使用 Wireshark 观察发送的数据包。
IP 协议 ping 扫描
在这种方法中,渗透测试人员使用不同的 IP 协议发送各种数据包,并希望在目标还活着时得到响应。
nmap -sn -PO 192.168.1.108 --disable-arp-ping
可以使用Wireshark观察捕获的数据包。
无 ping 扫描
在这种方法中,主机发现被完全跳过。渗透测试人员可以使用它来确定活跃的机器以进行更密集的扫描并提高网络速度。
nmap -sn -PN 192.168.1.108 --disable-arp-ping
ARP ping 扫描
在此方法中,ARP 数据包被发送到网络中的所有设备,尽管由于防火墙而无法看到它们。它被认为比其他主机发现效率更高。它主要用于系统发现。它还提到了延迟。
nmap -sn -PR 192.168.1.108
您可以在wireshark中看到捕获的数据包。
SCTP 初始化 Ping
它发送包含最小 INIT 块的 SCTP 数据包。其默认目标端口为 80。INIT 块向远程系统提供建议,表明渗透测试人员正在尝试建立关联。
nmap -sn -PY 192.168.1.108 --disable-arp-ping
可以观察到捕获的数据包。
跟踪路由
扫描完成后,使用跟踪路由,利用扫描结果中的信息来确定到达目标的端口和协议。
nmap -sn --traceroute 8.8.8.8
零基础网络安全学习计划
学习路线图大纲总览
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
【一一帮助网络安全学习,以下所有资源文末免费领取一一】
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以点击这里加我与我一起互相探讨、交流、咨询哦。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 ↓↓↓ 或者 点击以下链接都可以领取
