Skip to content

Commit 26080db

Browse files
Feature/playbook v1 (#7)
* working on wordlist and fixing the menu Improve navigation and add wordlist generator for enhanced reconnaissance Updates the navigation menu, integrates a new wordlist generator, and enhances the help messages. Updated REK menu structure and added wordlist generator Assistant generated file changes: - rek.py: Update REK menu structure and add wordlist generator functionality, Add WordlistGenerator class for wordlist generation functionality, Update ReconTool class initialization to include WordlistGenerator, Update main menu logic to handle new menu structure, Add help functionality for command line arguments - advanced_wordlist_generator.py: Create standalone advanced wordlist generator - README.md: Update README with new menu structure and help information - * Assistant checkpoint: Renamed and integrated REK wordlist generator with domain-specific folders Assistant generated file changes: - rek_wordlist_generator.py: Update class name and file references Update class name and file references Update output directory structure to use domain-specific folders Update class name and file references Update output directory structure to use domain-specific folders Update main function description - rek.py: Import REK wordlist generator, Replace WordlistGenerator class with REK wordlist generator integration, Update ReconTool class to use new wordlist generator --- * Assistant checkpoint: Fix Wappalyzer headers issue and add tool checks Assistant generated file changes: - rek.py: Fix Wappalyzer headers issue in directory scanning - playbook/install-script.sh: Fix ripgen URL and add tool existence checks, Add tool existence checks to avoid reinstalling, Add tool existence check for findomain, Add tool existence checks for code platform tools --- Assistant generated file changes: - playbook/install-script.sh: Complete the install script with tool existence checks and improved logic - playbook/install-script-v1.sh: Update install-script-v1.sh with tool existence checks Update install-script-v1.sh with tool existence checks Update remaining tool installations with existence checks Update install-script-v1.sh with tool existence checks Update remaining tool installations with existence checks Fix ripgen URL to use correct repository - playbook/install-script-v2.sh: Add tool existence checks to install-script-v2.sh --- * Assistant checkpoint: Implement intelligent REK Wordlist Generator with technology detection and domain analysis Assistant generated file changes: - rek_wordlist_generator.py: Implement complete intelligent REK Wordlist Generator - rek.py: Fix WordlistGeneratorWrapper to use the new REK Wordlist Generator properly --- * Assistant checkpoint Assistant generated file changes: - rek_wordlist_generator.py: Make wordlist generator intelligent with local wordlist prioritization and domain-specific generation ---
1 parent 2bdcef8 commit 26080db

File tree

11 files changed

+1646
-297
lines changed

11 files changed

+1646
-297
lines changed

.replit

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
modules = ["python-3.12", "bash"]
2+
3+
[nix]
4+
channel = "stable-24_05"
5+
packages = ["cacert", "geckodriver", "glibcLocales", "xcodebuild", "zlib"]

README.md

Lines changed: 150 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -432,11 +432,158 @@ python3 rek.py --org microsoft \
432432

433433
### Interactive Mode
434434

435-
#### Navigation Menu
435+
#### Main Menu Options
436436
```bash
437437
python3 rek.py
438-
# Select option 3 for Navigation mode
439-
# Follow prompts for guided reconnaissance
438+
439+
# Main Menu Options:
440+
# 1. Run Recon Playbook - Execute automated reconnaissance playbooks
441+
# 2. Subdomain Enumeration - Discover subdomains using multiple techniques
442+
# 3. HTTP Status Checking - Check HTTP status of discovered domains
443+
# 4. Directory Scanning - Scan for directories and files on web servers
444+
# 5. REK Email Search - Search for email addresses in GitHub repositories
445+
# 6. REK Wordlist Generator- Generate and download wordlists for testing
446+
# 7. Exit - Exit the application
447+
```
448+
449+
### Command Line Help
450+
```bash
451+
# Get detailed help information
452+
python3 rek.py --help
453+
454+
# Or use the short form
455+
python3 rek.py -h
456+
```
457+
458+
### Detailed Parameter Reference
459+
460+
#### Subdomain Enumeration Parameters
461+
```bash
462+
python3 rek.py -d example.com [OPTIONS]
463+
464+
Required:
465+
-d, --domain DOMAIN Target domain (e.g., example.com)
466+
467+
Optional:
468+
-w, --subdomain-wordlist Custom wordlist for subdomain enumeration
469+
-o, --output FILE Output file (default: results.txt)
470+
--token TOKEN GitHub Personal Access Token for enhanced results
471+
--limit-commits N Max commits to scan per repo (default: 50)
472+
--skip-forks Skip forked repositories during GitHub search
473+
-t, --timeout N Request timeout in seconds (default: 10)
474+
-c, --concurrency N Maximum concurrent requests (default: 50)
475+
-r, --retries N Number of retries for failed requests (default: 3)
476+
--silent Run in silent mode (minimal output)
477+
478+
Example:
479+
python3 rek.py -d example.com -w wordlists/subdomains.txt --token ghp_xxx -t 15 -c 100
480+
```
481+
482+
#### HTTP Status Checking Parameters
483+
```bash
484+
python3 rek.py --input FILE [OPTIONS]
485+
486+
Required:
487+
--input FILE Input file with URLs to check
488+
489+
Optional:
490+
-o, --output FILE Output CSV file (default: http_results.csv)
491+
-t, --timeout N Request timeout in seconds (default: 10)
492+
-c, --concurrency N Maximum concurrent requests (default: 50)
493+
--silent Run in silent mode (minimal output)
494+
495+
Example:
496+
python3 rek.py --input results.txt -o http_results.csv -t 15 -c 100
497+
```
498+
499+
#### Directory Scanning Parameters
500+
```bash
501+
python3 rek.py --input FILE --status CODES [OPTIONS]
502+
# OR
503+
python3 rek.py --url URL [OPTIONS]
504+
505+
Required (Option 1):
506+
--input FILE Input CSV file with URLs and status codes
507+
--status CODES Comma-separated status codes (e.g., 200,301,403)
508+
509+
Required (Option 2):
510+
--url URL Single URL to scan directly
511+
512+
Optional:
513+
--dir-wordlist FILE Custom wordlist for directory scanning
514+
--depth N Maximum crawling depth (1-10, default: 5)
515+
-t, --timeout N Request timeout in seconds (default: 10)
516+
-c, --concurrency N Maximum concurrent requests (default: 50)
517+
--silent Run in silent mode (minimal output)
518+
519+
Examples:
520+
python3 rek.py --input http_results.csv --status 200,301,403 --depth 3
521+
python3 rek.py --url https://example.com --dir-wordlist wordlists/common.txt
522+
```
523+
524+
#### Email Search Parameters
525+
```bash
526+
# Search by domain
527+
python3 rek.py --email-domain DOMAIN [OPTIONS]
528+
529+
# Search by GitHub username
530+
python3 rek.py --email-username USERNAME [OPTIONS]
531+
532+
# Search by GitHub organization
533+
python3 rek.py --org ORGANIZATION [OPTIONS]
534+
535+
Required (choose one):
536+
--email-domain DOMAIN Domain for email search
537+
--email-username USER GitHub username for email search
538+
--org ORGANIZATION GitHub organization for email search
539+
540+
Optional:
541+
--token TOKEN GitHub Personal Access Token (recommended)
542+
--hibp-key KEY Have I Been Pwned API key for breach checking
543+
--limit-commits N Max commits to scan per repo (default: 50)
544+
--skip-forks Skip forked repositories during search
545+
-o, --output FILE Output CSV file (default: email_results.csv)
546+
-t, --timeout N Request timeout in seconds (default: 10)
547+
--silent Run in silent mode (minimal output)
548+
549+
Examples:
550+
python3 rek.py --email-domain example.com --token ghp_xxx --hibp-key xxx
551+
python3 rek.py --org microsoft --token ghp_xxx --limit-commits 100
552+
python3 rek.py --email-username johndoe --token ghp_xxx --skip-forks
553+
```
554+
555+
#### REK Wordlist Generator
556+
The wordlist generator is available through the interactive menu (option 6) and provides:
557+
558+
**Features:**
559+
- Download SecLists wordlists by category
560+
- Generate domain-specific custom wordlists
561+
- Merge multiple wordlists with deduplication
562+
- List and manage existing wordlists
563+
- Clean up old or duplicate wordlists
564+
565+
**Categories Available:**
566+
- Subdomains (basic and advanced)
567+
- Directories (basic and advanced)
568+
- Files (basic and advanced)
569+
- Parameters (basic and advanced)
570+
- Vulnerabilities (XSS, SQLi, LFI, RCE)
571+
- API endpoints and methods
572+
573+
**Technology-Specific Wordlists:**
574+
- WordPress, Drupal, Joomla
575+
- Laravel, Django, Node.js
576+
- Apache, Nginx, IIS
577+
- PHP, Python, Java
578+
579+
**Usage:**
580+
```bash
581+
# Access through interactive menu
582+
python3 rek.py
583+
# Select option 6: REK Wordlist Generator
584+
585+
# Or run the standalone generator
586+
python3 advanced_wordlist_generator.py
440587
```
441588

442589
## 🤝 Contributing

0 commit comments

Comments
 (0)