DMitry (Deepmagic Information Gathering Tool) is a UNIX/(GNU)Linux Command Line Application coded in C language.
DMitry has the ability to gather as much information as possible about a host. Base functionality is able to gather possible subdomains, email addresses, uptime information, tcp port scan, whois lookups, and more. The information are gathered with following methods:
- Perform an Internet Number whois lookup.
- Retrieve possible uptime data, system and server data.
- Perform a SubDomain search on a target host.
- Perform an E-Mail address search on a target host.
- Perform a TCP Portscan on the host target.
- A Modular program allowing user specified modules
Download and installation
DMitry can be downloaded by issuing following commands:
$ cd /data/src/ $ wget http://mor-pah.net/code/DMitry-1.3a.tar.gz
For installation, issue following commands:
$ tar xzvf DMitry-1.3a.tar.gz $ cd DMitry-1.3a/ $ ./configure $ make $ sudo make install
Then optionally create a symbolic link to your /pentest/ directory:
$ mkdir -p /pentest/enumeration/dmitry/ $ ln -s /usr/local/bin/dmitry /pentest/enumeration/dmitry/dmitry
DMitry help can be displayed by issuing:
$ dmitry --help
or, for a more complete documentation:
$ man dmitry
The options are detailed below:
-o filename Create an ascii text output of the results to the "filename" specified. If no output filename is specified then output will be saved to "target.txt". If this option is not specified in any form output will be sent to the standard output (STDOUT) by default. This option MUST trail all other options, i.e. "./dmitry -winseo target". -i Perform an Internet Number whois lookup on the target. This requires that the target be in the form of a 4 part Internet Number with each octal seperated using the ‘.’ notation. For example, "./dmitry -i 255.255.255.255". -w Perform a whois lookup on the ’host’ target. This requires that the target be in a named character format. For example, "./dmitry -w target" will perform a standard named whois lookup. -n Retrieve netcraft.com data concerning the host, this includes Operating System, Web Server release and UpTime information where available. -s Perform a SubDomain search on the specified target. This will use serveral search engines to attempt to locate sub-domains in the form of sub.target. There is no set limit to the level of sub-domain that can be located, however, there is a maximum string length of 40 characters (NCOL 40) to limit memory usage. Possible subdomains are then reversed to an IP address, if this comes back positive then the resulting subdomain is listed. However, if the host uses an asterisk in their DNS records all resolve subdomains will come back positive. -e Perform an EmailAddress search on the specified target. This modules works using the same concept as the SubDomain search by attempting to locate possible e-mail addresses for a target host. The e-mail addresses may also be for possible sub-domains of the target host. There is a limit to the length of the e- mail address set to 50 characters (NCOL 50) to limit memory usage. -p Perform a TCP Portscan on the host target. This is a pretty basic module at the moment, and we do advise users to use some‐ thing like nmap (www.insecure.org/nmap/) instead. This module will list open, closed and filtered ports within a specific range. There will probably be little advancement upon this mod‐ ule, though there will be some alterations to make it a little more user friendly. There are also other options for this mod‐ ule that can affect the scan and its relative output. -f This option will cause the TCP Portscan module to report/display output of filtered ports. These are usually ports that have been filtered and/or closed by a firewall at the specified host/target. This option requires that the ’-p’ option be passed as a previous option. For example, "./dmitry -pf tar‐ get". -b This option will cause the TCP Portscan module to output Banners if they are received when scanning TCP Ports. This option requres that the ’-p’ option be passed as a previous option. For example, "./dmitry -pb target". -t This sets the Time To Live (TTL) of the Portscan module when scanning individual ports. This is set to 2 seconds by default. This is usually required when scanning a host that has a fire‐ wall and/or has filtered ports which can slow a scan down.
The following command:
$ dmitry -iwns -o example.out google.com
creates a report named example.out, that looks like this: