频道栏目
首页 > 网络 > 其他 > 正文

端口扫描技术

2017-07-15 10:20:48      个评论    来源:安全牛课堂 的BLOG   
收藏   我要投稿

端口扫描

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‐sU1.1.1.1

nmap‐sU1.1.1.153

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 ++1 IP地址欺骗

nmap‐sS1.1.1.1‐p1‐65535‐‐open

nmap‐sA1.1.1.1‐p1‐65535‐‐open

nmap‐sF1.1.1.1‐p1‐65535‐‐open

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

hping3

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

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

条件:

目标主机可以伪造源地址

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

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

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

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

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

常用命令

Scapy

rz=(IP(dst=IPz)TCP(dport=445,flags="SA"),timeout=1,verbose=1)构造发给僵尸机的syn/ack包rt=(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实现全连接扫描较困难 解决办法:使用防火墙拦截所以到被扫描IP的rst包

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 open for x in $(seq 1 254); do nc ‐nv ‐w 1 ‐z 1.1.1.$x 80; done

上一篇:简单sql注入
下一篇:本地提权
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站