免责声明
学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
信息收集
一般情况下,主站点的防护工作更加全面,渗透难度大。我们可以转换思路,通过信息收集,增加攻击面,从多方面入手。信息全面化
通过各大威胁情报集团的搜索引擎,尽可能全面的收集有用的攻击面,然后查看各大子域名平台中是否有关联链接、子域名友链等等一系列的信息泄露,把信息收集做到极致,把攻击面扩充到最大。
1 --> whois查询
查询除了主站域名的后缀域名之外,还有哪些后缀被注册,寻找与主站可能存在的联系,拓宽攻击面。
利用查询到网站管理员手机号码、姓名、邮箱通过Whois反查查询出网站管理员所注册过的域名,可以对注册的其他域名进行漏洞挖掘。
邮箱反查:whois.chinaz.com/reverse?ddl… Find email addresses and send cold emails • Hunter
注册人反查:whois.chinaz.com/reverse?ddl…
电话反查:whois.chinaz.com/reverse?ddl…
国家企业信用信息公示系统:www.gsxt.gov.cn/index.html
阿里云查询:whois.aliyun.com
2 --> 旁站/C段
旁站:是和目标网站在同一台服务器但开放在其他端口的网站
C段:是和目标服务器IP处在同一个C段的其他服务器
一般来说,云服务器的C段ip是互相独立的,这些服务器分属不同用户,没有渗透的必要
在线查询网站:
3 --> CDN
Windows系统在cmd控制台使用nslookup+域名,如果非权威应答只有一个IP,那基本可以确定没用使用CDN,此外还可以尝试直接使用IP访问。
如果找不到真实IP,可以尝试用nmap扫描域名,观察端口开放情况,进行下一步工作。
nslookup domain
绕过CDN
1.我们很多时候做渗透的时候,总会遇到CDN,这里我们借助fofa
思路如下:
我们想确定一个网站的真实IP地址,通常现在网站都会使用https协议,用到SSL证书是必不可少的,绝大多数企业证书都是通配符证书,因此我们可以把证书的序列号拿下来然后搜索这个证书用在了哪些业务里,然后如果部分业务中没有使用CDN或者没有覆盖到CDN,真实ip就出现了
这里我用的是火狐浏览器
1.首先查看证书,找到序列号,将序列号转成10进制,我们可以通过下面的语句来进行调查
cert="10进制证书值"2.大部分网站会有注册,订阅,找回密码的功能会发送邮件,因为邮件系统一般都在内部,所以就可以通过邮箱获得真实的IP,邮件头信息中会有真实IP
3.有些网站会有phpinfo页面,一些debug模式不关等信息泄漏问题,上面会有真实IP
4.一般的站点在国内可能会有CDN,但是在国外的用户覆盖率比较低,所以通过国外的节点进行请求往往能获取真实IP
5.当服务器使用F5 LTM做负载均衡时,通过对
set-cookie关键字的解码真实ip也可被获取,例如:
Set-Cookie:BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。
4 --> 子域名
子域名是相对于主域名而言的,它是主域名的部分或全部组合。简单来说,子域名可以作为网站的地址前缀或者入口之一,目的是拓宽攻击面,找到更多可能存在的漏洞点,还可以通过IP反查域名。
例如.net为顶级域名,主域名是example.net,子域名则是在主域名前面添加任意自定义名称,例如:mail.example.net。
SSL证书收集子域名
点击浏览器网站旁边的小锁,然后点击证书就可以查看到该网站的SSL证书了,大厂商的SSL证书一般都是一证多用,根据证书透明日志这个特性,可以得知一些子域名。
有时候https证书报错会泄露域名
子域名枚举爆破
向DNS服务器(如8.8.8.8和8.8.4.4)请求字典里面的子域名,看返回的数据里面是否有记录,如果有则说明这是一个存在的子域名。
比如说,向114.114.114.114定向请求www.qq.com的记录,返回了一条A记录指向182.254.34.74,就说明存在这个域名;
相应的请求wooyun.qq.com并没有相应的记录返回,这就说明没有这个域名存在。
注:一般只使用同一套主、副DNS,即8.8.8.8和8.8.4.4,DNS服务器不宜混搭,否则容易出现大量误报
发包可以用第三方库,比如说lijiejie的subDomainBrute使用了dnspython这个包。使用第三方包的确好,但是免不了一层封装和不能很好地理解DNS报文协议,也可能会降低一定的效率,和没有解决泛解析的好办法
泛解析这个问题的解决方法很简单,向DNS请求记录,然后把枚举子域名回来的记录和的记录比对,如果相同则直接排除。但是实际上,如果使用第三方包,不自己造轮子的话,是无法实现这个的。因为有些域名的*记录是CNAME,而第三方包只能解析出IP却不会返回出CNAME给你。
举个例子,以www.baidu.com,大家ping一下都知道会跳转到www.a.shifen.com,这就是一个CNAME记录,但是我们用第三方包只能获得最后解析出来的ip。
也就是说,如果一个域名他的泛解析是一个CNAME记录而且这又是一个CDN域名(恰巧这个又不少),那么不是自己定制的dns查询函数,一般都会出现大量泛解析误报。
这就有点像是灯下黑,知道了怎么做就可以了,却一直没有解决的办法。。
ONEFORALL
目前支持一键收集:子域、子域常用端口、子域Title、子域状态、子域服务器等
SUBDOMAINBRUTE
高并发的DNS暴力枚举工具
FUZSUB
FIRECE
5 --> ICP备案信息
网站备案是根据国家法律规定,需要网站所有者向有关部门申请的备案。主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案。
6 --> 端口信息收集
端口可以看作是计算机与外界通讯交流的出口,计算机共计有65536个端口。端口作为服务器和客户端的交互接口,起着非常重要的作用,一些常见端口标识了服务器开启的服务。
7 --> 网站指纹收集
网站指纹:网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。
火狐浏览器插件:Wappalyzer
8 --> 目录扫描
由于发布网站时,服务器配置问题,导致目录浏览功能打开,从而引起信息泄露,造成安全隐患。在信息收集过程中,需要收集的敏感目录/文件信息包括:
1.robots.txt
2.crossdomin.xml
3.sitemap.xml
4.后台目录
5.网站安装包
6.网站上传目录
7.mysql管理页面
8.phpinfo
9.网站文本编辑器
10.测试文件
11.网站备份文件(.rar、zip、.7z、.tar.gz、.bak)
12.DS_Store 文件
13.vim编辑器备份文件(.swp)
14.WEB—INF/web.xml文件
robots文件当中就可能泄露网站的后台或者CMS信息等,安装包中便泄露了网站的源码,phpinfo泄露了服务器的一些配置信息,编辑器、上传页面便可以进行利用相关的漏洞进行渗透,mysql、后台管理页面可以进行枚举爆破来尝试登陆进行下一步的安全测试。
后台目录:弱口令,万能密码,爆破
安装包:获取数据库信息,甚至是网站源码
上传目录:截断、上传图片马等
mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell
安装页面 :可以二次安装进而绕过
phpinfo:会把你配置的各种信息暴露出来
编辑器:fck、ke、等
iis短文件利用:条件比较苛刻 windows、apache等
9 --> github源码泄露
网站域名、网站js路径、网站备案、网站下的技术支持都可以放进Github搜索。
10 --> WAF
判断安全狗、阿里云云盾、360网站卫士、护卫神等web应用程序防火墙。
1 >> Nmap探测WAF
nmap -p80,443 --script=http-waf-detect ip
nmap -p80,443 --script=http-waf-fingerprint ip
2 >> 手动检测是否拦截页面或者http可识别字段
在搜索框输入恶意代码,WAF拦截后判断WAF
11 --> 后台查找
- 弱口令默认后台
- 查看网页链接
- 查看网站图片的属性,有可能是上传管理后台的目录,但是在前端显示
- 查看网站使用的管理系统,从而确定后台
- 用工具查找,
wwwscan,intellitamper,御剑,进行爬虫,字典穷举扫描 robots.txt的帮助,robots.txt文件可以告诉蜘蛛程序在服务器上什么文件可以爬取GoogleHacker通过语法查找后台- 查看网站使用的编辑器是否有默认后台,FCK、ewb等默认后台
- 短文件利用短文件漏洞进行猜解
- 子域名有可能管理后台为
admin.xxxxxx.com,login.xxxxx.com sqlmap-sql-shell load——file('d:/wwroot/index.php')。利用sql注入查看文件源码获取后台- 社工,xss利用社会工程学获取后台,利用存储xss获取后台
12 --> 企业信息查询
工商数据可以帮助测试人员更好地了解目标公司的信息,以便收敛测试的目标范围。
例如,可以通过工商数据获取公司的控股子公司、经营业务、对外发布的产品等信息
这些信息可以帮助我们更准确地识别出目标公司的网络资产,以便对其进行更有效漏洞挖掘
工商数据
信息来源
爱企查
企百查
天眼查
启信宝
小蓝本
关注内容
企业股权架构
网站备案
对外公布的产品(小程序、公众号APP、iot设备等)
法人电话号、邮箱
- 用处
- 获取控股子公司名称,收集边缘子公司资产
- 获取备案根域名
- 获取其他互联网资产
- 收集用户名等信息
- 思路
拿到目标公司名之后,先不要着急直接开始收集子域名,先统计好这家公司的股权架构,一般50%控股的可以算作有效目标,子公司资产将为我们提供不少的边缘业务系统
通过股权穿透图收集完子公司名称后,网站备案、对外发布的产品、法人电话和邮箱同样也是比较重要的数据
13 --> Google Hacking
intext:
寻找正文中含有关键字的网页,例如: intext:后台登录 将只返回正文中包含 后台登录 的网页
intitle:
寻找标题中含有关键字的网页,例如: intitle:后台登录 将只返回标题中包含 后台登录 的网页。
allintitle:
用法和intitle类似,只不过可以指定多个词,例如: alltitle:后台登录 管理员 将返回标题中含有后台登陆和管理员的网页
inurl:
将返回url中含有关键词的网页:例如:inurl:Login 将返回url中含有 Login 的网页
allinurl:
用法和inurl类似,只不过可以指定多个词,例如:inurl:Login admin 将返回url中含有 Login 和 admin 的网页
filetype:
指定访问的文件类型,例如:site:baidu.com filetype:pdf 将只返回baidu.com站点上文件类型为pdf的网页
link:
指定链接的网页,例如:link:www.baidu.com 将返回所有包含指向 www.baidu.com 的网页
related:
相似类型的网页,例如:related:www.xjtu.edu.cn 将返回与 www.xjtu.edu.cn 相似的页面,相似指的是网页的布局相似
cache:
网页快照,谷歌将返回给你他存储下来的历史页面,如果你同时制定了其他查询词,将在搜索结果里以高亮显示,例如:cache:www.hackingspirits.com guest ,将返回指定网站的缓存,并且正文中含有guest
info:
返回站点的指定信息,例如:info:www.baidu.com 将返回百度的一些信息
define:
返回某个词语的定义,例如:define:Hacker 将返回关于Hacker的定义
phonebook:
电话簿查询美国街道地址和电话号码信息。例如:phonebook:Lisa+CA 将返回名字里面包含Lisa并住在加州的人的所有名字
>>二开谷歌语法
B站 >>信息收集的新姿势>>BV1yP4y117Q2
14 -->> 网盘搜索
凌云搜索:www.lingfengyun.com/
盘搜搜:www.pansoso.com/
15 -->> 移动资产收集
微信小程序/支付宝小程序
现在很多企业都有小程序,可以关注企业的微信公众号或者支付宝小程序,或关注运营相关人员,
查看朋友圈,获取小程序。
通过微信搜索公众号并去关注,然后进去点击文章之类的,下拉可以看到它的网页来源,大部分是微信提供的,所以需要去阅读原文,但是原文也可能是第三方提供的,所以还需要自己自行去判断,找到它的url后又可以去爆一波子域名了,
app软件搜索
AppStore(安卓/ISO)
社交信息搜集
QQ群
微信群
脉脉招聘
boss直聘
16 --> 字典收集
GitHub有很多现成的爆破字典,简单搜索即可获得
17 --> 图标提炼
鹰图提炼图标很好用
web.icon=="4eeb8a8eb30b70af511dcc28c11a3216"
= => 模糊
== => 精确
其实,这时候可以发现很多图标,两者是相辅相成的,通过收集图标提炼共性标题,通过收集标题找到共性图标
18 --> 提炼特殊路由
不同的站点路由其实是不一样的,在这里的话若依站点最特殊的路由是prod-api
因此我们从路由的角度来体验
一种是找超链接的提炼方式
body=prod-api/
打开之后我们就可以发现确实超链接指向的是若依的系统
如果收集的若依系统够多,可以发现存在二开的系统有其他的路由,比如admin-api dev-api 等等
另一种方式可能就需要用到搜索引擎去相辅相成的寻找特殊路由
19 --> logo地址查询
当你不确定目标产品是什么时,比如你不知道他是谁家的WAF或者路由器,可以利用查看网站logo地址,然后复制logo地址,点击按图片搜索,到谷歌里面查询;也可以把目标logo下载下来,利用上传图片来查询,通过搜索出来的结果可以判断目标产品和厂商。
FAVICON.ICO
首先先来介绍一下什么favicon.ico文件,所谓favicon,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。favicon.ico也被称为 website icon(网页图标)、page icon(页面图标)或url icon(URL图标),具体细节请问度娘。下面这个小东西就是 Favicon.ico,我们可以通过在shodan里寻找它的哈希并去查找相关资产,打开shodan页面,或者用shodan插件都行。
DNS
常用DNS记录
主机记录(A记录): A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
IPv6主机记录(AAAA记录): 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
别名(CNAME记录): CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
电子邮件交换记录(MX记录): 记录一个邮件域名对应的IP地址
域名服务器记录 (NS记录): 记录该域名由哪台域名服务器解析
反向记录(PTR记录): 也即从IP地址到域名的一条记录
TXT记录:记录域名的相关文本信息
DNS区域传送
DNS服务器分为主服务器、备份服务器和缓存服务器。而域传送指的是一台备用服务器使用来自主服务器的数据更新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。
域传送漏洞
DNS区域传送(DNS transfer)指后备DNS服务器从主服务器获取数据,以更新自己的zone数据库,这可以防止因主DNS服务器故障造成的业务中断,为DNS服务提供了冗余备份,但是许多DNS服务器却被错误配置成只要收到AXFR请求,就向对方进行域传送。
当存在这种错误配置时,攻击者就可以获取整个域的所有记录,造成整个网络架构泄露。正确的配置包括
allow-transfer {ipaddress;}; 通过ip限制可进行域传送的服务器
allow-transfer { key transfer; }; 通过key限制可进行域传送的服务器
查询未使用CDN前的DNS服务器解析记录
查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录
dnsdb.io/zh-cn/ DNS查询
x.threatbook.cn/ 微步在线
toolbar.netcraft.com/site_report… 在线域名信息查询
viewdns.info/ DNS、IP等查询
tools.ipip.net/cdn.php CDN查询IP
20 --> 空间测绘
SHODAN
活动:Shodan *** 黑五1美元一个,淘宝、咸鱼可以看看*
普通:69美元 每月最多 100 万个结果 每月扫描多达 5,120 个 IP 5,120 个 IP 的网络监控
高级:359美元 每月最多 2000 万个结果 每月扫描多达 65,536 个 IP 65,536 个 IP 的网络监控
超级:1099元 每月无限 每月扫描多达 327,680 个 IP 327,680 个 IP 的网络监控
普通与高级功能差别:漏洞搜索过滤器
语法
· 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”
搜索案例
搜索日本国家,中间件是Apache服务器并且状态码是200的机器
country:"JP" && apache && http.status:"200"
搜索日本国家,摄像头是海康威视
country:"JP" && Hikvision-Webs
搜索日本国家,操作系统是Windows Server 2008 R2并且开放3389端口的机器
country:jp && os:Windows Server 2008 R2 && port:3389
搜索日本国家,操作系统是Windows Server并且存在永恒之蓝漏洞的机器(更高级会员才能使用vuln)
country:jp && os:Windows Server * && vuln:CVE-2017-0146
ZOOMEYE
ZoomEye - Cyberspace Search Engine www.zoomeye.org/
免费:查询结果展示量:4百条 查询API额度:每月1w
高级:4800/年 查询结果展示量:1千条 查询API额度:每月3w
VIP:9600/年 查询结果展示量:2千条 查询API额度:每月4w
高级与VIP功能差别:蜜罐识别
语法
· 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”
QUARK
360网络空间测绘 — 因为看见,所以安全
免费 数据广度开放性:5百条 Quake积分:3千/月
高级:299/年 数据广度开放性:5千条 Quake积分 :3W/月
终身:999 数据广度开放性:1W条 Quake积分 :5W/月
功能差别:相似图标、深度识别、专用语法、圈内交流
邀请码:Cm2TX9
语法
· 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”
相应网站
Censys Search
GreyNoise
各个国家代码是什么?_百度知道
项目名称:聚合测绘空间搜索(HW蓝队情报收集)
支持搜索的引擎:Fofa、Zoomeye、Quake、Shodan、Censys、BinaryEdge、threatbook
1. git clone https://github.com/atdpa4sw0rd/Search-Tools.git
2. cd Search-Tools && pip3 install -r requirements.txt
3. python3 search_main.py
--> 其他方式
项目名称:聚合测绘空间搜索(HW****蓝队情报收集) 项目地址:github.com/atdpa4sw0rd…