我们正在寻求网站安全专家的帮助/建议。我们公司开发基于网络的流程管理软件并为我们的客户托管。当用户在系统中有新任务时,该软件会向用户发送电子邮件,或者在这些任务过期时发送电子邮件提醒。
我们最近开始在 Web 服务器日志中看到探测,表明某些东西正在从这些电子邮件中获取其中一个 URL,使用 ROT-13 方法对参数进行部分混淆,并将其发送到我们的服务器。然后它将响应页面(通常是登录或错误页面)提取页面内容,构造一个回发 URL,其中包含这些内容作为参数,并将其发送到服务器。然后序列结束。这通常发生在电子邮件发送后的几秒钟内,并且与用户的电子邮件客户端是否处于活动状态无关,这表明它正在被拦截和处理。
这种行为没有明显的危险,起初我们认为它可能是在我们客户的一个环境中部署的某种反恶意软件代理。“攻击”将来自两个数据中心之一(一个在纽约,一个在英国),即使用户不在这两个位置中的任何一个,并且会通过特定子网上的各种 IP 进行轮换。然而,我们刚刚接受了一个新客户,我们看到他们的很多用户都发生了这种情况,并且行为相同:在向那些发送电子邮件的几秒钟内探测来自两个数据中心之一的服务器上的“攻击”用户。
以下是我们看到攻击的数据中心 IP 地址:
- 209.133.77.162-167 - above.net
- 89.145.108.201-207 - as29017.net
我们已经查看但没有发现任何类似行为的报告,我们希望 StackExchange 社区能够就在哪里查看或如何继续我们的调查给我们一些建议。
- 这个问题的解释清楚吗?
- 有没有其他人见过这样的事情?
- 它是某种“无辜的”反恶意软件行为,还是表示实际攻击?
提前感谢您的任何建议,如果有任何其他信息可以提供帮助,请告诉我们。
更新:谢谢munkeyoto。我们将考虑联系 AboveNet。
关于您的建议,电子邮件实际上是成功发送给客户的。我们认为某些事情只是在电子邮件中搜索 URL 以尝试攻击。一旦它找到一个目标 URL,在本例中是我们的 Web 应用程序,它会在使用它来联系我们的应用程序之前修改该 URL。
我们的服务器每天向许多不同的客户发送大量电子邮件,而这种行为仅发生在两个特定站点上。正因为如此,我们相信电子邮件在离开我们的网络后会被扫描,位于 SMTP 链的某个位置。我们也不相信它存在于用户的特定电子邮件客户端中,因为即使他们的机器未打开也会发生这种情况。而且由于探测攻击始终来自数据中心内的两个特定子网,即使电子邮件发送给完全不同的客户公司,我们认为这指向了这些数据中心内部的某些东西。
无论如何,我们会跟进 AboveNet,看看他们能否提供建议。
更新:针对关于 PHP/WordPress 的问题:两者都不是。它是一个完全用 C# 编写的 ASP.NET 应用程序套件。
更新:针对有关如何修改和探测 URL 的问题。
当某人通常从电子邮件中单击这些 URL 之一时,我们的应用程序的正常序列可能如下所示(为演示目的而简化):
2013-11-13 22:14:53 XXX.XXX.XXX.XXX GET /ExampleApplication/TaskList.aspx
2013-11-13 22:14:53 XXX.XXX.XXX.XXX GET /ExampleApplication/SignIn.aspx ReturnUrl=%2fExampleApplication%2fTaskList.aspx
相反,这是我们在探测发生时看到的:
2013-11-13 22:10:23 XXX.XXX.XXX.XXX GET /ExampleApplication/TaskList.aspx
2013-11-13 22:10:23 XXX.XXX.XXX.XXX GET /ExampleApplication/SignIn.aspx ReturnUrl=%2sRknzcyrNccyvpngvba%2sGnfxYvfg.nfck
2013-11-13 22:10:24 XXX.XXX.XXX.XXX GET /ExampleApplication/SignIn.aspx ReturnUrl=%2fExampleApplication%2fTaskList.aspx/FvtaVa.nfck?ErgheaHey&ctl18=Cevagre%20Sevraqyl%20Irefvba&ctl28$SignIn_PageOperationButton0=Fvta%20Va&gas =ahyy&__SCROLLPOSITIONX=0&%252sRknzcyrNccyvpngvba%252sGnfxYvfg.nfck?ctl10_HiddenField=&ctl28$SignInTransform_UserID=ahyy&__EVENTTARGET=& [为简洁起见截断...]
因此,在这两种情况下,都会向 TaskList.aspx 页面发出请求。服务器响应重定向到 SignIn.aspx 页面(因为用户尚未通过身份验证)。在正常情况下,浏览器代理只是在该重定向页面上执行 GET。在探测案例中,代理在执行 GET 之前通过对文本进行 ROT-13 处理来修改 ReturnUrl 参数。然后它执行第二个 GET,返回的 URL 基本正确,但附加的连接参数包含登录页面中 HTML 字段的名称。它几乎看起来好像是在尝试使用该页面上潜在的隐藏字段通过参数侵入系统(没有任何参数,而且它不起作用)。
让我知道这是否是您正在寻找的信息。谢谢。
最后更新:
我们与 AboveNet(现在是 Zayo 的一部分)打了几个电话,但我们终于能够确定他们的一个客户是一家位于英国的反恶意软件公司,为我们的两个共同客户提供服务。他们正在扫描所有传入的电子邮件并探测任何超链接,以识别目的地的潜在危险和/或漏洞。他们已将我们的应用程序服务器添加到白名单中,并且不再发生探测。感谢@munkeyoto 提出与他们联系的建议。