'악성코드'에 해당되는 글 2건

  1. 2011.01.13 악성코드 분석을 위한 스크립트 만들기!! #1 1
  2. 2010.03.21 악성코드 수집

작성 순서

1. 개요 공격 시나리오

2. 동적 악성코드 분석

3. 악성코드 유포지 추적을 위한 정보수집 단계 #1

4. 악성코드 유포지 추적을 위한 정보수집 단계 #2

5. 공개툴을 통한 스크립트 제작

6. 완성된 스크립트를 통한 악성코드 분석 및 유포지 추적


도메인 만료기간이 다 되어가는데 도루묵은 신세한탄만 하고 있고, 저도 다른 일 해보겠다고 이직하는 바람에 이것저것 정신없다는 핑계로 안들어온지 꽤 되었네요; 다녀가신 분들은 좀 있는 것 같은데 코멘트는 없고, 가끔 물어보는 메일만 날라오네요


신년도 되었고 시간의 여유가 있을 때 마다 글을 조금 써보려고 합니다.(이건 작년에도 마음먹었던 일인데 말이죠;)


음.. 이렇게 시작하죠

DDoS가 발생했습니다. 공격이 발생했으면

첫째, DDoS 공격을 수행한 공격자가 존재하고

둘째, DDoS 공격을 받은 대상자가 존재하고(사이트 담당자 어쩔..ㅠ)

셋째, 공격을 차단하기 위해 즉각적인 분석을 수행할 CERT팀이 존재하고

넷째, 해당 바이러스의 패턴을 백신 엔진에 올리실 분들이 존재합니다.


네트워크 모니터링 장비(IPS/IDS, A사의 Peak어쩌구, N사의 DD어쩌구등등) 통해 DDoS 공격확인시 대상 사이트 담당자는 급당황을 하거나 내부적인 프로세스에 의해 DDoS 방어 업무 프로세스를 수행하고 상위 업체인 ISP에서는 Dst IP 트래픽을 우회하거나 null0 routing 수행하는 등의 활동을 수행합니다.

또한 ISP 보안관제 Cert팀에서는 해당 공격의 Src IP 조사하여 가입자와의 통화를 시도하게 되죠. "해당 PC 악성코드가 감염이 같다. 분석에 협조해달라" 협조에 의한 가입자의 PC 원격분석 시도하고 C&C Domain이나 IP 있으면, KISA등의 상급기관에 보고하거나 내부적으로 차단을 수행하게 됩니다.


여기서 모든 것들이 바로바로 이루어져야 하지만, C&C Domain이나 IP등을 찾기 위해 원격분석에 걸리는 시간은 여러가지 주변요인에 의해 시간이 많이 지체되곤 합니다(여러가지 주변 요인 : 컨텍한 가입자의 PC 엄청난양의 트래픽을 발생시키고 있거나 PC성능에 따른 latency, 가입자의 분석요청 거절, 분석자의 기술력 ) 또한, 무한의 시간을 가지고 좀비PC 원격으로 분석할 있는 것도 아니죠…. 컨텍한 사람이 "아놔 스타해야함" or "밖에 나가야함" 시간은 한정되어 있습니다.


위에서 잠깐 언급하였지만 C&C 통해서 이루어지는 공격이라면 ISP단에서 C&C IP 차단하거나 Domain 차단하는 방법이 "그나마" 빠른 DDoS 대응이라고 있겠습니다. 악성코드가 퍼진건 어쩔 없는 부분이지만 당장 공격은 안일어나게 있으니까요;

또한 분석시간도 좀비PC 원격으로 붙어서 netstat 명령어랑 wireshark 트래픽 보고 iceSword 프로세스 보면 악성코드 추출과 C&C 확인은 설치시간 빼고 5분도 안걸리죠.. 찾은거 바로 차단하면 됩니다. ~ 빠르죠

하지만 '09 7 7일에도 그랬듯이  C&C가 없는 공격이거나… '10 2분기부터 달리기 시작했던 다음의 DDoS 시나리오의 공격은 ISP에서의 차단을 우회하게 됩니다.


* C&C 차단이 애매한(?) 공격 시나리오

사용자 삽입 이미지


Attacker가 웹디스크나 p2p Self-Extract(이하 SFX) 기능으로 동영상과 악성코드를 묶어 exe파일 형태로 업로드합니다.

요즘에 저작권이다 뭐다 해서 exe파일로 압축파일을 올리는 경우가 많이 있습니다.(성인물로 배포되는 형태가 많습니다) malware.exe, 동영상.avi파일 두개에 대해서 SFX압축을 한다고 가정시 옵션에서 더블클릭이라는 마우스 이벤트가 일어남과 동시에 malware.exe 실행되도록 조정을 해놓습니다.

당연히 디자인된 malware.exe 압축이 풀리고 실행되더라도 사용자의 눈에서 안보이도록 바로 삭제되도록 디자인되어 사용자는 해당 SFX압축을 해제하였을 경우 동영상.avi 보게 됩니다.

또한, 사람을 속여서 해당 파일을 다운받도록 해야하는데 해당 파일을 선택하여도 다음과 같이 파일이름을 길게 하면 끝의 확장자가 안보이는 경우도 많고, 아예 폴더로 올려서 "목록보기" 클릭해야만 파일 내역들을 확인할 있게도 합니다.

사용자 삽입 이미지

 

우선 사용자들은 해당 파일을 다운로드 경우 " 이거 확장자가 exe" 하면서 마우스 클릭해서 내부에 파일이 뭐가 있지 확인하는 사람이 몇이나 있을까요? 믿고서 압축을 해제하거나… 조금 이상하다 싶지만 받은 포인트가 아까워서 실행하게 됩니다.

Victim들이 해당 파일을 다운로드하여 클릭하는 순간 압축이 풀리게 되며 SFX 옵션에서 연결된 악성코드가 자동 실행되고 삭제되어 정상적으로 동영상 파일만 남는 것처럼 보여줍니다.



③ 악성코드에 감염된 Victim들이 Attacker C&C 서버 Domain DNS 서버에 질의하게 되며 5분간은 Local 설정된 DNS Server(자신이 사용하고 있는 ISP DNS서버등)으로 질의하게 되며, 결과값에 상관없이 국내,해외 DNS 서버군으로 질의를 하게됩니다.

해외 DNS Server에게 C&C Domain을 질의하게 해놓았으니… 국내 ISP에서 차단해봐야 다른 곳으로 질의하기 때문에 C&C 차단효과를 없습니다.

또한 분석자들을 낚는 효과(?) 얻는데 wireshark등을 통해 DNS 질의하는 것을 도메인과 IP 보지 어떤 DNS Server 질의하는지 확인하지 않는 경우가 많지요;



④ 감염된 Victim Group들이 DNS 서버로 질의했을 받은 IP 접속을 시도합니다. 그러나 Attacker 차단을 우회하기 위해 해외의 DDNS 서비스를 사용합니다. C&C 서버가 구동전에는 DDNS 서비스 업체에 따라 평상시에는 192.168.0.1 response하거나 IP Addr 값을 주지 않다가 Attacker DDNS 서비스에 로그인하여 구동하면 실제 IP 변경되어 접속하게 됩니다.

그러면 여기서 "그럼 C&C Domain 막지말고 IP 막으면 되겠네요"라고 있지만, C&C IP 순간순간 바뀌어 구동되며, Tor Proxy 같은 툴들을 통해서 자신의 아이피가 아닌 다른 아이피로 계속 변경이 가능하여 이것도 확실한 답은 아닐 있습니다.



이제 Attacker는 자신의 C&C서버를 통해 명령을 내리게 됩니다. 이때 Victim Group이 공격할 Target서버를 지정할 있으며, Victim들의 접속하는 C&C 서버를 변경하기 위해 다른 C&C 서버 Domain 내포하는 악성코드를 다운로드하는 지령을 전달할 수 있습니다



⑥ 악성코드에 감염되어 형성된 Zombie군들이 Attacker 전달한 Target 서버로 DDoS 공격을 수행합니다. 이때 공격 유형은 공격자가 원하는대로 Open Tear, UDP Flooding , ICMP Tear Drop 다양한 패턴으로 공격을 수행할 있습니다.


위의 경우처럼 공격을 하는 경우 Cert팀에서 분석을 수행하더라도 난감합니다 C&C 계속 변하고 차단할 없으니 이를 어쩐다…

백신 업체에서 시그니처 업데이트 한다 하여도 모든 좀비PC들에 백신이 설치되어있지 않은 이상 DDoS 계속 발생되겠죠.

그래서 생각한 것이 유포지를 추적해서 공격을 수행한 사람에 최대한 가깝게 다가가서 공권력 있는 기관에 신고하면 어케든 되겠지 했는데…;; 이것도 신고했는데 몇달간 계속 DDoS 엄청난 트래픽으로 발생되고 분석만 해보면 같은건이고;; ISP들은 다들 난리고.. 그랬던 경험이 있습니다. '09 7.7 DDoS 대란도 '09 7 5 해외쪽 공격했던 사실이 있어 6일날 보고했다가 "우리쪽 아니니까 문제 없자나" 소리도 들었었죠;; (..그래서 퇴사한건 아니에요 )


따라서 이번 블로그의 ""글은 정상적인 PC 좀비PC 밖에 없었던 이유.. , 어디서 악성코드를 다운받았고 어떤식으로 전파되어 PC 감염되었는지 등에 대해 수집해야할 정보들과 정보를 추출하는 방법.. 최종적으로는 원격지에서 스크립트를 실행하여 수집된 로그를 바탕으로 분석하는 내용에 대해서 논하고자 합니다.


도움이 되지 않을 있지만 저만의 노하우니까~ 가볍게 정보라도 가져가실 있다면 좋겠습니다.

'Malware Analysis' 카테고리의 다른 글

악성코드 수집  (0) 2010.03.21
RussKill  (0) 2010.01.06
Posted by 궁상박군
:

악성코드 수집

Malware Analysis 2010. 3. 21. 01:21 |

가끔 악성코드가 분석하고 싶을 때(-_-?) 자발적으로 인터넷을 다닐때가 있는데
저 같은 경우는 malwareurl이나 malwaredomainlist 같은 곳에서 찾는 경우가 있습니다.

사용자 삽입 이미지

위의 그림은 malwareulr.com에서 확인할 수 있는 내용으로 domain, ip등에 대한 정보를 갖고 있습니다.
Domain만 가지고는 악성코드의 URL을 파악하는데 문제가 있으므로 맨 우측에 보이는 Details정보를 눌렀을 경우
다음 아래의 그림처럼 자세한 정보 파악이 가능합니다.
사용자 삽입 이미지

Details 정보에서는 위처럼 URL경로외에도 Redirections, VirusTotal, Anubis, ThreatExpert 검사등에 대한 추가적인 정보와, google이나 MalwareDomainList등의 Blacklist정보, Whois정보등을 제공합니다.

또한 맨 하단은 다음과 같이 해당 Domain이나 IP에 대한 과거 신고접수된 내역을 보여줍니다.
사용자 삽입 이미지

(# 위 그림은 62.212.66.91에 대한 과거 신고이력입니다)


하지만 위의 두개의 도메인외에도 악성코드를 유포하는 경로를 가지고 있는 사이트는 하루에도
수백건의 업데이트가 있기 떄문에 어떤걸 받아서 해볼까 고민할 때도 있고
샘플 수집을 위해 모조리 다운받으려 할 경우도 유포 사이트의 수도 많고 업데이트도 빈번히-제가 확인했을 때는 매일이었는데 아닐수도 있으니-일어나기 때문에 언제다 일일이 클릭해서 다운받나 싶더군요

이럴때 쓰라고 하는 건가요? malwareurl.com은 신고접수된 악성코드 유포경로에 대해서 CSV형식으로 Export해서 사용자에게 떨궈주는 기능이 있습니다.
그런데 언제부터인지 모르겠지만 export하는 하이퍼링크를 클릭하면 별도의 과정없이 다운 가능했었는데 다운받기 위해서는 사용자 등록을 해야하고 등록한 메일로 키값을 포함한 URL을 메일로 보내주더군요

여하튼 다음 그림처럼 malwareurl.com의 메인화면에서 Register and Export data를 선택 후 등록하시면 접근 경로를 메일로 보내줍니다.

사용자 삽입 이미지

위에서 등록하시고 조금 기다리시면 다음 그림처럼 메일이 옵니다
사용자 삽입 이미지

해당 경로로 접근하면 CSV파일을 다운로드하게 되며 파일을 열어보시면 다음과 같은 화면을 볼 수 있습니다.
사용자 삽입 이미지

첫번째 열부터 URLs, Ip address, Reverse Lookup, ASN, Brief description, Domain registrant Date입니다.
(재미있는거는 예전에는 맨위의 행에 컬럼명이 같이 나왔는데 언제부터인가 빠져서 그냥 정보만 나오다러구요)

여하튼 저렇게 목록을 다운받게 했으니 이제 자동으로 접근해서 파일을 다운받도록 스크립트를 만들어야겠죠

스크립트에 대한 설명은 따로 설명안드려도 되겠죠? -ㅅ-;
궁금하시면 메일로 주세요 psj020@gmail.com

참고로 아래것을 그대로 쓰시려면 아래의 파일 클릭하시면 됩니다.(물론 키값 부분은 삭제했습니다. 그 부분은 등록하신 후 메일로 오신 부분으로 교체 하시면 됩니다)



위 스크립트는 windows에서 사용하려고 만들었으며, UnxUtils, logparser, perl만 깔려있으면 정상적으로 실행되실꺼에요;
위의 파일은 제가 3월 19일자에 대한 파일만 뽑아낸거구요;
매일매일 돌리고 싶다 하신 분들은 batch파일등으로 어제 날짜 구하는 파일 만들어서 2010-03-19 대신에 입력해주시면 됩니다.
또한 logparser로 쿼리 하는 부분에 위의 그림에서 짤렸지만 LIKE %.exe하는 부분이 있는데 이 부분은 사용하시는 분 입맛대로 descriptiong에서 exploit을 하시든지, FAKE AV를 하시든지 설정하시면 됩니다.

아래는 생성된 파일 및 다운로드 된 파일입니다. 저는 이력관리때문에 csv파일을 여러개 생성하였지만 수집용도로만 쓰려면 별 필요없으니 삭제하는 구문을 추가하시는 것도 ㅎㅎ



아...역시 뻘글인가요? -_-
그냥 가끔 아... 이런게 필요하구나 하신분들한테 도움이 되셨으면 좋겠습니다.

'Malware Analysis' 카테고리의 다른 글

악성코드 분석을 위한 스크립트 만들기!! #1  (1) 2011.01.13
RussKill  (0) 2010.01.06
Posted by 궁상박군
: