信息收集也叫资产收集.信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息,子域名信息,目标网站信息,目标网站真实IP,敏感目录文件,开放端口和中间件信息等等,通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们跟多的去找渗透点,突破口
信息收集概览
问什么要做信息收集
渗透测试的流程
- 确定目标
- 信息收集
- 漏洞扫描
- 漏洞利用
- 形成报告
信息收集包括的内容
域名信息,IP段,开放的端口,网站架构,文件目录结构,软件版本,WAF,旁站,C段…..
分类
- 域名相关信息
- IP相关信息
- 端口服务相关信息
- 指纹识别
- Google Haking
- 目录信息
- Git Hack
学习框架
- 这种信息是什么
- 怎么收集这种信息
- 收集这种信息有什么用
域名信息
域名的分类
whois查询
.com 由域名运营商VeriSign管理
.cn域名由CNNIC管理
whois工具
https://whois.cnnic.cn/WelcomeServlet
kali可以直接使用whois+域名
域名反查
ICP 备案
备案信息
作用
所有服务器或者主机放在大陆的网站,域名必须要在工信部的系统里面备案,否则不能通过域名访问
工具
企业信息查询
- 天眼查
- 企查查
- 国家企业信用信息公示系统–> http://www.gsxt.gov.cn/index.html
子域名信息
子域名的作用
百度搜索www.baidu.com
百度新闻,百度地图,百度贴吧,百度文库
怎么查询子域名
- 字典猜解
- 枚举
工具
域名解析信息
IP 信息收集
- DNS服务器的类型
- ping/nslookup
- IP归属信息
- 如何获取CDN背后的真实IP
DNS服务器的类型
ping/nslookup
P
acketIn
ternetG
roper–> 因特网包探索器nslookup -type=”MX” baidu.com
IP 归属
如何获取CDN背后的真实IP
Content Delivery Network
内容分发网络
实现流程(以阿里云为例)
- 当终端用户向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求
- LDNS检查缓存中是否有www.a.com的IP地址记录,如果有,则直接返回给终端用户;如果没有,则向授权DNS查询
- 当授权DNS解析www.a.com时,返回应CNAME的www.a.tbcnd.com对应IP地址
- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址
- LDNS获取DNS返回的解析IP地址
- 用户获取解析IP地址
- 用户向获取的IP地址发起对该资源的访问请求
国外访问
端口服务信息
- 端口扫描思路和代码实现
- 常见端口及漏洞
- 端口扫描工具
端口扫描思路和代码实现
- 查看本机端口信息
- Windows:
netstat -aon|findstr 3306
- Linux:
netstat -an|grep 3306
- Windows:
- 远程机器端口
- telnet 192.168.142.137.80
- wget 192.168.142.137 80
- nc -vz 192.168.142.137
- python 代码扫描
- wscan.py
- nmap 扫描
- 查看本机端口信息
常见端口及漏洞
文件共享服务端口
端口号 端口说明 攻击方向 21/22/69 FTP/SFTP文件传输协议 允许匿名上传,下载,爆破和嗅探操作 2049 NFS服务(Network File System) 配置不当 139 Samba服务 爆破,未授权访问,远程代码和执行 389 LDAP目录访问协议 注入,允许匿名访问,弱口令
远程连接服务端口
端口号 端口说明 攻击方向 22 ssh远程连接 爆破,ssh隧道及内网代理转发,文件传输 23 Telnet远程连接 爆破,嗅探,弱口令 3389 RDP远程桌面连接 Shift后门(Win都是) 5900 VNC 弱口令爆破 5632 PcAnywhere远程控制服务 抓密码,代码执行
web应用服务端口
端口号 端口说明 攻击方向 80/443/8080 常见的web服务端口 Web攻击,爆破,对应服务器版本漏洞 7001/7002 Weblogic控制台 Java反序列化,弱口令 8080/8089 Jboss/resin/jetty/Jenkins 反序列化,弱口令 9090 Websphere控制台 Java反序列化,弱口令 4848 Glassfish控制台 Java反序列化,弱口令 1352 Lotus domino邮件服务 弱口令,信息泄漏,爆破 10000 Webmin-web控制面板 弱口令
数据库服务端口
端口号 端口说明 攻击方向 3306 MySQL 注入,提权,爆破 1433 MSSQL数据库 注入,提权,SA弱口令 1521 Oracle数据库 TNS爆破,注入,反弹shell 5432 PostgreSQL数据库 爆破,注入,弱口令 27017/27018 MongoDB 爆破,未授权访问 6379 Redis数据库 可尝试未授权访问,弱口令爆破 5000 Sysbase/DB2数据库 爆破,注入
邮件服务端口
端口号 端口说明 攻击方向 25 SMTP邮件服务 邮件伪造 110 POP3协议 爆破,嗅探 143 IMAP协议 爆破
网络常见协议端口
端口号 端口说明 攻击方向 53 DNS域名系统 允许区域传送,DNS劫持,缓存偷渡,欺骗 67/68 DHCP服务 劫持,欺骗 161 SNMP协议 爆破,搜集目标内网信息
特殊服务端口
端口号 端口说明 攻击方向 2181 Zookeeper服务 未授权访问 8069 Zabbix服务 远程执行,SQL注入 9200/9300 ElasticSearch服务 远程执行 11211 Memcached服务 未授权访问 512/513/514 Linux Rexec服务 爆破,rlogin登录 873 Rsync服务 匿名访问,文件上传 3690 SVN服务 SVN泄漏,未授权访问 50000 SAP Management Console 远程执行
端口扫描工具
CMS指纹识别
- 什么是指纹识别?
- 指纹识别的思路
- 指纹识别的工具
什么是指纹识别
通过关键特征,识别出目标的CMS系统、服务
器、开发语言、操作系统、CDN、WAF的类别
版本等等
CMS识别思路
CMS识别工具
- kali自带工具
- whatweb
- 浏览器插件
- Wappalyzer:https://www.wappalyzer.com
- whatruns :https://www.whatruns.com/
- 在线网站
- 离线网站
- 御剑指纹扫描器(需要.NET Framework)
- Test404轻量CMS指纹识别 v2.1
- 其他开源程序
WAF指纹识别
- 什么是WAF
- 常见WAF厂商
- WAF指纹识别思路
- WAF指纹识别工具
1. 什么是WAF
2. 常见WAF厂商
3. WAF指纹识别思路
4. WAF指纹识别工具
Kali自带:
nmap www.12306.cn –script=http-waf-detect.nse
sqlmap -u “xxx.com?id=1” –identify-waf
其他:
搜索引擎收集信息
- 什么是Google Hacking
- 运算符
- 高级搜索
过滤器 | 描述 | 例 |
---|---|---|
allintext | 搜索所有指定关键字的匹配项 | allintext:”keyword” |
intext | 搜索关键字一次或连续出现的项 | intext:”keyword” |
intitle | 搜索与其中一个关键字匹配的 URL | intitle:”keyword” |
allintitle | 一次搜索所有出现的关键字 | allintitle:”keyword” |
inurl | 搜索与其中一个关键字匹配的 URL | inurl:”keyword” |
allinurl | 搜索与查询中的所有关键字匹配的 URL | allinurl:”keyword” |
site | 专门搜索该特定网站并列出该网站的所有结果 | site:”www.github.com" |
filetype | 搜索查询中指定的特定文件类型 | “keyword” filetype:”pdf” |
link | 搜索指向页面的外部链接 | link:”keywork” |
numrange | 用于在搜索中查找特定号码 | numrange:33-43 |
before/after | 用于在指定日期范围内进行搜索 | filetype:pdf & (befor:2021-01-01 after:2021-05-01) |
allinanchor(以及inanchor) | 这将按大多数链接的顺序显示关键字在链接中引用的网站 | inanchor:rat |
allinpostauthor(以及inpostauthor) | 专门用于博客搜索,由特定人员撰写的博客文章被挑选出来 | allinpostauthor:”keyword” |
related | 列出与给定网页“相似”的网页 | related:www.github.com |
cache | 列出与给定网页“相似”的网页 | cache:www.github.com |
index of | 返回根目录下包含相应文件名的网页 | intitle:”index of” “setup.sh” |
语法数据库
网络空间搜索引擎
什么是网络空间(Cyber Space)
搜索引擎
- 1996: 数字图书馆
- 1998: 谷歌诞生–> 网页
发展
图片,音乐,视频
进一步
- 网络系统
- CDN
- CMS
- IDS–>intrusion detection system
- 办公软件
- 数据库服务
- 杀毒软件
- 文件服务NFS
- 网路设备
- 手机
- 平板电脑
- 路由器
- 网络摄像头
- 私人网盘
- 打印机
- ATM
- 物联网家电
- 机器人
- 工业系统
- 交通信号灯
- 企业大屏幕
- 公园控制系统
- 加油站
- 电网
- 自来水厂
- 核电站
- 网络系统
网络空间搜索引擎
OSINT: Open Score Intelligence–>开源网络情报
怎么扫描
- 网络扫描工具 nmap zmap
- 方式: IP库 枚举
怎么识别一个设备
- 爬虫–> url
- IP–> 域名
- 开放端口
- 操作系统
- 物理地址–> 深圳,北京
- MAC地址
- 设备的类型
实施威胁地图
https://www.fireeye.com/cyber-map/threat-map.html
地图 | 卡巴斯基网络威胁实时地图 (kaspersky.com)
<!-- 在想要使用窗口小部件的地方插入该标签 -->卡巴斯基网络地图窗口小部件 <iframe width="303" height="301" src="https://cybermap.kaspersky.com/cn/widget/dynamic/light" frameborder="0">
Shodan
基本介绍
- 地图,截图,监控
- 新手指引
- 视频教程
- 开发者工具
- Filter过滤器
- e.g.
- 基本使用
- tomcat country:”CN”
- apache city:”Changsha”
- server:gws hostname:”google”
- Explore
CLI命令行工具(kali自带)
命令 描述 alert 管理账户的网络提示 convert 转换输入文件 count 返回查询结果数量 download 下载查询结果到文件 honeyscore 检查IP是否为蜜罐 host 显示一个IP所有可用的详细信息 info 显示账户的一般信息 init 初始化命令 myip 输出用户当前公网ip parse 解析提取压缩的JSON信息,即使用download下载的数据 scan 使用shodan扫描一个ip或者网段 search 查询shodan数据库 stats 提供搜索结果的概要信息 stream 实时显示流数据
用法示例
shodan host 172.67.167.88
shodan count apache
shodan count vuln:cve-2019-0708
shodan search –fields ip_str,port,org,hostnames microsoft iis 6.0
shodan stats port:445 SMB
shodan download –limit -1 test net:172.67.167.88/24
工具
https://github.com/jakejarvis/awesome-
shodan-queries (语法
https://github.com/random-robbie/My-
Shodan-Scripts (python脚本)
其他网络空间搜索引擎
- Censys https://search.censys.io
- ZoomEye https://www.zoomeye.org/
- Fofa https://fofa.info/
工具
https://github.com/knownsec/Kunyu
目录扫描收集信息
什么是目录扫描
- 部署的网站有一些敏感文件
- 配置文件 xxx.cfg
- 数据文件
- xxx.sql
- xxx.tar.gz
- 目录
- /backup
- /conf
- /admin
- 会泄漏哪些信息
- 数据库用户名和密码
- 服务器的用户名和密码
- 网站原码
- 数据库的文件
- ……
- 为什么会泄漏
- 配置不当的问题
- 本地文件包含
- local file inclusion(LFI)
- PHP
- header.php
- common.php
- footer.php
- function.php
- include(“路径/文件”)–> include(“../../../..”)
- require();
常见的敏感目录和文件
- 网站的备份文件/数据
- 在线压缩
- 路径
- 文件名
- wwwroot–>202110819.zip
- 在线压缩
- 后台登录的目录
- /admin
- /manage
- 安装包(原码)
- 非开源,商用
- 上传的目录
- 文件上传漏洞–> webshell
- /upload
- /upload.php
- mysql的管理界面
- MySQL
- web页面去管理
- phpadmin–>密码爆破–>webshell
- 程序的安装路径–>/install
- php的探针
- phpinfo
- 雅黑探针(中文)
- 文本编辑器
- Ueditor–>https://github.com/fex-team/ueditor
- kindeditor
- CKeditor
- 文件上传漏洞,命令注入
- linux
- /etc/passwd
- /etc/shadow–> SHA512
- /etc/sudoers–>sudo
- MacOS–> .DS_Store
- 编辑器的临时文件.swp
- 目录穿越
- Windows IIS
- Apache
- Pikachu靶场
- tomcat WEB-INF
- WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应 用组件配置及命名规则.
- WEB-INF/database.properties : 数据库配置文件
- WEB-INF/classes/ : 一般用来存放Java类文件(.class)
- WEB-INF/lib/ : 用来存放打包好的库(.jar)
- WEB-INF/src/ : 用来放源代码(.asp和.php等)
- 其他非常规文件
- secret.txt
- password.txt
文件扫描思路
- 做法–> 直接在域名后面拼接路径/文件名,如果返回200,就是存在
- 扫描方法
- 递归–>dir xxx–>dir xxx
- 字典–> dict
- 暴力破解
- 1位 a-z 0-9
- 2位 aa 00 a0 9z
- 爬虫
- robots.txt
- sitemap.xlml
- 网页中的其他链接
- fuzz(模糊测试)–>字典
- /word
- /index.php?word=
- 文件扫描的字典
文件扫描的字典
kali–>
wordlists
dirb–>/usr/share/wordlists/dirb/common.txt
工具
- dirb
- dirbuster
- 御剑
- Burp Suite
- Intruder–>paylod
- www.baidu.com/$xxx$
- DirBrute
- Dirsearch
- Dirmap
- wfuzz
注意事项
WAF.IDS 代理 网络空间搜索引擎
防御
- 权限
- 删除敏感文件
- WAF,IDS
Git信息收集
信息收集总结
存活主机识别
- arping:将ARP/ICMP请求发送到指定的主机
- fping: fping可以在命令行中指定要ping的主机数量范围
- hping3:
- TCP/IP数据包组装/分析工具
- 可以发起flood攻击
masscan
:最快的互联网端口扫描器- thcping6:
- atk6-thcping6
- 可以攻击IPV6和ICMP6固有的协议弱点
路由分析
netdiscover
- 基于ARP的网络扫描工具
- 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议
- netmask:
- netmask可以在IP范围,子网掩码,cidr,cisco等格式中互相转换
情报分析
maltego
: 信息收集和网络侦查工具- spiderfoot: 收集信息和探测资源
- theharvester:
- 从公开来源收集电子邮件账户和子域名的工具–> OSINT
- theHarvester -d microsoft.com -l 500 -b baidu
网络扫描
- masscan
nmap
- 主机发现
- 端口扫描
- 服务和版本探测
- 操作系统探测
- 防火墙/IDS躲避和哄骗
DNS分析
- dnsenum: 多线程perl脚本枚举域的DNS信息并发现非连续的IP段工具
- dnsrecon:
- DNS枚举和扫描
- dnsrecon -d www.coolshell.cn
- fierce:
- DNS 扫描程序
- fierce –domain www.coolshell.cn
IDS/IPS识别
- IDS(入侵检测系统): Intrusion Detection Systems
- IPS(入侵防御系统): Intrusion Prevention System
lbd
:- load balance detector
- CDN, 负载均衡识别
- lbd www.coolshell.cn
wafw00f
:- WAF识别
- wafw00f www.coolshell.cn
SMB分析
- SMB:Server Message Block–> 网络文件协议系统
- enum4linux:
- 可以收集Windows系统的大量信息,入用户名列表,主机列表,共享列表,密码侧罗信息,工作组和成员信息,主机信息,打印机信息等等
- enum4linux 192.168.142.1
- nbtscan:
- 扫描开放的NETBIOS名称服务器
- nbtscan -r 192.168.142.0/24
- smbmap:
- SMBMap允许用户枚举整个域中的samba共享驱动器,列出主驱动器,驱动器权限,共享内容,上载/下载功能,文件名自动下载模式匹配,甚至执行远程命令
- smbmap -u wuya -p 1234 -H 192.168.142.1
- SNMP分析
- 简单网络管理协议: 大部分的设备都支持SNMP协议
- onesixtyone:
- 通过SNMP服务,渗透测试人员可以获取大量的设备和系统信息
- onesixtyone 192.168.142.1
- snmp-check: sname-check 192.168.142.1 -p 161
SSL分析:
- ssldump:SSL/TLS网络协议分析工具
- sslh:
- 一款采用C语言编写的开源端口复用软件
- SSLH允许我们在Linux系统上的同一端口上运行多个程序/服务
- sslscan:
- 评估远程web服务的SSL/TLS的安全性
- sslscan www.coolshell.cn
dmitry:信息收集工具: 子域,电子邮件地址,正常运行时间信息,tcp端口扫描,whois
ike-scan:VPN服务嗅探工具
legion:
使用 NMAP,whatweb,nikto,Vulners,Hydra,SMBenum,dirbuster,sslyzer,webslayer等进行自动侦查和扫描
其他信息收集方式
旁站或C段:
通过APK收集信息
apktool反编译
正则表达式匹配
grep -ohr -E “https?://[a-zA-Z0-
9./_&=@$%?~#-]*” /Hello/com.wuya.
android/ |sort|uniq >> test.txt
社会工程学social engineering toolkit
Spear-Phishing Attack Vectors 鱼叉式网络钓鱼攻击 Website Attack Vectors 网页攻击 Infectious Media Generator 传染媒介式(俗称木马) Create a Payload and Listener 建立payload和listener,比如msf Mass Mailer Attack 邮件群发攻击(夹杂木马payload等) Arduino-Based Attack Vector Arduino基础攻击-类似于树莓派 Wireless Access Point Attack Vector 无线接入点攻击 QRCode Generator Attack Vector 二维码攻击 Powershell Attack Vectors powershell攻击 Third Party Modules 第三方模块 内网信息收集: Window或Linux命令
- kali伪装windows: kali-undercover