• Stars
    star
    205
  • Rank 191,264 (Top 4 %)
  • Language Makefile
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated over 4 years ago

Reviews

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

Repository Details

Takes a single wordlist item and tests it one by one over a large collection of websites before moving onto the next. Create signatures to cross-check vulnerabilities over multiple hosts.

crithit

Website Directory and file brute forcing at extreme scale.

License Twitter

CritHit takes a single wordlist item and tests it one by one over a large collection of hosts before moving onto the next wordlist item. The intention of brute foricng in this manner is to avoid low limit Web Application Firewall (WAF) bans and to allow brute forcing to run faster than it normally would when approaching any single host with multiple simultaneous requests.

CritHit can perform multiple verifications of results using proxy lists, as well as filter out noise by base lining websites. Additionally, if looking for a specific item over a large number of websites (to cross compare a vulnerablity over more hosts) you can build and use --signatures to write only hosts containing specific data points to an output file.

Best results can be sought from CritHit by using it as a quick "first pass" with a smaller (100 critical items) wordlist, a very large target list, and then deep diving more directly with a project such as ffuf where results are found.

Credits

Inspired by EdOverflows Megplus and TomNomNom's meg projects which have approached the same idea.

Also thank-you to Hakluke and sml555_ for refining upont the core idea, encouragement, and testing.

Warning

This runs insanely fast using default settings. If you work over a target with a shared waf over domains you will quickly face a ban. Tweak -n (timeout) and -c (threads) as needed.

Installation

Install dependancies:

  • Firstly, Download Boost 1.70 from https://www.boost.org/users/history/version_1_70_0.html and extract the library into any directory. A Unix build of Boost is located in /dep/ of this repository, this will need to be replaced to build for other environments.
  • Set the environment variable BOOST_ROOT to the root of the extracted library.
  • If you happen to use LibreSSL instead of OpenSSL. You need to have libcrypto.so.1.1 and libssl.so.1.1 on your /usr/lib directory which is included on dep/ directory on this repo.

Then:

sudo apt-get install libssl-dev

Make CMake Files (optional if in /codingo/opt)

cmake -G "Unix Makefiles" 

Make solution

make

Build Script

Alternatively, modify the below for your target environment:

wget "https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz"
tar -xvzf boost_1_70_0.tar.gz
export BOOST_ROOT="/home/boost_1_70_0"
cd crithit/crithit
cmake -G "Unix Makefiles"
make
./crithit -w _wordlist_ -t _hostnames_

Docker

cd crithit/crithit
docker build -t crithit .
docker run -v $(pwd):/input -t crithit -w  /input/_wordlist_ -t /input/_hostnames_

Usage

Reviewing input parameters is recommended until proper documentation has been added to this repository.

USAGE:

   ./crithit  [--os <filename>] [--signatures <filename>] [-e <filename>]
              [-n <integer>] [--read-for <integer>] [-p <filename>]
              [--max-sockets <integer>] [-V <integer>] [-r] [-b <string>]
              [-s <string>] [-c <integer>] [-t <filename>] [-T <domain
              name>] [--verbose] -w <filename> [-o <filename>] [--]
              [--version] [-h]


Where:

   --os <filename>
     if --signatures is specified, this specifies the output file to write
     result to

   --signatures <filename>
     file containing list of signatures to look out for in top-level
     domains

   -e <filename>,  --exceptions <filename>
     filename containing words...

   -n <integer>,  --wait-for <integer>
     wait N seconds to connect/send data to server(default: 5secs)

   --read-for <integer>
     wait N seconds to receive data from server(default: 10secs)

   -p <filename>,  --proxy <filename>
     a filename containing list of proxy names and port(IP:port)

   --max-sockets <integer>
     Number of sockets to use

   -V <integer>,  --verify <integer>
     verify successful results with different proxies

   -r,  --randomize-agent
     use random user agents for requests

   -b <string>,  --statuscodesblacklist <string>
     Negative status codes (will override statuscodes if set)

   -s <string>,  --statuscodes <string>
     Positive status codes (will be overwritten with statuscodesblacklist
     if set)(default 200,204,301,302,307,401,403,408)

   -c <integer>,  --threads <integer>
     Number of threads to use(default: 12)

   -t <filename>,  --target-list <filename>
     a filename containing the list of targets

   -T <domain name>,  --target <domain name>
     the target

   --verbose
     be verbose with output

   -w <filename>,  --word-list <filename>
     (required)  a filename containing list of words to use

   -o <filename>,  --output <filename>
     output result to (default: stdout)

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

More Repositories

1

NoSQLMap

Automated NoSQL database enumeration and web application exploitation tool.
Python
2,856
star
2

Reconnoitre

A security tool for multithreaded information gathering and service enumeration whilst building directory structures to store results, along with writing out recommendations for further testing.
Python
2,033
star
3

Interlace

Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.
Python
1,204
star
4

VHostScan

A virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, work around wildcards, aliases and dynamic default pages.
Python
1,196
star
5

DNSCewl

A DNS Bruteforcing Wordlist Generator
C++
347
star
6

BibWord

Microsoft Word and Bibliography Styles extender.
XSLT
280
star
7

dorky

A tool to quickly do keyword searches over Gitlab and Github for OSINT & bug bounty recon
Go
226
star
8

bbr

An open source tool to aid in command line driven generation of bug bounty reports based on user provided templates.
Go
206
star
9

Minesweeper

A Burpsuite plugin (BApp) to aid in the detection of scripts being loaded from over 23000 malicious cryptocurrency mining domains (cryptojacking).
Python
196
star
10

Retrieve-Windows-Wifi-Passwords

Retreives the SSID names and passwords in cleartext for each Wifi network stored on the computer running this powershell script and output to JSON.
PowerShell
79
star
11

microsubs

A collection of code for interacting with API sources directly to improve your understanding of those services.
C++
65
star
12

dooked

DNS and Target HTTP History Local Storage and Search
C++
63
star
13

Ransomware-Json-Dataset

Compiles a json dataset using public sources that contains properties to aid in the detection and mitigation of over 1000 variants of ransomware.
Python
61
star
14

fastsub

A custom built DNS bruteforcer with multi-threading, and handling of bad resolvers.
C++
57
star
15

SharePoint-Security

A Github Repository Created to compliment a BSides Canberra 2018 talk on SharePoint Security.
PowerShell
46
star
16

simple

A collection of one off hacks and simple scripts
Go
27
star
17

cracknet

A .net Crackme Challenge made for the SecTalks Brisbane 2017 Capture the Flag Event. Writeup/solution included.
C#
20
star
18

Bugcrowd-Talks

Slide Decks and Supporting Content of talks given for Bugcrowd
16
star
19

guides

A companion repo to accompany detailed guides and YouTube content to allow users to follow along
12
star
20

succinct

A tool to create a text summary of a provided list of websites
Go
9
star
21

codingo

5
star
22

DNSCewl-go

A DNS Bruteforcing Wordlist Generator
5
star
23

RaiderOfTheLostBrowsers

Command line utility to extract passwords from the major browsers (Chrome, Firefox, Edge). Useful in demonstrating to users the importance of using proper password managers instead of saving credentials in browser based accounts which synchronize settings locally.
Python
5
star
24

security-through-obscurity

A reversing challenge made for CrikeyCon 2018
C#
4
star
25

blog

Repository housing codingo-com hugo project
HTML
4
star
26

Google-Phonelib-SQL-CLR

A SQL CLR implementation of GooglePhoneLib allowing it to be used as a Microsoft SQL Function.
C#
4
star
27

CTFs

Code and writeups for a variety of CTF challenges. Links to writeups included where available.
Python
3
star
28

coffee

A repository for snippets of code that make my life easier.
Shell
3
star
29

Simple-Substitution

A CTF challenge for CrikeyCon 2018
Python
2
star
30

2ndOrder

Chrome extension to inspect and find domains that don't resolve or have expired
JavaScript
2
star
31

blog-live

2
star
32

codingo.github.io

Ruby
2
star
33

pyreal

Python scraper for realestate
Python
2
star
34

test2

1
star
35

dooks-air-conditioning

A CTF web challenge built for CrikeyCon 2018
PHP
1
star
36

Hash-Checker

A Powershell script to check a hash against a file script
PowerShell
1
star