一)绪论
二)指纹探测技术
三)结论
四)附相关数据
一)绪论
在进行渗透实验的时候,一开始我们就会试图获得更多的远程服务器的信息。自从NMAP及其指纹探测技术出现以来,很多收集远程主机信息的技术逐渐被使用。当然,获取远程主机上运行软件的版本信息也非常流行,因为很多攻击手段是建立在特定版本的软件之上。我们可以通过一些已知的方法,比如简单的标志信息获得,TCP/ICMP回应分析等。但是,这些获得软件标志信息的方法并不是特别可靠:许多远程主机的管理员已经重新配置或更改了软件的标志信息。因此我们必须寻找其他的方法。
其实在此,我们完全可以利用NMAP的指纹探测技术:通过发送特定的,非标准的奇异数据报来获得指纹信息,进而判断出使用的软件版本信息。我们同样可以利用这种技术来探测远程主机上SMTP服务器的相关信息,SMTPScan就是利用这种技术的探测工具。
二)指纹探测技术
SMTP服务已经在RFC(Request For Comments)中被详细的定义(相关文件为RFC821,RFC1425和RFC1985)。尽管如此,在具体的实现中各个软件开发商并没有很好的遵循RFC的规定,因此我们可以通过他们之间实现上的细小差异来进行探测活动。
当然,我们可以很好的利用错误信息来帮助分析。比如在发送邮件时我们可以不加上“HELO”,但是这种方法并不完全可靠,如果再利用错误消息就可以很好的分辨出各种系统及版本。我们可以使用下面的这些方法:
1 发送没有“HELO”的邮件: 一些服务器允许客户这样做,而且会发送一个220的错误代码。如果服务器拒绝就会发送一个501或503的错误代码。
2 发送一个没有域名的“HELO”信息: 在RFC中并没有强制需要这个信息,但是一些服务器会接受,而另一些则拒绝。
3 发送一封在“FROM”后没有“:”的邮件: 这个冒号是明确需要的,但是一些MTA(如qmail)却会接受没有冒号的邮件。
4 发送一封源地址为空的邮件: 尽管绝大多数的服务器会接受这封邮件,但也有少数服务器不会接受。
5 发送一封源地址后不带“”的邮件: 这种情况一般不会被服务器所接受,但也有例外。
6 发送一封源地址不存在的邮件:一些服务器会确认源地址域名的存在性。
7 使用一个简单的“test”: 这通常被本地用户所使用,但也许不会在某些MTA上出现。
8 使用HELP命令:有可能在某些服务器上能够成功实现。
9 使用VRFY命令:有可能在某些服务器上能够成功实现。
10使用EXPN命令:有可能在某些服务器上能够成功实现。
11使用TURN命令:有可能在某些服务器上能够成功实现。
12使用SOML命令:有可能在某些服务器上能够成功实现。
13使用SAML命令:有可能在某些服务器上能够成功实现。
14使用NOOP命令:有可能在某些服务器上能够成功实现。
15使用EHLO命令:有可能在某些服务器上能够成功实现。
在附中的指纹数据库中,每一行就是一个指纹。第一部分为远程SMTP服务器的描述信息,剩下部分为来自服务器的错误代码构成的指纹数据。指纹数据库中包含了77种不同的指纹数据,当然您可以自己测试,并将相应指纹信息放入此数据库中。
三)结论
以上的SMTP服务器版本信息探测技术在所有的测试中都非常的有效,而且还没有出现版本信息冲突的情况。因此在渗透实验中它是非常有用而可靠的。
我们同样可以看到这种指纹探测技术的巨大使用范围。因为每种协议在实现时都不可能很好的遵循规定,这就可以作为我们的探测行动的基本原理。
四)附相关数据
1. 测试数据
MAIL FROM: $VALID_SOURCE
HELO
HELO $MY_DOMAIN-MAIL FROM test
HELO $MY_DOMAIN-MAIL FROM:
HELO $MY_DOMAIN-MAIL FROM:
HELO $MY_DOMAIN-MAIL FROM:
HELO $MY_DOMAIN-MAIL FROM: -RCPT TO: test
HELO $MY_DOMAIN-HELP
HELO $MY_DOMAIN-VRFY root
HELO $MY_DOMAIN-EXPN root
HELO $MY_DOMAIN-TURN
HELO $MY_DOMAIN-SOML FROM:
HELO $MY_DOMAIN-SAML FROM:
HELO $MY_DOMAIN-NOOP
EHLO $MY_DOMAIN
#HELO $MY_DOMAIN-ETRN test
#HELO $MY_DOMAIN-MAIL FROM: -RCPT TO:
2. 指纹数据库
Sendmail 8.12.2-8.12.5:250:501:501:250:553:553:550:214:252:502:502:502:502:250:250
Sendmail 8.12.2:250:501:501:250:553:553:550:214:250:250:502:502:502:250:250
Sendmail 8.12.3:503:501:501:250:553:250:550:214:252:502:502:502:502:250:250
Sendmail 8.11.6 -1-:503:501:501:250:553:250:550:214:252:502:502:502:502:250:250
Sendmail 8.11.6 -2-:250:501:501:250:553:250:250:214:252:502:502:502:502:250:250
Sendmail 8.11.6,8.12.3:250:501:501:250:553:553:250:214:252:502:502:502:502:250:250
Sendmail 8.8.8 -1-:503:501:501:250:553:250:550:214:252:502:500:500:500:250:250
Sendmail 8.8.8 -2-:250:501:501:250:553:250:550:502:250:250:500:500:500:250:250
Sendmail 8.9.3 -1-:503:501:501:250:553:501:550:214:252:502:500:500:500:250:250
Sendmail 8.9.3 -2-:250:501:501:250:553:250:550:214:250:250:500:500:500:250:250
Sendmail 8.11.5:250:501:501:250:553:501:250:214:250:250:502:502:502:250:250
Sendmail 8.11.2:250:501:501:250:553:250:550:214:252:502:502:502:502:250:250
Sendmail 8.11.2 -2-:503:501:501:250:553:501:250:502:252:502:502:502:502:250:250
Sendmail 8.11.0:250:501:501:250:553:501:550:214:252:502:502:502:502:250:250
Sendmail 8.10.1:250:501:501:250:553:250:550:214:250:250:502:502:502:250:250
Sendmail 8.12.5/jtpda-5.4:503:501:501:250:553:451:550:502:250:502:502:502:502:250:250
Sendmail Switch-2.2.0:503:501:501:250:553:250:550:214:252:502:502:502:502:250:250
Sendmail Switch-2.2.3:503:501:501:250:553:553:550:214:252:502:502:502:502:250:250
Sendmail 4.1/SMI-4.1:554:250:501:250:250:250:0:500:252:500:500:500:500:250:500
Postfix:250:501:501:250:501:250:250:502:252:502:502:502:502:250:250
Qmail 1.0.3:250:250:250:250:250:250:250:214:252:502:502:502:502:250:250
InterScan VirusWall 3.52:250:250:501:250:501:250:553:214:502:502:500:250:250:200:250
NTMail v5.06.0016:503:501:250:250:250:250:550:214:250:505:501:501:501:250:250
NTMail v5.06.0014:503:501:250:250:250:250:250:214:557:505:501:501:501:250:250
NTMail v7.02.3037:503:501:250:250:250:250:250:214:250:505:501:501:501:250:250
Gordano Messaging Suite v8.00.3068:503:501:250:250:250:250:250:214:558:505:501:501:501:250:250
Microsoft Exchange 5.5.2650.21:250:501:501:250:553:501:250:214:250:250:500:500:500:250:250
Microsoft Exchange 5.5.2656.59:250:250:501:250:553:250:250:214:252:502:500:502:502:250:250
MailShield -1-:250:250:500:250:553:250:550:502:252:500:502:500:500:250:250
MailShield -2-:250:250:500:550:553:250:250:502:252:500:502:500:500:250:250
CheckPoint FireWall-1 secure SMTP server:501:250:501:250:501:250:501:214:250:500:500:500:500:220:500
Netscape Messaging Server 4.15:250:250:501:250:250:250:551:214:251:550:500:500:500:250:250
Exim 3.12:250:501:500:250:501:250:501:214:250:550:500:500:500:250:250
Exim 2.12,3.22,3.33,3.35:250:501:500:250:501:250:501:214:252:550:500:500:500:250:250
Exim 3.35:250:501:500:250:501:250:501:214:451:550:500:500:500:250:250
Netscape Messaging Server 3.6:250:250:501:250:250:250:250:451:502:502:502:502:502:250:250
IMail 6.06:250:250:501:250:250:250:501:211:252:550:502:250:250:250:250
IMail 7.10:250:250:501:501:250:250:550:211:252:550:502:250:250:250:250
IMail 7.12:250:250:501:250:250:250:250:211:252:550:502:250:250:250:250
CommuniGate Pro 3.5.3,3.5.9:250:250:501:250:501:572:550:214:252:501:530:501:501:250:250
CommuniGate Pro 4.0:250:250:501:250:501:572:250:214:252:501:530:501:501:250:250
iPlanet Messaging Server 5.1:250:251:501:250:250:250:250:214:252:250:502:250:250:250:250
Microsoft ESMTP MAIL Service, Version 5.0.2195:503:250:501:250:501:250:250:214:252:500:505:500:500:250:250
MAILsweeper ESMTP Receiver Version 4.3.1.0:503:250:250:250:250:250:553:500:252:500:500:500:500:250:250
Post.Office v3.1.2:250:250:501:250:250:250:550:214:250:250:502:502:502:250:250
Post.Office v3.5:250:250:501:250:250:250:550:214:252:550:502:502:502:250:250
Post.Office v3.5.3:250:250:501:250:250:250:550:214:550:550:502:502:502:250:250
InterMail vM.5.01.03.15:250:250:501:250:250:553:550:214:502:502:502:502:502:250:250
IA eMail Serv