돌아온 이모텟(EMOTET)악성코드 이슈
2022. 12. 16. 12:06
몇 달 간의 공백 후에, Emotet이 돌아왔습니다. 원래 은행 트로이목마였던 Emotet은 드로퍼 유형의 악성 프로그램 클래스로 진화하였습니다. 이메일을 통해 악의적인 Microsoft Office 문서를 발송하여 확산되고 있으며, 처음에는 JavaScript를 사용했지만 이제는 VBA 매크로를 사용하여 사용자의 시스템을 손상시키는 데 사용됩니다.
감염 벡터
감염 벡터는 Excel 4.0 매크로이며, Excel 스프레드시트 셀에 악성 코드가 분산되어있습니다. 기본적으로 Excel 파일은 매크로가 비활성화된 상태로 제한된 보기에서 열립니다. 이를 위해 Emotet Excel 파일에는 사용자에게 <Microsoft Office>\Templates폴더에 파일을 복사하고 다시 실행하라는 지침이 있는 이미지를 볼 수 있습니다. 이렇게 하면 매크로 실행이 사용자 PC에 적용됩니다.
매크로 코드에는 이모티콘 드롭퍼 DLL을 추가로 다운로드하는 여러 URL이 포함되어있습니다.
URL:
- hxxp://app.clubdedocentes[.]com/storage/DCcq9ekgH99sI/
- hxxp://linhkiendoc[.]com/app/payments/qoy5JqpLqrbsKl/
- hxxp://sourcecool[.]com/throng/iOD/
- hxxp://www.stickers-et-deco[.]com/Adapter/lYw/
분석 시점에는 이 4개의 URL 중 3개만 활성화되어있었으며, 이 URL은 유사한 기능을 가진 3개의 Emotet 드롭퍼 DLL을 다운로드하였습니다. DLL은 ‘egsvr32.exe’를 사용하여 실행됩니다.
DLL 분석
Emotet은 다양한 멀웨어 군을 배포하는 것으로 알려져 있습니다. 아래 두 개의 샘플을 분석하는 동안 추가 멀웨어가 드롭되거나 다운되지 않았습니다.
샘플 1
드롭퍼 DLL에는 암호화된 메인 Emotet DLL을 포함하여 고도로 난독화 된 사용자 지정 패커 코드가 있습니다. 나열된 API에는 멀웨어와 함께 사용되는 것으로 알려진 여러 가져오기가 포함됩니다. 여기에는 모니터링, 열거, 실행, 암호화, 지속성 및 유출의 여러 영역이 포함됩니다. 메모리에 저장된 DWORD를 사용하여 여러 API를 로드합니다.
사용자 정의 복호화 루프는 " vGZlfkkg?U^>+xzU " 키를 사용하여 기본 Emotet DLL을 복호화하는 데 사용됩니다. regsvr32.exe가 실행되면 DLL이 이동되고 "~\AppData\Local" 또는 "\Windows\System32\" 위치로 이름이 바뀌며 상위 폴더와 파일 자체에 대해 임의의 이름이 지정됩니다. 그러면 시스템이 다시 시작될 때 자동 실행되도록 레지스트리 키가 생성됩니다.
그런 다음 프로세스는 생성된 쿠키와 수집된 데이터를 사용하여 여러 IP 주소에 도달하려고 시도합니다. CnC 서버와의 초기 통신 후 추가 Emotet spammer 모듈을 동일한 폴더 또는 " Appdata " 디렉토리에 다운로드합니다.
추가 확산을 위해 스패머 모듈은 아래 그림에 언급된 것과 같은 여러 악성 이메일 템플릿을 사용합니다.
또, 아래 그림과 같이, 다수의 전자 메일 도메인, 전자 메일 주소, 패스워드, 그 외의 정보(악성 전자 메일 첨부 파일 등)를 사용해 도메인 전체에 퍼집니다.
이는 이미 손상된 이메일 자격 증명을 사용하여 다른 피해자를 감염시키기 위한 멀웨어의 재 배포 메커니즘을 자세히 설명합니다.
샘플 2
이 샘플은 코드와 동작 모두에서 몇 가지 차이를 나타내는 개별 DLL 파일입니다. 복호화 기능을 수동으로 실행하면 새로 할당된 메모리 공간 내에 DLL이 생성되지만, 무작위로 이름이 지정된 파일이 아닌 'clover.dll'로 불리며 여러 면에서 드로퍼와 다릅니다.
첫 번째 요점은 clover.dll이 떨어질 때 원본에 있는 몇 가지 분석 방지 기능이 부족하다는 것입니다. 특히 프로그램 자체를 종료하지 않고 디버거의 진입점으로 직접 이동할 수 있습니다. 또한, 2개의 Google 결과 (f:\rtm\vctools\vc7libs\ship\atlmfc\include\afxwin2.inl)만 생성한 문자열도 있습니다. 이 문자열은 Alienvault OTX* **의 샘플입니다.
regsvr32.exe와 함께 'clover.dll'을 실행하면 드롭퍼 샘플과 동일한 동작이 발생합니다. ~AppData\Local로 이동되고 지속성을 위해 레지스트리 키가 생성되며 시스템 열거가 시작됩니다. 그런 다음 Regsvr32는 하위 프로세스를 생성하고 상위 프로세스를 종료하여 '존재하지 않는 프로세스'가 됩니다. 이것은 디버거가 프로세스에 연결되는 것을 방지하는 분석 방지 기술입니다.
두 번째로 주목해야 할 부분은 Emotet이 C2 서버와 통신하는 방식입니다. regsvr32.exe를 사용하여 TCP 요청을 보냅니다. 패킷 캡처에 일반적으로 사용되는 도구는 Procmon을 제외하고 작업(Fiddler, Wireshark, TCPMon)을 표시하지 않습니다. 그림 10과 11에서 볼 수 있듯이 전체 통신은 2-3ms 이내에 발생합니다. netstat를 사용하려는 시도도 실패했습니다.
regsvr32의 런타임 메모리를 살펴보면 쿠키 정보 및 공개 키와 함께 많은 C2 주소 목록이 발견되었습니다.
아래는 해당 악성코드에 관련된 참고사항입니다.
IOC :
C2 IP ADDRESSES:
URLS:
- hxxp://app.clubdedocentes[.]com/storage/DCcq9ekgH99sI/
- hxxp://linhkiendoc[.]com/app/payments/qoy5JqpLqrbsKl/
- hxxp://sourcecool[.]com/throng/iOD/
- hxxp://www.stickers-et-deco[.]com/Adapter/lYw/
PUBLIC KEYS:
JA3 FINGERPRINT:
8916410db85077a5460817142dcbc8de
COOKIES:
랜섬웨어 감염 방지를 위해 사용자는 발신인이 부정확한 메일 확인을 지양하고, 의심스러운 첨부파일은 바로 삭제하여 데이터를 보호해야 합니다.