Day14 主动情蒐-nmap 与 Wireshark 的实验内容

利用 Wireshark 观察 nmap 传输封包,点选左下角【Menu】输入【wireshark】点选鲨鱼 ICON 开启软件。

看到 Wireshark 的介面,有许多介面卡可以选择,我们选择【any】表示听任何介面卡。

不进行端口扫描
nmap -sn 172.28.128.3

第一个要观察的指令与参数是 -sn 代表无进行扫 port,只针对主机进行扫描,确认主机是否活着,可以发现有 TCP SYN 的封包,还有 TCP ACK 的封包。

TCP 三方交握,确认使用者端跟接收端建立连线的过程,

  1. 发送 SYN
  2. 回传 SYN-ACK
  3. 发送 ACK
  4. 建立连线
  5. 直到发送 FIN 或 RST 才关闭连线

TCP 扫描
nmap -sT [target]

可以看到 Wireshark 拦到的封包内容,如下:

  1. 发送 SYN
  2. 回传 SYN-ACK
  3. 发送 ACK
  4. 发送 RST-ACK 结束连线

TCP SYN 扫描
不会完成完整的三方交握,可以躲避下一些防御侦测系统。
nmap -sS [target]

因为执行 SYN 扫描需要用到底层的 raw 封包,因此需以最高权限执行。

sudo nmap -sS [target]

可以看到 Wireshark 拦到的封包内容,如下:

  1. 发送 SYN
  2. 回传 SYN-ACK
  3. 发送 RST 结束连线

UDP 扫描
nmap -sU [target]

常见在 UDP 执行的服务,针对 UDP 的服务也是常被骇客攻击,因此我们可以只针对 UDP 的服务进行扫描:

服务名称 端口
DNS 53
NTP 123
SNMP 161/162

可以看到 Wireshark 拦到的封包内容,发送大量的 UDP 封包,而 UDP 扫描会比较缓慢。

服务扫描
nmap -sV [target]
针对 port、状态与服务版本进行扫描,寻找是否有已知漏洞

查询结果可以发现可能是一台 Ubuntu 的系统,且 SSH 服务使用 OpenSSH 6.6.1p1,在 80 port 上埋还有网站服务器 Apache 2.4.7。

作业系统扫描
sudo nmap -sV -O [target]

需要利用 sudo 执行,发现目标作业系统可能是 Linux 3.X 或 4.X。

主动扫描
sudo nmap -A [target]
针对目标进行主动扫描 A 表示 Aggressive,预设执行作业系统扫描、版本扫描与 traceroute。

版本扫描

作业系统扫描

针对主动扫描回传 Host script 结果与 traceroute

该扫描会产生大量的网路流量,可能会被目标主机或防火墙挡下,导致扫描停不下来。

若不是使用 sudo 将不会执行作业系统检测

※ 想减少扫描时间可以参考

  1. 使用 -sn 跳过端口扫描
  2. 限制扫描的端口数 -F 快速扫描(100 port)、--top-ports 常用端口(自己指定数量)、-p 自己指定扫描端口
  3. 跳过激烈的扫描选项 -sC-sV-O--traceroute-A
  4. 关闭 DNS 解析

扫描指定范围
sudo nmap -p 1-100 [target]

扫描特殊范围
sudo nmap -p 137-139,445 [target]

指定服务端口扫描
sudo nmap -p netbios*,microsoft-ds [target]

指定 TCP 与 UDP 的扫瞄范围
sudo nmap -sU -sS -p U:137-139,T:137-139,445 [target]

一定要大写表示「U」和「T」其代表 UDP 和 TCP

指定 TCP 与 UDP + 指定服务 的扫瞄范围
sudo nmap -sU -sS -p netbios*,microsoft-ds [target]

复习

参数 说明
-sS TCP
-sU UDP
-p- 所有的 port

NSE 脚本更新
sudo apt-get update
以管理者的身分执行 apt-get 进行更新套件内容

sudo apt-get install nmap
以管理者的身分执行 apt-get 进行安装 nmap,若已经安装过,则会进行更新。

sudo nmap --script-updatedb
以管理者的身分执行 nmap 进行 NSE 的更新

NSE 脚本路径
ls /usr/share/nmap/scripts
列出 /usr/share/nmap/scripts 路径底下的档案列表

ls -l /usr/share/nmap/scripts/http*
列出 /usr/share/nmap/scripts 路径底下的开头为 http 的档案列表

NSE 查看说明
nmap --script-help http-robots.txt
该脚本针对 http-robots.txt 进行说明,
可以看到这个脚本的分类是 default, discovery and safe

利用指定 NSE 进行扫描
nmap --script=[scriptname] [target]

范例:nmap --script=http-robots.txt [target]


<<:  Day 14 Detect objects in images with the Custom Vision service

>>:  【面试心态】每一次面试都是有意义的

EP 26 - [Ruby on Rails] 使用状态机管理订单

Youtube 频道:https://www.youtube.com/c/kaochenlong ...

Day13 iPhone捷径-媒体Part3

Hello 大家, 今天第一个要讲的是拍摄萤幕快照, 嘿嘿~就是截图, 没啥好说的XD, 但截图後面...

故事二十六:今天来玩玩资料透视表!

  最近的实作,好像都是「地图」相关为主。我想了想,突然想起在故事十五:来瞧瞧大专院校校别学生数的数...

Day 4 如何规划拟定隐私三宝

隐私三宝包含了隐私条款、服务条款、Cookie policy,其中隐私条款若要自己从无到有生出来,似...

.Net Core Web Api_笔记04_HTTP资源操作模式Put

基本上跟POST是有点类似的作法 通常用於资料更新(所以资料必须是已存在於目前db的) 新增额外的a...