내 PDF 파일은 안전할까?

1. 서론 최근 PDF 관련 취약점이 많이 나오며 PDF 파일에 악의적인 스크립트가 삽입되는 사례가 많이 발견되고 있습니다. PDF 파일에 악의적인 스크립트가 삽입되었는지 여부를 확인하기 위해 이 문서를 작성합니다. 2. 사용되는 툴 PDFTK : http://www.accesspdf.com/pdftk/ PDFiD  : http://blog.didierstevens.com/programs/pdf-tools 이번 문서에서는 위의 툴들을 사용할 것입니다. 위의 툴들 중 pdf-parser와 PDFiD는 Python으로 작성된 툴이므로 Python이 설치되어 있어야 합니다. 먼저 Python을 설치하도록 하겠습니다. Python 다운로드 : http://python.org/download/ 3. 분석을 시작해보자! 자신의 플랫폼에 맞는 Python을 다운로드 하여 설치를 하셨다면 이제 분석을 하도록 하겠습니다. 먼저 악성 PDF 파일을 한번 살펴보도록 하겠습니다. 먼저 PDF 파일 내용을 PDFiD 툴을 이용하여 확인해 보도록 하겠습니다. 명령어는 아래와 같습니다. pdfid.py 파일명 PDFiD를 통해 PDF 문서를 확인해본 결과 해당 문서내에 Javascript가 3개 포함되어 있다는 결과를 확인할 수 있었습니다. 이제 PDFTK를 이용하여 해당…

DarunGrim을 이용한 패치된 부분 알아내기

우리는 윈도우 파일에 보안상의 취약점이 발견되면 윈도우 업데이트를 통해 패치를 받습니다. 패치를 받고나면 해당 파일은 패치가 되고 취약점을 이용한 악의적인 공격을 사전에 방지할 수 있게 됩니다. 패치가 된 파일은 수정이 되어있겠죠? 이번에 소개할 툴은 DarunGrim이라는 툴입니다. 툴 이름에서 느낄 수 있듯이 한국사람이 만들었습니다. 이 툴을 사용하게 되면 패치 전과 후의 파일의 수정된 부분을 쉽게 찾을 수가 있습니다. 예를들기 위해 사용될 ani 파일은(윈도우의 애니메이션 커서를 위해 사용되는 그래픽 파일 포맷) RIFF 파일 포맷을 근간으로 하고 있습니다. (ani 파일 외에 wmf, emf 파일 등이 있습니다.) 이러한 파일들은 처음 시작부분이 RIFF로 시작되게 됩니다. 아래 그림은 헥사에디터로 ani파일을 열었을 때의 화면입니다. 보시면 처음에 RIFF로 시작을 하고 밑에 빨간 박스로 표시된 부분 “24h”는 데이터 블럭의 size를 의미합니다. 이 취약점은 데이터 블럭의 size 값을 변경시킨 후 24h 크기 이상의…

패킷을 훔치는 ARP Spoofing 공격 탐지 툴 (2)

이전 글에 이어서 ARP Spoofing 을 탐지하는 툴에 대해서 소개하겠습니다. 물론, 커맨드 창에서 arp -a 명령을 내려서 ARP Cache 상태를 확인하여 ARP Spoofing 공격 여부를 알 수도 있습니다만 이번 글에서는 툴을 사용해서 탐지하는 방법과 와이어샤크를 사용하여 탐지하는 방법을 설명드리겠습니다. ARP Spoofing 공격을 탐지할 수 있는 툴로는 WinARPWatch라는 툴이 있습니다. 아래 그림을 보시면 IP주소192.168.0.1 은 GateWay 주소인데 192.168.0.31의 맥어드레스로 바뀐 것을 확인할 수 있습니다. ARP Spoofing 공격을 탐지할 수 있는 또 다른 툴은 XArp라는 툴이 있습니다. 수동으로 ARP Spoofing 공격을 확인할 수 있는 방법은 패킷 분석 도구인 와이어샤크를 사용하여 ARP 패킷을 확인하는 것입니다. 아래 그림을 보시면 Host들의 맥어드레스를 변경하려고 시도하는 것을 볼 수 있습니다. 그럼 이제 ARP Spoofing 공격을 대처하는 방법을 알아보겠습니다.  1. ARP Spoofing 공격이 이루어지면 V3에서 아래와 같은 “차단한 침입 : Man-In-The-Middle…

패킷을 훔치는 ARP Spoofing 공격 탐지 툴 (1)

금주에 ARP Spoofing 공격을 하는 악성파일이 이슈가 있어서 (그냥 지나치기에는 너무나 아쉬운 ^^) 공격 방법과 탐지 방법 및 대처 방법에 대해서 살펴볼까 합니다. 우선, OSI 7 Layer의 2계층에서 두 호스트 간 통신하는 방법을 살펴보겠습니다. Host A가 자신의 로컬 도매인 내의 ARP Cache 를 검색하여 Host B의 IP와 MAC address가 맵핑이 되어 있는지 확인합니다. 만약에 확인이 되지 않으면 Host B IP의 MAC address에 대한 ARP Request를 broadcasting을 합니다. Host B는 IP와 MAC address 정보를 ARP Reply로 Host A에게 전달합니다. Host B의 IP와 MAC address를 전달받은 Host A는 자신의 ARP Cache를 업데이트 합니다. 보안적인 측면에서 바라보면, 이러한 2계층 간의 통신을 'Man In The Middle' 공격 기법으로 우회를 할 수가 있습니다.  쉽게 예를 들어보겠습니다. A라는 남자와 B라는 여자는 사랑하는 애인 관계입니다. 그런데 C라는…

WFA로 악성코드 감염시간을 알수 있다?

윈도우 파일 분석툴 Windows File Analyzer(이하 WFA)는 Thumbs.db, Prefetch, index.DAT, Shortcut 파일 등 윈도우에서 제공하는 여러가지 기능의 파일을 분석할 수 있는 유용한 분석툴이다. 먼저, 실험에 앞서 WFA툴을 이용하여 분석할 대상인 Prefetch 파일에 대해 살펴보고 가자~ Prefetch 파일은 윈도우 부팅시, 어플레케이션 실행시에 속도를 개선하기 위해 실행 가능한 파일의 정보를 담고 있는 파일이다. 이 Prefetch 파일은 c:windowsprefetch 폴더에 존재하며, 확장자는 .pf 이다. 이 폴더에 존재하는 파일을 자세히 살펴보면 자주 보던 프로그램들의 실행 파일명을 찾아 볼 수 있다. 그 파일명은 아래와 같은 형식으로 존재한다.  [실행 파일명.exe-Hash].pf Hash값은 파일이 존재하는 패스(디렉토리 정보)의 해쉬값이다. 그리고 파일의 수정한 날짜와 만든 날짜 정보도 볼 수 있는데 WFA툴을 이용하면 탐색기에서 볼 수 없는 정보까지 확인이 가능하다. 우리는 이러한 정보를 이용하여 악성코드가 언제 감염되었는지 판단할 수 있는 것이다. 자~ 그럼.. WFA툴이 어떻게 생겼는지 알아보자! 먼저, 아래 주소에서 WFA툴을…