黑客渗透神器-Burp Suite使用指南

b1b858aeffc29ca0211e44c3d0e52b83.jpeg

在日常的渗透测试中,借助漏洞扫描工具,我们可以更高效更快速的发现系统或者服务漏洞。


在本篇,我将给大家介绍一款黑客渗透神器-Burp Suite。


一、前言


Burp Suite的功能我们可以分为核心功能和辅助功能;核心功能包括Target、Proxy、Spider、Scanner、Intruder,辅助功能包括Repeater、Sequencer、Decoder、Comparer,除了这些之外,Burp Suite还有拓展、项目选项,用户选项和警报这些设置或者功能。接下来,我们先来了解一下每个模块的功能。


Target

目标模块用于设置扫描域(target scope)、生成站点地图(sitemap)、生成安全分析。


Proxy代理模块主要用于拦截浏览器的http会话内容。


Spider爬虫模块用于自动爬取网站的每个页面内容,并生成完整的站点地图。


scanner扫描模块用于自动检测漏洞,分为主动扫描和被动扫描。


Intruder入侵模块根据检测到的可能存在的漏洞,调用攻击载荷,对目标进行攻击。入侵模块的原理是根据访问链接中存在的参数或者变量,调用本地词典、攻击载荷对目标进行攻击。


Repeater重放模块用于实现请求重放,通过修改参数进行手工请求回应的调试。


Sequencer序列器模块用于检测参数的随机性,例如密码或者令牌是否可预测,以此判断关键数据是否可被伪造。


Decoder解码器模块用于实现对URL、HTML、Base64、ASCII、二/八/十六进制、哈希等编码转换,并支持多次编码解码操作。


Comparer对比模块用于对两次不同的请求和回应进行可视化对比,以此区分不同参数对结果造成的影响。


Extender拓展模块是burpsuite非常强悍的一个功能,也是它跟其他Web安全评估系统最大的差别。通过拓展模块,可以加载自己开发的、或者第三方模块,打造自己的burpsuite功能。通过burpsuite提供的API接口,目前可以支持Java、Python、Ruby三种语言的模块编写。


Options分为Project/User Options,主要对软件进行全局设置。


Alerts显示软件的使用日志信息。


二、Burp Suite使用指南


Burp Suite可执行程序是Java文件类型的jar文件,分为免费版和专业版。免费版的Burp Suite会有许多限制,无法使用一些高级工具,比如Scanner模块。如果想使用更多的高级功能,需要付费购买专业版。我们使用的是Burp Suite Pro 1.7.13版本,支持全部功能。


2.1、 安装与帮助


由于Burp Suite是用Java语言开发的,运行时依赖JRE,需要安装Java环境才可以运行。所以首先我们需要安装Java环境,大家可以百度搜索JDK,下载安装包然后安装即可。安装完成之后,我们可以通过命令java -version来查看,如果能返回Java版本信息,则说明已经安装正确。注意,在Linux环境,如果进行过系统更新,Java版本比较新,会运行不了Burp Suite,解决方法就是使用旧版本的Java。


下载好的Burp Suite无需安装,直接运行BurpLoader.jar即可。我的Burp Suite是在kali里面运行的,所以直接在路径目录下打开就可以了,如下图所示。


118ffa846ff589d3539ceb71f095f279.jpeg


正常打开之后,我们就可以看到Burp Suite的主界面了,如下图所示。 


2008632b9e3deac034d02489dcfa1bfc.jpeg


2.2、 代理功能


代理工具用来拦截所有通过代理的网络流量,如客户端的请求数据,服务器端的返回信息等。Burp Suite主要拦截HTTP和HTTPS流量,通过拦截再以中间人的方式对拦截到的信息做各种处理来达到目的。在日常工作中,我们最常用的Web客户端就是Web浏览器,我们可以通过设置代理功能来拦截Web浏览器的流量,Burp Suite默认本地代理端口为8080。具体设置如下图所示。 


c69790e5ff417a85b5ea275f1f8c383f.jpeg


接下来我们设置Web浏览器代理,我们在这里以Firefox浏览器为例,同一款浏览器的不同版本设置方法基本一致。 


d9ae7f462b1741eec23b7d4cc1bad0d9.jpeg


910a317ca8c4af035703532853ce29a7.jpeg


代理功能设置好之后,我们通过Burp Suite拦截kali访问OWASP靶机的HTTP流量来具体了解一下代理功能。


我们通过kali的Firefox来访问OWASP靶机:http://10.10.10.131/dvwa,回车之后我们可以看到浏览器一直处于加载状态,这就说明会话被拦截成功了,如下图所示:

 

9fe383929a6f0f2430593f0aa02ca0eb.jpeg


接下来我们在Burp Suite里面查看Proxy的intercept,如下图所示: 


0b05312f7fedfc39d59df22e30d5bb07.jpeg


可以看到intercept里面我们已经拦截到HTTP的get请求包,上面的图片里面我标记出了一些按钮,在这里给大家说一下这些按钮的功能:


Forward:表示将拦截的数据包或修改后的数据包发送至服务器端。

Drop:表示丢弃当前拦截的数据包。

Interception is on:表示开启拦截功能,点击之后变成Interception is off表示关闭拦截功能。

Action:可以将拦截到的数据包发送给其他模块处理,例如Spider、Scanner等模块。


接下来通过点击Forward按钮把拦截到的数据包发送给靶机,我们就可以通过Firefox看到靶机的Web界面了。


2.3、 目标功能


目标模块用于设置扫描域(target scope)、生成站点地图(sitemap)、生成安全分析。该模块最主要功能就是显示信息,它会默认记录浏览器访问的所有页面,可以看到爬虫爬取到的页面以及所有页面的请求和响应信息。


由于Burp Suite默认开启了被动爬虫功能,当我们在访问Web界面的时候,会自动爬行得到该站点地图,所以我们可以直接在Targer里面的Site map里面找到目标站点,鼠标右键,在下拉菜单中选择“Add to scope”,把站点添加进scope,如下图所示: 


f98c08695e8f5c45dc41aa27ffc8f482.jpeg


ad296c53127d8c98137bcf424ffc526b.jpeg


为了使我们能更加清楚查看目标站点,我们可以通过Filter功能对站点显示进行设置。单击"Filter",选择"Show only in-scope items",只显示scope列表里面的站点,其他站点会被隐藏。"Filter"过滤规则很灵活,大家可以根据不同的类型进行过滤,在这里就不赘述了。 


f8b224616a73ae562399c1f3bb9c3f8e.jpeg


2.4、 爬虫功能


爬虫模块用于自动爬取网站的每个页面内容,并生成完整的站点地图。在这里我们以OWASP的DVWA靶机为例,给大家演示一下如果通过爬虫主动爬取站点地图。


当我们拦截到HTTP的数据包之后,选择"Action"按钮,选择"Send to Spider"发送给爬虫模块,当然还可以在HTTPhistory界面,Site map界面找到对应站点链接发送给爬虫模块,如下图所示:

 

4c9b34e3e4603afa8f1ca2532ba6208a.jpeg


接下来我们在Spider模块的Control界面就可以看到爬虫状态,如下图所示: 


471c3209392e265a9c576a09dbc6941b.jpeg


在Options界面我们可以设置爬虫线程,爬行深度,表单提交,被动爬虫功能等规则,大家可以根据自己的需求来自行设置,如下图所示: 

ac07376e8c7b0b09c89afaa6905a22e3.jpeg


三、Burp Suite扩展板块

前面给⼤家介绍了Burp Suite的安装以及目标模块、代理模块、爬⾍模块。接下来我们再聊聊关于Burp Suite的其他模块以及使⽤⽅法。


3.1、扫描功能


扫描模块⽤于⾃动检测漏洞,分为主动扫描和被动扫描。Burp Suite可以对某⼀个URL或者全站进⾏扫描。


如果只需要扫描某⼀个单⼀Web⻚⾯,我们可以通过Intercept将拦截到的请求执⾏"Do an active scan",具体操作如下图所示:


1e831e20293c93be8ab50e5e41b9f2b6.jpeg


如果需要对全站进⾏扫描,我们可以先通过Spider爬取到站点地图,然后在Target的Site map⾥⾯选择需要扫描的⽬标,⿏标右键右击选择"Actively scan this host",具体操作如下图所示:


d3787cb62454e987a1253ba7110fccf5.jpeg


点击之后会弹出主动扫描向导,我们可以选择删除不需要扫描的⻚⾯,提升扫描速度。主要包括以下规则:

  • Remove duplicate items:删除重复选项

  • Remove items already scanned:删除已扫描选项

  • Remove out-of-scope items:删除不在scope的选项

  • Remove items with no parameters:删除没有参数的选项

  • Remove items with media responses:删除有media响应的选项

  • Remove items with the following extension:删除有以下扩展名的选项


具体如下图所示:


546e44e9bca905a7b823dad154db39ae.jpeg


单击next会显示需要扫描的⻚⾯:


643ee363ac1c09b61aa27f9fd72ffb72.jpeg


点击OK,则会开始主动扫描。在扫描过程中,如果扫描到登录表单,Burp Suite会提示你输⼊登录信息,可以选择登录,也可以选择放弃。


在Scanner模块,包括五个选项,分别是Issue activity、Scan queue、Live scanning、Issue definitions和Options。


Issue activity:显示扫描到的漏洞信息。


8c88d941af3c6d718dfcadc46a80bb4d.jpeg


Scan queue:显示扫描任务,可以看到任务扫描状态,发现问题数⽬等信息。


29be270abd6351ebacc2417fa81e5cd4.jpeg


Live scanning:可以看到当前扫描⽅式以及扫描范围。


eb403a6e3e5ca92304830332a2420b6e.jpeg


Issue definitions:问题释义,⽤来对扫描到的问题或者漏洞进⾏描述。


e6890e7193d1fd8da92345622bad42b5.jpeg


Options:选项,⽤来对Scanner进⾏设置,主要包括五个模块:

Attack Insertion points:参数扫描选项,可以设置URL、cookie等参数。


64377cae905e917189a2808b92b9225e.jpeg


Active Scanning Engine:主动扫描设置,可以设置主动扫描线程、超时和最⼤请求连接数。


d9f35967eaec21224ad42d804a9943c6.jpeg


Active Scanning Optimization:主动扫描优化,可以设置主动扫描速度和精准度。


84949c0ce8c8b24e78251144e5c296e7.jpeg


Scan Issue:扫描问题设置,可以设置扫描类型,针对不同问题的扫描强度。


fa8a77137beeb88a9b403b12dc806194.jpeg


Static Code Analysis:设置可执⾏代码的静态分析的扫描类型。


f8afa5150b2ad05d25869e5aa03030a6.jpeg


3.2、⼊侵功能


⼊侵模块根据检测到的可能存在的漏洞,调⽤攻击载荷,对⽬标进⾏攻击。⼊侵模块的原理是根据访问链接中存在的参数或者变量,调⽤本地词典、攻击载荷对⽬标进⾏攻击。


Intruder⼯作原理是在拦截到的请求包中,通过修改请求参数来获取不同的应答。在每⼀次请求中,Intruder通常会携带⼀个或多个有效payload,在不同位置进⾏攻击重放,通过对⽐应答来分析获得需要的信息。Intruder可以实现标识符枚举、模糊测试、SQL注⼊,⽬录遍历等。


接下来我们对OWASP靶机的DVWA登录界⾯通过Intruder实现爆破,字典我们使⽤Burp Suite⾃⽣成的字典。该演示只为了实验,⼤家请勿⽤于其他⾮法操作。具体实现过程如下:


第⼀步:将拦截到的DVWA的登录请求发送到Intruder,如下图所示:


e735f79c774539af0b6082acc4b88e91.jpeg


第⼆步:配置Attack type选择攻击类型,分为四种攻击类型:

Sniper:对变量依次进⾏破解

Battering ram:对变量同时进⾏破解

Pitch fork:每个变量使⽤⼀个字典

Cluster bomb:每个变量使⽤⼀个字典,进⾏交集破解

在这⾥我们选择Cluster bomb,如下图所示:


a6b0ac884a1817010813536daef74532.jpeg


第三步:清除已有参数,重新配置变量。我们先单击Clear按钮清除已有参数,再通过Add按钮重新设置变量,如下图所示:


c0605560a46f945d8f2eab608d025626.jpeg


第四步:设置字典。在Payloads设置⾥⾯,有四个区域:

Payload Sets:有以下两个选项。

  • Payload set:针对指定变量进⾏配置

  • Payload type:常⻅的有Simple list(简单列表)、Numbers(数字列表)、Dates(⽇期列表)、Runtime file(运⾏时读取⽂件)。


Payload Options:默认为Simple list,不同设置的Payload type,此字段不同。


Payload Processing:对字典每⾏的字符串进⾏处理,可以进⾏MD5加密,字符串截取,加⼊前缀、后缀等操作。


Payload Encoding:对字符进⾏URL转码。


在这⾥,我们Payload set选择2,Payload type选择Brute force(暴⼒破解),Payload Option设置如下图所示:


6f5396a42aadcc75df86f09fe468e9f5.jpeg


第五步:设置Option模块。在此模块中,可以配置请求线程、请求结果集格式等,在本实验中,我们Option使⽤默认配置即可,如下图所示:


208ad2a14d42a90789f5f5644e55d707.jpeg


第六步:配置完成之后,我们通过点击Start attack进⾏扫描,过程如下图所示:


27b0d678bc9882764985a514ed1addd3.jpeg


只要⼤家花时间去等待Intruder扫描,最终是可以得到DVWA登录的⽤户名和密码的。


3.3、重放功能


重放模块⽤于实现请求重放,通过修改参数进⾏⼿⼯请求回应的调试。Repeater属于HTTP请求编辑⼯具,可以随意更改HTTP请求进⾏测试。在这⾥我们仍然对登录DVWA的HTTP请求包通过Repeater进⾏修改,来查看修改后的回复内容,如下图所示:

8717ceffdb9ca673174602772bde3ae1.jpeg


我们对⽤户名和密码进⾏修改,修改完成之后通过点击go按钮,发送请求给靶机,然后查看回复内容,如下图所示:


527139a6d3814cf56c6f3d365c0d74fa.jpeg


3.4、序列器功能


序列器模块是⼀种⽤于分析数据样本随机性质量的⼯具。可以⽤它测试应⽤程序的会话令牌,密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能很好地降低这些关键数据被伪造的⻛险。我们仍然使⽤DVWA的登录⻚⾯进⾏测试,如下图所示:


93f4864dcc8b857913378b7e42cc2e19.jpeg


点击Start live capture开始分析,分析过程如下图所示:


304f41417cc4c6447c2eb13a3725397b.jpeg


3.5、拓展功能


拓展模块是burpsuite⾮常强悍的⼀个功能,也是它跟其他Web安全评估系统最⼤的差别。通过拓展模块,可以加载⾃⼰开发的、或者第三⽅模块,打造⾃⼰的burpsuite功能。通过burpsuite提供的API接⼝,⽬前可以⽀持Java、Python、Ruby三种语⾔的模块编写。我们在BApp Store⾥⾯找到CO2插件安装,然后就可以结合SQLmap来实现SQL注⼊了,这个案例我们后⾯在实战部分再给⼤家演示。


979d691e559dae8c1315e2f4d9280eb8.jpeg


3.6、解码功能


解码器模块⽤于实现对URL、HTML、Base64、ASCII、⼆/⼋/⼗六进制、哈希等编码转换,并⽀持多次编码解码操作。如下图所示:


a3ca02b0f712848911fdaf417fda958d.jpeg


3.7、对⽐功能


对⽐模块⽤于对两次不同的请求和回应进⾏可视化对⽐,以此区分不同参数对结果造成的影响。我们使⽤两个相同的DVWA主⻚的请求包来做对⽐,给⼤家演示⼀下Comparer功能。先把请求包发送给Comparer模块,如下图所示:


bda526a86b355810d5e0068d9548ccf7.jpeg

然后在Comparer模块中,通过Word或者Bytes进⾏⽐较,如下图所示:


d4ddbe02b284cd533d04fe97afb69551.jpeg


3.8、选项功能


分为Project/User Options,主要对软件进⾏全局设置。这个可以根据需求⼤家⾃⾏设置,⼀般情况下使⽤默认设置即可。Burp Suite的所有模块我们就介绍完成了,下篇⽂章我们使用Burp Suite进行实战。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值