二、主动信息收集
2.1 基于OSI模型进行扫描的优缺点
- 二层扫描的优缺点
- 扫描速度快、可靠
- 不可路由
- 三层扫描的优缺点
- 可路由、速度较快
- 速度比二层慢,经常被边界防火墙过滤
- 四层扫描的优缺点
- 可路由且结果可靠
- 不太可能被防火墙过滤
- 可以发现所有端口都被过滤的主机
- 基于状态过滤的防火墙可能过滤扫描
- 全端口扫描速度慢
2.2 基于ping命令的探测
ping 命令是我们常用的判断主机之间网络是否畅通,同样也是能判断我们的目标主机是否存活。
traceroute 命令可以对路由进行跟踪
fping 就是 ping命令 的加强版他可以对 一个IP段 进行ping扫描,而**ping命令 **本身是 不可以 对网段进行扫描的。
fping -a -g 192.168.0.0/24 >fping.txt
#ping一个网段,查看在线设备
#-a #显示在线设备
#-g #指定一个网段
#>fping.txt #输出结果定向的到fping。txt
arping
主动发送arp包去询问,速度快,但 可能被发现
arping 192.168.0.1 -c 4 #发送4个arp包
netdiscover
netdiscover -i eth0 -r 192.168.71.0/24 #指定网卡和网段,网段内所有ip依次发送arp包
netdiscover -p #-p被动模式,不发送任何内容,只做嗅探
hping3
hping3是一个命令行下使用的TCP/IP数据包组装/分析工具,通常web服务会用来做压力测试使 用,也可以进行DOS攻击的实验。同样Hping只能每次扫描一个目标。
hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source 域名
#-c 1000
#指定发送数据包数量
#-d 120
#指定发送到目标主机的数据包大小(以字节为单位)
#-S
#表示只发送SYN数据包(三次握手中的SYN包)
#-w 64
#指定tcp窗口大小
#-p 80
#目的端口80
#--flood
#表示洪水攻击模式,尽快发送数据包
#--rand-source
#使用随机的源ip地址,注:此处伪造的IP地址,仅用于局域网中伪造。
2.3 基于Nmap的扫描方式
Nmap基本参数
nmap 192.168.0.103 #扫描在线端口
namp -sS -sV -T4 192.168.0.103 #使用tcp syn扫描,版本探测,快速扫描
nmap -A -T4 192.168.0.103 #全面快速扫描
nmap --top-ports 100 192.168.0.103 #扫描最常开放的100个端口
nmap --script=vuln 192.168.0.103 #采用vuln脚本扫描发现漏洞
nmap -p 1-200 192.168.0.103 #指定扫描端口
nmap -O 192.168.0.103 #显示操作系统信息
nmap -sP 192.168.0.0/24 #仅使用ping命令发现扫描网段
nmap -Pn 192.168.0.103 #非ping扫描
nmap --traceroute 192.168.0.103 #增加路由跟踪
nmap --randomize-hosts --scan-delay 5 192.168.0.103.100-106
#延迟5s随机扫描100-106端口,达到隐藏效果
使用nc扫描端口
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简 单、可靠的网络工具
nc -nv -w 1 -z 192.168.0.1 1-100
-nv 表示扫描的目标是ip地址不做域名解析
-w 表示超时时间
-z 表示进行端口扫描
2.4 使用scapy定制数据包
Scapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制 作侦测、扫描和攻击网络的工具。
scapy定制arp协议
ARP().display() #查看ARP函数用法
hwtype= 0x1 #硬件类型
ptype= IPv4 #协议类型
hwlen= None #硬件地址长度(MAC)
plen= None #协议地址长度(IP)
op= who-has #who-hans查询
hwsrc= 00:0c:29:85:05:1b #源MAC地址
psrc= 192.168.2.112 #源IP地址
hwdst= 00:00:00:00:00:00
pdst= 0.0.0.0 #目标IP
sr1(ARP(pdst="192.168.2.1"))
scapy定制ping包
ICMP().display()
IP().display()
sr1(IP(dst="192.168.2.1")/ICMP(),timeout=1)
注:IP()生成ping包的源IP和目标IP,ICMP()生ping包的类型。使用IP())和ICMP()两个函数,可以生成ping包,进行探测。
scapy定制TCP协议syn请求
TCP().display() #查看tcp函数用法
sport= ftp_data #*tcp源端口
dport= http #*tcp目的端口
seq= 0 #32位序号
ack= 0 #32位确认序号
dataofs= None #4位首部长度
reserved= 0 #保留6位
flags= S #*标志域,紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN
window= 8192 #窗口大小
chksum= None #16位效验和
urgptr= 0 #优先指针
options= [] #选项
sr1(IP(dst="192.168.2.1")/TCP(flags="S",dport=80),timeout=1)
2.5 僵尸扫描
僵尸主机:僵尸主机是指感染僵尸程序病毒,从而被黑客程序控制的计算机设备。但是僵尸扫描中的 僵尸主机指得是一个闲置的操作系统(这里的闲置是指主机不会主动和任何人通信),且此系统中IP数据 包中ID是递增的。
IPID: 指的是通信过中,IP数据包中的ID。
僵尸扫描拥有极高的隐蔽特性,但是实施条件苛刻。
1、目标网络可伪造源地址进行访问
2、选择僵尸机,僵尸机需要在互联网上是一个闲置的操作系统,需要系统使用递增的PID
僵尸扫描原理
第一步 - 获取僵尸主机 IPID
攻击者向僵尸主机发送SYN/ACK确认包
僵尸主机返回我们RST数据包关闭连接,RST数据包中包含了IPID信息,假设IPID=x
第二步 - 让僵尸主机IPID+1
- 攻击者修改IP包头的SRC字段为僵尸主机的IP,伪装成僵尸主机给目标发SYN请求
- 目标主机收到请求,如果端口开放,就会返回僵尸主机一个SYN/ACK数据包
- 僵尸主机收到目标主机SYN/ACK确认表,因为没有SYN请求,所以僵尸主机给目标主机返回一个RST数据包,这个包表示关闭连接,此僵尸主机对外发出一个数据包,所以IPID值+1 ,为x+1
第三步 - 再次获取僵尸主机IPID值
- 攻击者再次向僵尸主机发送SYN/ACK确认包
- 僵尸主机同样向攻击者返回一个RST,此僵尸主机对外又发出一个数据包,所以IPID值再+1,为x+2
如果是x+2,则端口开放,x+1,则端口关闭
scapy #进入scapy
#给僵尸主机发送SYN/ACK数据包,rz1表示变量接收返回数据
rz1=sr1(IP(dst="192.168.1.2")/TCP(dport=445,flags="SA"))
#查看返回包数据
rz1.display()
#攻击者修改IP包头的SRC字段为僵尸主机IP,伪装成僵尸主机给目标主机发送SYN请求
rt=sr1(IP(src="192.168.1.2",dst="192.168.1.3")/TCP(dport=22),timeout=1)
rt.display()
#攻击者再次向僵尸主机发送SYN/ACK数据包,获取IPID
rz2=sr1(IP(dst="192.168.1.2")/TCP(dport=445,flags="SA"))
rz2.display()
#对比rz1和rz2的id
2.6 web网站目录扫描
常见敏感文件
- 网站的备份文件/数据库备份文件 wwwroot.zip
- 后台登录的目录 manage login
- 安装包(源码)
- 上传的目录 uploads
- mysqlE的管理界面 phpmyadmin
- 程序的安装路径 install
- ......
常用工具
- Burp Suite
- dirb
- 御剑
- dirbuster
- ......
2.7 CMS系统指纹识别
常见CMS
- 企业建站系统:MetInfo(米拓)、蝉知、SiteServer CMS等
- B2C商城系统:商派Shopex、ECshop、.HiShop、XpShop等;
- 门户建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、CmsTop等
- 博客系统:VordPress、Z-Blog等;
- 论坛社区:Discuz、.PHPwind、VeCenter等
- 问答系统:Tipask、whatsns等,
- 知识百科系统:HDwiki;
- B2B门户系统:Destoon、B2 Bbuilder、.友邻B2B等
- 人才招聘网站系统:骑士CMS、PHP云人才管理系统;
- 房产网站系统:FangCms等;
- 在线教育建站系统:Kesion、EduSoho;
- 电影网站系统:苹果CMS、ctcms、.movcms等;
- 小说文学建站系统:杰奇CMS,
常用工具
- whatweb (whatweb-v www.jxgzy.cn)
- cmseek(cmseek -u www.jxgzy.cn)
- 御剑指纹扫描器
- WhatRuns、Wappalyzer(浏览器插件)
- http://whatweb.bugscaner.com/(在线指纹识别)
指纹识别内容
- CMS信息:比如Discuz、织梦dedecms、帝国CMS、PHPCMS、ECshop等;
- 前端技术:比如HTML5、jquery、.bootstrap、Vue、ace等;
- 开发语言:比如PHP、Java、Ruby、Python、C#等;
- Web服务器:比如Apache、Nginx,、IIS、lighttpd等;
- 应用服务器:比如Tomcat、.Jboss、Neblogic、.Websphere等
- 操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
- CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等;
- WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等
2.8 综合工具
- ARL灯塔
- yakit
- goby
- ......