SubEnum is a lightweight, efficient subdomain enumeration tool written in C, designed for offensive security operations and infrastructure reconnaissance.
- Wordlist processing for subdomain testing
- Fast DNS resolution using
getaddrinfo()
- Execution time measurement
- Safe memory management
- Easy integration into security pipelines
git clone https://github.com/seu-usuario/subenum.git
cd subenum
make
echo -e "www\nmail\nftp\nadmin\nteste" > wordlist.txt
./subenum <domain> <wordlist>
# Exemple:
./subenum example.com wordlist.txt
Sample output:
[*] Checking 5 subdomains...
[+] www.example.com
[+] mail.example.com
[*] Valid subdomains found: 2/5
[*] Execution time: 0.00 seconds
├── headers/
│ └── subenum.h
├── src/
│ ├── main.c
│ └── subenum.c
├── Makefile
└── README.md
Main Components
-
subenum.h
- Colour macros
- Function declarations
- Library includes
-
subenum.c
- ft_check_subdomains(): Verifies subdomain existence
- ft_read_wordlist(): Processes wordlist files
-
main.c
- Core program logic
- Execution timing
- Output management
Command | Description |
---|---|
make |
Compiles the project |
make clean |
Removes object files and binary |
Contributions welcome! Please:
- Open an issue to discuss proposed changes;
- Fork the repository;
- Create feature branch
(git checkout -b feature/awesome-feature)
; - Commit changes
(git commit -m 'Add awesome feature')
; - Push branch
(git push origin feature/awesome-feature)
; - Open Pull Request.
This project is licensed under the MIT Licence - see LICENCE file for details.
- Inspired by tools like Sublist3r and Amass
- Uses standard DNS resolution techniques
- Code optimised for performance