网络攻防策略解析
1. NT Rootkit功能介绍
NT Rootkit具备多种隐蔽和控制功能,以下为您详细介绍:
-
文件隐藏功能
:可使用“hidedir”命令隐藏文件和目录。任何以“
root
”开头的文件或目录,都会对操作系统隐藏。可通过k - mode shell使用“hidedir”命令开启或关闭此功能。以“
root
”为前缀启动的shell(如
root_cmd.exe)仍能查看隐藏文件。
-
二进制重定向
:利用上述“_root
”机制,NT Rootkit能实现二进制(.exe)文件的重定向。
-
注册表隐藏
:任何以“
root
”为前缀的注册表值或键,在注册表编辑器(regedit.exe和regedt32.exe)中会被隐藏。以“
root
”为前缀的regedit.exe副本则可查看所有“隐藏”键。
-
远程管理能力
:可通过Telnet连接到服务器的任意端口(rootkit的硬编码IP地址为10.0.0.166)对NT Rootkit进行远程管理。由rootkit管理的“后门”监听器在netstat中不会显示。
2. 内核级Rootkit资源
以下是一些内核级Rootkit的来源:
| Rootkits | Source |
| ---- | ---- |
| Adore | http://packetstormsecurity.org/cgi-bin/search/search.cgi? searchvalue = adore&type = archives |
| KIS | http://packetstormsecurity.org/cgi-bin/search/search.cgi? searchtype = archives&counts = 126&searchvalue = rootkit++ |
| Knark | http://packetstormsecurity.com/UNIX/penetration/rootkits |
| NT/2000 Rootkit | http://www.rootkit.com |
| RIAL | http://www.pkcrew.org |
3. 网络安全挑战与防御思路
保障系统或网络免受整合和权限提升攻击是一项极具挑战性的任务。这类攻击会利用各种标准的系统/网络资源。账户和权限管理显然是有效防御策略的核心,但即便攻击者无法直接破解账户,仍可能通过利用易受攻击的服务、注册表键、设备或可执行文件来获取系统权限。
操作系统攻击往往具有“关联性”。例如,获取一个非特权账户本身可能并非重大威胁,但获取一个能访问关键文件系统、设备或服务以及拥有重要操作系统权限(如调试权限)的账户则意义重大。随着攻击者在系统或网络中获取更多权限,他们更容易“链式”提升权限并获取更多权利。因此,识别单个系统/应用程序漏洞的潜在(关联)影响是一项复杂任务,需要采用全面且多方面的系统/网络强化方法来抵御各类攻击。
4. 攻击与防御映射
以下是常见攻击类型及其对应的防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 账户和权限管理 - 账户破解 | 参考“Your Defensive Arsenal”;针对Active Directory账户破解技术,参考“Introduction to Directory Services”;采用针对SAM破解(NT/2000)、SMB嗅探和数据包嗅探、注册表的防御措施;进行服务器监控和入侵检测;使用强认证;进行密码审计并使用密码审计工具;对特定服务(如FTP、POP3等)设置安全控制;在UNIX平台使用影子密码文件 |
| 账户和权限管理 - Active Directory攻击 | 参考“Introduction to Directory Services” |
| 账户和权限管理 - 内置账户、组及相关权限 | 移除不必要的账户(包括来宾/匿名账户);移除不必要的权限;移除不必要的组和组权限;重命名默认账户 |
| 账户和权限管理 - Finger服务侦察 | 禁用Finger服务;限制对Finger(Fingerd)的远程访问;进行服务器监控和入侵检测;移除不必要的账户 |
| 账户和权限管理 - Kerberos破解 | 参考“Your Defensive Arsenal” |
| 账户和权限管理 - 键盘记录 | 限制对系统的物理访问;限制设备权限和设备访问;进行服务器监控和入侵检测;使用配置审计和验证工具;采用状态防火墙;进行文件系统监控 |
| LDAP破解和LDAP侦察 | 参考“Introduction to Directory Services” |
| 轮询账户数据库 | 参考Active Directory防御措施;采用针对SAM破解(NT/2000)、注册表的防御措施;进行服务器监控和入侵检测;在UNIX平台使用影子密码文件;验证账户数据库的访问控制(如 /etc/passwd 和 /etc/shadow) |
| 社会工程学 | 参考“Anatomy of an Attack” |
| 特洛伊木马登录 | 见特洛伊木马防御措施 |
5. 流程图:网络攻击与防御流程
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(网络攻击):::process --> B(账户和权限管理攻击):::process
A --> C(文件系统攻击):::process
A --> D(服务和进程管理攻击):::process
A --> E(设备管理攻击):::process
A --> F(库和共享库攻击):::process
A --> G(Shell访问和命令行攻击):::process
A --> H(注册表攻击):::process
A --> I(客户端软件攻击):::process
A --> J(网络服务攻击):::process
A --> K(网络信任关系攻击):::process
A --> L(应用程序/可执行环境攻击):::process
A --> M(外国代码攻击 - 特洛伊木马):::process
A --> N(外国代码攻击 - Rootkit):::process
B --> B1(账户破解防御):::process
B --> B2(Active Directory攻击防御):::process
B --> B3(内置账户等权限管理防御):::process
B --> B4(Finger服务侦察防御):::process
B --> B5(Kerberos破解防御):::process
B --> B6(键盘记录防御):::process
C --> C1(文件系统侦察防御):::process
C --> C2(文件系统破解防御):::process
C --> C3(文件共享漏洞防御):::process
C --> C4(文件句柄和描述符攻击防御):::process
C --> C5(文件系统设备和I/O破解防御):::process
C --> C6(通过应用程序漏洞的文件系统利用防御):::process
C --> C7(扩展文件系统功能和文件系统破解防御):::process
D --> D1(进程、服务和权限识别防御):::process
D --> D2(启动/停止服务和特定权限执行防御):::process
D --> D3(API、操作系统和应用程序漏洞防御):::process
D --> D4(缓冲区溢出等应用程序攻击防御):::process
D --> D5(调试进程和内存操作防御):::process
D --> D6(进程间通信、命名管道和命名套接字破解防御):::process
E --> E1(设备和设备管理破解防御):::process
E --> E2(键盘记录防御):::process
E --> E3(数据包嗅探防御):::process
F --> F1(库和共享库破解防御):::process
G --> G1(Shell破解防御):::process
H --> H1(注册表破解防御):::process
I --> I1(客户端软件占用防御):::process
J --> J1(通过易受攻击的网络服务获取账户/权限防御):::process
J --> J2(NetBIOS/SMB侦察防御):::process
J --> J3(NIS侦察和NIS破解防御):::process
J --> J4(SNMP侦察防御):::process
K --> K1(网络信任关系利用防御):::process
L --> L1(应用程序/可执行文件破解防御):::process
M --> M1(特洛伊木马和特洛伊后门防御):::process
N --> N1(Rootkit和内核级Rootkit防御):::process
6. 文件系统及 I/O 资源攻击与防御
文件系统及 I/O 资源方面存在多种攻击类型,以下是详细的攻击类型及对应的防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 文件系统侦察 | 对本地文件系统设置访问控制(SACLs、DACLs);对基于网络的文件系统/文件共享(NetBIOS、NFS)设置访问控制;对伪文件系统(/proc)设置访问控制;对关键系统二进制文件进行防护;对设备文件进行防护;设置库访问控制;禁用空会话(NT/2000);一般限制对文件和目录的读取访问;限制代码、脚本和可执行文件的安装 |
| 文件系统破解 | 采取针对文件描述符攻击的防御措施;限制使用SUID/SGID二进制文件(UNIX);验证符号链接(UNIX);限制使用符号和硬链接(UNIX);限制对系统文件系统关键区域的访问;限制对以下类型文件的访问:操作系统/应用程序配置文件、二进制文件、程序、可执行文件、库和共享库、日志文件;为文件共享服务(SMB、NFS)设置适当的访问和安全控制;限制代码、脚本和可执行文件的安装;进行服务器监控和入侵检测;进行文件系统监控;审计文件系统权限和访问控制 |
| 文件共享漏洞利用 | 对基于网络的文件系统/文件共享设置访问控制(NetBIOS、NFS);一般限制对文件和目录的读取访问;采取针对文件描述符攻击的防御措施;为SMB/CIFS和NFS打安全补丁以解决漏洞;禁止通过远程共享执行SUID/SGID二进制文件;采取针对IP欺骗的防御措施;对文件共享设置认证控制;采取针对中间人攻击(SMB)的防御措施;采取针对NFS的RPC防御措施 |
| 文件句柄和文件描述符攻击 | 为文件描述符可预测性打补丁;采取针对网络窃听(数据包嗅探)的防御措施;为操作系统文件描述符漏洞打补丁 |
| 文件系统设备和 I/O 破解 | 采取针对设备破解的防御措施 |
| 通过应用程序漏洞的文件系统利用 | 为应用程序漏洞打补丁;进行适当的应用程序配置更改;为应用程序配置文件和日志文件设置适当的访问控制 |
| 扩展文件系统功能和文件系统破解 | 验证符号链接(UNIX);限制使用SUID/SGID二进制文件(UNIX) |
7. 服务和进程管理设施攻击与防御
服务和进程管理设施也面临着各种攻击,以下是相应的攻击类型及防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 进程、服务和权限识别 | 限制对会计和性能监控设施的访问;限制对 /proc(UNIX)的访问;禁用不必要的SNMP服务;禁用不必要的端口;禁用不必要的服务;限制对特定服务/进程监控设施的访问;限制对进程管理设施和实用程序的访问;限制对进程表的访问;限制对NT/2000资源工具包实用程序的访问 |
| 启动/停止服务和特定权限执行 | 限制与进程/服务相关的权限;限制对任务调度器(at、cron)的访问;限制对服务启动设施(/etc/rc*、启动文件夹)的访问;限制对sudo和runas等设施的访问 |
| API、操作系统和应用程序漏洞 | 保护对进程调试设施的访问;为API、操作系统和应用程序漏洞打补丁 |
| 缓冲区溢出等应用程序攻击 | 为缓冲区溢出、格式字符串和其他应用程序攻击打补丁;限制使用SUID/SGID二进制文件(UNIX) |
| 调试进程和内存操作 | 保护对进程调试设施的访问;为API、操作系统和应用程序漏洞打补丁 |
| 进程间通信、命名管道和命名套接字破解 | 为特定类型的命名管道模拟打补丁 |
8. 设备和设备管理设施攻击与防御
设备和设备管理设施同样存在被攻击的风险,以下是相关的攻击类型及防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 设备和设备管理破解 | 采取针对设备破解的防御措施 |
| 键盘记录 | 限制对系统的物理访问;限制设备权限和设备访问;进行服务器监控和入侵检测;使用配置审计和验证工具;采用状态防火墙;进行文件系统监控;检查系统是否有Rootkit入侵迹象 |
| 数据包嗅探 | 参考“IP和第2层协议”;限制设备权限和设备访问;进行服务器监控和入侵检测;使用配置审计和验证工具;采用状态防火墙;进行文件系统监控;使用能检测混杂模式数据包嗅探器的工具;定期进行系统审计以识别处于混杂模式的NIC;检查系统是否有Rootkit入侵迹象;建立交换网络;建立ARP监控(如arpwatch);采用流量加密(SSL、IPSec) |
9. 库和共享库攻击与防御
库和共享库也可能成为攻击目标,以下是攻击类型及对应的防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 库和共享库破解 | 限制对关键库和共享库的访问;限制系统上编译器的使用;在可行的情况下,限制动态链接库的使用;限制允许将额外库放置在可执行代码路径中的设施的访问;为库漏洞打补丁;保护网络库;限制库预加载功能;限制代码、脚本和可执行文件的安装;进行服务器监控和入侵检测;进行文件系统监控;采取针对ELF PLT重定向的编程控制;采取针对DLL注入的编程控制 |
10. Shell 访问和命令行设施攻击与防御
Shell 访问和命令行设施也有被攻击的可能,以下是攻击及防御策略:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| Shell 破解 | 参考“外国代码”部分;限制对以下内容的访问:终端模拟器和Shell解释器、安全Shell、UNIX “R” 服务、基于Windows的解释器(X - Windows)、非本地Shell解释器和黑客工具;为SSH实现RSA认证;采取针对IP欺骗的防御措施;限制对客户端程序(Telnet、X - Windows)的访问;为X - Windows建立Xauth安全;限制代码、脚本和可执行文件的安装;进行服务器监控和入侵检测;进行文件系统监控;采取账户破解防御措施 |
11. 注册表设施(NT/2000)攻击与防御
对于NT/2000系统的注册表设施,攻击及防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 注册表破解 | 设置注册表访问控制,包括远程访问控制;实现SYSKEY保护SAM注册表;为注册表漏洞打补丁 |
12. 客户端软件攻击与防御
客户端软件也面临攻击风险,防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 客户端软件占用 | 卸载/禁用不需要的客户端程序,包括:FTP/TFTP客户端、X - Windows客户端、邮件客户端、Web浏览器、Telnet/终端服务;实现状态防火墙;限制代码、脚本和可执行文件的安装;进行服务器监控和入侵检测;进行文件系统监控;为X - Windows建立Xauth安全;为SSH实现RSA认证 |
13. 监听器和网络服务攻击与防御
监听器和网络服务方面的攻击及防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 通过易受攻击的网络服务获取账户/权限 | 以最小权限启动可通过网络访问的服务;禁用不必要的服务;为服务已知漏洞打补丁;限制可通过网络访问的服务的账户权限;限制可通过网络访问的服务的操作系统权限 |
| NetBIOS/SMB侦察 | 过滤与公共网络(如互联网)之间的NetBIOS/SMB流量;限制对本地操作系统SMB侦察工具(如Net命令、Nbtstat等)的访问;禁用SMB;限制对资源工具包实用程序的访问;限制代码、脚本和可执行文件的安装;限制空会话(设置RestrictAnonymous等);进行服务器监控和入侵检测;使用配置审计和验证工具;采用状态防火墙 |
| NIS侦察和NIS破解 | 将NIS环境升级到NIS+(并使用NIS+认证、加密和完整性控制);限制对账户/密码映射的访问;限制对NIS客户端命令(Ypbind、Ypcat等)的访问;采取针对NIS客户端和服务器欺骗的保护措施;为NIS漏洞打补丁;为RPC漏洞打补丁;限制对NIS文件系统的访问;强化NIS服务器;采取针对NIS数据包嗅探的保护措施;限制代码、脚本和可执行文件的安装;进行服务器监控和入侵检测;进行文件系统监控 |
| SNMP侦察 | 参考“攻击剖析”和“网络硬件”;尽可能禁用SNMP;加强SNMP社区字符串;实施MIB限制以限制对账户/权限、文件共享和其他关键数据的访问;实施SNMP认证(SNMP v3) |
14. 网络信任关系攻击与防御
网络信任关系也可能被利用,防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 网络信任关系利用 | 采用上述任何或所有防御措施,包括账户破解防御、IP欺骗防御、会话ID/令牌捕获防御、IPC、命名管道和命名套接字破解防御 |
15. 应用程序/可执行环境攻击与防御
应用程序/可执行环境的攻击及防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 应用程序/可执行文件破解 | 参考“编程”及其他相关内容 |
16. 外国代码攻击与防御
外国代码攻击主要包括特洛伊木马和Rootkit,防御策略如下:
| 攻击类型 | 防御索引 |
| ---- | ---- |
| 特洛伊木马(和特洛伊后门) | 安装杀毒软件;使用特洛伊检查器和端口扫描器;为已知操作系统和应用程序漏洞打补丁;限制代码、脚本和可执行文件的安装;实现状态防火墙和入站/出站网络访问控制;进行文件系统监控和完整性检查;为关键文件系统设置适当的访问控制;限制对以下类型文件的访问:操作系统/应用程序配置文件、二进制文件、程序、可执行文件、库和共享库、日志文件;保护进程和服务管理设施;保护NT/2000注册表;审计文件系统权限和访问控制;限制使用设置用户ID和设置组ID文件 |
| Rootkit和内核级Rootkit | 安装杀毒软件;使用特洛伊检查器和端口扫描器;为已知操作系统和应用程序漏洞打补丁;限制代码、脚本和可执行文件的安装;实现状态防火墙和入站/出站网络访问控制;进行服务器监控和入侵检测;进行文件系统监控和完整性检查;为关键文件系统设置适当的访问控制;限制对以下类型文件的访问:操作系统/应用程序配置文件、二进制文件、程序、可执行文件、库和共享库、日志文件;保护进程和服务管理设施;保护NT/2000注册表;审计文件系统权限和访问控制;限制使用设置用户ID和设置组ID文件;在支持内核可加载模块的UNIX平台上编译单内核;禁用UNIX内核对内核可加载模块的支持 |
17. 流程图:文件系统攻击与防御细分流程
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(文件系统攻击):::process --> B(文件系统侦察):::process
A --> C(文件系统破解):::process
A --> D(文件共享漏洞利用):::process
A --> E(文件句柄和描述符攻击):::process
A --> F(文件系统设备和I/O破解):::process
A --> G(通过应用程序漏洞的文件系统利用):::process
A --> H(扩展文件系统功能和文件系统破解):::process
B --> B1(本地文件系统访问控制):::process
B --> B2(网络文件系统访问控制):::process
B --> B3(伪文件系统访问控制):::process
B --> B4(关键二进制文件防护):::process
B --> B5(设备文件防护):::process
B --> B6(库访问控制):::process
B --> B7(禁用空会话):::process
B --> B8(限制读取访问):::process
B --> B9(限制代码安装):::process
C --> C1(文件描述符攻击防御):::process
C --> C2(限制SUID/SGID):::process
C --> C3(验证符号链接):::process
C --> C4(限制链接使用):::process
C --> C5(限制关键区域访问):::process
C --> C6(限制文件访问):::process
C --> C7(文件共享服务控制):::process
C --> C8(限制代码安装):::process
C --> C9(服务器监控):::process
C --> C10(文件系统监控):::process
C --> C11(权限审计):::process
D --> D1(网络文件系统访问控制):::process
D --> D2(限制读取访问):::process
D --> D3(文件描述符攻击防御):::process
D --> D4(安全补丁):::process
D --> D5(禁止远程执行):::process
D --> D6(IP欺骗防御):::process
D --> D7(认证控制):::process
D --> D8(中间人攻击防御):::process
D --> D9(RPC防御):::process
E --> E1(文件描述符补丁):::process
E --> E2(网络窃听防御):::process
E --> E3(操作系统补丁):::process
F --> F1(设备破解防御):::process
G --> G1(应用程序补丁):::process
G --> G2(配置更改):::process
G --> G3(文件访问控制):::process
H --> H1(验证符号链接):::process
H --> H2(限制SUID/SGID):::process
综上所述,网络安全是一个复杂且多面的领域,面对各种不同类型的攻击,需要综合运用多种防御策略,从账户和权限管理、文件系统、服务和进程管理、设备管理、库和共享库、Shell访问、注册表、客户端软件、网络服务、网络信任关系、应用程序/可执行环境以及外国代码等多个方面进行全面防护,以确保系统和网络的安全稳定运行。
超级会员免费看
3206

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



