The Web Local
 

 

 

Smtpscan

 

Smtpscan is a remote SMTP server version detector. It can be used to guess which mail software is used on a remote server, especially when banner obfuscation is taking place.  Smtpscan works by testing the remote SMTP server reaction using a series of predefined tests.  The 15 + tests consist of a mixture of RFC compliant and non-compliant SMTP requests. After each test the remote server returns a SMTP Error Message.

 

Fingerprints are made of SMTP Error Messages corresponding to these test requests and responses.  Due to the fact that server reaction may be modified by its configuration, smtpscan tries to detect the nearest fingerprint if there is no exact match, that is it finds the fingerprints that have the fewer different Error Messages.

 

It is available from here.

 

Installation:

 

Prerequisites: Perl module Net::DNS

 

# tar -zxvf Net-DNS-0.29.tar.gz

# cd Net-DNS-0.29

# perl Makefile.PL

# make

# make install

 

or use the cpan shell :-)

 

cpan>install Net::DNS

 

./configure

make

make install

 

Syntax:

 

-h    Print help message

-V   Print smtpscan current version and exits

-v    Verbose mode

-d    Debug mode

-f     PATH Fingerprint file location

-t     PATH Test file location

-p    PORT Remote port

-i     TIMEOUT Connection timeout (in seconds)

-c    Connect only once. Some servers don't accept too many consecutive connections from a host. You may use this option to be able to scan some servers. smtpscan then uses the SMTP 'RSET' command to be able to restart negociation. Beware: some SMTP servers don't accept too many RSET either...

-D   Domain name instead of a server. smtpscan then retrieve the corresponding mail exchanger and scan it

-n    NUMBER Scan the Nth mail exchanger instead of the first (ordered by preference)

-a    Scan all the Mail Exchangers of the specified domain (see -D switch), that is scan every IP address returned by a MX DNS request (beware of 'virtual IPs' or load balancing...)

 

Example Output:

 

scanning www.example.com (91.84.23.170) port 25
220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:15 +0100
MAIL FROM: pyxOHHU@hotmail.com
503 5.5.2 Send hello first

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:20 +0100
HELO
250 example.com Hello [86.151.48.136]

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:20 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
MAIL FROM test
500 5.5.1 Unrecognized command

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:21 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
MAIL FROM: <>
250 2.1.0 <>....Sender OK

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:21 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
MAIL FROM: <pyxOHHU@hotmail.com
501 5.5.4 Invalid Address

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:26 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
MAIL FROM: <FXL83IHVAR@Kt9qjcJlGbmRFY_qTPhOI_Zqm.com>
250 2.1.0 FXL83IHVAR@Kt9qjcJlGbmRFY_qTPhOI_Zqm.com....Sender OK

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:27 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
MAIL FROM: <pyxOHHU@hotmail.com>
250 2.1.0 pyxOHHU@hotmail.com....Sender OK
RCPT TO: test
550 5.1.1 User unknown

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:32 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
HELP
214-This server supports the following commands:
214 HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH TURN ETRN BDAT VRFY

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:32 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
VRFY root
252 2.1.5 Cannot VRFY user, but will take message for <root@example.com>

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:33 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
EXPN root
500 5.3.3 Unrecognized command

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:38 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
TURN
500 5.5.1 Unrecognized command

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:38 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
SOML FROM: <pyxOHHU@hotmail.com>
500 5.3.3 Unrecognized command

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:44 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
SAML FROM: <pyxOHHU@hotmail.com>
500 5.3.3 Unrecognized command

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:49 +0100
HELO hotmail.com
250 example.com Hello [86.151.48.136]
NOOP
250 2.0.0 OK

220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:49 +0100
EHLO hotmail.com
250-example.com Hello [86.151.48.136]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK

Result --
503:250:500:250:501:250:550:214:252:500:500:500:500:250:250

Banner :
220 example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Fri, 27 Apr 2007 14:54:49 +0100

No exact match. Nearest match :
- Stalker Internet Mail Server V.1.7 (1)

To help improving smtpscan database, if you know which soft is used there, please send a mail to zejames@greyhats.org, giving the output of smtpscan -v and the remote server version.

 

IT Security News:

 

Pen Testing Framework:

 

Latest Tool Reviews: