All Projects → aress31 → googleauthenticator

aress31 / googleauthenticator

Licence: Apache-2.0 license
Burp Suite plugin that dynamically generates Google 2FA codes for use in session handling rules (approved by PortSwigger for inclusion in their official BApp Store).

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to googleauthenticator

Burpsuite Collections
BurpSuite收集:包括不限于 Burp 文章、破解版、插件(非BApp Store)、汉化等相关教程,欢迎添砖加瓦---burpsuite-pro burpsuite-extender burpsuite cracked-version hackbar hacktools fuzzing fuzz-testing burp-plugin burp-extensions bapp-store brute-force-attacks brute-force-passwords waf sqlmap jar
Stars: ✭ 1,081 (+5905.56%)
Mutual labels:  burp-plugin, burpsuite
SQLi-Query-Tampering
SQLi Query Tampering extends and adds custom Payload Generator/Processor in Burp Suite's Intruder. This extension gives you the flexibility of manual testing with many powerful evasion techniques.
Stars: ✭ 123 (+583.33%)
Mutual labels:  burp-plugin, burpsuite
Cstc
CSTC is a Burp Suite extension that allows request/response modification using a GUI analogous to CyberChef
Stars: ✭ 91 (+405.56%)
Mutual labels:  burp-plugin, burpsuite
burp-suite-utils
Utilities for creating Burp Suite Extensions.
Stars: ✭ 19 (+5.56%)
Mutual labels:  burp-plugin, burpsuite
TurboDataMiner
The objective of this Burp Suite extension is the flexible and dynamic extraction, correlation, and structured presentation of information from the Burp Suite project as well as the flexible and dynamic on-the-fly modification of outgoing or incoming HTTP requests using Python scripts. Thus, Turbo Data Miner shall aid in gaining a better and fas…
Stars: ✭ 46 (+155.56%)
Mutual labels:  burp-plugin, burpsuite
Burp Sensitive Param Extractor
burpsuite extension for check and extract sensitive request parameter
Stars: ✭ 35 (+94.44%)
Mutual labels:  burp-plugin, burpsuite
Burp Unauth Checker
burpsuite extension for check unauthorized vulnerability
Stars: ✭ 99 (+450%)
Mutual labels:  burp-plugin, burpsuite
Knife
A burp extension that add some useful function to Context Menu 添加一些右键菜单让burp用起来更顺畅
Stars: ✭ 626 (+3377.78%)
Mutual labels:  burp-plugin, burpsuite
Headless Burp
Automate security tests using Burp Suite.
Stars: ✭ 192 (+966.67%)
Mutual labels:  burp-plugin, burpsuite
Minesweeper
A Burpsuite plugin (BApp) to aid in the detection of scripts being loaded from over 23000 malicious cryptocurrency mining domains (cryptojacking).
Stars: ✭ 162 (+800%)
Mutual labels:  burp-plugin, burpsuite
Burp Suite Software Version Checks
Burp extension to passively scan for applications revealing software version numbers
Stars: ✭ 29 (+61.11%)
Mutual labels:  burp-plugin, burpsuite
burp-token-rewrite
Burp extension for automated handling of CSRF tokens
Stars: ✭ 15 (-16.67%)
Mutual labels:  burp-plugin, burpsuite
Burp Info Extractor
burpsuite extension for extract information from data
Stars: ✭ 27 (+50%)
Mutual labels:  burp-plugin, burpsuite
Burp Suite Error Message Checks
Burp Suite extension to passively scan for applications revealing server error messages
Stars: ✭ 45 (+150%)
Mutual labels:  burp-plugin, burpsuite
Hackbar
HackBar plugin for Burpsuite
Stars: ✭ 917 (+4994.44%)
Mutual labels:  burp-plugin, burpsuite
Swurg
Parse OpenAPI documents into Burp Suite for automating OpenAPI-based APIs security assessments (approved by PortSwigger for inclusion in their official BApp Store).
Stars: ✭ 94 (+422.22%)
Mutual labels:  burp-plugin, burpsuite
Autorepeater
Automated HTTP Request Repeating With Burp Suite
Stars: ✭ 546 (+2933.33%)
Mutual labels:  burp-plugin, burpsuite
Recaptcha
reCAPTCHA = REcognize CAPTCHA: A Burp Suite Extender that recognize CAPTCHA and use for intruder payload 自动识别图形验证码并用于burp intruder爆破模块的插件
Stars: ✭ 596 (+3211.11%)
Mutual labels:  burp-plugin, burpsuite
Burp Molly Pack
Security checks pack for Burp Suite
Stars: ✭ 123 (+583.33%)
Mutual labels:  burp-plugin, burpsuite
burp-wildcard
Burp extension intended to compact Burp extension tabs by hijacking them to own tab.
Stars: ✭ 119 (+561.11%)
Mutual labels:  burp-plugin, burpsuite

GoogleAuthenticator

Language License

A Burp Suite extension to apply the current Google Two-Tactor Authentication (2FA) code to relevant/selected requests.

This Burp Suite extension turns Burp into a Google Authenticator client. The current Google Two-Factor Authentication (2FA) code is automatically computed from a given shared secret and applied to bespoke location(s) in relevant requests in real-time.

Further information on two-factor authentication is available at the following links:

Further information about Burp session handling rules is available at the following link:


Graphic User Interface (GUI) overview

example

  • Top panel: Secret shared key, used to generate the Google 2FA code using the Time-based One-Time Password (TOTP) algorithm specified in RFC4226 and RFC6238.
  • Left panel: Regular expression for the session handling rule to match and replace with the current Google 2FA code.
  • Right panel: Google 2FA generated code in real-time.

Example

Problem

We have been commissioned to perform a web application penetration test on www.foobar.com. This web application implements a login form incorporating Google 2FA for an additional layer of defence (prevents automated attacks such as brute forcing attacks). The client provided us with testing credentials along with a link to set up the Google Authenticator mobile application to allow for authenticated testing.

A login is performed using the following request (in this example, the pin JSON parameter is the Google 2FA).

POST /api/login HTTP/1.1
Host: foobar.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/504482 Firefox/60.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://foobar.com/login
Content-Type: application/json;charset=utf-8
Content-Length: 74
Connection: close

{"email":"[email protected]","password":"SuperP@ssw0rd!","pin":"504482"}

Following the aforementioned link, we obtain the shared secret (42TCJUDP94W27YR3) that the Time-based One-time Password Algorithm (TOTP) uses to generate the Google 2FA codes.

During testing, we observed that the application is being protected by a Web Application Firewall (WAF), logging our test user out each time a malicious payload is detected or if too many requests are sent in a short period of time. This configuration makes it virtually impossible to take advantage of the Burp Suite automated scan capabilities.

Solution

  1. Input relevant parameter(s) into the Google Authenticator interface:

    • Shared secret: 42TCJUDP94W27YR3
    • Regular expression: (?<![\w\d])\d{6,8}(?![\w\d])
  2. Project options -> Sessions -> Session Handling Rules -> Add a Session Handling Rule -> Invoke a Burp extension -> Google Authenticator: 2FA code applied to selected parameter.

    example

  3. Configure the relevant scope for the registered session handling rule.

  4. Watch/monitor relevant request(s) getting updated with the valid/refreshed Google 2FA code generated by Google Authenticator using either Project options -> Sessions -> Session Handling Rules -> Open session tracer or the Logger tab.

    example

Tips

  • Use the regex (?<![\w\d])\d{6,8}(?![\w\d]) for optimal results as Google 2FA codes are made up of 6 to 8 digits according to the relevant RFCs.
  • Restrict the scope of the session handling rule down to the request(s) containing the Google 2FA code only.

Installation

Compilation

Windows & Unix

  1. Install and configure Gradle on your system.
  2. Download/clone this repository.
$ git clone https://github.com/aress31/googleauthenticator
$ cd .\googleauthenticator\
  1. Create the standalone jar:
$ gradle fatJar

Loading the extension into the Burp Suite

In Burp Suite, under the Extender/Options tab, click on the Add button and load the googleauthenticator-all jar file located in the .\build\libs folder.

Alternatively, you can now directly install/load this extension from the BApp Store.

Note: The version of this extension distributed on the BApp Store might be lagging behind the version available on this repository.


Possible Improvements

  • Add additional features, maybe support for Microsoft Authenticator.
  • Beautify the GUI.
  • Implement a JTable to view modified requests in real-time.
  • Leverage the IHttpListener interface and rework the filers in order to provide users with more ways of processing request(s).
  • Source code optimisation.

License

Copyright (C) 2018 - 2021 Alexandre Teyar

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].