红队攻防 | 凭证获取的10个方法,零基础入门到精通,收藏这一篇就够了

作为红队成员,就像许多其他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,如有侵权,请联系删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146699.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

500元以内头戴式耳机哪款好?盘点500元以内百元宝藏品牌机型推荐

作为耳机发烧友,我深知一副优质的头戴式耳机都能为我们带来沉浸式的听觉体验,但然而,面对市场上琳琅满目的耳机品牌和型号,500元以内头戴式耳机哪款好?对于这个问题我将为大家盘点500元以内百元宝藏品牌机型推荐无论你…

读构建可扩展分布式系统:方法与实践10最终一致性

1. 最终一致性 1.1. 在一些应用领域,通常谈论的是银行和金融行业,最终一致性根本不合适 1.2. 事实上,最终一致性在银行业已经使用了很多年 1.2.1. 支票需要几天时间才能在你的账户上进行核对,而且你可以轻松地开出比账户余额多的…

【Elasticsearch】-实现向量相似检索

1、http请求方式 如果elasticsearch服务设置账号密码,则在请求的header中添加 Basic Auth 认证 请求方式:Post 请求地址:/index_name/_search 请求body:json格式 {"size": 10, //返回条数"min_score": 0.…

一生一芯 预学习阶段 PA1--RTFSC中“make menuconfig”

Enable debug information 问题如上。 在menuconfig将 Enable debug information 选项打开,编译时会产生什么变化? 从选项上看是打开了支持调试的选项,编译时应该是添加了支持编译的参数,具体看代码。 首先,我们先看…

Tomcat 乱码问题彻底解决

1. 终端乱码问题 找到 tomcat 安装目录下的 conf ---> logging.properties .修改ConsoleHandler.endcoding GBK (如果在idea中设置了UTF-8字符集,这里就不需要修改) 2. CMD命令窗口设置编码 参考:WIN10的cmd查看编码方式&am…

【hot100-java】【组合总和】

R8-回溯篇 印象题&#xff0c;很基本的回溯 class Solution {void backtrack(List<Integer> state,int target,int[] choices,int start,List<List<Integer>> ret){//子集和等于target&#xff0c;记录解if (target0){ret.add(new ArrayList<>(state)…

Java ----常用类

包装类 包装类的分类 1) 针对八种基本数据类型相应的引用类型—包装类2) 有了类的特点&#xff0c;就可以调用类中的方法。3) 如图 包装类和基本数据的转换 jdk5 前的手动装箱和拆箱方式&#xff0c;装箱&#xff1a;基本类型转包装类型&#xff0c;拆箱&#xff1a;包装类型…

探索丹摩智算平台的奇妙之旅:我的CogVideoX实践实验与深刻体验

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀CogVideoX &#x1f4d2;1. 初识CogVideoX&#x1f4da;2. 部署与准备&#x1f31e;在丹摩智算平台上创建实例&#x1f338;CogVideoX代码仓库…

Vue3 中组件传递 + css 变量的组合

文章目录 需求效果如下图所示代码逻辑代码参考 需求 开发一个箭头组件&#xff0c;根据父组件传递的 props 来修改 css 的颜色 效果如下图所示 代码逻辑 代码 父组件&#xff1a; <Arrow color"red" />子组件&#xff1a; <template><div class&…

公司网站改版时,需要注意哪些细节?

在公司网站改版时&#xff0c;需要注意的细节非常多&#xff0c;这些细节将直接影响到网站的用户体验、SEO效果以及整体品牌形象。以下是一些关键的注意事项&#xff1a; 明确改版目标&#xff1a; 在改版前&#xff0c;要明确改版的目标是什么&#xff0c;比如提升用户体验、增…

Linux:权限管理

基本权限和归属 权限和归属 基本权限与归属 • 访问权限 – 读取&#xff1a;允许查看内容-read – 写入&#xff1a;允许修改内容-write – 可执行&#xff1a;允许运行和切换-excute对于文本文件&#xff1a;r读取权限&#xff1a;cat、less、grep、head、tailw写入权限&am…

[已更新前两问代码+全部建模]2024华为杯C题详细思路代码文章建模分享研究生数学建模竞赛数学建模研赛

截止9.21 12点 已更新问题一二的代码和全部内容的建模 下面我们会先进行代码讲解,之后给出全部内容的建模公式 ## https://docs.qq.com/doc/DVWhyZ1NFY01XcmNw基于磁通密度数据的特征提取与分类分析。 问题一代码详解 1. 导入必要的库 import pandas as pd import numpy as…

Innodb内存结构

缓冲池Buffer Pool: 缓冲池是innodb内存结构缓冲区中的核心部分&#xff0c;在服务启动的时候服务器会向操作系统申请一块大小为128MB的内存空间&#xff0c;所有对数据库中数据的增删查改操作均在缓冲池bufferPool中完成&#xff0c;并且缓冲区中其他组件的描述信息也都存储在…

AI绘画Flux【lora模型】【微缩景观】:惊艳!3D场景融入手机上的微景观!

大家好&#xff0c;我是灵魂画师向阳 今天和大家分享一款基于Flux底模训练的微缩景观模型——FLUX|手机上的微景观。此模型主要将手机作为微型景观的基底&#xff0c;强制将3d情景融入手机并控制在手机屏幕上方范围内。 作者在使用提示词直出和使用该Loar提示词生成的图片进行…

手撕小顶堆

1. 抛砖引玉 给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)&#xff0c;其中第一个元素来自 nums1&#xff0c;第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 分析 大根堆&#xff08;大顶堆&#x…

多旋翼无人机维修、组装、调试技术详解

多旋翼无人机作为现代航拍、农业植保、物流运输等领域的重要工具&#xff0c;其性能的稳定性和操作的便捷性对于任务的完成至关重要。因此&#xff0c;掌握多旋翼无人机的维修、组装与调试技术&#xff0c;对于无人机操作员及维修人员来说至关重要。本文将详细介绍这三个方面的…

线程池ForkJoinPool实战及其工作原理分析

1. 由一道算法题引发的思考 算法题&#xff1a;如何充分利用多核CPU的性能&#xff0c;快速对一个2千万大小的数组进行排序&#xff1f; 这道算法题可以拆解来看&#xff1a; 1&#xff09;首先这是一道排序的算法题&#xff0c;而且是需要使用高效的排序算法对2千万大小的数…

从一个文本文件中挑选出符合条件的内容行

某天&#xff0c;张三得到一个需求&#xff0c;将如下格式的文本文件中的文件名开头的内容行提取出来&#xff0c;存入一个新的文本文件。 ok 0 文件名&#xff1a;1_zoukaige.mp3 index:10 文件名&#xff1a;2_dahan.mp3 index:20 文件名&#xff1a;3_kuai.mp3 index:30 文件…

【JavaEE精炼宝库】HTTP | HTTPS 协议详解

文章目录 一、HTTP 简介二、HTTP 协议格式&#xff1a;2.1 抓包工具的使用&#xff1a;2.2 HTTP 请求报文格式&#xff1a;2.3 HTTP 响应报文格式&#xff1a;2.4 HTTP 协议格式总结&#xff1a; 三、HTTP 请求详解&#xff1a;3.1 刨析 URL&#xff1a;3.2 方法(method)&#…

Kerberos自我总结Kerberos自我总结

1、协议原理与漏洞产生 1.1 kerberos Kerberos协议是一种基于票据Ticket的认证方式&#xff0c;它由三个角色组成&#xff0c;分别是客户端Client、服务端Server和秘钥分发中心KDC。 协议中的交互分为六步&#xff0c;为AS_REQ、AS_REP、TGS_REQ、TGS_REP、AP_REQ和AP_REP …