Web信息收集基础

2024-11-20 120 11/20

X

信息收集是渗透测试的第一步,也是很重要的一步,信息收集的程度决定了渗透测试的广度,收集信息来扩大渗透攻击面,确定攻击范围,寻找攻击入口,制定攻击计划。


一、Whois信息

1.思路

  • 拿到公司名后,先收集统计这件公司的股权架构,一般50%控股可以算作有效目标,子公司资产也能为我们提供系统(攻击点)

  • 分析完股权架构收集子公司名称后,对网站备案、对外发布产品(网站、APP、公众号、小程序)、法人信息(名称、电话、邮箱)等数据进行收集

2.工具

3.社工库

利用社工库获取更多相关人的信息

二、搜索

1.Google、bing、baidu

  • 收集特定域名

site:xxx.cn

  • 收集特定资产敏感信息

intext:身份证 intext:电话 再指定后缀 xlsx pdf docs等

  • 搜集路由或额外资产

inurl:xxx

然后bing与baidu都可以按照自己想要查询的信息去搜索

三、Github

主要是查询GitHub源码有没有泄露,网站域名、网站JS路径、网站备案、网站下的技术支持这些都可以放进去GitHub搜

精确搜索:被双引号引起来的部分代表精确匹配 " " \ oneno in:name 匹配仓库名称中含有oneno的仓库。 \ oneno in:description 匹配仓库名称或说明中含有 oneno的仓库。 \ oneno in:readme 匹配仓库自述文件中提及的仓库。 \ repo:owner/name 匹配特定仓库名称。

四、搜索引擎

FOFA:https://fofa.info/

360网络空间测绘:https://quake.360.net/quake/#/index

  • 语法 country:搜索指定国家(中文添加_cn) 例如:country:“JP” city:搜索指定城市 例如:city:“tokyo ” owner:搜索IP归属单位 例如:owner:“tencent.com” isp:搜索IP归属运营商 例如:isp:“amazon.com” ip:查询IP地址或网段 列如:ip:"1.1.1.1/22" is_ipv6:查询IPV6格式的IP 列如:sis_ipv6:"true" port:搜索指定的端口或服务 例如:port:“[50 TO 60]” transport:查询udp数据 例如:transport:“udp” domain:查询资产域名 例如:domain:“google.com” hostname:查询主机名包含指定资产的数据 例如: hostname:“google.com” app:搜索指定的组件 列如:app:“apache ” response:查询端口原生返回数据中包含指定参数的资产 列如:response:“google.com”

钟馗之眼:https://www.zoomeye.org/

  • 语法 country:搜索指定国家 例如:country:“JP” city:搜索指定城市 例如:city:“San Diego” subdivisions:搜索相关指定行政区的资产 例如:subdivisions:“东京” ssl.cert.availability:搜索证书是否在有效期内 例如:ssl:“1”or“0” ip:搜索指定的IP(ipv4/6) 列如:ip:“8.8.8.8” cidr:搜索指定的IP段 列如:cidr:“52.2.254.36/24” org:搜索指定的组织或机构,例如:org:“google” isp:搜索相关网络服务提供商的资产 例如:isp:“China Mobile” port:搜索指定的端口或服务,例如:port:“22” hostname:搜索相关IP"主机名"的资产 例如:hostname:“google.com” site:搜索域名相关的资产 例如:site:“baidu.com” device:搜索路由器相关的设备类型 例如:device:“router” os:搜索指定限定系统OS版本, 例如:os:“Windows Server 2008 R2” title:搜索指定网页类容 例如:title:“hello world” app:搜索指定的组件 列如:app:“apache ” ver:搜索指定的版本 l例如:ver“1.2.3” service:指定服务类型 例如:service:“ftp”

Shodan:https://www.shodan.io

  • 语法 city:搜索指定城市 例如:city:“tokyo ” country:搜索指定国家 例如:country:“JP” http.title:搜索指定网站标题 列如:http.title:“hacked by” http.html:搜索指定网页类容 例如:http.html:“hello world” http.status:搜索指定返回响应码 例如:http.status:“200” http.server:搜索指定返回中的server类型 例如:http.server:“PHP” net:搜索指定网络范围或 IP段,例如:net:“8.8.0.0/16” org:搜索指定的组织或机构,例如:org:“google” port:搜索指定的端口或服务,例如:port:“22” product:搜索指定的操作系统/软件/中间件,列如:product:“Samsung” screenshot.label:搜索指定描述图像内容的标签 列如:screenshot.label:“ics” os:搜索指定限定系统OS版本, 例如:os:“Windows Server 2008 R2” hostname:搜索指定的主机或域名,例如:hostname:“google” vuln:搜索指定CVE漏洞编号,例如:vuln:“CVE-2014-0723” isp:搜索指定的ISP供应商,例如:isp:“China Telecom” version:搜索指定的软件版本,例如:version:“1.2.3” geo:搜索指定的地理位置,参数为经纬度,例如:geo:“44.55,66.77”

五、APP、小程序、公众号信息收集

1.APP信息收集

  • 七麦数据:https://www.qimai.cn/ 通过已知APP查询所属公司所有APP或同开发者所属APP

2.公众号和小程序

直接去vx上查找,根据名称或者其他信息。

六、子域名收集

1.在线收集

2.子域名枚举爆破

  • 使用本地工具OneForALL、Layer子域名挖掘机等

七、IP收集

1.CDN

收集IP要先判断是否存在cdn(内容分发网络),cdn会将网站的真实ip隐藏,所以可以利用超级ping工具进行查询,如果查询出的ip数量大于一个,就说明该ip不是真实ip地址,如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址,该服务器在内网中,通过不同运营商NAT映射供互联网访问,同时采用几个不同的运营商可以负载均衡和热备份。如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了

2.IP真实性找寻

  • 多地ping 利用上面的超级ping工具

  • ip反查 反查ip存在多个域名,那ip大可能不是真实ip

  • 利用证书绕过CDN判断真实IP

  • 子域名 批量查询子域名,通过部分未做CDN的子域名进行真实IP找寻

  • 历史DNS解析记录 查询未使用CDN前的DNS服务器解析记录,查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录 https://securitytrails.com/domain/t00ls.net/dns

  • SSL证书查询

  • 国外节点访问

  • 网络测绘搜索

八、文件目录后台扫描(利用工具)

1.文件目录

  • dirsearch工具(kali自带), 用法: dirsearch -u 域名 可以探测网站后台敏感文件是否存在泄露等情况

2.网站后台

九、C段与端口扫描

1.C段扫描

2.端口扫描

十、站点分析

1.Web网站指纹

Web指纹框架
1.1 识别

2.数据库

要收集到数据库类型,数据库版本号等信息 access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。 sql server--1433 oracle--1521 mysql--3306 postgresql--5432

  • 扫描其对应端口号进行判断

3.WAF

  • Wafw00f(kali自带) 用法wafw00f -a 域名


总结

收集到足够的信息才能知道什么攻击手段能用什么攻击手段用了是无效的,比如是个Apache的网站,就不能使用针对Nginx网站攻击的手段,可以让我们在攻击的时候少做无用功。有针对性的,有计划有策略的、迅速快捷的,做到攻必取战必胜,才能称作一次优秀的进攻。

- THE END -
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论