端口直接扫描方式(主动信息收集-端口扫描)
端口直接扫描方式(主动信息收集-端口扫描)nmap -p445 192.168.1.113 --script=ipidseq.nse #探测僵尸机器有如下显示证明可以当作僵尸机;>>> i=IP() >>> t=TCP() >>> rz=(i/t) #定义发送到僵尸机的函数 >>> rt=(i/t) #定义至目标机的函数 >>> rz[IP].dst="192.168.0.125" #这里填写僵尸机IP地址 >>> rz[TCP].dport=445 #这里填写僵尸机开放的端口 >>> rz[TCP].flags="SA" #向僵尸机发送的包 >>> rt[IP].src="192.168.0.125" >>>
端口扫描UDP端口扫描- 假设ICMP port-unreachable响应代表端口关闭
- 目标系统不响应ICMP port-unreachable时,可能产生误判
- 完整的UDP应用请求
- 准确性高
- 耗时巨大
- scapy UDP scan
- 端口关闭:ICMP port-unreachable
- 端口开放:没有回报
- 了解每一种基于UDP的应用层包接口更好
- 与三层相同的技术
- 误判
这个演示在《主动信息收集-四层发现》里面演示过,这里不做演示。看我之前的文章即可!
主动信息收集-四层发现
使用nmap演示:nmap -sU 180.215.224.194 #扫描UDP端口
- 默认的1000个常用端口
- ICMP host-unreachable
nmap -sU 180.215.224.194 -p22 #-p扫描单个端口
当然,也可以加全端口,但是扫描速度非常缓慢:
TCP端口扫描- 基于连接的协议
- 三次握手
- 隐蔽扫描
- 僵尸扫描
- 全连接扫描
- 所有的TCP扫描方式,都是基于三次握手的变化,来判断目标端口状态;
- 不建立完整扫描
- 应用日志不记录扫描行为-----隐蔽
- 极度隐蔽
- 实施条件苛刻
- 可伪造源地址
- 选择僵尸机
- 0(早期的操作系统)
- 随机 (windows和Linux)
- 闲置系统
- 系统使用递增的IPID(就是通过这个来判断主机是否存活)
scapy:
a=sr1(IP(dst="180.215.224.194")/TCP(flags="S") timeout=4 verbose=0)
#含义不解释了,不明白的看我之前的文章
下方是回包,回了S A包;
当然nmap也可以,上面已经演示过,这里不做再次演示;nmap -sS 180.215.224.194 --open #扫描TCP端口
#注意:也可以加-p后面跟端口或连续端口;也可以加-iL跟IP文
hping3 180.215.224.194 --scan 1-100 -S #--scan就是扫描端口,后面跟端口范围 -S是根据SYN扫描
hping3 -c 50 -S --spoof 114.114.114.114 -p 1 185.30.35.7
#-spoof后面是跟伪装的地址 1意思是以此加1
- Syn扫描不需要raw packets
- 内核认为syn/ack是非法包,直接发送rst中断连接
- 全连接扫描对scapy比较困难
通过iptables:
iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 185.30.35.7 -j DROP
#添加一条防火墙规则
之后通过脚本去实现建立TCP全连接,脚本去百度搜索:
nmapnmap -sT 180.215.224.194 -p1-100 #-sT代表全连接扫描 全连接速度较慢。默认是1000个常用端口
dmitry -p 180.215.224.194
nc -nv -w 1 -z 192.168.1.134 1-100
系统的IPID必须是递增的:
scapy:>>> i=IP()
>>> t=TCP()
>>> rz=(i/t) #定义发送到僵尸机的函数
>>> rt=(i/t) #定义至目标机的函数
>>> rz[IP].dst="192.168.0.125" #这里填写僵尸机IP地址
>>> rz[TCP].dport=445 #这里填写僵尸机开放的端口
>>> rz[TCP].flags="SA" #向僵尸机发送的包
>>> rt[IP].src="192.168.0.125"
>>> rt[IP].dst="180.215.224.194"
>>> rt[TCP].dport=22
>>> rt[TCP].flags="S"
>>> az1=sr1(rz)
>>> at2=sr1(rt timeout=1)
>>> az2=sr1(rz)
如果端口是通的,那么查看返回包的IPID是递增的,如果端口是关闭的,则IPID只增加1;
nmap:nmap -p445 192.168.1.113 --script=ipidseq.nse
#探测僵尸机器
有如下显示证明可以当作僵尸机;
nmap 目标机器 -sI 僵尸机IP -Pn -p 0-100