PDF 해킹 탐지 도구

알파카파카·2025년 4월 3일
post-thumbnail

PDF 파일로 인한 해킹 위험을 탐지하기 위한 글

1. PDFiD

Adobe PDF 파일 내 JavaScript, launch action, embedded files 존재 여부를 빠르게 탐지

경량 분석용

python pdfid.py sample.pdf

출력 예시:
/JS 1
/OpenAction 1
/JavaScript 1
/Launch 0
/EmbeddedFiles 0
/JS 나 /OpenAction 등이 있다면, 의심스러운 동작이 있다는 뜻

2. pdf-parser.py

PDF 내부 오브젝트 구조를 파싱해서 자세히 들여다봄

스크립트, URL, 실행 명령어 등을 디코딩해 확인할 수 있음

python pdf-parser.py -a sample.pdf

또는 특정 오브젝트만 보기:

python pdf-parser.py -o 12 -f sample.pdf

3. peepdf

강력한 분석 도구 + 쉘 인터페이스 제공

PDF 내부 스크립트 해석, 디코딩까지 가능 (암호화까지 어느 정도 대응)

peepdf sample.pdf

JS 코드를 심은 PDF 생성

( + 참고, Adobe Acrobat Reader에서 열어야 실행됨 ( 크롬, Edge, 브라우저 PDF 뷰어는 JS 실행 안 함 ) )

Bash로 reportlab 설치

pip install reportlab

Python으로 pdf 파일 생성

c = canvas.Canvas("blank.pdf")

c.drawString(100, 750, "PDF 알람 테스트 파일입니다.")

c.save()

Bash로 PDF에 자바스크립트 삽입

pdfcpu inject -js "app.alert('알람입니다!');" blank.pdf alert.pdf

alert 라는 이름의 PDF 파일에 JS코드가 injection 되어 생성 ( 알람 기능만 )

pdfcpu inject -js "app.alert('메시지1'); app.launchURL('https://naver.com');" blank.pdf demo.pdf

demo 라는 이름의 PDF 파일에 JS코드가 injection 되어 생성 ( 알람 실행, naver 브라우저 실행 )

profile
타닥,,, 타다닥,,,,,,,

0개의 댓글