Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
악성코드 정보금융정보를 탈취하는 Emotet 악성코드
작성일 2020-11-25 조회 567
1. 개요
 
Emotet은 2014년 특정 은행 고객을 대상으로 처음 등장한 악성 코드이다. 사용자 PC가 감염되면 C&C 통신을 통해 시스템 정보와 금융정보를 탈취한다. 주로 활용되는 유포 방법은 피싱 메일을 통해서 전파되는데 다른 곳에서 훔쳐온 파일을 첨부 파일에 추가하여 메일의 신뢰성을 높이려는 행위도 보이고 있다. 2020년 현재까지도 꾸준히 유포되고 있으며 C&C 서버를 통해 새로운 악성 코드 감염, 모듈 업데이트 기능이 탑재된 악성 코드로 발전했다.
 
 
<그림1>  훔친 파일을 첨부하여 신뢰성을 높이려는 시도 포착(Cofense Labs의 트위터)
 
 
<그림2> 메일에 첨부된 Emotet 악성 코드를 Drop 하는 문서
 
 
 
2.악성행위
 
문서파일에 악성행위를 수행하는 매크로가 존재한다. 매크로는 난독화 되어있으며 악성 코드를 다운로드 하는 역할을 수행하는 Power Shell Script를 실행한다.
 
 
<그림3> 문서를 열었을 때 보이는 화면
 
 
<그림4> 난독화된 매크로 스크립트
 
 
<그림5> Base64로 인코딩된 Power Shell Script
 
 
 
악성 코드를 다운로드 하는 주소는 다음과 같다. 다운로드 실패 시 다음 주소로 재시도 한다.
 
 
<그림6> 악성코드를 다운로드 시도하는 주소
 
 
 
악성 코드를 성공적으로 다운로드 하게 되면 특정 폴더를 생성한 후 다운로드받은 악성 코드를 생성 및 실행시킨다. 이후 실행된 악성 코드는 관리자권한 여부에 따라 재차 특정 폴더에 자가복제를 하고 PC가 재부팅되더라도 동작할 수 있게끔 레지스트리에 등록한다.
     ● 스크립트에서 다운로드한 Emotet 악성 코드 Drop 경로
        - C:/Users/[사용자명]/[랜덤문자]/[랜덤문자]/[랜덤파일명].exe
 
     ● 자가복제 시 Drop되는 폴더 경로
        - 관리자권한으로 실행되었을 경우
          C:/Windows/SysWOW64/[랜덤문자]/[랜덤문자].exe
        - 일반 유저권한으로 실행되었을 경우
          C:/Users/[사용자 이름]/Appdata/Local/[랜덤문자]/[랜덤파일명].exe
 
     ● 레지스트리 등록
        - HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
 
 
<그림7> PC가 부팅 시 자동으로 실행되도록 등록
 
 
 
위 행위를 모두 마친 후 악성 코드는 PC의 이름, 시리얼, OS 정보 등 여러 정보를 수집한다. 수집된 정보들은 랜덤하게 생성된 키로 AES128 알고리즘 사용해 암호화되어서 전송된다. 이때 생성된 키는 하드 코딩된 RSA 공개키로 암호화된다.
 
 
<그림8> 수집된 PC의 정보 암호화 전
 
 
<그림9> 수집된 PC의 정보 암호화 후
 
 
<그림10> 서버 전송시 데이터의 구조
 
 
 
암호화된 정보들은 다음과 같은 IP 목록을 대상으로 데이터 전송을 시도한다.
 
 
<그림11> 공격자 IP 목록
 
 
 
정상적으로 데이터가 전달되면 서버로부터 새로운 데이터가 수신된다. 수신받은 내용에 따라 새로운 파일을 받아와 Drop 및 실행, 메모리상에서 실행, Emotet 악성 코드 모듈 업데이트 등 추가적인 행위를 수행할 수 있다.
 
 
분석할 당시에는 새로운 DLL 모듈을 받아와 메모리상에서 실행되었으며 해당 모듈은 NirSoft의 MailPassview 소프트웨어를 인젝션하는 기능을 수행한다.
 
 
<그림12> 자식 프로세스 생성 후 MailPassview 의 PE를 인젝션 한다.
 
 
 
NirSoft MailPassview는 메일서버나 메일 계정들의 아이디 및 비밀번호를 잊어버렸을 때 PC 상에 남아있는 기록들을 검색해 복구시켜 준다. 인자로 /scomma [결과를 저장할 파일] 를 전달하여 모든 계정 정보들을 모아 파일 형태로 저장시키게 된다.
 
 
<그림13> NirSoft에 적힌 MailPassview 설명
 
 
저장된 파일의 크기가 16Byte 이상이면 파일을 읽어와 이전에 사용했던 동일한 암호(RSA,AES) 알고리즘을 사용하여 암호화를 수행, 공격자 서버로 전송하게 된다
 
.
<그림14> 계정정보가 저장된 파일을 읽어온다.
 
 
<그림15> 암호화된 계정정보 데이터들
 
 
 
암호화된 데이터는 공격자 IP로 전송된다. IP목록은 다음과 같다.
 
 
<그림16> 공격자 IP 목록
 
 
3.대응방안
 
Emotet 악성코드는 피싱메일로 전파된다. 메일 발송 주소가 정상적인 주소로 입력 되었는지, 파일이 첨부되어 있거나 외부링크가 걸려있는 메일의 발신자와 메일을 주고받은 이력이 있었는지 확인한다. 첨부파일의 경우 연결 링크가 외부사이트인 경우 클릭하지 않고 한글, 오피스, PDF뷰어 등에 대한 최신버전을 유지, 매크로 보안설정에서 자동으로 실행되지 않도록 설정한다. 마지막으로 확장자가 올바른 문서형태인지 확인하도록 한다.
 
 
<그림17> 모든 매크로 제외(기본옵션) 권장
 
첨부파일 첨부파일이 없습니다.
태그 Emotet