网络入侵与防御背后的后门及Rootkit技术揭秘
1. 后门监听工具与应用级后门概述
网络安全领域中,后门监听工具和应用级后门是攻击者常用的手段。Cd00r是一个典型例子,它在TCP端口5002上运行,能在主机系统上提供root shell。Cd00r使用非混杂模式嗅探器捕获触发数据包序列,“触发”数据包可发送到系统的封闭端口。它是概念验证代码,建立后门后能调用攻击者选择的代码。
常见的后门监听工具如下表所示:
| 工具/后门监听程序 | 来源 | 描述 |
| — | — | — |
| ACKcmd | http://ntsecurity.nu/toolbox/ackcmd/ | 利用TCP ACK段通过周边防火墙和访问控制设备进行通信的特洛伊木马程序 |
| cd00r (FX) | http://www.phenolit.de | 使用非混杂模式嗅探器隐藏自身存在的后门监听程序 |
| Netcat (Hobbit, Pond) | http://www.l0pht.com | 可在任何端口建立后门监听程序,连接到shell或程序的多功能工具 |
| RWWWshell (Van Hauser) | http://packetstormsecurity.org | 用于使用HTTP响应数据包建立后门监听程序(隐蔽shell)以绕过防火墙 |
应用级后门种类繁多,涵盖了从蠕虫到功能强大的远程访问软件或Rootkit等。以下是部分应用级后门及其默认网络端口:
| 后门(特洛伊后门) | 端口号 |
| — | — |
| Doly Trojan | 21, 666, 5400, 5401, 5402 |
| Adore | 21, 1010, 1011, 1012, 1015, 1016, 2345 |
| ADM Worm | 22, 65535 |
| BSE | 22, 53, 31337 |
| Hybris | 25 |
| Deep Throat | 25 |
| BackGate (WinHole) | 41, 999, 2140 (UDP), 3150 (UDP), 6670, 6771, 60000 |
| Firehotcker | 69, 808, 1080, 1081, 1082, 1083, 2080 |
| Back Orifice 2000 (Plugins) | 79, 5321 |
| CGI Backdoor | 80 |
| Reverse WWW Tunnel Backdoor | 80 |
| Hidden Port | 80 |
| QAZ | 99 |
| Sadmind Worm | 137, 139, 7597 |
| Breach | 139, 600 |
| Incognito | 420 |
| TCP Wrappers Trojan | 420 |
| T0rn Rootkit | 421 |
| Grlogin | 511, 2555, 33567, 33568, 47017, 60008 |
| Lpdw0rm | 513 |
| Net Administrator | 515, 666 |
| Stealth Spy | 555 |
| Satan’s Back Door (SBD) | 555 |
| AimSpy | 666 |
| Netspy | 777 |
| Xanadu | 1024, 1025 |
| /sbin/initd | 1031, 31557 |
| Orion | 1049, 65534 |
| SubSeven | 1150, 1151 |
| ShadyShell | 1243, 1999, 2773, 2774, 6667, 6711, 6712, 6713, 6776, 7000, 7215,16959, 27374, 27573, 54283 |
| Glacier | 1337 |
| Nirvana | 1826, 7626, 7718 |
| Konik | 2255 |
| War Trojan | 2929, 23321 |
| ICQ Trojan | 4201 |
| Cd00r | 4590 |
| Linux Rootkit IV (now V) | 5002, 31337 |
| Xtcp | 5002 |
| Tini | 5550 |
| Back Orifice 2000 | 7777 |
| OpwinTrojan | 8787, 54320, 54321 (UDP) |
| Netbus | 10000, 10005 |
| | 12345, 12346 |
应用级后门可分为以下几类:
- 蠕虫:在网络传播过程中建立远程访问机制和后门监听程序,如Adore、Sadmind、Ramen。
- 具有应用功能的后门监听程序:能建立可接受交互式、命令行驱动输入的网络监听程序,如Netcat、Tini、Cd00r。
- 后门应用程序:通过多种功能(如远程命令执行、进程/服务管理功能和系统控制能力)提供对主机系统的远程控制,如Back Orifice、Subseven。
- Rootkit:更新主机操作系统并修改选定二进制文件的功能,以隐藏后门功能的存在,如T0rnkit、Knark。
2. 典型后门应用程序分析
2.1 Back Orifice/Back Orifice 2000
Back Orifice最初由Cult of the Dead Cow在1998年开发,Back Orifice 2000(BO2K)于1999年推出,是功能更全面的版本。它由安装在黑客系统上的客户端应用程序和安装在目标系统上的服务器应用程序组成,还支持多种提供扩展功能的插件。
Back Orifice 2000具有以下特点:
- 可适应的后门监听程序配置:支持配置多个服务器端监听程序,可在任何TCP或UDP端口进行客户端 - 服务器通信。客户端和服务器之间的通信可使用可用的加密插件进行加密。
- TCP/IP命令执行和网络控制:黑客可查看所有可用的网络资源。
- 数据包重定向功能:可配置将BO2K服务器上某个端口的数据包转发到特定IP地址和目标端口,也可用于将流量转发到黑客“代理”。
- 进程管理功能:攻击者可列出、终止和生成进程,还能在NT/2000任务管理器中隐藏单个进程(包括与BO2K相关的进程)。
- 注册表管理功能:远程黑客可随意列出、修改、删除和添加Windows系统注册表键。
- 视频控制功能:通过客户端和服务器中的流媒体视频功能查看终端用户视频显示器上的内容。
- 远程消息功能:可在远程系统(服务器)上按黑客指示构造对话框,为终端用户提供指令以获取BO2K系统上的额外权限。
- 击键记录功能:记录用户的所有击键信息到文件系统,供远程检索。
- 远程关机(和锁定)功能:可对目标系统进行远程关机或锁定。
- 系统侦察功能:使用BO2K的系统检查功能获取系统的详细信息,如硬盘空间、处理器速度或系统内存。
- 密码收集功能:从Windows NT/2000系统中导出LANMAN/NTLM密码哈希值,尝试使用密码哈希值和账户破解工具(如L0phtcrack)进行密码破解,还可检索BO2K系统中的缓存密码。
- 文件系统权限和功能:黑客可完全控制目标服务器上的文件系统,包括复制、重命名、删除、查看和搜索文件和目录,还具有文件压缩功能,可挂载和卸载文件共享。
- 应用程序重定向:可操纵目标服务器上安装的命令行应用程序,使其在任何TCP或UDP端口监听,然后使用Netcat或Telnet工具与命令行应用程序发起交互式会话。
- HTTP文件服务器功能:使用标准Web浏览器在任何端口连接到BO2K服务器,访问目标服务器文件系统。
Back Orifice 2000还可通过标准插件扩展功能,如提供强加密支持、ICMP隧道传输BO2K流量、嗅探和数据包捕获功能以及客户端 - 服务器脚本功能。
2.2 SubSeven
Subseven由Mobman编写,尽管体积小且专注于Windows 9.x平台,但功能强大,具有以下特点:
- 网页检索功能
- ICQ接管功能
- 进程管理器
- 服务器重启功能
- 剪贴板管理器
- 消息应用程序间谍软件
- 鼠标控制功能
- 音频/视频控制功能
- 击键记录功能
- 系统统计信息收集功能
- 文件上传/下载功能
- 文件/文件夹操作功能
- 密码检索功能
- 注册表操作功能
- 端口重定向器(允许攻击者将受感染系统上的端口配置为指向新的系统目标)
- 远程IP/端口扫描器
SubSeven由客户端、服务器组件和服务器编辑器组件组成,服务器编辑器组件允许攻击者定义受感染系统如何通知攻击者其存在(如通过电子邮件、ICQ等)以及客户端应使用哪些端口连接到服务器。
3. Rootkit技术解析
Rootkit与特洛伊木马和后门有一些相同特征,但它通过修改主机操作系统的核心二进制文件和隐藏文件及进程,为攻击者在系统上提供“隐蔽”存在。Rootkit通常具有以下关键特征:
- 提供进入主机操作系统的后门(或一系列后门)。
- 提供收集额外主机/网络侦察信息的机制。
- 更新关键操作系统二进制文件和操作系统环境,以掩盖Rootkit的存在。
Rootkit通常会对主机操作系统进行以下修改:
- 修改操作系统登录设施:例如,修改UNIX主机上的/bin/login程序,通过后门登录和密码方便持续访问主机,绕过主机会计和日志记录设施。
- 安装混杂模式数据包嗅探器:用于持续的系统/网络侦察,通常通过替换可能揭示混杂模式“标志”的操作系统二进制文件来隐藏其存在。
- 提供标准操作系统命令的特洛伊版本:如替换“du”“find”“ls”“netstat”“ps”“top”等命令。
- 隐藏主机文件系统中的文件:选择性地隐藏文件,使其不显示在标准操作系统的文件和目录列表中。
- 管理日志文件和时间戳:提供纠正文件修改时间和校验和的功能,以隐藏文件更新,还可编辑或删除用户会计条目和日志文件或日志文件条目。
以下是Rootkit可能操纵的操作系统设施:
| 操作系统设施 | 示例 | 黑客工具 |
| — | — | — |
| 磁盘利用率 | UNIX ‘du’ 命令 | Rootkit可能替换标准磁盘利用率命令,以隐藏黑客工具和数据包捕获文件占用的空间 |
| 文件系统搜索设施 | UNIX ‘find’ 命令 | Rootkit可能提供修改后的文件系统搜索实用程序版本,防止发现黑客工具和数据包捕获文件 |
| 文件和目录列表 | UNIX ‘ls’ 命令,Windows ‘dir’ 命令 | Rootkit经常替换现有操作系统二进制文件以掩盖黑客工具和文件的存在 |
| 网络统计信息 | UNIX或Windows ‘netstat’ 命令 | Rootkit经常替换提供网络统计信息的命令,以隐藏后门监听程序 |
| 进程统计信息和进程管理 | UNIX ‘ps’ 和 ‘top’ 命令,Windows ‘Task Manager’ | Rootkit经常提供特洛伊版本的命令或修改任务管理器元素,以隐藏与Rootkit相关的进程 |
| 登录设施 | UNIX或Windows登录设施 | UNIX或Windows登录设施可能被修改或绕过,使用后门登录设施 |
| 网络硬件管理 | UNIX ‘ifconfig’ 命令,Windows ‘ipconfig’ 命令 | 网络硬件管理设施可能被Rootkit修改,以掩盖混杂模式数据包嗅探器的存在 |
| 账户/密码管理 | UNIX ‘passwd’ 命令,Windows ‘net user’ 命令 | 账户/密码设施可能被修改,以掩盖未经授权的账户或账户权限 |
| 服务管理设施 | UNIX inetd,Windows svcmgr.exe | 服务管理设施可能被特定Rootkit修改,以帮助攻击者启动未经授权的服务并掩盖其存在 |
| 日志记录设施 | UNIX syslogd,Windows Event, System, and Security logs | 日志记录设施可能被修改,以控制记录到系统日志文件的内容 |
以T0rnkit为例,它是一个“简单”(即非内核)的Rootkit,为攻击者提供了广泛的隐蔽功能:
- 日志文件管理:安装时杀死“syslogd”,如果日志通过远程日志记录设施重定向到远程系统则提醒黑客(停止安装),还可清理系统日志文件以隐藏入侵证据,安装后重新启动syslogd。
- 系统二进制文件替换:提供以下二进制文件的特洛伊版本:/bin/login, /sbin/ifconfig, /bin/ps, /usr/bin/du, /bin/ls, /bin/netstat, /usr/sbin/in.fingerd, /usr/bin/find, /usr/bin/top。
- 特洛伊程序密码保护:将黑客提供的特洛伊系统二进制文件密码存储在/etc/ttyhash中(该文件由T0rnkit的特洛伊功能自动隐藏)。
- 安全外壳守护程序(sshd)的特洛伊版本:安装可使用黑客提供的SSH密钥在自定义端口号上监听的sshd特洛伊版本,安装为/usr/sbin/nscd并从/etc/rc.d/rc.sysinit自动启动。
- 隐藏文件、进程等功能:实现文件和进程隐藏功能,支持这些功能的配置文件隐藏在/usr/src/.puta目录中。
- 自动更新inetd.conf:尝试修改/etc/inetd.conf以启动Telnet、shell和finger等服务,完成后重新启动/usr/sbin/inetd。
- 审查和警报TCPWrappers配置:如果对/etc/hosts.deny文件进行了修改,阻止所有inetd服务(如Telnet、FTP等),则通知黑客 - 安装者。
- (某些版本)修补rpc.statd和wu - ftpd:尝试修补rpc.statd和wu - ftpd中的漏洞,防止目标系统被其他黑客入侵。
常见的Rootkit工具来源如下:
| Rootkit | 来源 |
| — | — |
| ARK Rootkit (Linux) | http://packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue = ARK+rootkit&type = archives |
| Devnull Rootkit (Linux) | http://packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue = devnull+rootkit&type = archives |
| Linux Rootkit V (Linux) | http://www.lordsomer.com |
| T0rnkit (UNIX) | http://online.securityfocus.com/infocus/1230 |
4. 内核级Rootkit技术
内核级Rootkit在应用级Rootkit(修改标准系统二进制文件)的基础上,通过修改系统内核来实现系统入侵。大多数内核级Rootkit是为UNIX平台编写的,但针对Windows NT和2000的内核级Rootkit也在不断涌现。
内核级Rootkit通过对主机操作系统内核进行离散修改,更新应用程序和操作系统环境,使其难以被检测,即使使用Tripwire等工具也很难发现。例如,UNIX的“ps”命令通常从/proc(procfs)获取进程信息,内核Rootkit可修改内核以隐藏特定进程,使即使是正常的“ps”命令也无法显示特洛伊或Rootkit进程。
UNIX内核中支持可加载内核模块的系统尤其容易受到攻击,许多内核级Rootkit利用这一功能用“恶意”内核组件(Rootkit组件)更新内核。静态编译的内核相对更抗Rootkit,但仍可通过直接写入/dev/kmem来修改运行时内核。恶意内核模块可修改内核,使其不在内核模块列表(使用lsmod)中显示。许多内核Rootkit通过重定向系统调用(即二进制重定向)来感染系统,用自己的代码替换系统调用处理程序,以隐藏文件、进程和连接。
内核级Rootkit通常提供与传统Rootkit相同或更多的功能,还具有与内核修改相关的隐蔽优势和控制操作系统内核的能力。通过实现二进制重定向,内核级Rootkit可拦截对“合法”二进制文件的调用,并将这些调用透明地重定向到系统磁盘上的其他二进制文件。
以下是两个平台特定的内核级Rootkit示例:
4.1 Knark
Knark为Linux 2.2内核编写,使用可加载内核模块功能感染Linux系统。它可在启动时作为可加载内核模块动态加载到内核中,前提是黑客在系统启动文件中添加对Knark LKM的引用。Knark在Linux的“虚拟文件系统”/proc中维护一个隐藏目录/proc/knark,包含被Rootkit隐藏的各种对象的信息,如文件、进程ID、二进制重定向和网络字符串。
Knark具有以下功能:
- 隐藏主机系统上的进程、文件、监听程序等:提供hidef(隐藏文件、目录和子目录)和nethide(从netstat等实用程序中隐藏字符串)等应用程序,将对象放入/proc/knark。
- 执行二进制重定向:通过运行名为ered的程序并提供合法和特洛伊二进制文件的名称来实现,例如:
./ered /bin/login /bin/trojanlogin
- 隐藏后门监听程序:使用nethide工具选择性地从系统网络实用程序(如netstat)中隐藏监听程序,例如:
./nethide <portnum>
其中
必须以十六进制形式提供给nethide。
- 以标准用户账户执行具有root权限的任何程序:通过“rootme”程序实现,例如:
./rootme /bin/sh
- 更改特定进程的UID:使用“taskhack”实用程序更改进程的UID、EUID、SUID和FSUID,例如:
./taskhack –euid = 0 <pid>
将
进程的EUID设置为root(0)。
- 在“Knark化”系统上执行远程命令:提供“rexec”功能,通过IP欺骗允许黑客从远程位置执行命令,所有欺骗命令从UDP端口53发送以模拟DNS查询。
- 立即隐藏主机系统上的进程:通过向进程发送特定信号(如kill –31
)使进程在后台继续运行,但对常规操作系统工具不可见。
- 隐藏混杂模式数据包嗅探器:自动隐藏网络实用程序(如“ifconfig”)中的混杂模式标志。
- 隐藏内核可加载模块:使用“modhide”功能从OS实用程序(如“lsmod”)中隐藏选定模块,Knark本身也可通过此方式隐藏。
4.2 NT Rootkit
NT Rootkit由Greg Hoglund开发,通过名为deploy.exe的可执行文件使用单个中断调用(ZwSetSystemInformation())加载/安装。一旦执行deploy.exe,Rootkit立即加载到内存并激活。
NT Rootkit仍在原型开发中,但支持以下功能:
- 键盘记录:通过位于键盘硬件和操作系统之间的驱动程序/垫片将击键记录到文件。
- 内核模式shell:实现命令(kmode)shell。
- 进程隐藏功能:使用“hideproc”命令从NT任务管理器中隐藏进程,任何以“
root
”开头的进程都将被操作系统隐藏,此功能可在k模式shell中切换开关。以“
root
”为前缀启动的进程可以看到其他内核模式进程,例如“_root_taskmgr.exe”仍可看到隐藏进程。
综上所述,网络安全领域中的后门和Rootkit技术复杂多样,攻击者利用这些技术对系统进行入侵和控制。了解这些技术的原理和特点,有助于我们更好地进行网络安全防护,及时发现和抵御潜在的攻击。在实际应用中,我们应加强系统的安全配置,定期更新系统和软件,使用安全防护工具(如防火墙、入侵检测系统等),以降低被攻击的风险。同时,对于关键系统和数据,应采取更严格的安全措施,如加密存储、访问控制等。
网络入侵与防御背后的后门及Rootkit技术揭秘
5. 后门及Rootkit的危害与防范策略
5.1 危害分析
后门和Rootkit技术对网络安全构成了严重威胁,其危害主要体现在以下几个方面:
-
数据泄露
:攻击者可以利用后门和Rootkit获取系统中的敏感信息,如用户密码、商业机密、个人隐私等。例如,通过击键记录功能,攻击者可以获取用户在登录各类账户时输入的密码,进而登录用户的账户进行非法操作。
-
系统控制
:攻击者能够远程控制受感染的系统,执行各种恶意操作,如安装其他恶意软件、发起DDoS攻击、篡改系统文件等。像Back Orifice 2000和SubSeven这类后门应用程序,提供了丰富的系统控制功能,使攻击者可以随意操纵目标系统。
-
网络侦察
:Rootkit中的混杂模式数据包嗅探器可以收集网络中的流量信息,帮助攻击者了解网络拓扑结构、发现潜在的攻击目标。这为进一步的攻击提供了便利,增加了网络被攻击的风险。
-
破坏系统稳定性
:频繁的恶意操作和对系统文件的修改可能导致系统出现故障、崩溃,影响正常的业务运行。例如,T0rnkit等Rootkit对系统二进制文件的替换可能会破坏系统的正常运行机制。
5.2 防范策略
为了有效防范后门和Rootkit的攻击,可以采取以下策略:
-
加强系统安全配置
- 定期更新操作系统和软件,安装最新的安全补丁,修复已知的安全漏洞。
- 配置防火墙,限制不必要的网络访问,只允许合法的流量通过。例如,禁止外部网络对系统内部端口的随意访问。
- 启用入侵检测系统(IDS)和入侵防御系统(IPS),实时监测系统的活动,及时发现并阻止潜在的攻击。
-
提高用户安全意识
- 教育用户不随意点击来历不明的链接、下载未知来源的文件,避免因疏忽而安装后门程序。
- 提醒用户设置强密码,并定期更换密码,增加账户的安全性。
-
使用安全防护工具
- 安装杀毒软件和反恶意软件,定期对系统进行全面扫描,检测并清除潜在的后门和Rootkit。
- 使用文件系统完整性检查工具,如Tripwire,定期检查系统文件的完整性,及时发现文件被篡改的情况。
-
进行安全审计
- 定期审查系统日志,查看是否存在异常的登录、操作记录,及时发现潜在的攻击迹象。
- 对网络流量进行分析,检测是否存在异常的数据包传输,如混杂模式数据包嗅探器产生的流量。
6. 总结与展望
6.1 总结
本文详细介绍了网络安全领域中的后门监听工具、应用级后门、Rootkit技术及其危害和防范策略。后门监听工具如ACKcmd、cd00r等,为攻击者提供了进入系统的途径;应用级后门包括Back Orifice 2000、SubSeven等,具有强大的系统控制功能;Rootkit则通过修改操作系统核心文件和隐藏文件进程,为攻击者提供隐蔽的存在。这些技术都对网络安全构成了严重威胁,我们需要深入了解它们的原理和特点,采取有效的防范措施。
6.2 展望
随着网络技术的不断发展,后门和Rootkit技术也在不断演变。未来,攻击者可能会采用更加隐蔽、复杂的技术来绕过安全防护机制。例如,利用人工智能和机器学习技术来优化攻击策略,使攻击更加精准和难以检测。因此,网络安全领域需要不断创新和发展,研发更加先进的安全防护技术。同时,加强国际合作,共同打击网络犯罪,维护网络空间的安全和稳定。
为了更好地理解整个网络入侵与防御的流程,下面给出一个简单的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([网络系统]):::startend --> B{是否存在漏洞}:::decision
B -->|是| C(攻击者利用漏洞植入后门/Rootkit):::process
B -->|否| D(系统安全运行):::process
C --> E(攻击者远程控制/窃取数据):::process
E --> F(系统出现异常):::process
F --> G{是否检测到异常}:::decision
G -->|是| H(采取防范措施):::process
G -->|否| I(数据泄露/系统破坏):::process
H --> J(修复漏洞/清除恶意软件):::process
J --> K(系统恢复正常):::process
总之,网络安全是一个长期而艰巨的任务,我们需要不断学习和研究,提高自身的安全意识和技术水平,才能有效应对日益复杂的网络安全威胁。无论是企业还是个人,都应该重视网络安全问题,共同营造一个安全、稳定的网络环境。
超级会员免费看
1万+

被折叠的 条评论
为什么被折叠?



