共计 11627 个字符,预计需要花费 30 分钟才能阅读完成。
<!– more –>
被动信息收集的原理
1. 被动信息收集的特点
1. 间接与指标零碎交互通信
2. 无奈防止留下拜访的痕迹
3. 应用受控的第三方电脑进行探测,应用代理或曾经被管制的机器
4. 扫描发送不同的探测,依据返回后果判断指标状态
2. 发现指标主机的过程
1. 辨认存活主机,发现潜在的被攻打指标
2. 输入一个 IP 地址列表,比方 IP 地址段、IP 地址范畴
3. 应用二、三、四层进行探测发现
3. OSI 七层模型和 TCP/IP 五层模型
七层模型,亦称 OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制订的一个用于计算机或通信零碎间互联的规范体系,个别称为 OSI 参考模型或七层模型。
它是一个七层的、形象的模型体,不仅包含一系列形象的术语或概念,也包含具体的协定。
上三层属于应用层(即时用户应用层)
OSI 七层模型及 TCP/IP 五层模型的对应网络设备关系:
OSI 七层模型及 TCP/IP 五层模型的对应网络协议关系:
这个比拟重要,比方咱们常常用的
ping
命令就是走的网络层,而代理软件代理是 TCP 等协定,走的是传输层,所以咱们的代理在CMD
下是无奈代理ping
命令的(然而在PowerShell
里能够)
二层发现
1. 二层主机发现
- 利用
OSI
的数据链路层
的协定进行发现,个别应用的是ARP
协定,能够绕开禁 ping 的服务器
。 - ARP 协定概述:ARP 协定是 ”Address Resolution Protocol”(地址解析协定)的缩写。计算机通过 ARP 协定将 IP 地址转换成 MAC 地址。
- ARP 协定工作原理
主机 A 的 IP 地址为 192.168.1.1,MAC 地址为 0A-11-22-33-44-01;
主机 B 的 IP 地址为 192.168.1.2,MAC 地址为 0A-11-22-33-44-02;当主机 A 要与主机 B 通信时,地址解析协定能够将主机 B 的 IP 地址(192.168.1.2)解析成主机 B 的 MAC 地址,以下为工作流程:第 1 步:依据主机 A 上的路由表内容,IP 确定用于拜访主机 B 的转发 IP 地址是 192.168.1.2。而后 A 主机在本人的本地 ARP 缓存中查看主机 B 的匹配 MAC 地址。第 2 步:如果主机 A 在 ARP 缓存中没有找到映射,它将询问 192.168.1.2 的硬件地址,从而将 ARP 申请帧播送到本地网络上的所有主机。源主机 A 的 IP 地址和 MAC 地址都包含在 ARP 申请中。本地网络上的每台主机都接管到 ARP 申请并且查看是否与本人的 IP 地址匹配。如果主机发现申请的 IP 地址与本人的 IP 地址不匹配,它将抛弃 ARP 申请。第 3 步:主机 B 确定 ARP 申请中的 IP 地址与本人的 IP 地址匹配,则将主机 A 的 IP 地址和 MAC 地址映射增加到本地 ARP 缓存中。第 4 步:主机 B 将蕴含其 MAC 地址的 ARP 回复音讯间接发送回主机 A。第 5 步:当主机 A 收到从主机 B 发来的 ARP 回复音讯时,会用主机 B 的 IP 和 MAC 地址映射更新 ARP 缓存。本机缓存是有生存期的,生存期完结后,将再次反复下面的过程。主机 B 的 MAC 地址一旦确定,主机 A 就能向主机 B 发送 IP 通信了。
2. 命令详解
arping
协定层级:数据链路层
阐明:从源位址通过 ping 命令查看设施上的硬体位址。
语法:arping -D-A-w timeout[-s source] -I interface address
参数:
- D 复制位址监测资讯;- U 用 ARP REQUEST 包更新网路街坊上的 ARP 缓存;- A 与 - U 参数作用一样,区别为 - A 采纳 ARP REPLY 包;-c count 设置 ping 命令探测的次数;-w timeout 通过 timeout 秒后进行 ping 命令;- q 不显示任何资讯;-s source 设置 ping 的源位址;-I interface 设置 ping 应用的网路介面;address 设置指标位址。
例如:
arping 192.168.10.1 -c 3
netdiscover
协定层级:数据链路层
阐明:被动查看查看是否能够与网路上的多台主机连通。
语法:netdiscover 指定网段 网卡 参数
参数:
-i 指定网卡 eth0
-r 指定网段 例如 192.168.10.0/24
-p 被动模式。默默的侦听指定的网卡以发现别的二层主机
-t [ARP](https://so.csdn.net/so/search?q=ARP&spm=1001.2101.3001.7020)包发送距离。单位毫秒。这个能够用来躲避检测零碎的告警。-l file: 指定扫描范畴列表文件
-p passive mode: 应用被动扫描的形式,不发送任何数据,只做嗅探
-m file: 扫描已知 mac 地址和主机名的电脑列表
-F filter: 指定 pcap 筛选器表达式(默认:“arp”)
-s time: 每个 arp 申请之间的睡眠工夫(毫秒)
-n node: 应用八字节的模式扫描(2 - 253)
-c count: 发送 arp 申请的工夫次数
-f: 应用被动模式的扫描
-d: 疏忽配置文件
-S: 启用每个 arp 申请之间克制的睡眠工夫
-P: 打印后果
-N: 不打印头。只有启用 - p 时无效。-L: 将捕捉的信息输入(-P),并持续进行扫描
例如:
netdiscover -i eth0 -r 192.168.10.0/24
三层发现
1. 三层主机发现
三层主机发现:利用 OSI 七层模型中的 网络层
的协定进行主机发现,个别应用的是 IP、ICMP 协定。
三层扫描的优缺点:
长处:能够绕过路由的主机,速度绝对较快
毛病:速度比二层发现慢,常常会被防火墙过滤
2. 命令详解
ping
协定层级:网络层
阐明:能够用来查看是否能够与网路上的一台主机连通。
语法:ping [-fn] [-c< 连贯次数 >] [-i< 间隔时间 >] [-I< 网路设施 >]
参数:
- f 产生 ping 风暴,会对网路带来重大累赘,仅限 root 用户应用,可用来统计资料包的丢包、误码率;- n 只输入数值,不尝试获取主机名;-i< 间隔时间 > 设定 2 个 Ping 资讯包收回的间隔时间,单位为秒;-I< 网路设施 > 当零碎有多个设施时,能够用该参数指定某一网路设施。
例如:
ping www.baidu.com
traceroute
协定层级:网络层
阐明:令利⽤ ICMP 协定定位您的计算机和⽬标计算机之间的所有路由器
语法:Traceroute [options] [data size]
参数:
[-n]: 显⽰的地址是⽤数字表⽰⽽不是符号
[-v]: 长输入
[-p]:UDP 端⼝设置(缺省为 33434)
[-q]: 设置 TTL 测试数⽬(缺省为 3)
[-t]: 设置测包的服务类型
[data size]: 每次测试包的数据字节长度(缺省为 38)
例如:
traceroute www.baidu.com
hping3
协定层级:网络层
阐明:hping3 是命令行下应用的 TCP/IP 数据包组装 / 剖析工具,通常 web 服务会用来做压力测试应用,也能够进行 DOS(DDOS)攻打试验。通用 hping3 只能每次扫描一个指标
DOS
,又叫DDOS
,分布式拒绝服务攻打或洪水攻打
语法例子:
hping3 -c 100000 -d 120 -S -w 64 -p 80 --flood --rand-source www.sanguosha.com
参数:
-h --help 显示帮忙
-v --version 显示版本
-c --count 发送数据包的数目
-i --interval 发送数据包距离的工夫 (uX 即 X 微秒, 例如:-i u1000)
--fast 等同 -i u10000 (每秒 10 个包)
--faster 等同 -i u1000 (每秒 100 个包)
--flood 尽最快发送数据包,不显示回复。-n --numeric 数字化输入,象征性输入主机地址。-q --quiet 宁静模式
-I --interface 网卡接口 (默认路由接口)
-V --verbose 具体模式
-D --debug 调试信息
-z --bind 绑定 ctrl+ z 到 ttl(默认为目标端口)
-Z --unbind 勾销绑定 ctrl+ z 键
--beep 对于接管到的每个匹配数据包蜂鸣声提醒
模式抉择
default mode TCP // 默认模式是 TCP
-0 --rawip RAWIP 模式,原始 IP 模式。在此模式下 HPING 会发送带数据的 IP 头。即裸 IP 形式。应用 RAWSOCKET 形式。-1 --icmp ICMP 模式,此模式下 HPING 会发送 IGMP 应答报,你能够用 --ICMPTYPE --ICMPCODE 选项发送其余类型 / 模式的 ICMP 报文。-2 --udp UDP 模式,缺省下,HPING 会发送 UDP 报文到主机的 0 端口,你能够用 --baseport --destport --keep 选项指定其模式。-8 --scan SCAN mode. // 扫描模式 指定扫描对应的端口。Example: hping --scan 1-30,70-90 -S www.target.host // 扫描
-9 --listen listen mode // 监听模式
IP 模式
-a --spoof spoof source address // 源地址坑骗。伪造 IP 攻打,防火墙就不会记录你的实在 IP 了,当然回应的包你也接管不到了。--rand-dest random destionation address mode. see the man. // 随机目标地址模式。具体应用 man 命令
--rand-source random source address mode. see the man. // 随机源地址模式。具体应用 man 命令
-t --ttl ttl (默认 64) // 批改 ttl 值
-N --id id (默认 随机) // hping 中的 ID 值,缺省为随机值
-W --winid 应用 win* id 字节程序 // 应用 winid 模式,针对不同的操作系统。UNIX ,WINDIWS 的 id 回应不同的,这选项能够让你的 ID 回应和 WINDOWS 一样。-r --rel 绝对 id 字段(预计主机流量) // 更改 ID 的,能够让 ID 曾递加输入,详见 HPING-HOWTO。-f --frag 拆分数据包更多的 frag. (may pass weak acl) // 分段,能够测试对方或者交换机碎片解决能力,缺省 16 字节。-x --morefrag 设置更多的分段标记 // 大量碎片,泪滴攻打。-y --dontfrag 设置不分段标记 // 发送不可复原的 IP 碎片,这能够让你理解更多的 MTU PATH DISCOVERY。-g --fragoff set the fragment offset // 设置断偏移。-m --mtu 设置虚构最大传输单元, implies --frag if packet size > mtu // 设置虚构 MTU 值,当大于 mtu 的时候分段。-o --tos type of service (default 0x00), try --tos help // tos 字段,缺省 0x00,尽力而为?-G --rroute includes RECORD_ROUTE option and display the route buffer // 记录 IP 路由,并显示路由缓冲。--lsrr 涣散源路由并记录路由 // 涣散源路由
--ssrr 严格源路由并记录路由 // 严格源路由
-H --ipproto 设置 IP 协定字段,仅在 RAW IP 模式下应用 // 在 RAW IP 模式里抉择 IP 协定。设置 ip 协定域,仅在 RAW ip 模式应用。ICMP 模式
-C --icmptype icmp 类型(默认 echo 申请) // ICMP 类型,缺省回显申请。-K --icmpcode icmp 代号(默认 0) // ICMP 代码。--force-icmp 发送所有 icmp 类型(默认仅发送反对的类型) // 强制 ICMP 类型。--icmp-gw 设置 ICMP 重定向网关地址(默认 0.0.0.0) // ICMP 重定向
--icmp-ts 等同 --icmp --icmptype 13 (ICMP 工夫戳) // icmp 工夫戳
--icmp-addr 等同 --icmp --icmptype 17 (ICMP 地址子网掩码) // icmp 子网地址
--icmp-help 显示其余 icmp 选项帮忙 // ICMP 帮忙
UDP/TCP 模式
-s --baseport base source port (default random) // 缺省随机源端口
-p --destport [+][+]<port> destination port(default 0) ctrl+z inc/dec // 缺省随机源端口
-k --keep keep still source port // 放弃源端口
-w --win winsize (default 64) // win 的滑动窗口。windows 发送字节(默认 64)
-O --tcpoff set fake tcp data offset (instead of tcphdrlen / 4) // 设置伪造 tcp 数据偏移量(取代 tcp 地址长度除 4)
-Q --seqnum shows only tcp sequence number // 仅显示 tcp 序列号
-b --badcksum (尝试)发送具备谬误 IP 校验和数据包。许多零碎将修复发送数据包的 IP 校验和。所以你会失去谬误 UDP/TCP 校验和。-M --setseq 设置 TCP 序列号
-L --setack 设置 TCP 的 ack ------------------------------------- (不是 TCP 的 ACK 标记位)
-F --fin set FIN flag
-S --syn set SYN flag 同步
-R --rst set RST flag
-P --push set PUSH flag
-A --ack set ACK flag -------------------------------------(设置 TCP 的 ACK 标记 位)-U --urg set URG flag // 一大堆 IP 抱头的设置。-X --xmas set X unused flag (0x40)
-Y --ymas set Y unused flag (0x80)
--tcpexitcode 应用 last tcp-> th_flags 作为退出码
--tcp-mss 启用具备给定值的 TCP MSS 选项
--tcp-timestamp 启用 TCP 工夫戳选项来猜想 HZ/uptime
Common // 通用设置
-d --data 指定发送到主机的数据包大小,以字节为单位,缺省是 0。-E --file 文件数据
-e --sign 增加“签名”-j --dump 转储为十六进制数据包
-J --print 转储为可打印字符
-B --safe 启用“平安”协定
-u --end 通知你什么时候 --file 达到 EOF 并避免倒回
-T --traceroute traceroute 模式(等同应用 --bind 且 --ttl 1)
--tr-stop 在 traceroute 模式下收到第一个不是 ICMP 时退出
--tr-keep-ttl 放弃源 TTL 固定,仅用于监督一跳
--tr-no-rtt 不要在跟踪路由模式下计算 / 显示 RTT 信息 ARS 包形容(新增性能,不稳固)ARS packet description (new, unstable)
--apd-send 发送 APD 形容数据包(参见 docs / APD.txt)
例如:
traceroute www.baidu.com
fping
协定层级:网络层
阐明:fping 是 ping 命令的加强版,它能够对一个 IP 段进行 ping 扫描,而 ping 命令自身是不能够对网段进行扫描的。fping6
是 fping 用来 ping IPV6 的命令
语法例子:
fping -a -g 192.168.10.0/24
参数:
仅 ping ipv4 地址,ipv6 请应用 fping6
-a:只显示存活主机;-u:只显示不存活主机;-g:通过指定起始地址与终止地址产生指标列表
-6,——ipv6 只有 ping ipv6 地址
-b,——size= 要发送的 ping 数据量,以字节为单位(默认值:56)
-B,——backoff= N 设置指数 backoff 因子为 N(默认值:1.5)
计数模式: 发送 N 个 ping 到每个指标
-f,——file= 从文件中读取指标的文件列表(- 示意 stdin)
生成指标列表(仅当没有指定 - f 时)
(在指标列表中给出开始和完结 IP,或者一个 CIDR 地址)
(例如:fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24)
-H,——ttl= N 设置 IP ttl 值(活跳工夫)
-I,——iface= iface 绑定到一个特定的接口
-l,——loop loop 模式: 永远发送 ping 信号
-m,——所有应用提供的主机名的所有 ip(例如 IPv4 和 IPv6),与 - A 一起应用
-M,——不要设置“不要宰割”标记
设置 ICMP 包上的服务类型 (tos) 标记
-p,——period= ping 包到一个指标之间的 MSEC 距离(单位:ms)
(in loop and count mode,默认:1000 ms)
-r,——重试 = N 次重试(默认:3 次)
-R,——随机分组数据(到箔链接数据压缩)
-S,——src=IP 设置源地址
-t,——timeout=MSEC 单个指标初始超时(默认:500 ms,除了 -l/-c/ -c,其中 - p 周期为 2000 ms)
输入选项:
显示有生命的指标
-A,-addr 显示指标地址
-C,——vcount= N 与 - C 雷同,以具体格局报告后果
在每个输入行之前打印工夫戳
-e,——elapsed 显示返回数据包耗费的工夫
-i,——interval= 发送 ping 包之间的 MSEC 距离(默认值:10 ms)
-n,——name 按名称显示指标(- d 等效)
-N,——netdata 输入兼容 netdata (-l - Q 是必须的)
-o,——中断显示累计中断工夫(失落包 * 包距离)
-q,——十分十分(不要显示每个指标 / 每个 ping 的后果)
-Q,——squiet= 秒数,与 - Q 雷同,但每 n 秒显示摘要
-s,——stats 打印最终的 stats
显示无奈达到的指标
-v,——版本显示版本
-x,——可达 = N 示意 >= N 个主机是否可达
四层发现
1.nmap
协定层级:传输层
阐明:nmap 是一个网络探测和平安扫描程序,零碎管理者和集体能够应用这个软件扫描大型的网络,获取那台主机正在进行以及提供扫描服务等信息。nmap 反对很多扫描技术,例如:UDP、TCPconnect()、TCP SYN(半开扫描,只发第一个包)、FTP 代理(bounce 攻打)、反向标记、ICMP、FIN、ACK 扫描、圣诞树(Xmas Tree)、SYN 扫描和 null 扫描。还能够探测系统操作类型(-O 参数)。
语法例子:
nmap 192.168.10.1
参数:
-A:选项用于应用进攻性形式扫描
-T4:指定扫描过程应用的时序,总有 6 个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或 IDS 检测并屏蔽掉,在网络通讯情况较好的状况下举荐应用 T4
-oX test.xml:将扫描后果生成 test.xml 文件
-oG test.txt: 将扫描后果生成 test.txt 文件
-sn : 只进行主机发现,不进行端口扫描
-O : 指定 Nmap 进行零碎版本扫描
-sV: 指定让 Nmap 进行服务版本扫描
-p <port ranges>: 扫描指定的端口
-sS/sT/sA/sW/sM: 指定应用 TCP SYN/Connect()/ACK/Window/Maimon scans 的形式来对指标主机进行扫描
-sU: 指定应用 UDP 扫描形式确定指标主机的 UDP 端口情况
-script <script name> : 指定扫描脚本
-Pn:不进行 ping 扫描
-sP : 用 ping 扫描判断主机是否存活,只有主机存活,nmap 才会持续扫描,个别最好不加,因为有的主机会禁止 ping
-PI : 设置这个选项,让 nmap 应用真正的 ping(ICMP echo 申请)来扫描指标主机是否正在运行。-iL 1.txt : 批量扫描 1.txt 中的指标地址
-sL: List Scan 列表扫描,仅将指定的指标的 IP 列举进去,不进行主机发现
-sY/sZ: 应用 SCTP INIT/COOKIE-ECHO 来扫描 SCTP 协定端口的凋谢的状况
-sO: 应用 IP protocol 扫描确定指标机反对的协定类型
-PO : 应用 IP 协定包探测对方主机是否开启
-PE/PP/PM : 应用 ICMP echo、ICMP timestamp、ICMP netmask 申请包发现主机
-PS/PA/PU/PY : 应用 TCP SYN/TCP ACK 或 SCTP INIT/ECHO 形式进行发现
-sN/sF/sX: 指定应用 TCP Null, FIN, and Xmas scans 机密扫描形式来帮助探测对方的 TCP 端口状态
-e eth0:指定应用 eth0 网卡进行探测
-f : --mtu <val>: 指定应用分片、指定数据包的 MTU.
-b <FTP relay host>: 应用 FTP bounce scan 扫描形式
-g:指定发送的端口号
-r: 不进行端口随机打乱的操作(如无该参数,nmap 会将要扫描的端口以随机程序形式扫描,以让 nmap 的扫描不易被对方防火墙检测到)-v 示意显示冗余信息,在扫描过程中显示扫描的细节,从而让用户理解以后的扫描状态
-n : 示意不进行 DNS 解析;-D <decoy1,decoy2[,ME],...>: 用一组 IP 地址覆盖实在地址,其中 ME 填入本人的 IP 地址
-R:示意总是进行 DNS 解析。-F : 疾速模式,仅扫描 TOP 100 的端口
-S <IP_Address>: 伪装成其余 IP 地址
--ttl <val>: 设置 time-to-live 工夫
--badsum: 应用谬误的 checksum 来发送数据包(失常状况下,该类数据包被摈弃,如果收到回复,阐明回复来自防火墙或 IDS/IPS)--dns-servers : 指定 DNS 服务器
--system-dns : 指定应用零碎的 DNS 服务器
--traceroute : 追踪每个路由节点
--scanflags <flags>: 定制 TCP 包的 flags
--top-ports <number> : 扫描凋谢概率最高的 number 个端口
--port-ratio <ratio>: 扫描指定频率以上的端口。与上述 --top-ports 相似,这里以概率作为参数
--version-trace: 显示出具体的版本侦测过程信息
--osscan-limit: 限度 Nmap 只对确定的主机的进行 OS 探测(至多需确知该主机别离有一个 open 和 closed 的端口)--osscan-guess: 大胆猜想对方的主机的零碎类型。由此准确性会降落不少,但会尽可能多为用户提供潜在的操作系统
--data-length <num>: 填充随机数据让数据包长度达到 Num
--ip-options <options>: 应用指定的 IP 选项来发送数据包
--spoof-mac <mac address/prefix/vendor name> : 假装 MAC 地址
--version-intensity <level>: 指定版本侦测强度(0-9),默认为 7。数值越高,探测出的服务越精确,然而运行工夫会比拟长。--version-light: 指定应用轻量侦测形式 (intensity 2)
--version-all: 尝试应用所有的 probes 进行侦测 (intensity 9)
实战:应用 scapy
定制数据包进行高级扫描
scapy 工具简介
Scapy 是一个能够让用户发送、侦听和解析并假装网络报文的 Python 程序。这些性能能够用于制作侦测、扫描和攻打网络的工具。
scapy 定制 ARP 协定包
要发包,数据包的格局什么样?一个数据包有什么参数?
应用 scapy 命令进入控制台
scapy
ARP().display() 显示 ARP 协定包参数
>>> ARP().display()
###[ARP]###
hwtype= 0x1
ptype= IPv4
hwlen= None
plen= None
op= who-has
hwsrc= 00:0c:29:a1:81:ef
psrc= 192.168.10.252
hwdst= 00:00:00:00:00:00
pdst= 0.0.0.0
sr1() 设置参数并发送包
>>> sr1(ARP(pdst="192.168.10.18"))
Begin emission:
Finished sending 1 packets.
.*
Received 2 packets, got 1 answers, remaining 0 packets
<ARP hwtype=0x1 ptype=IPv4 hwlen=6 plen=4 op=is-at hwsrc=d8:bb:c1:2e:51:b8 psrc=192.168.10.18 hwdst=00:0c:29:a1:81:ef pdst=192.168.10.252 |<Padding load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>
IP().display() 显示 IP 协定包参数
ICMP().display() 显示 ICMP 协定包参数
sr1() 设置参数并发送包,多个函数参数用 / 宰割,参数选项用, 宰割
>>> sr1(IP(dst='192.168.10.18')/ICMP(), timeout=1)
Begin emission:
Finished sending 1 packets.
.....*
Received 6 packets, got 1 answers, remaining 0 packets
<IP version=4 ihl=5 tos=0x0 len=28 id=33647 flags= frag=0 ttl=64 proto=icmp chksum=0x6113 src=192.168.10.18 dst=192.168.10.252 |<ICMP type=echo-reply code=0 chksum=0xffff id=0x0 seq=0x0 |<Padding load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>>
>>>
scapy 定制 TCP 协定 SYN 申请包
tcp 三次握手过程中 flags 的标记
<img src=”https://s2.loli.net/2023/01/09/6OpQ8ELS2Zz5U7s.png” alt=”image-20230109141337892″ style=”zoom:50%;” />
<img src=”https://s2.loli.net/2023/01/09/8BHg9azowE46rvS.png” alt=”image-20230109143536853″ style=”zoom: 80%;” />
TCP().display() 显示 TCP 协定包参数
>>> TCP().display()
###[TCP]###
sport= ftp_data
dport= http
seq= 0
ack= 0
dataofs= None
reserved= 0
flags= S
window= 8192
chksum= None
urgptr= 0
options= []
发送 TCP 协定包
flags=”S” 意思是 SYN 数据包 同步模式
dport=80 指标端口是 80
>>> sr1(IP(dst='192.168.10.18')/TCP(flags="S",dport=80),timeout=1)
Begin emission:
Finished sending 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
<IP version=4 ihl=5 tos=0x0 len=44 id=33650 flags=DF frag=0 ttl=64 proto=tcp chksum=0x20fb src=192.168.10.18 dst=192.168.10.252 |<TCP sport=http dport=ftp_data seq=3370734633 ack=1 dataofs=6 reserved=0 flags=SA window=65392 chksum=0xe4ce urgptr=0 options=[('MSS', 1460)] |<Padding load='\x00\x00' |>>>
从以上响应后果总失去一个 flags=SA 的数据包。SA 标记即 SYN+ACK。示意收到服务器 tcp 三次握手中的第二个包,能够收到响应包,示意端口凋谢。
注:这种基于 tcp 的半链接扫描,更隐密,更不容易被发现。
被动信息收集的原理
1. 信息收集分类
信息收集能够分为两类:被动和被动
被动信息收集:与指标主机进行间接交互, 从而拿到指标信息,毛病是会记录本人的操作信息。比方:nmap 端口扫描,scapy 高级扫描等。
被动信息收集:不与指标主机进行间接交互, 通过搜索引擎或者社会工程等形式间接的获取指标主机的信息。比方: google 搜寻,Shodan 搜寻,fofa 搜寻, 钟馗之眼等。
2. 信息收集内容
社工层面:公司地址、邮件地址、域名信息、联系电话、公司职务人员
技术层面:IP 地址、端口信息、操作系统类型、技术架构、服务版本信息、敏感信息