追踪扫描者画像揭露攻击者真实身份

admin 2026-01-23 10:55:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文讲述作者服务器遭遇扫描攻击,排查发现冰蝎马与不死马后门。作者通过清理进程与文件清除威胁,利用日志与微步在线溯源至傀儡机。随后作者反向扫描傀儡机,发现开放端口及残留后门,并编写脚本爆破密码成功获取权限。文章展示了后门清除、溯源分析及反向渗透的实战经验。 综合评分: 75 文章分类: 实战经验,应急响应,威胁情报,WEB安全


cover_image

追踪扫描者画像 揭露攻击者真实身份

原创

老兵 老兵

网安守护

2026年1月22日 06:46 北京

阅读须知

文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!

一、恶意IP出现

一切始于一顿平静的家宴,正当我享受这份宁静时,手机却震动了,传来一则令人困惑的警报:我的服务器遭到了俄罗斯IP扫描攻击。这让我不禁困惑,我的服务器并无重要资料,为何成了攻击的目标?

二、排查后门

无奈之下,只好硬着头皮开机进行调查。刚登陆服务器,便想起曾在上面设置过一个用于测试的文件上传站点,这下事情复杂了。这不是自找麻烦吗?左无奈右无计,我开始寻找潜在的木马。果不其然,在 upload 文件夹中便发现了木马后门。继续深入探索时,隐藏文件中还露出了一个“不死马”的踪迹。

我仔细审查了 shell.php 文件,发现这是一个使用PHP编写的冰蝎马,其操作流量全部加密,使得追踪源头变得不可能。进一步检查 .config.php 文件,显然这是个“不死马”,删除后它还能自行复生。于是我开始着手清理这些后门。对于普通的木马,直接删除即可处理,而对于“不死马”,则有几种策略可以采用:

  • 创建一个同名目录,阻止它生成新的马文件。
  • 利用 ignore_user_abort(true) 的脚本不断尝试写入并删除不死马文件,设置的 usleep() 时间必须短于不死马的,以取得优势。
  • 当权限充足时,重启Apache服务后快速删除文件。
  • 如果不能重启服务,则结束 www-data 用户的所有子进程。

拥有足够的权限,我选择单独清理 www-data 用户下的子进程,执行了以下命令:

ps aux | grep www-data | awk '{print $2}' | xargs kill -9

完成后,使用 rm -f .config.php 命令彻底删除了“不死马”。

三、反击溯源

清理完后门,我仔细检查了服务器,确认一切正常。接下来,我想尝试追踪到这位黑客。首先查看了 history 和 Apache 的日志,不出所料,这些记录已经被删除了。不过,幸运的是,这名黑客并不知道这台服务器原本是我用来做测试的,我曾经为几个关键文件安装了一个流量监控。

我迅速打开生成的日志,心中不禁一笑,这位黑客虽然小心翼翼,但还是留下了痕迹。日志里清楚地记录了其攻击过程,包括了黑客使用的IP地址。这一发现,虽不足以揭露黑客的具体身份,但至少让我掌握了进一步行动的线索。

持着这个IP地址,我登录到微步在线进行详细查询。结果显示,这个IP很早以前就被标记为一个傀儡机。显然,这位黑客是个老手,擅长使用被感染的计算机进行攻击以隐藏自己的真实身份。这种策略让他能够在网络上留下尽可能少的痕迹,同时增加追踪的难度。

四、攻克傀儡机

确认了目标机器的IP地址后,我使用nmap工具进行了一次深入扫描。结果显示,目标机器的3306端口(通常用于MySQL数据库服务)意外地暴露了出来,这是一个潜在的安全风险。同时,我还尝试访问了80端口对应的网页,但页面上并没有任何内容,看来这台机器可能主要被用于其他目的,而不是作为一个常规的网站服务器。这些信息为进一步的调查提供了有价值的线索。

在进行初步扫描之后,我并没有立刻考虑可能存在的SSH或MySQL的弱密码问题,因为在我的经验中,这种情况较为少见。根据微步在线的信息,我怀疑这个服务器可能被广泛地用作攻击跳板。

为了验证我的猜想,我决定使用我改装过的扫描工具进行更深入的探查。这个工具是基于dirsearch,但我对其进行了定制,特别是在配置的字典中增加了一些常见的后门文件名。通过这种方式,我能够更有效地探测和识别潜在的恶意文件或后门。

使用这个定制版的dirsearch进行扫描后,结果证实了我的猜想:确实存在一些恶意文件。这一发现进一步证明了服务器的安全状况堪忧,也为我提供了处理和进一步调查的依据。

在扫描结果中,除了已确认的后门文件外,我还发现了一个名为 2.php 的文件。访问该文件后,页面完全为空白,这几乎可以肯定是某个黑客遗留下的小型后门。为了进一步探测这些后门,我决定编写一个小脚本进行自动化测试。

首先,我上网搜索了一个后门密码的字典,并将之前发现的黑客使用的后门密码加入到这个字典中。然后,我编写了以下脚本来自动尝试这些密码,并探测这些后门的访问权限和功能:

import requests
# 后门文件列表backdoors = ['2.php', 'shell.php', '.config.php']
# 加载密码字典with open('passwords.txt', 'r') as file:    passwords = file.readlines()    passwords = [password.strip() for password in passwords]
# 尝试每一个后门和密码组合for backdoor in backdoors:    for password in passwords:        # 构造访问URL和参数        url = f"http://target-server/{backdoor}"        data = {'password': password, 'cmd': 'whoami'}                # 发送请求        response = requests.post(url, data=data)                # 检查响应是否成功        if response.status_code == 200 and response.text != '':            print(f"Access granted to {backdoor} with password: {password}")            print(f"Response: {response.text}")            break        else:            print(f"Failed for {backdoor} with password: {password}")
# 注意:此脚本仅用于授权的安全测试。

此脚本通过尝试每个后门文件与字典中的每个密码进行组合,来检测是否可以成功执行命令。这一过程可以有效地揭示哪些后门是活跃的,并且确定它们的访问密码。这样的测试应该在确保合法和授权的情况下进行,以避免非法入侵他人服务器。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网安守护 老兵 老兵《追踪扫描者画像 揭露攻击者真实身份》

评论:0   参与:  0