Skip to main content

Simple Web Pentest Checklist

 

- Fuzz the Application 
- Use testssl.sh to look for SSL issues and Vulnerabilities 
- Run Nikto & Nuclei, Dirsearch.py, BlackWidow on the target
- Check if the appliation using AngularJS 
	- Look for the version and its vulnerabilities 
- Check for Content Security Policy 
- Check for Cross Origin Resource Sharing 
	- Change the Origin header domain and see if its reflected on the response or not
		- Origin: somerandomdomain.com 
	- Add Multiple Origin Headers and see the response 
	- Add Port, Special chars, null strings to it and observe the changes 
- Look for Host Header Injection Attacks
	- Add extra host header 
	- Add X-Forwarded-For: somerandomdomain.com header and see if its being reflected or not
- Look for Cached responses (Filter tfor the keyword "Cache" in Burp HTTP history), Web Cache Poisoning might be possible possible 
- Check if httonly and Secure flags are added in the cookie or not & HSTS
- Check if .git exists and see if you can use https://github.com/arthaud/git-dumper
- Brute force credentials using burp or ffuf (Add the keyword "FUZZ" where ever you want to fuzz). you can add 1 or more fuzz parameters 
	- ffuf -request req.txt -request-proto http wordlist.txt 
	- ffuf -request req.txt -request-proto http -mode clusterbomb -w user.txt:FUZZUSER -w pass.txt:FUZZPASS  
- if MFA is enabled try to bypass it
	- by removing the otp parameter
	- by removing the function 
	- Check OTP timeout 
	- check duplicate OTP access
	- brute forcing otp 
	- OTP Attempts 
	- Check if one MFA code can be used to another account 
- If there is any payment involved --> Try to perform Race conditions
- Login as Admin and LowPriv user and check BAC & IDOR using ZAP/Burp 
- on Burp Filter by Input Parameter status 
	- try to send all special characters as input and observe the response
	- if a page saves input, try XXS 
	- SQL injection is possible all on parameters & headers - even Cookie, Referer
- If there are any passwords or credit cards in displayed as aestrix("*")
	- look the responses in developer tools
	- Look at Client data - Json files for plain text data
- Check for JWT tokens 
	- decode the JWT and Change the Alg to null 
	- Change the content in the JWT token and see if it's being validated properly or not
	- Use Burp JSON Web Tokens Extension 
	- use https://github.com/aress31/jwtcat to see if they are using a weak key
- Check Session Vulnerabilities 
	- Take the sessionID of the user and logout --> return using the same sessionID 
- Check Password Reset Link --> req email and go to the link --> see if there are any external urls being used inside the webpage --> check the referer of the domain --> see if the Password reset token is available in the Referrer header. 
- Check Parameter Pollution --> Add same parameters twice with different varaiable/ID 
- `AutoComplete=off` --> Credit card Processing/Password --> Check if the browser cached the card info or not after updaing the info on the website. It should not store the Card info 
	- Inspect the form and see if AutoComplete=off is added in the form or not. 
- Go to Developer Tools --> Application --> storage --> Session Storage --> try updating the values and observe the difference. 
- Look for any available docs on the website and extract metadata using exiftool -a file.doc 
- Check if the application parses or uses urls 
	- Try to update the url in the parameter
	- try http://127.0.0.1 to make it into SSRF 
- Buffer Overflow the parameter 
	- check if it gives any useful error messages 
- On Password update or payment pages - check if CSRF is possible 
- check for SSTO using TPLMAP
    python tplmap.py -u 'http://www.target.com/page?name=John'
- Check Google Dorks
		- site:hackingdream.net AND intitle:"index of"
		- site:hackingdream.net AND ("mysql error with query" OR "mysqli_query" OR "mysqli_query" OR "pdo_mysql")
		- site:hackingdream.net AND ("[MICROSOFT]["ODBC SQL" OR "[SQL SERVER]")
		- site:hackingdream.net AND ("PostgreSQL server: FATAL" OR "not a valid PostgreSQL result")
		- site:hackingdream.net AND ("ORA-00933" OR "ORA-00921" OR "ORA-00936" OR "ORA-12541" OR "[ODBC SQL]")
		More dorks here https://www.boxpiper.com/posts/google-dork-list-error-messages
		- site:hackingdream.net AND (ext:"backup" OR ext:"bak" OR ext:"old")
		- site:hackingdream.net AND intitle:"500"
		- site:hackingdream.net AND (inurl:"api" OR inurl:"key" OR inurl:"apikey")
		- site:hackingdream.net AND -inurl:"https"
		- 

Books

Book of Tips Zseano's Methodology Bug Bounty Playbook Bug Bounty Playbook 2





Comments

Popular posts from this blog

SQL DB & SQL Injection Pentest Cheat Sheet

1) MSSQL Injection Cheat Sheet | pentestmonkey 2) xp_cmdshell | Red Team tales 3) PentesterMonkey SQL Injection Cheatsheet Use dbeaver for GUI Access 4) SQL Injection Explanation | Graceful Security Common Ports Microsoft SQL: 1433/TCP (default listener) 1434/UDP (browser service) 4022/TCP (service broker) 5022/TCP (AlwaysOn High Availability default) 135/TCP (Transaction SQL Debugger) 2383/TCP (Analysis Services) 2382/TCP (SQL Server Browser Service) 500,4500/UDP (IPSec) 137-138/UDP (NetBios / CIFS) 139/TCP (NetBios CIFS) 445/TCP (CIFS) Oracle SQL: 1521/TCP 1630/TCP 3938/HTTP MongoDB : 27017,27018,27019/TCP PostgreSQL: 8432/TCP MySQL: 3306/TCP SQL DB Enum with nmap: nmap -p 1433 —script ms-sql-info —script-args mssql.instance-port=1433 IP_ADDRESS nmap -Pn -n -sS —script=ms-sql-xp-cmdshell.nse IP_ADDRESS -p1433 —script-args mssql.username=sa,mssql.password=password,ms-sql-xp-cmdshell.cmd="net user bhanu bhanu123 /add" nmap -Pn -n -sS —script=ms-sql-xp-cmds

Windows Priv Escallation

1.     Windows Privilege Escalation Commands  _ new 2.     Transferring Files to Windows 3.    Priv Esc Commands 4.    Priv Esc Guide  5.    Payload All the Things --> great Coverage 6.    WinRM -- Windows Priv Esc    7. Newb Guide - Windows Pentest    8. Kerberos Attacks Explained     9. How to Attack Kerberos 101    Use PowerSploit/PrivEsc/Powerup.ps1 to find some potential info check for Non-windows processes in windows using netstat Step 1: Check net user and admin and user rights Step 2: Check if we have access of powershell if yes then run powerup.ps1,sherlock.ps1 and JAWS.ps1. Step 3: Try to get Meterpreter. Step 4: Load mimikatz ,try bypass UAC , check SAM SYSTEM etc. Step 5: check for weird programs and registry. Step 6: If the box is Domain Controller - Enum - Enum SMB Users/Ldap Users/ Blood Hound - GUI AD Enum & Kerberos Enum - Bruteforce   Atacking AD with LDAP & kerberos      Step 7: Got Creds - try psexec.py or crackm

Forensics & Crypto

Online Decoder --> https://2cyr.com/decode/ Encoding errors -->  https://ftfy.now.sh/ File Signatures List -->  Click here PCAP Analysis: -->  https://www.packettotal.com/ Online Cipher Decryptors: CyberChef  - Cipher Decoder   Crack Station-Hash Cracke r Decrypt Any Kind of Hash 1)  Cipher Statistics 2)  Index of Coincidence Calculator - Online IC Cryptanalysis Tool 3)  Tools List (Awesome and Fantastic Tools) Available on dCode 4)  Solve an Aristocrat or Patristocrat 5)  RSA attack tool (mainly for ctf) - retreive private key from weak public key and/or uncipher data 5-1)  RSA - Find PQ using N 6)  BertNase's Own Hide content in a Image made of blocks - npiet fun! 7)  Vigenere Solver - www.guballa.de 8)  Fernet (Decode) 9)  Unicode Text Steganography Encoders/Decoders 10)  All in ONE encoders and Decoders Tool 11) Cryptii - Decoder Image Forensics: 1)  Forensically, free online photo forensics tools - 29a.ch 2)  StegSolve to decryt data in