s3桶+github+OSINT+指纹信息收集3

admin 2024年6月14日18:08:32评论13 views字数 5622阅读18分44秒阅读模式
本文由uuwan原创翻译《Bug Bounty Bootcamp The Guide to Finding and Reporting Web Vulnerabilities》 by Vickie Li,如果侵权还请及时联系。

      请点击文末#Bug Bounty Bootcamp标签查看合集或关注公众号点击底部【漏洞书籍】子菜单,如果对您有帮助还请点赞、在看、评论、转发、关注、打赏哦,您的互动就是我更新最大的动力!



第三方托管

让我们来仔细看看公司的第三方托管足迹吧。例如,查找组织的S3桶。S3代表简单存储服务,是亚马逊的在线存储产品。
组织可以付费将资源存储在桶中,为web应用程序提供服务,也可以使用S3桶作为备份或存储位置。
如果一个组织使用Amazon S3,那么它的S3桶可以包含隐藏的端点、日志、凭据、用户信息、源代码和其他可能对您有用的信息
你如何找到一个组织的桶?一种方法是通过谷歌语法,如前所述。大    多数桶使用URL格式为BUCKET.s3.amazonaws.com或s3.amazonaws.com/BUCKET,因此以下搜索词很可能会找到结果:
site:s3.amazonaws.com COMPANY_NAMEsite:amazonaws.com COMPANY_NAME
如果该公司为S3桶使用自定义url,可以尝试更灵活的搜索词。公司通常仍然会在自定义的桶url中放置关键词aws和s3等,所以试试这些搜索:
amazonaws s3 COMPANY_NAMEamazonaws bucket COMPANY_NAMEamazonaws COMPANY_NAMEs3 COMPANY_NAME
另一种查找桶的方法是在公司的公共GitHub存储库中搜索S3 url。试着在这些存储库中搜索术语s3。我们将在下面页面的“GitHub侦察”中讨论使用GitHub进行侦察。
GrayhatWarfare是一个在线搜索引擎,你可以使用它来找到公开暴露的S3桶(图5-7)。它允许您通过使用一个关键字来搜索一个桶。
https://buckets.grayhatwarfare.com/
提供与目标相关的关键字,如应用程序、项目或组织名称,以查找相关的桶。

s3桶+github+OSINT+指纹信息收集3

最后,您可以尝试通过使用关键字来爆破桶。Lazys3是一个帮助你做到爆破桶的工具。它依赖于一个单词列表排列常见的桶名来猜测桶。

https://github.com/nahamsec/lazys3/
      另一个好的工具是Bucket Stream:它解析属于一个组织的证书,并根据在证书上找到的域名的排列找到S3桶。Bucket Stream还会自动检查桶是否可访问,这样就可以节省您的时间。
 https://github.com/eth0izzle/bucket-stream/
一旦找到了属于目标组织的几个桶,请使用AWS命令行工具查看是否可以访问这些桶。请使用以下命令安装该工具:
pip install awscli

       然后根据Amazon的                                                               

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

       文档将其配置为在AWS可以工作,您应该能够通过aws s3命令直接从终端访问桶。尝试列出您找到的桶的内容:

aws s3 ls s3://BUCKET_NAME/
如果这可以工作,看看你是否可以通过复制文件到你的本地机器来读取任何有趣的文件的内容:
aws s3 cp s3://BUCKET_NAME/FILE_NAME/path/to/local/directory
收集通过桶泄露的有用信息,用于未来的漏洞利用!如果组织显示了活动API密钥或个人信息等信息,您应该立即报告。
单独暴露的S3桶通常被认为是一个漏洞。您也可以尝试将新文件上传到桶中或从其中删除文件。如果您可以弄乱它的内容,您可能会破坏web应用程序的运营或损坏公司数据。

例如,此命令将把名为TEST_FILE的本地文件复制到目标文件的S3桶中:

aws s3 cp TEST_FILE s3://BUCKET_NAME/

这个命令将删除您刚刚上传的TEST_FILE:

aws s3 rm s3://BUCKET_NAME/TEST_FILE
这些命令是一种无害的方式,可以证明您有对桶的写权限,而无需实际篡改目标公司的文件。
始终上传和删除您自己的测试文件。不要冒险在测试过程中删除重要的公司资源,除非你愿意接受一场昂贵的诉讼。


GitHub侦察


在目标组织的GitHub存储库中搜索意外提交的敏感数据或信息,可能发现漏洞。
在GitHub的搜索栏搜索组织的名称或产品名称,或通过检查已知员工的GitHub账户来查找目标相关的GitHub用户名。
当您找到要审计的用户名时,请访问他们的页面。查找与您正在测试的项目相关的存储库并记录它们,还有该组织的顶级贡献者的用户名,这可以帮助您找到更多相关的存储库。
然后深入研究一下代码。对于每个存储库,请特别注意IssuesCommits部分。这些部分充满了潜在的信息泄露:它们可能会向攻击者指出未解决的bug、有问题的代码,以及最新的代码修复和安全补丁。
最近的更新的代码,没有经过时间考验因此更有可能包含bug。查看任何已实现的保护机制,看看您是否可以绕过它们。
您还可以在代码部分中搜索可能容易受到攻击的代码片段。一旦您找到了一个感兴趣的文件,检查文件页面右上角的Blame History 部分,看看它是如何开发的

s3桶+github+OSINT+指纹信息收集3

我们将在第22章中更深入地回顾源代码,但在侦察阶段,寻找隐秘的硬编码,如API密钥、加密密钥和数据库密码
在组织的存储仓库中搜索key, secret, password等术语,以找到可以用于访问内部系统的硬编码用户凭据。在找到泄漏的凭据后,您可以使用KeyHacks来检查这些凭据是否有效,并学习如何使用它们来访问目标服务。
https://github.com/streaak/keyhacks/
您还应该在项目中搜索敏感的功能。查看是否有任何源代码处理了重要的功能,如身份验证、密码重置、状态更改操作或私有信息读取。
注意处理用户输入的代码,如HTTP请求参数、HTTP头、HTTT请求路径、数据库条目、文件读取和文件上传,因为它们为攻击者提供了利用应用程序的漏洞的潜在入口点。
查找配置文件,因为它们允许您收集架构的更多信息。此外,请搜索您可以攻击的旧端点和S3桶url。记录这些文件,以便以后进一步审查。
过时的依赖关系和未检查的危险函数使用也是错误的一个巨大来源。注意正在使用的依赖项和导入项,通过版本列表,看看它们是否过时。
记录任何过时的依赖项。您可以稍后使用这些信息来寻找可能对您的目标有效的公开披露的漏洞。
GitrobTruffleHog这样的工具可以自动化进行GitHub侦察。Gitrob定位推送到GitHub上公共存储库的潜在敏感文件。
https://github.com/michenriksen/gitrob/
TruffleHog专门通过进行正则表达式搜索和扫描高熵字符串来寻找存储库中的秘密。
https://github.com/trufflesecurity/truffleHog/


其他嗅探OSINT技术


到目前为止,我讨论过的许多策略都是开源智能(OSINT)的例子,或者是从公共信息来源收集情报的实践。
本节详细介绍了可能用于提取有价值信息的其他OSINT源。首先,检查公司发布的工程师职位。工程职位列表通常会显示该公司使用的技术。例如,看看像这样的广告:
全栈工程师最低资格:熟练使用Python和C/C++Linux经验,Flask, Django, 和 Node.js经验亚马逊网站服务经验,特别是EC2,ECS,S3和RDS
通过阅读这篇文章,你会知道该公司使用Flask、Django和Node.js来构建其web应用程序。工程师还可能在Linux机器的后端使用Python、C和C++。最后,他们使用AWS来外包其运营和文件存储。
如果你找不到相关的工作帖子,你可以在领英LinkedIn上搜索员工的个人资料,并在堆栈溢出Stack Overflow 和Quora等论坛上阅读员工的个人博客或他们的工程问题。
公司顶级员工的专业知识通常反映了在开发过程中使用的技术。
另一个信息来源是员工的谷歌日历。人们的工作日历通常包含会议记录、幻灯片,有时甚至包括登录凭证。如果一个员工意外地与公众分享他们的日历,您可以访问这些日历。
该组织或其员工的社交媒体页面也可能泄露有价值的信息。例如,黑客实际上已经在办公室自拍的背景上可见的便利贴上发现了一组有效的凭证!
如果该公司有一个工程邮件列表,注册它,以深入了解该公司的技术和开发过程。还要检查该公司的共享幻灯片或Pastebin账户。
有时,当组织出席会议或有内部会议时,他们会上传幻灯片到幻灯片分享以供参考。您可能能够找到有关该公司所面临的技术栈和安全挑战。
Pastebinhttps://pastebin.com/)是一个短期粘贴和存储在线文本的网站。人们使用它来跨机器或与他人共享文本。工程师有时使用它与他们的同事共享源代码或服务器日志,以便查看或协作,所以它可以是一个很好的消息来源。
您还可以找到上传的凭据(身份验证凭据)和开发注释。去Pastebin,搜索目标的组织名称,看看会发生什么!
你也可以使用自动工具,如PasteHunter  来扫描公开贴出的数据。   
https://github.com/kevthehermit/PasteHunter/

最后,查阅存档网站,如Wayback Machine,这是互联网内容的数字记录(图5-9),它记录了一个网站在不同时间点的内容。
https://archive.org/web/
使用Wayback Machine,您可以找到旧的端点、目录列表、被遗忘的子域、url和已经过时但仍在使用的文件。
Tomnomnom的工具可以自动从Wayback Machine中提取端点和url。
https://github.com/tomnomnom/waybackurls/

s3桶+github+OSINT+指纹信息收集3


技术栈指纹


指纹识别技术可以帮助您更好地理解目标应用程序。指纹识别是指识别机器或应用程序使用的软件品牌和版本。此信息允许您对应用程序执行有针对性的攻击,因为您可以搜索与特定版本相关的任何已知的错误配置和公开披露的漏洞。例如,如果您知道服务器正在使用Apache的旧版本,可能会受到Apache漏洞的影响,您可以立即尝试使用它攻击服务器。
安全社区将已知的漏洞归类为常见漏洞和暴露(CVEs),并给每个CVE一个数字以供查阅。在CVE数据库中搜索它们。

https://cve.mitre.org/cve/search_cve_list.html
对应用程序指纹识别的最简单方法是直接与应用程序接触。首先,在机器上运行Nmap并带上-sV标志,以启用端口扫描的版本检测功能。

在这里,你可以看到Nmap试图为我们提取一些运行在目标主机上软件的指纹:

$ nmap scanme.nmap.org -sV

s3桶+github+OSINT+指纹信息收集3

接下来,在Burp中,向服务器发送一个HTTP请求,检查用于深入了解技术栈的HTTP报头。服务器可能会泄露许多对其技术的指纹识别有用的信息:
Server: Apache/2.0.6 (Ubuntu)X-Powered-By: PHP/5.0.1X-Generator: Drupal 8X-Drupal-Dynamic-Cache: UNCACHEABLESet-Cookie: PHPSESSID=abcde;
像Server和x-power-by这样的HTTP头是很好的技术指标, Server头通常显示运行在服务器上的软件版本,X-Powered-By 显示了所使用的服务或脚本语言。
此外,某些头只被特定的技术使用。例如,只有Drupal使用 X-Generator 和 X-Drupal-Dynamic-Cache。特定技术的cookie,如PHPSESSID也是线索,如果服务器发回一个名为PHPSESSID的cookie,它很可能是使用PHP开发的。
网页的HTML源代码也可以提供线索,许多web框架或其他技术将在源代码中嵌入一个签名。右键单击网页,选择查看源代码,然后按CTRL-F来搜索短语如:powered by, built with, running。例如,您可能会发现源代码中编写的:Powered by: WordPress 3.3.2
检查特定技术的文件扩展名、文件名、文件夹和目录。例如,在根目录下的一个名为phpmyadmin的文件,如下,意味着应用程序运行PHP。
https://example.com/phpmyadmin

名为jinja2且包含模板的目录意味着该站点可能使用Django和jinja2。您可以通过访问特定技术的各个文档来找到有关其文件系统签名的更多信息。
一些应用程序可以自动化这个过程。Wappalyzer是一个浏览器扩展,它可以标识在站点上使用的内容管理系统、框架和编程语言。
https://www.wappalyzer.com/
BuiltWithhttps://builtwith.com/)是一个网站,可以显示被测网站使用哪些web技术构建。
StackSharehttps://stackshare.io/)是一个在线平台,允许开发者分享他们使用的技术。你可以用它来了解该组织的开发人员是否已经公开了他们的技术栈。
最终,Retire.js是一个检测过时的JavaScript库和Node.js包的工具。你可以使用它来检查一个网站上的过时技术。


原文始发于微信公众号(SecurityBug):s3桶+github+OSINT+指纹信息收集3

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月14日18:08:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   s3桶+github+OSINT+指纹信息收集3https://cn-sec.com/archives/2850202.html

发表评论

匿名网友 填写信息