
CVE-2025-53770 일명 ToolShell을 위한 허니팟
Microsoft SharePoint 제로데이 취약점에 대한 공격 시도를 탐지하고 기록하는 Docker 기반 허니팟입니다.
이 허니팟은 전체 SharePoint 환경이나 사후 공격 활동을 시뮬레이션하기 위한 것이 아니라, 조기 탐지 및 위협 인텔리전스를 위해 설계되었습니다.
이 허니팟이 수행하는 작업:
이 허니팟이 수행하지 않는 작업:
Docker Compose
├── honeypot (Sensor - HTTP 캡처, 포트 443, <100ms 응답)
├── analyzer (심층 분석 엔진, 태그 기반 처리)
└── dashboard (인텔리전스 대시보드, 포트 8501)
HTTP 요청 → Sensor → 이벤트 큐 → Analyzer → Dashboard
↓ ↓ ↓
빠른 응답 SHA256 본문 심층 분석
태그 할당 원본 저장 YARA + R7
주요 개선 사항:
flowchart TD
A[HTTP Request] --> B[Sensor: Tag Assignment]
B --> C{Route-Based IOCs}
B --> D{Pattern Detection}
B --> E{Heuristic Analysis}
C --> F[IOC Tags]
D --> G[Pattern Tags]
E --> H[Heuristic Tags]
F --> I[Event JSON + Body Storage]
G --> I
H --> I
I --> J[Event Queue]
J --> K[Analyzer: Deep Analysis]
K --> L{Tag-Driven Pipeline}
L -->|R7_PAYLOAD| M[Gzip→Base64→.NET Analysis]
L -->|LARGE_B64| N[Generic Base64 Decoding]
L -->|Always| O[YARA Scanning]
M --> P[Enhanced Event JSON]
N --> P
O --> P
P --> Q[Dashboard Intelligence]
즉시 알림 우선순위가 있는 높은 신뢰도의 침해 지표
엔드포인트 기반 IOC:
IOC:ENDPOINT_TOOLPANE - /_layouts/15|16/ToolPane.aspx 접근IOC:ENDPOINT_SIGNOUT - /_layouts/SignOut.aspx 접근IOC:ENDPOINT_FAVICON - /favicon.ico 접근IOC:ENDPOINT_ACLEDITOR - /_controltemplates/15|16/AclEditor.ascx 접근IOC:ENDPOINT_LAYOUTS_ASPX - 일반적인 /_layouts/*.aspx 엔드포인트 접근IOC:WEBSHELL_PROBE - 웹쉘 프로브 엔드포인트 탐지CVE 특정 IOC:
IOC:CVE_2025_53771 - 후행 슬래시 인증 우회 (CVE-2025-53771)파라미터 기반 IOC:
IOC:PARAM_DISPLAYMODE_EDIT - DisplayMode=Edit 파라미터 탐지IOC:PARAM_TOOLPANE_REFERENCE - ToolPane을 참조하는 파라미터 값헤더 기반 IOC:
IOC:REFERER_SIGNOUT - Referer 헤더에 SignOut.aspx 포함IOC:SUSPICIOUS_USER_AGENT - 의심스러운 User-Agent 패턴 (예: Firefox/120.0)알려진 익스플로잇 프레임워크 및 페이로드 패턴의 시그니처
익스플로잇 시그니처:
PATTERN:R7_PAYLOAD - Metasploit R7 익스플로잇 (MSOTlPn_DWP + CompressedDataTable)PATTERN:VIEWSTATE_EXPLOIT - __VIEWSTATE 익스플로잇 시도PATTERN:YSOSERIAL - Java 역직렬화 도구 (ysoserial 키워드)코드 실행 패턴:
PATTERN:POWERSHELL - PowerShell 명령어/스크립트 탐지PATTERN:ASPX_WEBSHELL - ASPX 웹쉘 업로드 시도알려지지 않은 위협에 대한 행동 기반 이상 징후 탐지
페이로드 이상 징후:
HEURISTIC:LARGE_PAYLOAD - 페이로드 크기 >1KB (1024바이트)HEURISTIC:LARGE_B64 - Base64 콘텐츠 100자 초과HEURISTIC:MULTIPLE_B64 - 여러 Base64 문자열 (>3개)파라미터 이상 징후:
HEURISTIC:MANY_PARAMETERS - 과도한 URL 파라미터 (>10개)HEURISTIC:MISSING_CONTENT_TYPE - Content-Type 없는 POST 요청HEURISTIC:MALFORMED_MULTIPART - 잘못된 형식의 멀티파트 데이터요청 이상 징후:
HEURISTIC:UNUSUAL_METHOD - 비정상적인 HTTP 메서드 (PUT/DELETE/PATCH)HEURISTIC:LONG_PATH - 매우 긴 URL 경로 (>200자)HEURISTIC:UNKNOWN_ENDPOINT - 모니터링되지 않는 엔드포인트 (catch-all 라우트)/ (catch-all)/favicon.ico/_layouts/SignOut.aspx/_layouts/15/ToolPane.aspx 및 /_layouts/16/ToolPane.aspx (POST/GET, 파라미터 DisplayMode=Edit, a=/ToolPane.aspx)/_layouts/15/spinstall0.aspx, /_layouts/16/spinstall0.aspx, spinstall.aspx, spinstall1.aspx, info3.aspx, xxx.aspxyara_rules/ 디렉토리에 자체 YARA 규칙을 추가할 수 있음자체 서명 인증서 생성:
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 -keyout key.pem -out cert.pem \
-subj "/CN=sharepoint.local"
cp cert.pem key.pem ToolShell-Honeypot/
모든 서비스 빌드 및 실행:
cd ToolShell-Honeypot
sudo docker-compose up --build
또는 대화형 관리 스크립트 사용:
./manage.sh
옵션 6을 선택하여 모든 서비스를 시작하거나, 구성 요소를 개별적으로 시작할 수 있습니다.
허니팟 테스트:
# 모든 기능을 포함한 종합 테스트 스위트
./test_comprehensive.sh
대시보드 접속:
http://localhost:8501을 열어 인텔리전스 대시보드 확인:
테스트 스크립트는 실제 공격 시나리오를 시뮬레이션합니다. 대시보드를 확인하여 결과, IOC 탐지 및 데이터 분석을 검토하세요.
허니팟 및 대시보드 서비스를 손쉽게 제어할 수 있는 관리 스크립트가 제공됩니다.
사용법:
cd ToolShell-Honeypot
chmod +x manage.sh # (최초 한 번만)
./manage.sh
메뉴 옵션:
IOC 패턴, YARA 규칙 및 탐지 로직은 ToolShell/SharePoint 취약점에 대한 실제 공격 캠페인 및 공개 위협 인텔리전스를 기반으로 합니다. 여기에는 다음이 포함됩니다:
관련 CVE: