渗透测试必备的5个常用工具 | 渗透测试入门
作者:FancyPig | 发布时间: | 更新时间:
相关阅读
视频讲解
本期视频,我们将分享渗透测试常用的5个工具,第一个是Firebug,可以针对网页及接口进行检查、调试,在很多年前他已经被集成到浏览器的开发者工具(DevTools)里了,我们现在打开浏览器F12就可以看到。第二个就是BurpSuite,我们在这里会介绍一些你没有用过的功能,譬如序列器的功能,它可以用于分析一些数据样本随机性的质量工具,用于检测会话令牌、密码重置令牌等是否可以被预测到。第三个工具,是浏览器中的一个插件,叫做Containers,可以通过它切换不同账户,这样就不需要一直使用无痕浏览,对于测试水平越权、垂直越权,再或者是其他场景非常便捷。第四个工具是FFUF,用于模糊测试,第五个是ParamSpider,可以帮助我们发现API端点的参数……
图文讲解
今天我将向你介绍我用于测试网络应用的工具。现在每个人都有自己的方法或风格。就我个人而言,我喜欢看一下是什么让一个应用程序变得独特。那就是使用的自定义代码,通常我把大量的时间放在测试认证、授权和逻辑问题上。简而言之,我喜欢手动测试。兄弟不要用手动测试作为你缺乏自动化能力的借口,如果你有喜欢的工具可以分享,那么请在下面的评论中写上,并让我们知道原因。当然,如果你喜欢这个视频,不要忘记喜欢和订阅,这真的有助于我们。让我们深入了解。首先,我们有一个工具,我认为它有点被低估了,你们中的一些人可能还记得Firebug,

但在2016-2017年,它被完全集成到我们现在的DevTools中。因此,如果你按下ctrl shift c,我们的DevTools就会弹出来,你可以看到我们可以很容易地检查页面,看到上面有什么。

但为了给你一个快速的概述,我们在这里有一个控制台,所以你可以开始与你的应用程序进行互动。因此,查看cookie、设置cookie、运行函数等。我们还有调试器,如果你想调试客户端的脚本。然后是网络标签,我一般用它来查看应用程序是否在进行API调用或从可疑的地方加载资源。

一般来说,它只是让你对应用程序的行为有一个很好的概述。最后,我们有存储空间,这是一个非常重要的检查,不仅要检查cookies,而且还要检查,尽管这是一种不好的做法,很多应用程序将敏感的信息存储在本地存储。

因此,你可能会在这里发现诸如会话令牌之类的东西,它们很容易被跨站脚本窃取。现在,我们有了BurpSuite。那么你对它出现在我的清单上感到惊讶吗?不,不。我们甚至需要在这里谈论它吗?其实不需要。我想我们可以做的是快速浏览一下序列器的功能,这不是我经常看到的东西,但如果你想分析一个令牌,看看它是否值得进一步调查,这真的很有用。所以在这里我有这个POST请求,它将验证这个用户名和密码。你可以看到,我们得到了你成功登录的信息,

我们在这里有一个令牌。当我得到一个新的令牌时,我注意到它的大部分内容都保持不变,所以这有点可疑。所以我要做的是点击右键,点击发送至序列器,

来到序列器,我们所需要做的是配置令牌在响应中的位置。所以我们只需点击配置。在这里,我们可以突出显示它,它会自动在表达式前后添加分隔符。

点击ok,然后点击start live capture。当然,如果你在一个实时网站上做这个,它将需要更长的时间,它将捕获大约20,000个令牌,但它将是相当快的,因为我们在本地做它。所以现在我想做的是点击分析,

如果我们来到字符级别的分析,我们可以看到,实际上,正如我们所怀疑的那样,大部分的令牌没有变化。

然后我们可以看看这些最后个字符的实际熵和随机性是什么。我们可能还想在解码前进行base64,所以让我们试一试。而且它给我们一个更清晰的结果。因此,在这个令牌中,只有最后三个字符是变化的,这绝对值得进一步研究,因为我们可能会伪造我们自己的令牌,或者强行使用已经存在的会话令牌,劫持其他用户的会话。在我们继续前进之前,我只想提一下几个扩展。因此,JWT编辑器真的很有帮助,pentest mapper也相当不错。它还带有一个检查表,所以你可以在github仓库中找到这个,如果你像我一样没有组织,那么这可以帮助你保持进度, 并确保你有效地利用你的时间。我们还有autorize,这是一个相当有名的测试访问控制的插件,然后我们还有一些其他的东西,比如绕过WAF,我还有复制为python请求和一个简单的json转换器。让我们来看看下一个工具。 现在,在不同的用户账户之间进行测试,所以用户和管理员以及不同的会话可能有点令人头疼,但容器让我们在之间保持一些分离,这样我们就不必不断重新登录,使用私人模式或多个浏览器。你是说你没有安装Chrome、Firefox、Edge、Opera、IE、Brave和Vivaldi只是为了管理你的会话?所以基本上一旦你安装了容器插件,你所需要做的就是下来选择一个新的容器。

所以我将打开bb1,我将关闭这个,然后也打开bb2,在这里我将来到我的应用程序,我将作为两个不同的用户登录。在这里你可以看到我们有Jeremy,

在这个标签中,当我们刷新它时,我们有geoffrey,

使它真的很容易在这些不同的账户中进行测试,使它真的很容易测试诸如访问控制和会话问题。如果你想了解更多关于容器插件的信息,你可以来到这里的扩展页面,试一试。

好吧,那么第四个我们有ffuf或ffuf或fuff,我仍然不知道怎么说,但它代表fuzz faster you fool,它是一个伟大的工具, 用于发现新的端点和子域或用于fuzzing参数。让我们看看,我们只要输入ffuf,然后-u http://我将粘贴一个ip地址,然后输入关键字FUZZ。所以这个关键词FUZZ会在工具运行时被替换成我们单词列表中的每一项,然后我们就用/usr/share/wordlists/dirb/common.txt我们也可以检查其他的扩展名,所以如果我们想检查,如.php.bak,.txt文件等等。

所以,让我们运行这个,你可以看到它返回了一堆结果 和状态代码和大小以及一些其他有用的信息。所以,很明显,我们有一个管理员端点,它给了我们一个302,所以这可能是去了登录端点。还有一些我们可能想检查的资产,我们有一个配置文件,但又是302,可能是去登录的,然后我们还有像机器人和注册这样的东西。现在,如果我们想做子域发现,我们可以做一些事情,比如ffuf -u,我们可以使用,让我们使用http://ffuf.me来做这个,然后单词列表,我们想要一些像/usr/share/seclists我想如果我们进入DIscovery/DNS,我们可以找到一个subdomains-top1million,

让我们只用最大的一个,虽然我们可能不会让它一直运行然后我们需要做的是添加Host头,所以我们有-h,我们把Host:FUZZ.ffuf.me点击回车。

正如你所看到的,我们得到了大量的结果,所以我们要做的是我们要添加一个过滤器,所以我们要过滤掉大小1495。所以,如果我只是在过滤器的大小上添加-fs,然后添加1495,

它就会运行,但我们不会得到大量的误报结果,而且你可以看到我们已经找到了一个潜在的子域来看看。我今天的最后一个工具是paramspider。现在我想我还没有在我的流媒体机器上设置它,所以让我们来到github,

你可以看到这里的仓库,然后如果我们只是点击代码,复制这个,

回来,然后让我们创建一个目录叫paramspider,cd到这里,git clone并粘贴,

然后我们将cd到这里,然后我们有我们的requirements.txt,我们可以看到那里,所以我将 pip3 install -r requirements.txt看起来一切都已经满足了,然后我们可以直接输入./paramspider.py,

它给了我们一些用法说明,所以在这里我要做的是我要传入-d代表域名,我就选tcm-sec.com,

过了一会儿,它应该会输出一个我们可以做的事情的清单,这里它输出了一个准备好被摸索的端点和参数的清单,但我们也可以用这个工具来检查功能或行为是否合理,或者简单地给我们一些洞察力,了解攻击面可能有多大。仅仅看一下结果,往往就能有相当的洞察力,这就是我喜欢这个工具的原因。

所以,这段视频就到此为止,如果你有喜欢的工具想和社区分享,请在下面的评论中留言,如果你喜欢这段视频,别忘了点赞和订阅,我们下期再见!