CK Exploit Kit, 일명 CK VIP Exploit Kit가 나온지는 꽤 시간이 흘렀고 이미 분석이 충분히 끝났다고 보여집니다.

하지만 제가 실제로 발생하는 공격에 CK Exploit Kit을 이용하는 것은 처음 접해봤기 때문에 오랜만에 분석을 해봤습니다.


1. 패킷 수집

해당 공격이 들어온 것은 침입탐지 장비를 통해서였으며, 

탐지 패턴은 '/*NB VIP*/'으로 일반적인 CK Exploit Kit가 가지는 패턴 중 하나입니다.

이 외에도 '/*jsnb vip*/', 'ck'라는 문자열이 발견 됩니다. 

침입탐지 장비의 특성상 모든 패킷을 수집하는 것이 아닌, 

탐지된 패턴으로부터 일정량만 수집하므로 중간이 잘린 형식의 패킷을 수집할 수 있었습니다.


  1-1. 첫번째 패킷


  1-2. 두번째 패킷



2. 패킷 분석

중간 내용이 잘린 패킷이므로 분석이라고 할 것 까지는 없으나, 

위 패킷은 내부의 사용자가 외부의 침해당한 홈페이지 접근 시 발생한 패킷입니다.

분석환경에서 동일한 홈페이지의 모든 링크를 클릭하다시피 하면서 패킷을 수집하였으나, 

해당 내용의 패킷은 수집할 수 없었습니다.


초기분석 당시는 몰랐으나 관련 기사를 통해 이전에 CK Exploit Kit이 한창 배포될 당시

특정 조건을 만족하면 랜덤하게 URL 리다이렉트를 한다는 사실을 알았습니다.

정말 조건이 안 맞아서였는지, 해당 코드가 있는 페이지를 못 찾은건지는 모르겠습니다.

(관련 기사 : http://dailysecu.com/news_view.php?article_id=6536)


패킷의 중간 내용이 잘려 있으므로, 난독화를 풀어서 실제 코드를 볼 수는 없었으나, 

코드의 마지막 부분에서 악성코드의 배포 URL로 추정되는 숫자 배열을 찾았습니다.



악성코드 배포지의 URL로 추정했던 이유는 

  (1) 악성코드는 탐지 회피를 위해 문자열을 아스키코드로 숫자화

  (2) 코드 중 악성코드 배포를 위한 URL이 존재할 것으로 추측

  (3) URL의 구조 중 'http://www'에서 'tt'와 '//','www'와 같이 반복되는 문자열들은 숫자코드도 동일하게 반복됨.

      위 코드에서는 275, 275가 tt에 해당하며, 206, 206이 //, www는 278, 278, 278로 표현되고있음.


이와 같은 이유로 URL로 추정하였고, 영어 T와 W는 아스키코드로 3차이가 나므로 275와 278은 T와 W로 확신했습니다.

275가 T 또는 t겠지만 다른 특수문자들도 표현되어야하므로 소문자라고 생각하고 275에서 소문자 t의 아스키 값인 116을 빼봤습니다.

159가 나오며 해당 숫자코드들에서 -159를 한 뒤 아스키 코드에 대입해보면 악성코드 배포 URL이 나올 것으로 생각했습니다.


위 공격이 탐지되었을 당시에는 분석도구도 없고 Python을 설치할 수도 없는 상황이라 MS의 만능도구인 엑셀로 해결을 했습니다 =)

  (1) 엑셀 -> 데이터 -> 텍스트 나누기 -> 쉼표 체크 -> 코드 붙여넣기

  (2) =char(A1-159)와 같은 함수를 통해 숫자를 아스키 코드로 변환


※ 악성코드 배포처가 국내 업체의 URL이므로 모자이크 처리하였습니다.


예상처럼 dll.exe 파일을 다운로드 시도하는 것을 볼 수 있습니다.

현재도 계속 배포 중이며 해당 홈페이지 및 악성코드는 Kisa에 신고한 상태입니다.

virustotal에는 아직 등록되지 않은 악성코드였으며, 호스트 파일 변조를 통한 국내 유명 은행사들을 파밍사이트로 연결시키고 있었습니다.



원래는 파일의 동적 분석까지 하고 끝낼 생각이었으나..

호스트 파일 분석도 추가하고, 피싱사이트 분석도 하게 생겼습니다.

그래서 이후의 분석 내용들은 두번째 글로 넘기겠습니다.. =)





  1. 민이 2016.01.24 12:17 신고

    안녕하세요~~

    인사드립니당

+ Recent posts

티스토리 툴바