【安全牛学习笔记】端口扫描
来源:互联网 发布:生物杰青评选条件 知乎 编辑:程序博客网 时间:2024/05/18 15:07
端口扫描
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 ‐‐opennmap ‐sA 1.1.1.1 ‐p 1‐65535 ‐‐opennmap ‐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比第一个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 openfor x in $(seq 1 254); do nc ‐nv ‐w 1 ‐z 1.1.1.$x 80; done
- 【安全牛学习笔记】端口扫描
- 【安全牛学习笔记】 端口扫描
- 【安全牛学习笔记】UDP端口扫描
- 【安全牛学习笔记】端口扫描(二)
- 【安全牛学习笔记】基本工具-NETCAT(传输文件/目录、流媒体服务、端口扫描、远程克隆硬盘)
- Connect() 方式端口扫描 --python学习笔记
- 服务器安全 -- 端口扫描工具
- 【安全牛学习笔记】WPA安全系统
- metasploit学习笔记之主机探测和端口扫描
- 【安全牛学习笔记】python学习笔记
- 【安全牛学习笔记】搜索引擎
- 【安全牛学习笔记】TOR
- 【安全牛学习笔记】SHODAN
- 【安全牛学习笔记】NEXPOSE
- 【安全牛学习笔记】POP3
- 【安全牛学习笔记】FUZZING
- 【安全牛学习笔记】抓包嗅探
- 【安全牛学习笔记】vega
- 暑期项目开发实训 Day17
- WPF使窗体弹出时在屏幕居中位置
- 1064. 朋友数(20)
- 文章标题
- eclipse 执行 maven 参数的位置
- 【安全牛学习笔记】端口扫描
- huffman 优先队列
- java基础——this和super
- MySQL学习路线
- Android GPS定位简单实例
- 使用连接池获取数据库连接
- Markdown 语法说明
- 01 CSS-选择器
- googlehack的一些小结