网络扫描知识

网络扫描

二层arp

只能在同一局域网内扫描

arping 1.1.1.1 -c 次数 -d 设置指定mac
nmap 192.168.0.1 -sn      同一网络里使用arp协议解析
netdiscover -i eth0 -r 192.168.1.0/24      主动扫描网段
netdiscover -p      被动监听

三层发现

traceroute 显示路径
hping 可用于自定义ip icmp包

四层发现

优点

  • 可路由且结果可靠
  • 不太可能被防火墙过滤
  • 甚至能发现所有端口都被过滤的主机

缺点

  • 基于状态过滤的防火墙能过滤扫描
  • 全端口扫描速度慢

tcp扫描时的几种情况:

  1. 收到未经请求的ACK时返回RST
  2. 未建立连接直接发syn包,返回syn/ack或rst

udp端口未开放时收到udp包返回“端口不可达”icmp包;若端口打开、包的内容错误,不返回包
nmap -sU udp扫描

tcp扫描

syn扫描

只完成三次握手的前两步,不进行第三步。这样目标不会留下tcp连接建立记录。
nmap -PS 1.1.1.1
hping3 192.168.1.1 --scan 0-65535 -S -S表示syn扫描

这种扫描可能被防火墙过滤,可以使用全连接方式

全连接扫描

# scapy
a=sr1( IP(dst="192.168.1.123") / TCP(flag="S"), timeout=1, verbose=0 )
a=sr1( IP(dst="192.168.1.123") / TCP(flag="S", dport=22), timeout=1 )

在工具发出一个syn后目标返回一个syn/ack,操作系统看来是自己没发出syn收到了了syn/ack,系统会发出rst包,有些情况需要将其屏蔽
可用防火墙拦截rst, iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 192.168.1.tatget -j DROP

resp = sr1( IP(dst="192.168.1.116" / TCP(dport=80, flag="S" )
reply = sr1( IP(dst="192.168.1.116") / TCP(dprot=80, flag="A", ack=(resp[TCP],seq + 1))  )

僵尸扫描

极其隐蔽,但条件苛刻:

  1. 要能伪造ip地址(现在的边界防火墙都加入了防伪造ip功能);
  2. 必须有僵尸机:僵尸机的ipid递增(现在机器多为随机生成),闲置不会收到其他包。

流程:

  1. scanner --syn/ack--> zombie : 得到zombie的ipid为x
  2. scanner(ip.src=zombie) --syn--> target
  3. target --rst--> zombie 或 target --syn/ack--> zombie
  4. zombie无反应ipid不变 或 zombie --rst--> target : zombie的ipid加1
  5. scanner --syn/ack--> zombie
  6. zombie --rst--> scanner ipid=x+1 或ipid=x+2
  7. 期间zombie不能有其他网络活动,且ipid递增
import scapy
rz = ( IP(dst=ipz) / TCP(dport=445, flag="SA") )    # 发给zombie的
rt = ( IP(src=ipz, dst=ipt) / TCP(dport=22, flag="S") )   # 发给target的
az = sr1(rz)       # 发给zombie得到ipid
at = st1(rt)        # 发给target,使target给zombie发rst或syn/ack包
az2 = sr1(rz)     # 再发给zombie得到ipid
比较az与az2之间ipid的差值为1还是2

nmap -p445 1.1.1.1 --script=ipidseq.nse 用自带的脚本检测僵尸是否ipid序列增长
nmap 192.168.1.50 -sI 192.168.1.60 -Pn -p 1-100 sI 指定僵尸

banner识别

nc -nv 192.168.1.1 # 直接连接获得ip
dmitry -pb ip # 用于服务识别
amap -B 192.168.1.1
nmap -sT ip地址 -p 22 --script=banner # 使用用于banner识别的lua脚本
nmap -sV ip地址 -p 22 # 服务识别

操作系统识别

windows域linux ttl初始值不同,默认开放端口不同
ttl初始值:
windows 128(65 - 128)
linux 64(1 - 64)

namp ip地址 -O # 操作系统识别
xprobe2 ip地址

p0f 在网络内arp欺骗抓包,再被动识别系统

snmp 扫描

smb服务

windows默认开放,用于共享

  1. nmap 192.168.56.1-20 -v -p 139,445 # 根据开放端口确定服务与系统,不可靠

  2. nmap 192.168.56.3 -p 139,445 --script=smb-os-discovery.nse

  3. nmap 192.168.56.101 -v -p 139,445 --script=smb-check-vulns --script-args=unsaft=1

  4. nbtscan -r 192.168.56.23/24

  5. enum4linux -a 192.168.56.10

nmap smtp.163.com -p25 --script=smtp-enum-user.nse
[ --script-args=smtp-enum-user.methods={VRFY}]

防火墙

根据返回包判断防火墙状态

其他

ldb 用于检测负载均衡的工具
wafwoof 检测waf

posted @ 2020-12-11 14:33  某某人8265  阅读(440)  评论(0编辑  收藏  举报