【安全牛学习笔记】端口扫描

端口扫描

1.端口简述每个端口对应网络服务及应用端程序

   服务端的程序的漏洞需要通过端口进入

2.端口扫描的作用发现开放的端口

更具体的攻击面3.UDP扫描

原理:目标主机在线且端口不开放时收到UDP包时会回复ICMP port-unreachable,利用此可批量扫描目标主机端口,有响应的端口代表关闭,无响应的端口则代表开放
误判:目标系统全不响应
ICMP

常用命令

  scapy
  sr1(IP(dst="1.1.1.1")/UDP(dport=53),timeout=1,verbose=1)
  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
  nmap
  nmap ‐sU 1.1.1.1
  nmap ‐sU 1.1.1.1 53

4.TCP扫描

原理:基于三次握手的变化来判断目标端口状态(1).隐蔽扫描

不建立完整的TCP连接不会被应用层的日志记录但是会被链路层网络层日志记录原理:一般直接发送syn,syn/ack,fin包探测

常用命令

  scapy
  sr1(IP(dst="1.1.1.1")/TCP(dport=80,flags="S"),timeout=1,verbosr=1)
  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

hping3 1.1.1.1 ‐‐scan 80 ‐S
hping3 ‐c 10 ‐S ‐‐spoof 1.1.1.2 ‐p ++1IP
地址欺骗

nmap ‐sS 1.1.1.1 ‐p 1‐65535 ‐‐open
nmap ‐sA 1.1.1.1 ‐p 1‐65535 ‐‐open
nmap ‐sF 1.1.1.1 ‐p 1‐65535 ‐‐open
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
hping3

发送syn包发送syn/ack包发送fin

(2).僵尸扫描条件苛刻,极度隐蔽

   条件:
     目标主机可以伪造源地址

一台闲置的僵尸机(IPID递增,网络空闲)原理:

1. 向僵尸机一个开放的端口发送syn/ack包,僵尸机回复rst,得到第一个IPID2. IP地址伪造成僵尸机的IP向目标机被扫描端口发送syn包请求连接。

若目标机端口开放,则目标主机会向僵尸机回复syn/ack包,僵尸机则回复rst,IPID增加1若目标机端口不开放,则目标主机会向僵尸机回复rst包,僵尸机无回复,IPID不变

3. 再向僵尸机发送syn/ack包,僵尸机回复rst,得到第二个IPID。若第二个IPID比第一个IPID2,则证明目标主机端口开放

若第二个IPID比第一个IPID1,则证明目标主机端口关闭

常用命令

Scapy
rz=(IP(dst=IPz)TCP(dport=445,flags="SA"),timeout=1,verbose=1)
构造发给僵尸机的syn/ackrt=(IP(dst=ipt,src=IPz)TCP(dport=22,flags="S"),timeout=1,verbose=1)构造发给目标机的syn
az1=sr1(rz) 向僵尸机发第一个包
at=sr1(rt) 向目标主机发送探测包
az2=sr1(rz) 向僵尸机发第二个包
az1.display() / az2.display()‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
nmap ‐p445 192.168.0.1 ‐‐script=ipidseq.nse
发现僵尸机
nmap 192.168.0.2 ‐sI 192.168.0.1 ‐Pn ‐p 0‐100
扫描目标

(3).全连接扫描准确性高,但是会在目标系统留下痕迹

常用命令

scapy
scapy
直接在网络中插入流量发送syn
对于内核来说,会直接收到
syn/ack包内核认为syn/ack是非法包,会直接发送rst断开连接因此使用scapy实现全连接扫描较困难解决办法:使用防火墙拦截所以到被扫描IPrst
iptables ‐A OUTPUT ‐p tcp ‐‐tcp‐flags RST RST ‐d 192.168.0.1 ‐j DROP数据包构造:
sr1(IP(dst="192.168.0.1")/TCP(dport=22,flags='S'))sr2(IP(dst="192.168.0.1")/TCP(dport=22,flags='A'))‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
nmap ‐sT 1.1.1.1 ‐p 80,21,25
nmap ‐sT 1.1.1.1 ‐p 80‐2000
nmap ‐sT ‐iL iplist.txt ‐p 80‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

dmitry ‐p 192.168.0.1 ‐o output功能简单,使用简便,默认150个端口

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
nc ‐nv ‐w 1 ‐z 192.168.0.1 1‐1000
‐z
用于扫描
for x in $(seq 1 100); do nc ‐nv ‐w 1 ‐z 1.1.1.1 $x; done | grep openfor x in $(seq 1 254); do nc ‐nv ‐w 1 ‐z 1.1.1.$x 80; done 

你可能感兴趣的:(安全,信息安全,漏洞扫描)