作为红队成员,就像许多其他APT一样,我们须找到通往目标网络和资产的方法,因此要付出大量努力,从我们可以获得的任何资源中获取登录凭证或令牌。
这并不意味着我们只寻找登录特定服务的用户名和密码,在许多情况下,我们还需要寻找令牌,API密钥,甚至有效Cookie。特别是在采用最佳安全实践并在许多不同服务中使用2FA/MFA的目标中。
有很多方法可以找到凭证或令牌,在这里**,我将展示我发现的10种在我的工作中非常有用的方法,而且不需要进行sg。**
我们要找什么样的凭证?
我们之前提到的有不同的类型和不同的用例。
第一种当是用户名和密码。找到用户名总是好的,如果他们持有高权限,这可能会节省我们横向移动和权限提升工作。虽然有很多情况下,一对好的用户名和密码可能能够直接让我们拿下目标,但有两点我们必须考虑:
-
我们不可能每次都可以找到好用的用户名和密码
-
即使我们找到了,我们还可能需要面对2FA验证
因此,我们需要将目光转移到其他凭据类型。
Cookies我们都知道。但是这是我们比较难得到的,但一旦我们得到了,它比密码更强大,cookie可以绕过99%的2FA。稍后,我们将讨论从目标收集cookie的方法。
我们要讨论的最后一种凭证是令牌和API密钥。这种凭证也是绕过2FA的一种很好的方式,因为它通常是在身份验证过程之后发布的令牌,或者可能是应该用于自动服务的令牌/密钥。令牌和密钥有很多种,不同类型的令牌(与Cookie不同)的用法可能不同。看看这个keyhacks的repo,了解更多关于常见类型的服务令牌使用的信息。
让我们深入了解一些练习方法,以便在我们的参与中收获尽可能多的凭据。
方法#1:源代码获取
一般闭源商用源代码是不能从网上直接下载的,因此这个方法不推荐,如果涉及商用代码信息窃取是违法的。
方法#2:网上泄露的数据
有一些资源包含从不同漏洞泄露的大量用户名和密码集合。例如,几年前发生的LinkedIn违规事件。但人与人一样,通常不会更改密码,除非他们被迫更改,即使如此,很多时候也会从“coolcat2023”更改为“coolcat2024”。
下面是我在信息收集时通常使用的工具:
-
breachdirectory.com
-
dehashed.com
-
leak-lookup.com
BreachDirectory搜索结果
在某些情况下,结果可能不是明文密码,而是散列密码的集合。在这种情况下需要对其进行破解,我们可以使用hashcat结合我们的字典t(就像一个简单的rockyou列表),或者我们可以使用一个在线破解工具,它已经包含了一些巨大的列表:
-
cloudcracker.net
-
hash-cracker.com
-
crackstation.net
-
onlinehashcrack.com
-
等等
方法#3:GitHub Dorking
尽管大多数人对github很熟悉,但仍然有很多红队和bug猎人会忽略这个点。让我们来谈谈这种方法的优点和缺点。
优点:
-
公开可用,我们可以使用一些智能关键字,使我们更快搜索凭据
-
存储库可能包含各种凭证:密码、令牌和API密钥!
-
在程序代码中找到c凭证可以节省我们的时间,因为其中往往会包含凭证的用法
缺点:
-
在大多数情况下,公司不会向公众公开他们的敏感存储库,通常是错误的
-
有时这种github的Dorking可能需要很多时间,
值得一提的是,即使仓库本身没有凭证,它有时可以帮助我们更好地理解如何使用我们从其他地方找到的凭证。
这种方法可能有点耗时,但有一些工具可以自动化这个过程。我最喜欢的工具之一是Trufflehog:https://github.com/trufflesecurity/trufflehog,它可以以docker方式安装运行。
Trufflehog示例的输出
此外,获取更多种类的dorking工具和github关键字,可以看到HackTricks:https://book.hacktricks.xyz/generic-methodologies-and-resources/external-recon-methodology/github-leaked-secrets。
方法#4:WaybackMachine
有时候,为了从目标那里获得一些有效的凭证,我们可以查看目标网站的历史页面。WaybackMachine:https://archive.org/是挖掘我们目标存档的最佳资源。WaybackMachine不仅可以从不同时间恢复网页,还可以从GET请求中收集URL。
很多时候,当我有一个黑盒目标,没有任何办法注册自己的用户,我去WaybackMachine搜索我的目标的一些相关域和子域。之后,我打开结果页面中的URL选项卡,并按日期(最新到最新)排序。在右上角我们有一个搜索框,我们可以用它来查找具有特定关键字的URL,如user,email,uuid,password,key,secret,token等。
从WaybackMachine捕获有效的JWT
我之前在漏洞挖掘中通过这个网站直接挖掘到了目标的IDOR漏洞。
方法#5:postman收集
Postman是一个测试、构建和调试API的平台,这是开发人员构建API的最常用工具之一。
Postman可以用于制作HTTP请求:参数,主体数据,头部,令牌等等。这个工具在开发人员中非常受欢迎,因为他们可以专注于构建后端并轻松测试它,而不需要前端在中间传递数据。
Postman界面(来自Postman.com)
那么,为什么这个工具对黑客也很重要呢?
现在,为了使用Postman,开发人员需要在Postman.com中创建一个帐户。就像在GitHub中一样,在创建帐户并开始处理项目后,他们需要配置项目(“集合”)的类型:公共或私人。
在很多情况下,**我在公共的项目集合中看到过敏感的凭证,主要是API密钥和令牌,但也有cookie,并拥有管理员权限。**对于许多组织来说,这绝对是一个安全盲点,即使是大型和(几乎)安全的公司。
Postman集合中的Cookie、key、token和uid
只需访问Postman.com并搜索我们的目标集合,我们就可以找到有时比用户名和密码更有价值的有价值的数据。如果我们找到JWT或访问令牌,我们可以绕过2FA!
在Postman集合中找到授权header
并且这些凭据通常由应用程序的开发人员使用,因此它通常拥有整个应用程序的管理员权限。
方法#6:特殊文件路径
当我们进行信息收集(ffuf,gobuster,dirbuster等)时,我们有时会在单词列表中遗漏一些重要的文件路径,这些路径是默认文件的凭据。我举一些具体的例子。
VSCode SFTP配置文件。VSCode允许开发人员通过安装SFTP扩展来远程编辑文件。如果开发人员安装了这个扩展,他/她可以在本地VSCode编写代码并会自动同步保存在远程节点如-生产服务器。但问题在哪里?有一个小的配置文件,很多时候可能会有遗留。该文件包含IP地址、用户名和密码,用于将代码自动发送到远程服务器。如果我们发现类似的东西,我们可能可以用FTP连接到服务器,有时这些是SSH的相同密码!
使用VSCode SFTP扩展的FTP凭据
**Config.json文件。**这些文件对我们来说也是非常有价值的,它们拥有各种各样的信用:
config.json文件
Git文件。这是我的最爱之一。fuzzing /.git文件,如果你找到这个端点,使用GitTools:https://github.com/internetwache/GitTools这样的工具来转储和提取文件。一个网站的git文件夹在大多数情况下,代码包含对我们有用的硬编码密钥。为了自动化从转储的git目录中寻找秘密,我推荐使用Trufflehog。
方法#7:公开的Docker注册表
就像公共GitHub存储库和公共Postman集合一样,我们可以找公开可用的Docker注册表。我见过许多公司开放自己的注册表来上传他们的Docker镜像并管理它(而不是向DockerHub付费)。但他们忘记了他们必须配置一个安全的密码来访问这个注册表。
结果是这些公司将他们的Docker镜像上传到这些注册中心,任何人都可以下载这些Docker镜像,其中包含公司的纯源代码。就像是找到了目标的代码库!
对此,请看到本公众号中的文章:《安全盲点:如何从Docker Registry到RCE》,这里不会在这里深入讨论细节。
方法#8:JavaScript文件
我们可以通过JavaScript了解很多关于网站的信息。JavaScript包含前端逻辑的一部分,它告诉我们当XHR/AJAX请求被发送时会发生什么,API路径等等。
除此之外,JavaScript也可能包含一些凭证。在大多数情况下,它将是一些API密钥,Firebase令牌和其他第三方密钥。但在其他情况下,甚至可能是JWT的服务和密码留在代码中。
在目标的JavaScript文件中找到有效的JWT
上面的图片来自我的一个项目,发现了一个拥有高级权限的“测试”用户的JWT。这有助于进一步寻找后面的漏洞。
方法#9:通过已拿下的目标横向
假设我们已经设法获得了对目标服务器的特权访问权限,并且我们希望横向移动以获得对其他资产的访问权限,我们可以考虑使用这些已经拿下的节点作为密码陷阱。
在大多数情况下,服务器的密码在公司的其他服务器之间共享。特别是当有像Ansible这样的自动化时,为了做自动化的事情,它必须使用SSH凭据连接到每个节点。如果有一个共享的密码,你可以击败整个网络,只需危及一台服务器。
如果我们在一个随机的Ubuntu服务器上有root用户,我们可以安装一个工具,如3Snake,用于转储每个SSH密码或键盘记录SUDO命令。如果我们等到下一次人类/自动化登录到我们的拿下的服务器时,我们将获取密码,并能够将其密码喷洒到其他服务器。
方法#10:注入恶意JavaScript
在这种情况下,我们可以通过登录表单或cookie更改或注入恶意JavaScript代码到网页。这可以通过两种主要方式来实现:
-
注入存储XSS键盘记录程序
-
存储加载到网页的静态文件(JS、CSS、图像)的Bucket S3
关于第二种方式(使用S3桶),请看本公众号中的文章《红队攻防 | 从S3存储桶到企业内部专网》。
如果我们将目光放在加载到网站的JavaScript内容上,我们可以窃取使用该网站的所有用户的凭据!
*END
为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
黑客&网络安全如何学习?
今天只要你给我的文章点赞,我自己多年整理的282G 网安学习资料免费共享给你们,网络安全学习传送门,可点击直达获取哦!
由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了282G视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
更多内容为防止和谐,可以扫描获取哦~
本文转自 https://blog.csdn.net/Python_0011/article/details/142410722?spm=1001.2014.3001.5502,如有侵权,请联系删除。
标签:10,令牌,凭证,Postman,就够,密码,红队,com,我们 From: https://blog.csdn.net/weixin_57514792/article/details/142414319