그냥저냥

[Issue, PE Malware] 3.20 악성코드 분석 본문

Malware

[Issue, PE Malware] 3.20 악성코드 분석

ex3llo 2016. 7. 31. 05:39


● 동작 요약




● 중복실행 방지를 위해 CreateFileMapping/OpenFileMapping API 이용

 - 특정 식별자 "JO840112-CRAS8468-11150923-PCI8273V" 를 가진 파일의 존재 여부를 통해 중복 실행 체크




● 백신 솔루션 존재 여부 확인

 - 아래 경로에 특정 파일이 존재하는지 체크하여 백신 솔루션의 설치 여부 확인

 - 경로 : C:\Windows\Temp\~v3.log




● 백신 프로세스 강제 종료

 - 명령어 #1 : taskkill /F /IM pasvc.exe

 - 명령어 #2 : taskkill /F /IM clisvc.exe

   * /F 옵션 : 명시된 프로세스 강제 종료

   * /IM 옵션 : 종료할 프로세스의 이미지 이름 명시

<종료할 프로세스 대상>




● 운영체제 정보 조회





● MBR 로드 및 백업

 - 드라이브의 첫 섹터 (MBR) 을 읽어들임

 - 대상 드라이브 : \\.\PhysicalDrive0

 - 파라미터 : FILE_SHARE_READ | FILE_SHARE_WRITE , OPEN_EXISTING



 - 파일포인터 첫 지점으로 이동



 - MBR 백업





● 덮어씌울 문자열 설정

 - 문자열 : "PRINCPES" 




● VBR / MBR 변조

 - 읽어들인 MBR의 Partition Table을 참조하여 VBR 위치로 이동 (SetFilePoiter)

 - SetFilePointer의 두번째 인자 : 0x7E00 = 0x3F(VBR 섹터 위치, 63) * 512 Bytes



 - VBR 변조 ("PRINCPES" 문자열로 덮어씌움)

       

                          <VBR 변조 전>                                                       <VBR 변조 후>


      

                          <MBR 변조 전>                                                       <MBR 변조 후>




● 시스템 강제 재부팅

 - 강제종료 명령을 실행하기 전에 Sleep 함수를 이용하여 300초 동안 대기

 - 명령어 : shutdown -r -t 0

   * -r 옵션 : 시스템 종료 후 재부팅

   * -t 0 옵션 : 시스템 종료의 만료 시간을 0초로 설정 (즉시 종료)




● 디스크 정보 조회 및 임의의 영역 덮어씌움

 - C:\ 의 임의의 영역을 덮어씌우기 위해 디스크 정보 조회

 - 섹터 및 클러스터 계산을 통해 덮의씌울 영역 지정


 - 특정 연산에 의해 일정한 간격마다 200개의 섹터씩 "PRINCIPES" 문자열로 덮어씌움



Comments