Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
peetch — eBPF 기반 툴킷으로, 네트워크 트래픽 스니핑, OpenSSL TLS 키 추출, Scapy를 사용한 TLS 1.2 연결 실시간 가로채기/복호화를 수행합니다. | Kitploit
도구/GitHubGitHub/quarkslab/peetch
Packet Sniffing & AnalysisDynamic Analysis (Sandboxing)Network Security
GitHubquarkslab/peetch

peetch

eBPF 기반 툴킷으로, 네트워크 트래픽 스니핑, OpenSSL TLS 키 추출, Scapy를 사용한 TLS 1.2 연결 실시간 가로채기/복호화를 수행합니다.

저장소 보기
209192년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

peetch

peetch는 eBPF의 다양한 측면을 실험하여 TLS 프로토콜 보호를 우회하는 것을 목표로 하는 도구 모음입니다.

현재 peetch는 세 가지 하위 명령을 포함합니다. 첫 번째 dump는 각 패킷에 소스 프로세스 정보를 연결하여 네트워크 트래픽을 스니핑하는 것을 목표로 합니다. 두 번째 tls는 OpenSSL을 사용하는 프로세스를 식별하여 암호화 키를 추출할 수 있게 합니다. 세 번째 proxy는 OpenSSL을 사용하는 프로세스의 TLS 트래픽을 자동으로 가로채고 즉시 메시지를 복호화합니다.

처음 두 명령을 결합하면 PCAPng 형식으로 기록된 TLS 교환을 복호화할 수 있습니다.

설치

peetch는 bcc 및 Scapy를 포함한 여러 종속성에 의존합니다. Docker 이미지를 쉽게 빌드하여 peetch를 간편하게 테스트할 수 있습니다. 다음 명령을 사용하세요:

root@kitploit:~
docker build -t quarkslab/peetch .

명령어 안내

다음 예제는 Docker 이미지에 진입하고 내부에서 예제를 실행하기 위해 다음 명령을 사용했다고 가정합니다:

root@kitploit:~
docker run --privileged --network host --mount type=bind,source=/sys,target=/sys --mount type=bind,source=/proc,target=/proc --pid host --rm -it quarkslab/peetch

dump

이 하위 명령은 eBPF TC 분류기를 사용하여 패킷을 스니핑하고 해당 PID 및 프로세스 이름을 검색할 수 있게 합니다:

root@kitploit:~
peetch dump
curl/1289291 - Ether / IP / TCP 10.211.55.10:53052 > 208.97.177.124:https S / Padding
curl/1289291 - Ether / IP / TCP 208.97.177.124:https > 10.211.55.10:53052 SA / Padding
curl/1289291 - Ether / IP / TCP 10.211.55.10:53052 > 208.97.177.124:https A / Padding
curl/1289291 - Ether / IP / TCP 10.211.55.10:53052 > 208.97.177.124:https PA / Raw / Padding
curl/1289291 - Ether / IP / TCP 208.97.177.124:https > 10.211.55.10:53052 A / Padding

현재 dump는 IPv4 기반 TCP 세그먼트만 캡처합니다.

편의를 위해 캡처된 패킷은 --write를 사용하여 프로세스 정보와 함께 PCAPng로 저장할 수 있습니다:

root@kitploit:~
peetch dump --write peetch.pcapng
^C

이 PCAPng는 Wireshark 또는 Scapy로 쉽게 조작할 수 있습니다:

root@kitploit:~
scapy
>>> l = rdpcap("peetch.pcapng")
>>> l[0]
<Ether  dst=00:1c:42:00:00:18 src=00:1c:42:54:f3:34 type=IPv4 |<IP  version=4 ihl=5 tos=0x0 len=60 id=11088 flags=DF frag=0 ttl=64 proto=tcp chksum=0x4bb1 src=10.211.55.10 dst=208.97.177.124 |<TCP  sport=53054 dport=https seq=631406526 ack=0 dataofs=10 reserved=0 flags=S window=64240 chksum=0xc3e9 urgptr=0 options=[('MSS', 1460), ('SAckOK', b''), ('Timestamp', (1272423534, 0)), ('NOP', None), ('WScale', 7)] |<Padding  load='\x00\x00' |>>>>
>>> l[0].comment
b'curl/1289909'

tls

이 하위 명령은 OpenSSL을 사용하는 프로세스를 식별하고 평문 및 시크릿과 같은 여러 항목을 덤프하기 쉽게 합니다.

기본적으로 peetch tls는 프로세스당 한 줄만 표시하며, --directions 인수를 사용하면 교환된 메시지를 표시할 수 있습니다:

root@kitploit:~
peetch tls --directions
<- curl (1291078) 208.97.177.124/443 TLS1.2 ECDHE-RSA-AES128-GCM-SHA256
-> curl (1291078) 208.97.177.124/443 TLS1.2 ECDHE-RSA-AES128-GCM-SHA256

OpenSSL 버퍼 내용을 표시하려면 --content를 사용합니다.

root@kitploit:~
peetch tls --content
<- curl (1290608) 208.97.177.124/443 TLS1.2 ECDHE-RSA-AES128-GCM-SHA256

   0000  47 45 54 20 2F 20 48 54 54 50 2F 31 2E 31 0D 0A  GET / HTTP/1.1..
   0010  48 6F 73 74 3A 20 77 77 77 2E 70 65 72 64 75 2E  Host: www.perdu.
   0020  63 6F 6D 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A  com..User-Agent:
   0030  20 63 75 72 6C 2F 37 2E 36 38 2E 30 0D 0A 41 63   curl/7.68.0..Ac

-> curl (1290608) 208.97.177.124/443 TLS1.2 ECDHE-RSA-AES128-GCM-SHA256

   0000  48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D  HTTP/1.1 200 OK.
   0010  0A 44 61 74 65 3A 20 54 68 75 2C 20 31 39 20 4D  .Date: Thu, 19 M
   0020  61 79 20 32 30 32 32 20 31 38 3A 31 36 3A 30 31  ay 2022 18:16:01
   0030  20 47 4D 54 0D 0A 53 65 72 76 65 72 3A 20 41 70   GMT..Server: Ap

--secrets 인수는 메모리에서 추출한 TLS 마스터 시크릿을 표시합니다. 다음 예제는 --write를 사용하여 마스터 시크릿을 파일에 쓰고 Scapy로 TLS 메시지를 복호화하는 방법을 보여줍니다:

root@kitploit:~
(sleep 5; curl https://www.perdu.com/?name=highly%20secret%20information --tls-max 1.2 --http1.1 --tlsv1.2) &

peetch tls --write &
curl (1293232) 208.97.177.124/443 TLS1.2 ECDHE-RSA-AES128-GCM-SHA256

peetch dump --write traffic.pcapng
^C

# 마스터 시크릿을 PCAPng 파일에 추가
editcap --inject-secrets tls,1293232-master_secret.log traffic.pcapng traffic-ms.pcapng

scapy
>>> load_layer("tls")
>>> conf.tls_session_enable = True
>>> l = rdpcap("traffic-ms.pcapng")
>>> l[13][TLS].msg
[<TLSApplicationData  data='GET /?name=highly%20secret%20information HTTP/1.1\r\nHost: www.perdu.com\r\nUser-Agent: curl/7.68.0\r\nAccept: */*\r\n\r\n' |>]

proxy

이 하위 명령은 eBPF 프로그램을 사용하여 OpenSSL을 사용하는 프로세스의 TLS 트래픽을 자동으로 가로채고 Scapy를 통해 즉시 메시지를 복호화합니다.

다음 예제에서 peetch proxy는 openssl 프로세스가 서버로 보낸 비밀 값을 표시합니다.

root@kitploit:~
peetch proxy
[-] Proxying OpenSSL traffic
[+] Intercepting traffic from openssl/451255 to 172.67.133.176/443 via 127.0.0.1/58039
    --> 127.0.0.1:58039 > 172.67.133.176:https tcp
    <-- 172.67.133.176:https > 127.0.0.1:58039 tcp
    --> 127.0.0.1:58039 > 172.67.133.176:https tcp
    <-- 172.67.133.176:https > 127.0.0.1:58039 tcp
    --> 127.0.0.1:58039 > 172.67.133.176:https tcp
    --> 127.0.0.1:58039 > 172.67.133.176:https tcp

###[ TLS Application Data ]###
  data      = b'GET /?secret=9590 HTTP/1.1\r\nHost: www.perdu.com\r\n\r\n\n'

제한 사항

설계상 peetch는 OpenSSL, IPv4 및 TLS 1.2만 지원합니다.

도구 다운로드