• Stars
    star
    827
  • Rank 55,139 (Top 2 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created almost 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fixes Burp Suite's poor TLS stack. Bypass WAF, spoof any browser.

Awesome TLS

This extension hijacks Burp's HTTP and TLS stack, allowing you to spoof any browser TLS fingerprint (JA3). It boosts the power of Burp Suite while reducing the likelihood of fingerprinting by various WAFs like CloudFlare, PerimeterX, Akamai, DataDome, etc.

It does this without resorting to hacks, reflection or forked Burp Suite Community code. All code in this repository only leverages Burp's official Extender API.

screenshot

Showcase

CloudFlare bot score:

cloudflare bot score of Burp Pro cloudflare bot score of Awesome TLS

This is just one example. If you tested with another dedicated bot detection site, let me know your results!

How it works

Unfortunately Burp's Extender API is very limited for more advanced use cases like this, so I had to play around with it to make this work.

Once a request comes in, the extension intercepts it and forwards it to a local HTTPS server that started in the background (once the extension loaded). This server works like a proxy; it forwards the request to the destination, while persisting the original header order and applying a customizable TLS configuration. Then, the local server forwards the response back to Burp. The response header order is also preserved.

Configuration settings and other necessary information like the destination server address and protocol are sent to the local server per request by a magic header. This magic header is stripped from the request before it's forwarded to the destination server, of course.

diagram

ℹ️ Another option would've been to code an upstream proxy server and connect burp to it, but I personally needed an extension for customization and portability.

Installation

  1. Download the jar file for your operating system from releases. You can also download a fat jar, which works on all platforms supported by Awesome TLS. This means it's also portable and could be loaded from a USB for cross-platform access.
  2. Open burp (pro or community), go to Extender > Extensions and click on 'Add'. Then, select Java as the extension type and browse to the jar file you just downloaded. Click 'Next' at the bottom, and it should load the extension without any errors.
  3. Check your new 'Awesome TLS' tab in Burp for configuration settings and start hacking!

Configuration

This extension is 'plug and play' and should speak for itself. You can hover with your mouse over each field in the 'Awesome TLS' tab for more information about each field.

To load your custom Client Hello, you can capture it in Wireshark, copy client hello record as hex stream and paste it into the field "Hex Client Hello". screenshot

Manual build Instructions

This extension was developed with JetBrains IntelliJ (and GoLand) IDE. The build instructions below assume you're using the same tools to build. See workflows for the target programming language versions.

  1. Compile the go package within ./src-go/. Run cd ./src-go/server && go build -o ../../src/main/resources/{OS}-{ARCH}/server.{EXT} -buildmode=c-shared ./cmd/main.go, replacing {OS}-{ARCH} with your OS and CPU architecture and {EXT} with your platform's preferred extension for dynamic C libraries. For example: linux-x86-64/server.so. See the JNA docs for more info about supported platforms.
  2. Compile the GUI form SettingsTab.form into Java code via Build > Build project.
  3. Build the jar with Gradle: gradle buildJar.

You should now have one jar file (usually located at ./build/libs) that works with Burp on your operating system.

Credits

Special thanks to the maintainers of the following repositories:

And the creators of the following websites:

License

GPL V3

More Repositories

1

asarmor

Protect asar archive files from extraction
TypeScript
202
star
2

stremio-streaming-server

Small docker image to run Stremio's streaming server standalone
Shell
102
star
3

aternos-discord-bot

Discord bot to start & stop a Minecraft server automatically
Go
78
star
4

Chainforger

Proxy scraper for proxychains
Python
42
star
5

stremio-addons

All of my stremio addons in one monorepo
TypeScript
29
star
6

gotcha

High level HTTP client with a got-like API
Go
24
star
7

pms-android

Unoffical PimpMyStremio android app
HTML
22
star
8

ja3rp

Reverse proxy server to filter traffic based on JA3 fingerprint/hash
Go
22
star
9

PyDeobfuscator

Deobfuscate obfuscated python files (WIP)
Python
19
star
10

ml-crypto-trading-bot

Experimental cryptocurrency trading bot using Machine Learning and Rust
Rust
19
star
11

aternos-api

Unofficial aternos.org API/library to start & stop servers programmatically
Go
18
star
12

stremio-discord

Local addon that shows the movie or series you're watching in Discord
JavaScript
18
star
13

voltra

Cross-market volatile cryptocurrency trading bot
Go
16
star
14

cronet-rs

Chromium Network Stack (cronet) bindings
Rust
15
star
15

stremio-addon-sdk-rs

Stremio addon SDK using rust, stremio-core and hyper
Rust
14
star
16

CronetSharp

C# library to interact with the Chromium Network Stack through bindings
C#
14
star
17

cookie-api

Cookie API to generate PX/Akamai cookie.
JavaScript
14
star
18

enhanced_future_builder

Small FutureBuilder wrapper to improve readabiltity
Dart
11
star
19

PreMiD-rs

Alternative PreMiD backend but without the bloat
Rust
10
star
20

DecentHttpClient

Highly configurable HTTP client
C#
8
star
21

electron-typescript-react-sass

Boilerplate for an Electron application with TypeScript, React and SASS
JavaScript
6
star
22

cronet-binaries

Cross-platform binaries for cronet (Chromium Network Stack)
C++
6
star
23

stremio-podcasts-addon

[MOVED] #1 Pocasts Addon for Stremio - High Quality streams from multiple sources
JavaScript
3
star
24

deeplx-node

Port of deeplx: an unofficial package to translate text using DeepL
TypeScript
2
star
25

GOI-cheats

Cheats for Getting Over It with Bennett Foddy
C#
2
star
26

stub-and-builder-example

Visual Basic
2
star
27

pimpmystremio-docker

Docker image for PimpMyStremio (Small ~ Alpine based)
Dockerfile
2
star
28

stremio-horriblesubs-addon

[MOVED] Stremio addon for streaming anime torrents from horriblesubs.info
JavaScript
2
star
29

whenwas

Calculate how many years, months, days, hours, minutes, seconds ago a date is
Dart
2
star
30

paulo

Bot for the r/StremioAddons discord
TypeScript
2
star
31

sshtunnel-env

configurable SSH tunnel using environment variables
Dockerfile
2
star
32

stremio-rarbg-torrents

[MOVED] Watch movies & Series from RARBG on Stremio
JavaScript
1
star
33

stremio-1337x-torrents

[MOVED] Torrents from 1337x for Stremio
JavaScript
1
star
34

flagstruct

Write golang command line flags within your struct like a pro
Go
1
star
35

EasyScraper

Scrape websites through a GUI
PHP
1
star
36

mtgaredeemer

Automatic code redeemer for MTG Arena
C#
1
star
37

yamldb

Simple disk-backed key-value store for YAML files
Go
1
star
38

jackett

Jackett API Implementation.
TypeScript
1
star
39

EcoBot

Plant trees by doing nothing
Python
1
star
40

FamePHP

Facebook messenger bot framework
PHP
1
star
41

VPNbook-Password-Retriever

Retrieve username & password for VPNbook authentication
C#
1
star
42

CanvasPaint

Userscript to change course cover images in Canvas LMS (for students)
JavaScript
1
star
43

advent-of-code-2022

My advent of code solutions in Rust (2022)
Rust
1
star
44

stremio-dlive-addon

[MOVED] Stremio addon to view livestreams from dlive.tv
JavaScript
1
star
45

native-to-big

Convert JS native math expressions to Big objects from the big.js library
TypeScript
1
star
46

stremio-consumet-addon

Stremio addon that provides anime and asian movies from Consumet
TypeScript
1
star
47

CsBugmenot

Library to scrape username and passwords for various sites from BugMeNot
C#
1
star
48

sleeyax

About me
1
star
49

EnhancedDiscord-Plugins

My EnhancedDiscord plugins
JavaScript
1
star
50

brainfucked

Totally overkill Brainfuck interpreter, parser & tokenizer written in Dart
Dart
1
star
51

advent-of-code-2023

My advent of code solutions in Rust (2023)
Rust
1
star