Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
striptls — STARTTLS 스트리핑 공격의 프록시 POC 구현 | Kitploit
도구/GitHubGitHub/tintinweb/striptls
Vulnerability AnalysisExploitationNetwork Security
GitHubtintinweb/striptls

striptls

STARTTLS 스트리핑 공격의 프록시 POC 구현

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

image

striptls - 감사 프록시

STARTTLS 제거 공격의 poc 구현

범용 TCP 프록시 구현 및 감사 도구로, 프로토콜 독립적인 ssl/tls 가로채기와 SMTP, POP3, IMAP, FTP, NNTP, XMPP, ACAP, IRC에 대한 STARTTLS 제거 공격을 수행합니다.

Python2!

🏆 트로피
  • CVE-2016-0772 - python: smtplib
  • CVE-2016-10027 - Smack XMPP library

//이 프로젝트의 도움으로 취약점을 발견하셨나요? 연락 주세요!

요구사항:
  • Python >= 2.7.9 (SSLContext) < Python 3
  • (tls 가로채기 선택사항) 인증서와 개인키를 PEM 형식(단일 파일)으로 제공 --key=server.pem

벡터

  • 일반
  • 가로채기 - 프로토콜 독립적인 ssl/tls 가로채기. TLS 핸드셰이크를 확인하고 소켓을 tls로 변환 (tls-to-tls 프록시)
  • 인바운드 가로채기 - 인바운드 채널에 대한 프로토콜 독립적인 ssl/tls 가로채기 (tls-to-plain 프록시)
  • SMTP
  • SMTP.StripFromCapabilities - 서버 응답 기능 패치
  • SMTP.StripWithInvalidResponseCode - 클라이언트 STARTTLS 제거, 유효하지 않은 응답 코드
  • SMTP.UntrustedIntercept - STARTTLS 가로채기 (클라이언트와 서버가 ssl로 통신) (pwd에 server.pem 필요)
  • SMTP.StripWithTemporaryError
  • SMTP.StripWithError
  • SMTP.ProtocolDowngradeStripExtendedMode
  • SMTP.InjectCommand
  • SMTP.InboundStarttlsProxy - (starttls-to-plain 프록시)
  • POP3
  • POP3.StripFromCapabilities
  • POP3.StripWithError
  • POP3.UntrustedIntercept
  • IMAP
  • IMAP.StripFromCapabilities
  • IMAP.StripWithError
  • IMAP.UntrustedIntercept
  • IMAP.ProtocolDowngradeToV2
  • FTP
  • FTP.StripFromCapabilities
  • FTP.StripWithError
  • FTP.UntrustedIntercept
  • NNTP
  • NNTP.StripFromCapabilities
  • NNTP.StripWithError
  • NNTP.UntrustedIntercept
  • XMPP
  • XMPP.StripFromCapabilities
  • XMPP.StripInboundTLS
  • XMPP.UntrustedIntercept
  • ACAP (미테스트)
  • ACAP.StripFromCapabilities
  • ACAP.StripWithError
  • ACAP.UntrustedIntercept
  • IRC
  • IRC.StripFromCapabilities
  • IRC.StripWithError
  • IRC.UntrustedIntercept
  • IRC.StripWithNotRegistered
  • IRC.StripCAPWithNotregistered
  • IRC.StripWithSilentDrop

결과:```python

  • [*] client: 127.0.0.1
  • [Vulnerable!] <class striptls.StripWithInvalidResponseCode at 0xffd3138c>
    
  • [Vulnerable!] <class striptls.StripWithTemporaryError at 0xffd4611c>
    
  • [           ] <class striptls.StripFromCapabilities at 0xffd316bc>
    
  • [Vulnerable!] <class striptls.StripWithError at 0xffd4614c>
    
  • [*] client: 192.168.139.1
  • [Vulnerable!] <class striptls.StripInboundTLS at 0x7f08319a6808>
    
  • [Vulnerable!] <class striptls.StripFromCapabilities at 0x7f08319a67a0>
    
  • [Vulnerable!] <class striptls.UntrustedIntercept at 0x7f08319a6870>
    
## 사용법```
#> python2 -m pip install striptls
#> python2 -m striptls --help

The input is empty. Please provide the content for chunk 5 so I can translate it according to the instructions.``` #> python -m striptls --help # from pip/setup.py #> python striptls --help # from source / root folder Usage: striptls.py [options]

   example: striptls.py --listen 0.0.0.0:25 --remote mail.server.tld:25

Options: -h, --help show this help message and exit -q, --quiet be quiet [default: True] -l LISTEN, --listen=LISTEN listen ip:port [default: 0.0.0.0:<remote_port>] -r REMOTE, --remote=REMOTE remote target ip:port to forward sessions to -k KEY, --key=KEY SSL Certificate and Private key file to use, PEM format assumed [default: server.pem] -s, --generic-ssl-intercept dynamically intercept SSL/TLS -b BUFFER_SIZE, --bufsiz=BUFFER_SIZE -x VECTORS, --vectors=VECTORS Comma separated list of vectors. Use 'ALL' (default) to select all vectors, 'NONE' for tcp/ssl proxy mode. Available vectors: ACAP.StripFromCapabilities, ACAP.StripWithError, ACAP.UntrustedIntercept, FTP.StripFromCapabilities, FTP.StripWithError, FTP.UntrustedIntercept, GENERIC.Intercept, IMAP.ProtocolDowngradeToV2, IMAP.StripFromCapabilities, IMAP.StripWithError, IMAP.UntrustedIntercept, IRC.StripCAPWithNotRegistered, IRC.StripFromCapabilities, IRC.StripWithError, IRC.StripWithNotRegistered, IRC.StripWithSilentDrop, IRC.UntrustedIntercept, NNTP.StripFromCapabilities, NNTP.StripWithError, NNTP.UntrustedIntercept, POP3.StripFromCapabilities, POP3.StripWithError, POP3.UntrustedIntercept, SMTP.InboundStarttlsProxy, SMTP.InjectCommand, SMTP.ProtocolDowngradeStripExtendedMode, SMTP.StripFromCapabilities, SMTP.StripWithError, SMTP.StripWithInvalidResponseCode, SMTP.StripWithTemporaryError, SMTP.UntrustedIntercept, XMPP.StripFromCapabilities, XMPP.StripInboundTLS, XMPP.UntrustedIntercept [default: ALL]

## 설치 (선택사항)

pip에서

    #> pip install striptls

소스에서

    #> setup.py install

## 예제

	                  inbound                    outbound
	[inbound_peer]<------------->[listen:proxy]<------------->[outbound_peer/target]
	  smtp-client                   striptls                    remote/target
	  
local `smtp-client` -> `localhost:8825` (proxy) -> `mail.gmx.net:25`

### 일반 SSL/TLS 가로채기
	
`--generic-ssl-intercept`는 일반적인 SSL/TLS 핸드셰이크 감지 및 세션 변환을 활성화하는 전역 스위치입니다. 모든 맹글/벡터와 결합할 수 있습니다.

`GENERIC.Intercept`는 SSL/TLS 핸드셰이크 감지 및 변환 기능의 맹글/벡터 구현입니다.
도구 다운로드