信息收集

1. 内容与流程

  1. 服务器的配置信息
  2. 网站的信息
    • 网站注册人
    • 目标网站系统
    • 目标服务器系统
    • 目标网站相关子域名
    • 目标网站的目录结构
    • 目标服务器的开放端口
  3. 只要与目标网站相关联的信息,都应该尽量去收集

信息收集2

2. Google Hacking

(1). 语法

a. site
  • 找到与指定网站有联系的url

  • site:baidu.com
    
b.inurl/allinurl
  • 返回url中含有关键词的网页,或指定多个关键词

  • inurl:login
    (inurl:login|index)
    
    allinurl:login admin
    inurl:login admin
    
c. intext/allintext
  • 寻找正文中含有关键字的网页,或指定正文中的多个关键字

  • intext:登录    
    intext:"登录"
    
    allintext:后台 登录 公司
    allintext:"后台" "登录" "公司"
    
d. intitle/allintitle
  • 寻找标题中含有的关键字的网页,或指定标题多个关键字

  • intitle:后台登录
    intitle:"后台登录"
    
    allintitle:中国 后台 登录
    allintitle:"中国" "后台" "登录"
    
e.filetype
  • 指定访问的文件类型

  • filetype:doc|pdf|xlsx
    

3. 域名信息收集

(1). 备案信息号

a. ICP备案信息收集
b.备案反查域名信息

(2). Whois信息收集

(3). IP反查域名

  • 目标可能存在多个域名绑定于同一IP上,通过IP反查可以获取到其他域名信息,比如旁站
  • 通过获取目标真实IP后,进行反查的旁站更真实
a. 工具

(4)Host碰撞

a. 现象
  • IP访问响应多为:nginx、4xx、500、503、各种意义不明的Route json提示
  • 域名解析到内网地址
  • 有服务器真实IP,但找不到内网域名
b. 原因
  • 中间件对IP访问做了限制,不能直接通过ip访问,必须使用域名进行访问。此时使用HOST碰撞技术,通过将域名和IP进行捆绑碰撞,一旦匹配到后端代理服务器上的域名绑定配置,就可以访问到对应的业务系统,从而发现隐形资产
c. 手法

HOST碰撞手法

4. 子域名信息收集

(1). 收集原因

  • 主域名防护严密,很难进入,选择进行迂回攻击

(2). 利用点

a. 资产类型
  • 办公系统、邮箱系统、管理系统、网站管理后台、论坛、商城等系统
b. 利用方式
  • 维护成本低于主域名,可能存在版本迭代、配置不安全、弱密码账号管理策略等

(3). 收集方法

a. 搜索引擎枚举
  • 使用谷歌语法 site:域名
b. 在线网站
c. 枚举子域名工具
①Layer子域名挖掘机
②SubDomainsBrute
③Oneforall
④Subfinder + ksubdomain + httpx
d. 证书透明度收集子域
①crt.sh
e. JS文件中收集子域
①JsFinder
参数含义
-u指定url
-d深度爬取
-j指定从js文件获取
②URLFinder
参数含义
-d指定获取的域名
-f批量url抓取,指定url文本路径
-m抓取模式
-s显示状态码,all为全部
-u指定URL
f. 第三方聚合应用
①dnsdumpster
②dnsdb
③灯塔ARL自动化收集
g. 域传送漏洞
  • DNS服务器分为:主服务器、备份服务器和缓存服务器,在主备服务器之间同步数据库,需要使用DNS域传送
  • 域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库
  • DNS服务器配置不当,导致匿名用户利用DNS域传送协议获取某个域的所有记录,通过可以实现DNS域传送协议的程序,尝试匿名进行DNS域传送,获取记录
  • Crossdomain.xml文件用于跨域策略文件,主要为Web客户端(Adobe Flash Player等)设置跨域处理数据的权限

5.服务器信息收集

(1). 端口扫描

  • 扫描工具:Nmap、Zenmap、masscan
a. 文件共享服务
端口号端口说明利用方向
21/22/69FTP/TFTP文件传输协议允许匿名上传、下载、爆破和嗅探
2049NFS服务配置不当
139Samba服务爆破、未授权访问、远程代码执行
389LDAP目录访问协议(类RDP)注入、允许匿名访问、弱口令
b. 远程连接服务
端口号端口说明利用方向
22SSH远程链接爆破、SSH隧道及内网代理转发、文件传输
23Telnet爆破、嗅探、弱口令
3389RDP远程桌面连接Shift后门(Windows Server 2003以下版本)、爆破
5900VNC弱口令爆破
5632PyAnywhere服务抓密码、代码执行
c. Web应用服务
端口号端口说明利用方向
80/443/8080常见Web服务端口Web共攻击、爆破、对应服务版本漏洞
7001/7002Weblogic控制台Java反序列化、弱口令
8080/8089Jboos/Resin/Jettyjenkins反序列化、控制台弱口令
90900WebSphereJava反序列化、弱口令
4848GlassFish控制台弱口令
1352Lotus dominion邮件服务弱口令、信息泄露、爆破
10000Webmin-Web控制面板弱口令
443 80 8081 8088 8888 8443 888 8080-8089
d. 数据库服务
端口号端口说明利用方向
3306MySQL注入、提权、爆破
1433MSSQL注入、提权、爆破、SAP弱口令
1521OracleTNS爆破、注入、反弹shell
5432PostgreSQL爆破、注入、弱口令
27017/27018MongoDB爆破、未授权访问
6379Redis未授权访问、弱口令爆破
5000SysBase/DB2爆破、注入
e. 邮件服务端口
端口号端口说明利用方向
25SMTP邮件服务邮件伪造
110POP3爆破、嗅探
143IMAP爆破
f. 网络常见协议端口
端口号端口说明利用方向
53DNS域名解析系统允许区域传送、DNS劫持、缓存投毒、欺骗
67/68DHCP服务劫持、欺骗
161SNMP协议爆破、搜集目标内网信息
e. 特殊服务
端口号端口说明利用方向
2128Zookeeper服务未授权访问
8068Zabbix服务远程执行、SQL注入
9200/9300Elasticsearch服务远程执行
11211Memcache服务未授权访问
512/513/514Linux Rexec服务未授权访问
873Rsync服务匿名访问、文件上传
3690SVN服务SVN泄露、未授权访问呢
50000SAP Management Console远程执行

(2). 操作系统判断

a. 开放端口
Win系统常见端口Linux系统常见端口
IIS-80ssh-22
rpc/135NETBIOS-137 138 139
smb-445
rdp-3389
mssql-1433
b. 大小写
  • Windows对大小写不敏感,而Linux对大小写敏感
c. TTL值
  • ping命令,返回TTL值Windows通常是128,大于100;Linux是64,小于100
d. 其他方式
  • 网站的脚本类型:asp、aspx、jsp、php
  • phpinfo的信息泄露
  • nmap参数-o
  • 等等

6. 网站信息收集

(1). CMS指纹识别

a. 作用
  • 通过识别指纹,可以确定目标的CMS及版本,进一步利用公开的POCEXP进行攻击
b. 工具
  1. kali中的whatweb
  2. 云悉:http://www.yunsee.cn/
  3. 潮汐:http://finger.tidesec.net/
  4. Wappalyzer插件
  5. Glass:https://github.com/s7ckTeam/Glass
  6. 棱洞:https://github.com/EdgeSecurityTeam/Ehole
c. 漏洞利用
  1. 常规搜索引擎,直接搜索识别到的CMS指纹漏洞
  2. 乌云漏洞库
  3. Cnvd搜索识别到的cms指纹
  4. Github搜索识别到的指纹
  5. 源代码审计
    1. 全文通读——漏洞挖掘最全
    2. 敏感函数回溯——方便快捷挖掘漏洞
    3. 代码、命令执行
      • php代码执行函数
      • php命令执行函数
    4. 定向功能分析法——定向挖掘某块功能的漏洞

(2). 判断Web中间件

a. 解析漏洞
  1. 了解网站的Web服务器是那种
  2. 了解具体的Web服务器版本
  3. 寻找对应的解析漏洞

(3). 判断脚本类型

  • 根据网站URL判断
  • 谷歌语法:site:xxx filetype:php
  • 根据firefox的插件来判断
  • 目录爆破/文件爆破
  • 漏洞扫描器(awvs、xray、appscan)

(4). 判断数据库类型

a. 类型
①Access
  • 全名是Microsoft Office Access,小型数据库,>100M时性能下降,后缀名:.mdb,一般是asp网页文件使用
②SQL Server
  • 关系型数据库管理系统(DBMS),后缀名:.mdf,默认端口1433
③MySQL
  • DBMS,属于Oracle旗下产品,默认端口3306
④Oracle
  • DBMS,适用于大型网站,默认端口1521
b. 判断方式
①端口
数据库端口
MSSQL1433
MySQL3306
Oracle1521
②脚本类型
脚本数据库
ASP、ASPXACCESS、SQL Server
PHPMySQL、PostgreSQL
JSPMySQL、Oracle
③漏洞扫描器

(5). 目录结构

①常见敏感文件
  • .SVN泄露
  • .git泄露
  • 网站备份压缩文件
  • 御剑7kbwebpathscanner
  • .DS_Store文件
  • WEB-INF文件
  • Web.config配置文件
  • 配置文件泄露
②常见工具
  • Burpsuite
  • 御剑
  • Dirbuster java
  • Dirb
  • dirsearch
  • 7kbscan
  • 搜索引擎

7. 真实IP信息收集

(1). CDN绕过

a. 常规方法
①国外访问或多地区访问
②历史DNS记录查找
③子域名查找
  • 如果分站没挂载CDN,但和主站在同一C段下,则可以通过子域名获取分站IP
④网站漏洞查找
  • 通过网站漏洞,扫描网站测试文件,例如phpinfo、test等,从而找到目标真实IP
⑤网站邮件查找
  • 查找邮件头中的邮件服务器域名IP
b. 非常规方法
①扫描全网
  • 在线网站:钟馗之眼、shodan、fofa
  • 直接尝试用IP访问,看看响应的页面和访问域名返回的是否一样

(2). 判断是否存在CDN

a. 多地ping
b. Nslookup
  • 获取到的DNS域名解析结果中返回多个IP的,一般存在CDN服务
c. Header头信息
  • 请求响应包header头中存在CDN服务商信息
  • 报错信息,页面状态码为400错误,一般是CDN
  • 若asp或者asp.net网站返回头的Server不是IIS,而是Nginx,即是使用了nginx反向代理到CDN
d. 在线检测工具

(3). 真实IP收集

a. DNS历史记录
b. 网络空间测绘搜索引擎
①网站
②用法
  • 子域名、https证书、网站标题、网站图标ICP备案信息、html正文内容、js/css/html静态资源特征值
③fofa语法
domain=="ichunqiu.com"	//搜索根域名为“ichunqiu.com”的网站
host="ichunqiu.com"		//从url中搜索
cert=="ichunqiu.com"	//从https证书中搜索
cert=="https证书序列号值10进制"	//利用证书序列号定位
icp="京ICP证150695号"	 //利用备案号定位
title="在线安全培训平台"	//利用网站标题特征定位
icon_hash="-1941347393"		//利用网站icon图标特征定位
body="会员登录_i春秋"		//利用html正文特征定位
body="<div class=header_hostsearch J_header_hotsearch>"	//利用网站静态资源文件定位
fid=""		//利用fofa网站指纹定位

8. C段/旁站信息收集

①概念
旁站:	和目标网站在同一服务器上的其他网站
C段:	和目标服务器ip处在同一个C段的其他服务器
②查询方式
  1. 利用Bing.com,语法为

    http://cn.bing.com/search?q=ip:1.1.1.1
    
  2. 站长之家http://s.tool.chinaz.com/same

  3. 利用Google.com.语法为

    site:123.123.123.*
    
  4. 利用Nmap,语法为

    nmap -p 80,8080 -open ip/24
    
  5. K8工具、御剑、北极熊扫描器等

  6. 在线网站:http://www.webscan.cc/

9. 企业信息收集

企业信息收集