漏洞挖掘365天挑战——Day020:Recon之基于范围的自动化(1)

侦察的重要性

当你去做漏洞挖掘的时候,你需要收集目标的一些信息。有人认为侦察就是一种自动化的发现漏洞的方式,其实不是。

侦察更多的是让你有一个更好的攻击面,让你有更多的攻击机会,发现潜在的漏洞。

自动化是侦察的一个方向,但是要明确,手动分析也非常的重要。

下面,将用三篇文章来介绍基于范围的侦察。

三篇文章以下面的思维导图为基础,介绍最小的范围,中等范围和最大范围侦察。

基于范围的侦察方法

基于范围,顾名思义就是基于作用域进行划分的侦察方法。你有的时候,目标范围过大,有的时候就是一个单一的目标,进行全部的侦察,你没那么多的精力,也非常耗时,这个时候基于范围的侦察就有效了。

它主要:

  1. 节约时间
  2. 你知道要找什么
  3. 自动化侦察
  4. 找到的漏洞很少出现在范围外
  5. 有更好的侦察结果

小范围侦察

目标: 寻找单个应用的URL,登录后台/非生产环境/测试环境等

内容发现

目标枚举,重点是需要一个好的字典

工具列表:

网站指纹

检查应用运行的服务,通常使用的服务器,库和第三方组件可能 过时,存在已知的安全问题

工具列表:

  • Wappalyzer Plugin
  • Whatweb

CVE跟踪

检查应用过时的软件和库的CVEs

网站:

端口扫描

执行端口扫描是有用的,因为你有的时候会得到一些有趣的端口,这些端口还运行着一些服务。这些服务可能有默认密码,配置错误等问题

工具:

链接劫持

如果应用有一些媒体档案,第三方链接的网站,过期的域名,你都可以尝试接管

工具:

JS文件发现

主要是对JS文件进行搜索,包括了使用了硬编码,或者有敏感信息等等。 在挖掘JS文件的时候,你可以从下面几个点来进行:

  • 硬编码API
  • 敏感信息,包括AWS凭证等
  • S3 Buckets
  • 子域名
  • PII信息
  • API接口
  • 有趣的参数
  • 逻辑绕过限制,比如XSS和开放重定向

方法:

  • 自动化工具来搜硬编码
  • 自动化工具查找参数,关键字,接口和其他信息
  • 递归下载所有的JS文件,使用正则表达式查找信息
  • 在一段时间间隔内,比较这一段时间JS文件的变化

工具:

参数发现

通常你可以发现那些在应用中不直接可见但是仍然在服务器端处理的参数。这些参数很容易受攻击,包括SSRF,开放重定向,XSS,SQL注入和IDORs等等

工具:

回溯历史

检查回溯历史总是一个好主意。经常可以找到通过应用工作流程可能不再可用但仍可访问的 url。有时,敏感页面缓存时会显示有趣的信息,您还可以获得一些接口来测试各种不同的漏洞。

工具:

搜索

在特定领域的Github Dorking和Google Dorking是非常有用的,可以寻找到很多的接口,暴露的服务来增加攻击面。小范围的侦察中,可以使用检查认证令牌,uuid,用户标识符,备份文件,敏感信息缓存等。

工具:

敏感信息泄露

可以发现泄漏的凭证、数据库和各种组织的其他敏感信息,攻击者可能会滥用这些信息。然而,这可能或不可能被接受。

来源:

  • Intelx
  • Hacking Forums 黑客论坛
  • Darknet/Darkweb Analysis

云安全

现在很多公司正在向云基础设施转移,并使用云存储选项,如 AWS S3 bucket、 GCP bucket 等来存储他。然而,由于简单的配置错误,组织可能会向攻击者泄露/暴露一些信息。可以去枚举存储桶和其他基于云的服务,并查找其中的错误配置。

参考资料:

  1. https://cobalt.io/blog/scope-based-recon-smart-recon-tactics
  2. Misconfigured S3 Bucket Access Controls to Critical Vulnerability

漏洞挖掘365天挑战——Day019:Recon之内容发现

搜索引擎

可以使用Google来发现目录:

  • – File Extensions
  • – Parameters
  • – Login Page
  • – Sometimes Directory Structure
  • – Important Stuff

发现目录:

  • -site:target.com filetype:php
  • – site:target.com filetype:aspx
  • – site:target.com filetype:swf (Shockwave Flash)
  • – site:target.com filetype:wsdl

发现参数:

  • – site: target.com inurl:.php?id=
  • – site: target.com inurl:.php?user=
  • – site: target.com inurl:.php?book=

发现登录页:

  • – site: target.com inurl:login.php
  • – site: target.com intext: “login”
  • – site: target.com inurl:portal.php
  • – site: target.com inurl:register.php

发现目录结构:

  • -site: target.com intext: “index of /”

发现重要的页面:

  • -site: target.com filetype:txt
  • – site: target.com inurl:.php.txt
  • -site: target.com ext:txt

自动化工具:

  1. GoBuster
  2. Dirbuster
  3. FavFreak

API发现

这个话题,后面单独说。

以前写的几篇文章:

https://pxiaoer.blog/tag/api%e5%ae%89%e5%85%a8/

参考资料:

1.contextual-content-discovery https://blog.assetnote.io/2021/04/05/contextual-content-discovery/

漏洞挖掘365天挑战——Day018:Recon之Github扫描

在第7天(Day007: Github扫描),我写过Gihub扫描的一些工具问题。其实最好是自己有了目标之后,手动。这里写点手动,应该怎么搜索。

搜索关键字

  • FTP Credentials
  • Secret Keys [API_key, Aws_secret key, etc.]
  • Internal credentials [Employee credentials]
  • API Endpoints
  • Domain Patterns

例子:

  • – “target.com” “dev”
  • – “dev.target.com”
  • – “target.com” API_key
  • – “target.com” password
  • – “api.target.com”

也可以用Google来搜索

site: “github.com” + “Target” + password

社会工程

漏洞挖掘365天挑战——Day017:Recon之AWS Hacking

现在云服务是很流行的,很多公司都是建立在AWS上,所以,AWS Hacking是需要重视的。

S3 buckets 

  1. Google Dork
    • site: amazonaws.com inurl: yahoo
  2. Bucket Finder https://digi.ninja/projects/bucket_finder.php
  3. Burp Suite

AWS EC2

  1. 爆破SSH

账户权限

  1. 多用户 泄露问题
  2. 多账号 密码强度问题
  3. 企业集成问题

参考资料

  1. AWS安全笔记 https://mp.weixin.qq.com/s/jtloGx9L8GXzkRHNkkwFqw
  2. 7 Ways I’d Hack You On AWS https://adeliarisk.com/secure-cloud-computing-7-ways-id-hack-aws/
  3. AWS Hacking https://github.com/opendevsecops/guide-aws-hacking
  4. Hack AWS EC2 — Catch AWS Account! https://towardsaws.com/hack-aws-ec2-catch-aws-account-15517ffe5450

漏洞挖掘365天挑战——Day016:Recon之从JS文件入手

有了子域之后,我们需要从JS文件中分析入口,可以手动也可以用一些工具

1. BurpSuite
2. InputScanner(Zscanner)

3. JS-Scan

4. JSScanner

5. JSScanner

6.relative-url-extractor

7.LinkFinder

常见的做法是在BurpSuite中,使用插件来查找JS文件中的入口。具体做法,可以看下插件的readme

参考资料

1.Find Hidden Endpoint From JS File https://securiumsolutions.com/blog/find-hidden-endpoint-from-js-file/

2. JSScanner: Scanning JS Files for Endpoints and Secrets https://securityonline.info/jsscanner-scanning-js-files-for-endpoints-and-secrets/

3.Scanning JS Files for Endpoints and Secrets https://securityjunky.com/scanning-js-files-for-endpoint-and-secrets/