AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

파일 업로드 보안 테스트 파일 생성 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인프라/DevOps/보안

대상자

  • 보안 테스터, 개발자, 펜테스터
  • 중급~고급 난이도 (파일 타입, 마직바이트, exiftool 등 도구 사용 기술 필요)

핵심 요약

  • EICAR 파일은 악성코드로 잘못 인식되지만 실제 해가 없는 보안 테스트용 파일로, .txt, .xlsx, .docx 등 다양한 형식으로 생성 가능
  • PHP 쉘 파일 코드를 사용해 생성되며, .png, .jpeg, .pdf 등 다른 파일 형식으로 마직바이트를 조작해 탐지 회피 가능
  • 마직바이트(매직 바이트)는 파일 식별을 위해 사용되며, FF D8 FF DB(JPEG), 25 50 44 46 2D(PDF) 등으로 파일 형식을 변경 가능
  • exiftool을 사용해 PNG 이미지의 메타데이터에 PHP 쉘 코드를 삽입해 파일 탐지 회피 가능

섹션별 세부 요약

1. 일반 파일 생성

  • .xlsx, .pdf, .png, .txt, .docx 등은 각각의 프로그램(Excel, Word 등)을 사용해 기본 텍스트 및 계산식을 삽입
  • PDF는 Word 문서에서 내보내기하여 생성
  • .png 파일은 간단한 이미지 파일 사용

2. EICAR 파일 생성

  • EICAR 파일은 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 문자열로 생성
  • 주의: EICAR 파일은 악성코드로 인식될 수 있으므로 VM 환경 또는 안티바이러스 스캔 제외 폴더에서 생성 권장

3. PHP 쉘 파일 생성

  • echo '' >> php-shell.php 명령어로 생성
  • .png, .jpeg, .pdf 등 다른 파일 형식으로 마직바이트 조작하여 생성 가능
  • 예시: echo '' >> regular-png-file.png && mv regular-png-file.png php-shell-added-to-end-png-magic-bytes.php

4. 마직바이트 조작

  • FF D8 FF DB (JPEG), 25 50 44 46 2D (PDF) 등으로 파일 형식을 변경
  • hexedit 도구로 파일의 시작 부분을 수정, xxd로 변경 확인 가능

5. exiftool 활용

  • exiftool -comment='' png-file-with-php-payload-in-comment-metadata.png 명령어로 PNG 메타데이터에 PHP 쉘 삽입
  • .png 파일을 .php 확장자로 리네임해 마직바이트는 PNG, 파일명은 PHP로 설정 가능

결론

  • EICAR 파일은 VM 환경에서만 생성하고, 마직바이트 조작 시 파일 내용이 손상되지 않도록 주의
  • exiftool을 사용해 메타데이터에 쉘 코드 삽입 시, 파일 형식과 확장자가 일치하도록 설정해야 함
  • 테스트 환경에 맞게 PHP 쉘의 payload를 수정해 사용해야 함