Emotet 악성코드의 행위를 간단하게 설명 드리면
사용자PC를 감염시키고, C&C서버와 통신을 하면서 시스템 정보와 금융정보를 탈취하는 행위를 합니다.
주로 이메일을 통해 유포가 되고 악의적인 스크립트를 삽입한 문서를 열게끔 만들어 PC감염을 시킵니다.
Malware 샘플은 아래의 링크에서 구하였습니다.!
www.malware-traffic-analysis.net/2020/12/28/index.html
분석 진행
MD5 : 9a38d3731449df93b1e71e491cca466b |
eml을 다운받아 파싱해보면 첨부파일을 확인 할 수 있습니다.
문서의 매크로 동작을 분석하기 위해 디버깅 해본 결과 아무 동작도 하지 않았고, '추출된 문자열'의 &뒤에 문자열을
보면 다른 추가적인 동작을 하는 것임에 틀림 없다.!
powershell을 숨겨서 base64 decode한 결과를 실행시키는데,,,, 아마 vm환경 때문에 제대로 동작을 하지 않는 것 같다.
그래서 샌드박스의 힘들 빌렸다.
( 해당 악성코드는 SHGetFolderPath api를 사용하는데,
이 api는 vista 이후로 사용이 중단 되었다. 그래서 win7에서 동작이 된다고 추측할 수 있다.)
'base64로 인코딩된 문자열을 디코딩해서 powershell로 실행을 시킨다.'는 명령이다.
그럼 이 인코딩된 문자열을 디코딩 해보면.....
위의 사진의 코드를 powershell로 실행을 시키겟다는 것이다.
[중요] 특정 주소에서 파일들을 순차적으로 다운 받아 로컬에 779.exe로 Drop한다.
그럼
우리는 로컬에 drop되는 파일을 분석해보자.
779.exe
[중요] 'MISTIRIOS'라는 이름을 가진 리소스를 불러 옵니다.
[중요] 리소스 데이터 전제를 복호화 하는 것이 아닌 오프셋을 구해서 그 부분터 복호화를 진행 합니다.
복호화된 함수는 암호화 하는 함수인 것을 알 수 있습니다.
이제 이 복호화 된 함수를 call 합니다.
이 함수 내에서도 특정 데이터를 암호화를 합니다. 이 암호화 된 데이터도 이후에 call 합니다.
위의 내용을 요약하자면 아래의 형태입니다.
리소스를 가지고 온다. -> 리소스 복호화 -> 복호화된 함수 call -> 내부적으로 다른 data 암호화 -> res()
89번째 줄 res()함수로 들어가보자
res() function
[*] res() 함수를 분석해보면 2가지의 행위를 가지는 것을 알 수 있다.
[중요]
현재프로세스의 파라미터를 GetCommandLine으로 구하여
그 값이 --166ca176이면 빨간색박스
그렇지 않으면 파란색 박스로 들어간다.
파란색박스로 들어가게 되면 위 사진처럼 자식프로세스를 생성하고, 파라미터로 '--166ca176'을 주어 실행하게 된다.
결국에는 if문안에 있는 빨간색박스 함수로 들어온다.~!
[*] dword_7106ac가 '0, 1, 2, 3' 순으로 크게 4가지 동작으로 볼 수 있다.
(참고로 분석해보면 0,1,2,3 순차적으로 실행되는 것을 알 수 있습니다.)
dword_7106ac가 0,1,2,3, 일때 동작을 살펴보자.
0일때
[중요]
6~14반쩨줄 까지는 분석한 결과를 주석으로 처리하였다.
15줄에서 현재 실행되고 있는 파일이 드랍된 파일이 아니면 if문안으로 들어가서, 파일을 드랍하고 이를 실행합니다.
드랍되는 파일은 자가복제입니다.
1일때
통신하기 위해 필요로하는 dll들을 로드합니다.
2일때
[중요]C2서버로 프로세스정보와 컴퓨터정보를 보냅니다.
[참고] 암호화된 데이터의 '='이전의 데이터들은 복화화할때 필요한 key입니다.
프로세스 리스트와 컴퓨터정보를 탈취해 이를 암호화 한다음 또다시 CryptEncrpyt API를 이용해 암호화를 합니다.
이렇게 암호화된 데이터를
[*] 76.104.80.47/n9I87Dy8m1Cp로 데이터를 전송합니다.
데이터 전송을 실패하면 프로세스가 종료됩니다.
하지만
[중요] 성공을한다면 서버로 부터 암호화된 데이터를 읽어들이고, Window시작시 자동실행되게끔 레지스트리에 악성코드를 등록합니다.
[*] 파일 다운로드 기능
(서버로 부터 데이터를 읽어서 파일 DROP)
서버로 부터 받은 명령에 따라 위 사진의 경로에 파일을 드랍시키고 실행을 합니다.
결 론
문서를 열고, 첫번째로 실행되는 악성코드가 탈취하는 정보는 그렇게 많지 않습니다.
하지만 파일다운로드기능이 있기때문에 차후에 어떤 행위든 가능하다.
p.s. 손에 꼽을정도로 까다로웠던 악성코드였다..
'Malware' 카테고리의 다른 글
Lazarus Keylogger (HSMBalance.exe) (+복호화 추가) (0) | 2021.03.03 |
---|---|
불법 성매매앱으로 위장한 악성 어플리케이션 (0) | 2021.02.13 |
스미싱(국민건강검진센터) 악성코드 분석 (0) | 2020.12.19 |
HWP Malware containing COVID-19 contents By Lazarus (코로나19 악성코드) (0) | 2020.11.25 |
FIESTA2020 Stepin-3 (매크로 악성코드) (0) | 2020.09.16 |