분석 정보/악성코드 분석 정보

[악성코드 분석] 금융정보 탈취 악성코드 분석

TACHYON & ISARC 2017. 3. 7. 15:42

금융정보 탈취 악성코드 분석 




1. 개요 


분석한 악성코드는 추가로 드롭한 악성 DLL을 로드하도록 윈도우 시스템 DLL 을 변조하여, 금융 정보 탈취와 변조를 시도 한다. 또한, 온라인 금융거래 시에 MITB(Man-In-The-Browser) 공격을 수행하여 목적을 달성한다. 


MITB 공격이란, 금융거래 시 사용자와 제공자 사이에서 거래 문서의 무결성(특히, JavaScript 코드의 무결성 검사)을 확인하지 않아 문서가 변조 됐어도 거래가 가능한 취약점을 노려 거래 과정에서 암호화되지 않은 구간의 민감한 정보를 탈취, 변조하는 공격이다.


이번 보고서에서는 MITB 공격을 수행하는 금융 정보 탈취 악성코드를 상세 분석하였다.





2. 분석 정보


2-1. 파일 정보

구분

내용

파일명

PrimePC.exe

파일크기

777,479 Bytes

진단명

Banker/W32.Agent.777479

악성동작

드롭퍼 (숙주파일)

 

구분

내용

파일명

[RANDOM_01].dll

파일크기

45,056 Bytes

진단명

Banker/W32.Agent.45056.D

주요 악성동작

보안 프로세스 동작 방해

 

구분

내용

파일명

[RANDOM_02].dll

파일크기

301,316 Bytes

진단명

Banker/W32.Agent.301316

주요 악성동작

금융 정보 탈취 및 변조

 

구분

내용

파일명

[RANDOM_03].dll

파일크기

28,672 Bytes

진단명

Banker/W32.Agent.28672.B

주요 악성동작

보안 프로세스 동작 방해

 

구분

내용

파일명

wshtcpip.dll (변조)

파일크기

19,456 Bytes

진단명

Virus/W32.Patched.Gen

악성동작

악성 DLL 로딩

 

구분

내용

파일명

midimap.dll (변조)

파일크기

18,944 Bytes

진단명

Virus/W32.Patched.Gen

악성동작

악성 DLL 로딩

 


2-2. 실행 과정

숙주 악성코드는 여러 파일을 드롭하고 다양한 동작을 수행한다. 세세한 동작을 제외한 주요 동작에 관한 큰 흐름은 아래 그림과 같다. 아래의 흐름도에서 [Random_c].dll[Random_d].dll변조 된 wshtcpip.dllmdidimap.dll 을 통해 로드 되어 악성행위를 수행한다.


[그림 1] 주요 동작 흐름[그림 1] 주요 동작 흐름


해당 악성코드는 일명 ‘메모리 해킹 악성코드’ 로 불린다. 이는 금융 거래 시에 암호화 되어 있어야 하는 민감한 정보들이 일시적으로 메모리 상에 복호화 되어 적재 되어 있는 데이터를 탈취/변조 하기 때문이다. 또한, 공격자는 금융 거래 시에 사용 되는 보안 모듈을 분석하여 해당 보안 모듈에서의 유의미한 데이터를 탈취하도록 했다.





3. 악성 동작


3-1. 파일 드롭

숙주 파일(본 보고서에서 PrimePC.exe) 실행 시 %TEMP% 경로 하위에 임의의 이름([tickCount].tmp)으로 생성한 임시 파일을 생성한다. 해당 임시 파일은 숙주 파일과 동일 한 파일로, 생성 이후 숙주 파일로 의해 다시 실행된다. 새로운 프로세스로 동작하는 임시파일은 숙주 파일의 내용을 변경하고, 또 다른 임의의 파일명을 가진 파일([tickCount].exe)을 %TEMP% 폴더 하위에 생성한다.


해당 파일은 다시 여러 파일을 드롭한다. 또한, 정상 wshtcpip.dll midimap.dll 을 변조하며, 특정 보안 모듈의 동작을 방해한다. 해당 파일이 드롭 하는 주요 파일은 아래와 같다. 


경로

파일 명

파일 크기

비고

%TEMP%

ahnmove.bat

-

자가 삭제 batch 파일

%TEMP%

[RANDOM_01].dll

45,056 Bytes

백신 프로세스에 DLL 인젝션,

코드 패칭

프로세스 종료

%TEMP%

%SYSTEM%

[RANDOM_02].dll

301,316 Bytes

변조 wshtcpip.dll 에 의해 로드

추가 모듈 다운로드

백신 동작 방해

온라인 뱅킹 관련 정보 탈취

%TEMP%

%SYSTEM%

[RANDOM_03].dll

28,672 Bytes

변조 midimap.dll 에 의해 로드
추가 파일 다운로드 및 실행

백신 동작 방해

%SYSTEM%

wshtcpip.dll

19,456 Bytes

변조 된 wshtcpip.dll

%SYSTEM%

midimap.dll

18,944 Bytes

변조 된 midimap.dll

(※ “%SYSTEMROOT%” 환경변수 경로를 편의상 줄여 “%SYSTEM%” 로 한다.)




3-2. 시스템 DLL 변조

윈도우 정상 DLL인 wshtcpip.dllmidimap.dll 을 악성 DLL로 변조한다. 변조 된 DLL 은 LoadLibrary 을 사용하여 각각 “[RANDOM_02].dll(295KB)” 과 “[RANDOM_03].dll(28KB)” 을 로딩 하는 역할을 한다. 그 외 나머지 부분은 정상 시스템 파일과 동일 하다. 로드 되는 특정 악성 DLL은 숙주파일로 부터 %SYSTEM% 폴더 하위에 이미 드롭 되어 있기 때문에 로드 될 수 있다.


이로 인해 wshtcpip.dll midimap.dll 을 기본적으로 로드하는 프로세스는 모두 추가적으로 “[RANDOM_02].dll” 과 “[RANDOM_03].dll” 까지 로드하게 된다.


[그림 2] 변조 된 wshtcpip.dll 에서 악성 DLL을 로드하는 과정[그림 2] 변조 된 wshtcpip.dll 에서 악성 DLL을 로드하는 과정




3-3. 백신 무력화

특정 보안 업체의 제품 설치 유무를 검사 한 뒤 존재하면 백신 프로그램 서비스를 중지시키고, 특정 보안 파일을 언로드 및 제거 한다.


[그림 3] 서비스 중지 및 드라이브 파일 제거[그림 3] 서비스 중지 및 드라이브 파일 제거




3-4. 프로세스 종료

변조된 wshtcpi.dll 에 의해 [RANDOM_02].dll 이 “iexplore.exe”에 로드 된 경우 특정 백신 업체의 제품 프로세스를 조회하여 종료시킨다. 또한 윈도우 타이틀의 이름이 특정 문자열과 맞을 경우 종료 메시지를 전달한다. 검사하는 윈도우 타이틀은 아래와 같다. 


검사하는 윈도우 타이틀

바람의 나라 – 고대 고구려

리니지 :: 보안&편의 서비스

액션쾌감!!! 던전앤파이터

메이플스토리

바람의나라

월드 오브 워크래프트

Dungeon & Fighter

Elsword

LineageWindows Client

 




3-5. 추가 파일 다운로드 및 실행

위와 마찬가지로 [RANDOM_02].dll 이 “iexplore.exe” 에 로드 된 경우, 추가 파일을 다운로드 및 실행한다. 다운로드 주소는 특정 알고리즘으로 인코딩 되어 있으며, 복호화 시 분석중인 샘플의 경우 “http://w**b.l***x.com:89/up4/jpg.rar” 과 같다. 해당 파일이 다운로드에 성공하면 실행된다.


[그림 4] 추가 파일 다운로드 시도 URL[그림 4] 추가 파일 다운로드 시도 URL


[그림 5] 추가 파일 다운로드[그림 5] 추가 파일 다운로드





3-6. 사용자 PC 정보 탈취

현재 PC의 정보를 수집하여 특정 URL로 전송한다. 수집하는 정보는 하기와 같으며, 분석 샘플의 대상 원격지는 http://a**f.8*****6.com:85 이다. 


수집 정보

해쉬화 된 PC 정보 (mac)

OS 정보 (os)

설치 된 보안 프로그램 명 (avs)

던전 앤 파이터 설치 여부 (ps)

실행 중인 프로세스 개수 (pnum)

 

 






3-7. 금융 정보 탈취

[RANDOM_02.dll] 이 “explorer.exe” 또는 “iexplore.exe” 에 로드되면 %TEMP% 폴더 하위에 nx1.dat 파일이 존재하는지 확인한다. 존재할 경우 해당 파일의 내용을 읽어 특정 원격지로 전송한다. nx1.dat 파일은 추후 NPKI 를 포함한 탈취 정보가 저장 된다.


[그림 7] 해당 프로세스에 로드 된 경우 특정 정보를 전송[그림 7] 해당 프로세스에 로드 된 경우 특정 정보를 전송



또한, 현재 로드 된 호스트 프로세스가 “dllhost.exe”, “I3GEX.exe” 가 아닌지 확인 한 뒤 금융정보 탈취 과정으로 진입한다. 탈취 과정은 새로운 스레드를 생성하여 동작한다.


[그림 8] 현재 인젝션 된 프로세스를 확인한 뒤 금융정보를 탈취 과정으로 진입[그림 8] 현재 인젝션 된 프로세스를 확인한 뒤 금융정보를 탈취 과정으로 진입



URL 주소에 “w*******k.com”, “b*****g.n******p.com” 문자열이 존재 할 경우, NPKI 탈취 동작과 특정 보안 업체의 DLL 을 후킹한다. 

NPKI 탈취 동작의 경우 여러 경로로 탐색을 시도하여 SignCert.der 과 SignPri.key 파일의 경로를 얻어온다.


[그림 9] 각 경로 별로 NPKI 관련 파일 탐색[그림 9] 각 경로 별로 NPKI 관련 파일 탐색




후킹의 경우 해당 모듈을 패치한 코드에서 이체 정보, 금융 정보 등을 탈취하며, 수집한 정보들을 조합하여 특정 원격지로 전송한다. 수집 할 수 있는 정보는 다음과 같다. 


수집 할 수 있는 정보

고유 해쉬 값 (zmac)

인증서 비밀번호 (zsp)

계좌 비밀 번호 (yhp)

이체 비밀 번호 (yhsp)

보안 카드 번호 (mbi)

보안 카드 값 (mbp)

NPKI 정보

프록시 IP 정보

 

 





4. 결론

해당 악성코드는 윈도우 정상 DLL 을 변조하여 금융 정보 탈취를 시도한다. 변조 대상이 되는 wshtcpip.dll 과 midimap.dll 은 일반적으로 사용되는 파일이므로 변조 시 더 큰 위협이 될 수 있다. 금융 정보 탈취로 인해 사용자는 금전적인 피해를 입을 수도 있다. 뿐만 아니라 추가적인 파일을 다운로드 할 수 있으므로 더욱 주의하여야 한다.

악성코드에 의한 피해를 방지하기 위해서는 출처가 불분명한 파일을 함부로 실행해서는 안된다. 또한 백신 제품을 최신 업데이트하여 PC 를 보호하여야 한다.


조그만 관심을 가지면 많은 피해를 예방할 수 있다. 위 악성코드는 모두 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


[그림 10] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면[그림 10] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면


[그림 11] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면[그림 11] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면