보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
HIDDEN COBRA 악성코드 분석 보고서
2018.08.03
9,087
1. 개요
▶ Joanap으로 알려진 RAT(Remote Access Tool)를 이용한 백도어
▶ Brambul로 알려진 SMB(Server Message Block) 프로토콜 기반의 웜
1) 요약
ㆍ HIDDEN COBRA 악성코드는 최초 하나의 Dropper파일이 시스템에서 실행되어 해당 시스템이 감염된다.
감염 직후, Dropper는 scardprv.dll, Wmmvsvc.dll, 그리고 mssscardprv.ax파일을 생성한다.
ㆍ mssscardprv.ax파일은 IP 주소와 PORT 번호가 나열되어 있으며, scardprv.dll은 백도어를 수행하고,
Wmmvsvc.dll은 mssscardprv.ax 파일에서 수집된 정보를 바탕으로 SMB 웜 공격을 수행한다.
2) 영향
ㆍ 본 보고서에서 점검한 HIDDEN COBRA 악성코드가 시스템에 미치는 영향은 아래 [표 1]과 같다.
구 분 |
내 용 |
scardprv.dll |
디렉터리 삭제 및 백도어 수행 |
Wmmvsvc.dll |
SMB 프로토콜을 이용한 악성코드 전파 및 실행 |
[표 1] HIDDEN COBRA 악성코드의 시스템 영향
3) 대응방안
① 임의로 열려진 HTTPS(TCP/443) 포트의 차단
② 방화벽을 이용한 SMB(TCP/445) 포트의 차단
2. 분석 대상 정보
1) Dropper 정보
구 분 |
내 용 |
SHA256 |
077d9e0e12357d27f7f0c336239e961a7049971446f7a3f10268d9439ef67885 |
파일 크기 |
204kB (208,896-bytes) |
파일 형식 |
Win32 EXE |
[표 2] Dropper 정보
2) scardprv.dll 정보
구 분 |
내 용 |
SHA256 |
a1c483b0ee740291b91b11e18dd05f0a460127acfc19d47b446d11cd0e26d717 |
파일 크기 |
76kB (77,824-bytes) |
파일 형식 |
Win32 DLL |
[표 3] scardprv.dll 정보
3) Wmmvsvc.dll 정보
구 분 |
내 용 |
SHA256 |
ea46ed5aed900cd9f01156a1cd446cbb3e10191f9f980e9f710ea1c20440c781 |
파일 크기 |
89.5kB (91,664-bytes) |
파일 형식 |
Win32 DLL |
[표 4] Wmmvsvc.dll 정보
3. 상세 분석
▶ 본 보고서는 Dropper와 scardprv.dll, Wmmvsvc.dll에 대해 아래의 단계별로 분석하였다.
1) Dropper 분석
ㆍ 아래 [그림 1]은 Dropper의 최초 실행 시 해당 시스템의 감염 여부를 판단하기 위해 SCardPrv 서비스의 존재 여부를
검사한다. 해당 서비스가 존재하지 않으면 해당 시스템은 감염되지 않았다고 판단한 후 감염을 수행한다.
[그림 1] Dropper의 시스템 감염 여부 확인
ㆍ Dropper의 리소스 섹션 중 0x65 타입의 리소스 데이터로부터 scardprv.dll 파일을 생성한다. 사용자를 속이기 위해 파일
생성 시간을 조작한다.
[그림 2] Dropper의 리소스 섹션으로부터 scardprv.dll 생성
ㆍ Dropper의 리소스 섹션 중 0x68 타입의 리소스 데이터로부터 Wmmvsvc.dll 파일을 생성한다. 사용자를 속이기 위해
파일 생성 시간을 조작한다.
[그림 3] Dropper의 리소스 섹션으로부터 Wmmvsvc.dll 생성
ㆍ 감염에 필요한 모든 악성코드를 생성한 후, 아래 [그림 3-4]와 같이 먼저 Wmmvsvc.dll 파일을 서비스로 등록 후 실행한다.
이때, 서비스 이름은 Wmmvsvc이다.
[그림 4] Wmmvsvc.dll 서비스 등록
ㆍ 추가적으로, Wmmvsvc 서비스가 추가적인 악성코드 전파를 위해 사용할 IP:PORT 리스트 파일인 mssscardprv.ax 파일을
생성한다.
[그림 5] mssscardprv.ax 파일 생성
ㆍ 마찬가지로, 아래 [그림 6]과 같이 scardprv.dll 파일을 서비스로 등록 후 실행한다. 이때, 서비스 이름은 SCardPrv이다.
[그림 6] scardprv.dll 서비스 등록
ㆍ mssscardprv.ax 파일을 처음으로 생성할 경우, 하드코딩된 IP:PORT 리스트들을 입력해준다.
[그림 7] mssscardprv.ax 파일 내용 (소스코드)
ㆍ 위의 3개 파일에 대한 생성이 모두 끝나면, scardprv.dll과 Wmmvsvc.dll이 각각 서비스로 실행되고 있다. 서비스들을 실행한
Dropper는 종료된다.
2) scardprv.dll 분석
ㆍ Dropper에 의해 실행된 scardprv.dll은 svchost.exe -k SCardprv 실행 명령인자로 실행된다.
① scardprv.dll의 첫 번째 기능 : 백도어 수행
[그림 8] scardprv.dll 실행 직후 TCP/443 백도어 수행
② scardprv.dll의 두 번째 기능 : 디렉터리 검색 및 삭제
[그림 9] scardprv.dll 실행 후 특정 디렉터리 검색 후 삭제
3) Wmmvsvc.dll 분석
ㆍ Dropper에 의해 실행된 Wmmvsvc.dll은 svchost.exe -k Wmmvsvc 실행 명령인자로 실행된다.
① Wmmvsvc.dll의 첫 번째 기능 : 악성코드 전파 및 실행
⒜ Wmmvsvc.dll은 감염된 시스템의 OS 정보를 수집한다.
[그림 10] 감염된 시스템의 OS 정보 수집
⒝ mssscardprv.ax 파일에 존재하는 IP:PORT 리스트 중 SMB 프로토콜을 사용하는 주소들에 대해 랜덤하게 원격 접속을 시도한다.
[그림 11] mssscardprv.ax 파일의 IP:PORT 리스트 참조 및 원격 접속
⒞ 공유폴더 설정이 끝나면, Administrator 계정에 대한 로그인을 시도하고, 추가로 네트워크 자원에 대한 접근을 시도한다.
[그림 12] 감염된 시스템의 OS 정보 수집
⒟ 원격 컴퓨터에 대한 접근을 성공할 경우, 해당 시스템의 Windows 버전에 따라 ADMIN$ 공유폴더의 경로 및 권한을 설정한다.
[그림 13] OS 버전에 따른 ADMIN$ 공유폴더의 경로 및 권한 설정
⒠ 원격 컴퓨터의 ADMIN$ 공유폴더에 mssscardprv.ax파일과 Wmmvsvc.dll파일을 생성한다. 이후 원격 컴퓨터에 생성된 Wmmvsvc.dll을 원격 컴퓨터의 서비스로 등록하여 실행한다. 이로써 악성코드가 전파되고 2차적인 감염이 수행된다.
[그림 14] 공유폴더로의 악성코드 전파 및 실행
② Wmmvsvc.dll의 두 번째 기능 : E-mail 전송
⒜ 악성코드의 전파와 실행이 모두 끝나면, 최초 감염된 시스템의 Wmmvsvc.dll은 Google社의 메일 서버로 접속한다.
[그림 15] 감염된 시스템의 OS 정보 수집
⒝ 메일 서버 접속 후, 실행 코드에 하드코딩된 주소로 감염된 시스템의 정보를 전송한다.
[그림 16] mssscardprv.ax파일의 IP:PORT 리스트 참조 및 원격 접속
4) 참고자료
[1] https://www.virustotal.com/ko/file/ea46ed5aed900cd9f01156a1cd446cbb3e10191f9f980e9f710ea1c20440c781/analysis/
[2] https://www.virustotal.com/ko/file/a1c483b0ee740291b91b11e18dd05f0a460127acfc19d47b446d11cd0e26d717/analysis/
[3] https://www.virustotal.com/ko/file/ea46ed5aed900cd9f01156a1cd446cbb3e10191f9f980e9f710ea1c20440c781/analysis/
[4] https://www.us-cert.gov/ncas/alerts/TA18-149A