被动扫描主要是指的是在目标无法察觉的情况下进行信息搜集。在Google上进行人名的搜素就是一次被动扫描。最经典的被动扫描技术就是"Google Hacking"技术。由于Google退出中国,暂时无法使用。在此介绍三个优秀的信息搜集工具。
- Maltego
- snOint
- ZoomEye
被动扫描范围
渗透测试可以根据掌握的信息量的不同可以分为白盒测试,黑盒测试,灰盒测试。在此我们讨论的是黑盒测试,在这种情况下,所有信息全部来自渗透测试人员自身的工作。首先我们先了解一下可能遇到的企业网络结构。
- 企业网络有自己独立的服务器环境,并根据不同的用途将网络划分为不同区域。比较常见的就是将企业网络划分成内部区域(员工使用设备所在区)和隔离区域(服务器所在区域),也有少数管理不严格的企业会将服务器直接放置在内部区域。
- 企业网络没有自己独立对外的服务器环境,整个企业网络都是内部区域。
在对第一种企业网络进行渗透测试时,首先要考虑的就是对外服务器的安全。考虑不同情况下的黑盒测试中,初始信息也有所不同,在极端情况下,渗透测试人员对企业网络中对外服务器掌握信息就一个域名。针对这个域名我们可以想发设发获取以下信息
- 所有者的信息,如姓名,地址,电话,电子邮件等。
- 指向网站的DNS信息,是否使用了内容分发网络(CDN),网站应用级入侵防御系统(WAF)等设备
- 子域名信息。
- 相关电子邮箱
- 目标网站用户的社交信息,也就是网站工作人员的微博,QQ,论坛发帖等。
- Registrant ID:注册人ID
- Registrant Name:注册人姓名
- Registrant Organization:注册人所属单位
- Registrant Address:注册人地址
- Registrant City:注册人所在城市
- Registrant Province/State:注册人所在省/州
- Registrant Postal Code:注册人所在区域邮编
- Registrant Country Code:注册人所在国家代码
- Registrant Phone Number:注册人电话号码
- Registrant Fax:注册人传真
- Registrant Email:注册人邮箱
Maltego的使用
Maltego是一款十分令人惊喜的信息搜集工具需要联网使用。这款工具可以通过域名注册,搜索引擎,社交网络,电子邮件等各渠道搜集信息。Kali Linux2中包含Maltego 4.2但这个工具需要用户注册才能用。
启动Maltego方法很简单,在Kali Linux2中选择Applications->01-Information Gathering->maltego就可以打开
第一次使用时会出现一个选择界面,一个有四个版本,其中前俩为商业版需付费,后俩为社区版免费。
使用sn0int进行是信息搜集
sn0int功能:
- 通过证书透明日志和被动DNS技术获取子域名
- 使用asn和geoip获取关于IP地址的信息
- 利用pgp密钥服务器和whois获取电子邮件信息
- 搜索违规登录
- 在互联网上查找某个人资料
- 使用例如被动arp之类的扫描技术来枚举本地网络设备·
- 搜集有关电话号码信息
- 利用Shodan实现安全监测绕过
- 从instagram配置文件中获取信息
sn0int的安装
Linux2020.1环境下的sn0int安装
apt install debian-keyring
接下来从密钥服务器下载密钥到可信任的密钥列表
pg -a --export --keyring /user/share/keyrings/debian-maintainers.gpg git@rxv.cc|apt-key add -
apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys git@rxv.cc
echo deb http://apt.vulns.sexy stable main>/etc/apt/sources.list.d/apt-vulns-sexy. list
更新源apt update
sn0int使用
- 启动sn0int
sn0int
- 安装模块
pkg quickstart
- 向sn0int中的范围(scope)执行添加操作
- 创建工作区
workspace demo
- 向范围添加实体
add domain
- 查看当前范围所有域名
select domains
- 过滤
select domains where id=1
select domains where value like %.com
select domains where(value like e% and value like %m)or false
- 创建工作区
- 模块的运行
- 使用证书透明日志模块(ctlogs)
use ctlogs
- 模块运行
run
- 使用证书透明日志模块(ctlogs)
- 对扫描结果运行其他模块
- 查询ctlogs中扫描出来域名对应DNS记录
- use dns-resolve
- run
- use url-scan
- target //显示目标
- target where resolvable
- target //此时target就是筛选过后的
- 查询ctlogs中扫描出来域名对应DNS记录
- 从范围(scope)中删除实体(entity)
- 使用delete
- 使用noscope
noscope domains where value=goole.com
ZoomEye
目的:搜索网络上指定类型设备
使用方法
- 可以直接输入域名,设备名称等。
-关键字查找- hostname:搜索指定的主机或域名
- port:搜索指定端口或服务 port:21
- country:搜索指定国家 country:China
- City:搜索指定城市 City:Beijing
- os:搜索指定操作系统 os:Windows
- app:搜索指定的应用或产品 app:ProFTD
- device:搜索指定设备类型 device:router
- ip:搜索指定ip ip:192.168.1.1
- cidr:搜索指定cidr格式地址 cidr:192.168.1.1/24
- service:搜索指定服务类型 service:http