- Carnivore - Predator
- Formerly known as THC HackSuite, Carnivore - Predator stands at the forefront of cutting-edge cybersecurity tools, redefining the landscape of penetration testing with unparalleled innovation. Designed to empower ethical hackers, security professionals, and enthusiasts alike, Carnivore - Predator is the ultimate Pentest CMS that puts you in command.
current version: 0.7.0 - PREDATOR
This article explains how to effectively make use of Enumerate.
author: Remco Kouw
created: 11-May-2024
updated: 11-May-2024
Enumerate Introduction
In this documentation we will go through the functionality of the thc_en module.
Enumerate is a tool that tries to find valid username accounts on various services such as ftp and smtp.
Interface Parameters:
- type: currently only ftp and smtp enumeration is supported
- port: tcp port the service is listening on
- host: target host to enumerate
- wordlist: select a username list from the Wordlists folder in the root folder of Carnivore or enter usernames manually
ModGlue Variables:
- $_CONTEXT['thc_en']['enumerate_results_file']: (string) absolute path to the enumerations result file in the module's root folder
- $_CONTEXT['thc_en']['enumerate_users']: (array) users to enumerate
- $_CONTEXT['thc_en']['existing_files']: (array) all files in the Wordlists folder
- $_CONTEXT['thc_en']['wordlist']: (string) wordlist selected for enumeration attack
- $_CONTEXT['thc_en']['users']: (array) filtered user list
- $_CONTEXT['thc_en']['userscount']: (int) amount of users to enumerate
- $_CONTEXT['thc_en']['port']: (int) tcp port where the service listen on for incoming connections
- $_CONTEXT['thc_en']['template']: (string) template to write to results file - only applies to Remove File case
- $_CONTEXT['thc_en']['enumerate_results']: (array) all results from previously enumerated accounts - only applies to Remove File and View File cases
- $_CONTEXT['thc_en']['enumerate_results_count']: (int) number of results from previously enumerated accounts - only applies to Remove File case
- $_CONTEXT['thc_en']['update']: (boolean) status holder to see whether the results will be updated or not, true if it is, false if not - only applies to Remove File case
- $_CONTEXT['thc_en']['record_number']: (int) counts the amount of currently enumerated accounts - only applies to Remove File case
- $_CONTEXT['thc_en']['valid_file']: (string) validates whether the result file exists - only applies to View File case
- $_CONTEXT['thc_en']['enumerate_file']: (string) absolute path to the results file in the results folder in the module's root folder - only applies to View File case
- $_CONTEXT['thc_en']['enumerated_accounts']: (string) all users separated by comma - only applies to View File case
- $_CONTEXT['thc_en']['enumerate_properties']['users']: (string) users enumerated - only applies to View File case
- $_CONTEXT['thc_en']['enumerate_properties']['protocol']: (string) enumerations protocol used during this session - only applies to View File case
- $_CONTEXT['thc_en']['enumerate_properties']['host']: (string) host where the enumeration took place - only applies to View File case
- $_CONTEXT['thc_en']['enumerate_properties']['time']: (int) timestamp when the session was done - only applies to View File case
- $_CONTEXT['thc_en']['valid']: (array) all successfuly enumerated users
- $_CONTEXT['thc_en']['templatenew']: (string) enumeration session file data
- $_CONTEXT['thc_en']['newfile']: (string) new filename for the enumeration results template data created during current session
- $_CONTEXT['thc_en']['newfilepath']: (string) absolute path to the new template file, which will be stored in the results folder located in the module's root folder
There may be other variables available, depending on which enumeration type was selected.
ftp.php
- $_CONTEXT['thc_en']['ftp_connection']: (resource) socket connection to ftp port
- $_CONTEXT['thc_en']['ftp_response']: (string) data read from socket
- $_CONTEXT['thc_en']['fake_user']: (string) username we know doesn't exist, this is to verify how the server responds
- $_CONTEXT['thc_en']['ftp_command_test']: (string) ask the ftp user if the fake user exists
- $_CONTEXT['thc_en']['ftp_response_code']: (int) if the fake user is accepted (331) we can't rely on server responses and enumeration is impossible
- $_CONTEXT['thc_en']['userscount']: (int) amount of users to test
- $_CONTEXT['thc_en']['ftp_response_code']: (int) if the first three characters of the response is 331, the user exists
- $_CONTEXT['thc_en']['valid']: (array) all users that were successfully verified
smtp.php
- $_CONTEXT['thc_en']['smtp_commands']['RCPT_TO']: (array) test command 1 and correct response
- $_CONTEXT['thc_en']['smtp_commands']['EXPN']: (array) test command 2 and correct response
- $_CONTEXT['thc_en']['smtp_commands']['VRFY']: (array) test command 3 and correct response
- $_CONTEXT['thc_en']['connection']: (resource) socket connection to smtp port
- $_CONTEXT['thc_en']['response']: (string) data read from socket
- $_CONTEXT['thc_en']['responsecode']: (int) response code, 2xx responses are what we are looking for
- $_CONTEXT['thc_en']['validcommand']: (string) RCPT_TO, VRFY, or EXPN can be valid
- $_CONTEXT['thc_en']['responsestart']: (int) first character of response code, we are looking for 2 in order to determine whether the command is implemented and successfull
Resource Settings:
- time limit: php default
- memory limit: php default
Dependencies:
Sockets
Expanding Enumerate:
You can expand Enumerate's functionality by writing enumeration scripts for different kind of services. The easiest way is to edit one of the existing scripts in the folder protocols which you can find in the module's root folder. Make sure to include buffer flush commands and a socket connection setup.
Known Issues:
N/A
Created by Remco Kouw: 2008-2024