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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
fraud-bridge — 검열을 우회하기 위한 ICMP, DNS 및 NTP 터널링 도구로, HMAC 무결성 보호와 제한된 네트워크에서 효율적인 웹 세션을 위한 MSS 클램핑을 제공합니다. | Kitploit
도구/GitHubGitHub/stealth/fraud-bridge
IDS/IPS EvasionNetwork SecurityPrivacyAnti-BotDNS Analysis
GitHubstealth/fraud-bridge

fraud-bridge

검열을 우회하기 위한 ICMP, DNS 및 NTP 터널링 도구로, HMAC 무결성 보호와 제한된 네트워크에서 효율적인 웹 세션을 위한 MSS 클램핑을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

소개

fraud-bridge는 ICMP, NTP 또는 DNS (IPv4 또는 IPv6를 통해) 터널을 설정하여 직접 TCP 또는 UDP 연결을 차단하는 제한적인 검열 환경을 우회하는 데 도움을 줍니다.

자동으로 TCP MSS 옵션을 패치하여 비분할 패킷 스트림(MSS-클램핑이라고 함)을 달성해 브리지를 통한 웹 세션 사용 성능을 향상시킵니다.

터널을 악의적인 삽입 TCP 패킷으로부터 보호하기 위해 MD5(HMAC-)무결성 보호를 사용합니다. 프라이버시가 필요하다면 직접 암호화를 사용해야 합니다. 어차피 터널 위에 SSH를 사용할 것으로 가정합니다. HTTP 터널링이 필요하다면 SSH 프록시 옵션을 직접 사용하거나 사용하세요.

DNS 터널링 시 fraud-bridge는 EDNS0 확장 헤더를 사용하여 TXT 응답에 최대한 많은 바이트를 넣습니다.

fraud-bridge는 또한 특정 bind 제한(예: 할당량/제한)을 처리하기 위한 몇 가지 다른 기술을 포함합니다.

패치 없이 SSH 세션에 전체 로밍/이동성 지원을 추가하는 데에도 사용할 수 있습니다.

터널을 설정한 후에는 터널을 통해 메신저 작동 방법을 읽어보시기 바랍니다.

또한 c->skills는 관심을 가질 만한 검열 저지 장비의 전체 체인을 제공합니다: crash 및 psc

빌드

Linux에서 그냥 make를 실행하세요.

실행

사용법은 다음과 같습니다:

root@kitploit:~
fraud-bridge -- https://github.com/stealth/fraud-bridge

사용법: fraud-bridge <-k key> [-R IP] [-L IP] [-pP port] [-iIuUnN] [-s sz]
	[-E sz] [-d dev] [-D domain] [-S usec] [-X user] [-r dir] [-t type] [-v]

	-k -- 터널 패킷 보호용 HMAC 키
	-R -- 내부에서 시작할 때 (외부) 피어의 IP 또는 IPv6 주소
	-L -- 외부에서 시작할 때 바인딩할 로컬 IP 주소 (생략 가능)
	-p -- DNS/NTP 모드의 원격 포트 (기본값: 53/123)
	-P -- DNS/NTP 모드의 로컬 포트 (외부 기본값: 53/123)
	-i -- ICMP 터널 사용
	-I -- ICMPv6 터널 사용
	-u -- IP를 통한 DNS 터널 사용
	-U -- IPv6를 통한 DNS 터널 사용
	-n -- IP를 통한 NTP4 터널 사용
	-N -- IPv6를 통한 NTP4 터널 사용
	-E -- EDNS0 크기 설정 (기본값: 1024)
	-s -- MSS 크기 설정 (기본값: 1024)
	-d -- 사용할 터널 장치 (기본값: tun1)
	-D -- DNS 터널링 시 사용할 DNS 도메인
	-S -- DNS 핑에 대한 usec 지연 (기본값: 5000)
	-X -- 실행할 사용자 (기본값: nobody)
	-r -- chroot 디렉터리 (기본값: /var/empty)
	-t -- ICMP/ICMP6 유형 재정의 (보통 변경 불필요)
	-v -- 자세한 모드 활성화

몇 가지 정의: 내부는 검열된 네트워크 내부의 머신(대부분 노트북/PC)을 의미합니다. 외부는 검열된 네트워크 외부의 VPS 또는 머신, 즉 사람들이 "자유 인터넷"이라고 부르는 곳을 의미합니다.

시작 후 fraud-bridge는 점대점 터널을 엽니다: 1.2.3.4 <-> 1.2.3.5

그런 다음 내부에서는 inside.sh를, 외부에서는 outside.sh를 시작해야 합니다.

다음과 같습니다:

터널의 외부 끝(예: 인터넷 상의 서버):

root@kitploit:~
# ./fraud-bridge -u -L 192.168.2.222 -D f.sub.dnstunnel.com -k key

(그리고 outside.sh 시작)

내부:

root@kitploit:~
# ./fraud-bridge -u -R 127.0.0.1 -D f.sub.dnstunnel.com -k key

(그리고 inside.sh 시작)

로컬 127.0.0.1 named가 실행 중이고 외부 피어가 192.168.2.222에 있는 DNS 터널의 예시입니다. 언급했듯이 터널의 외부 부분은 미리 시작될 수 있으며(실제로 필요함) 피어가 터널을 열 때까지 수신 대기합니다. 자신의 bind 설정을 실험하려면 예제 영역 파일이 포함되어 있습니다. ITW 터널을 실행하는 데는 필요하지 않습니다.

기본 터널 장치는 tun1입니다. 동시에 여러 fraud-bridge 인스턴스나 이 터널 장치를 사용하는 다른 터널 소프트웨어를 실행하지 않도록 하십시오. fraud-bridge 데몬을 종료/재시작할 때마다 다시 시작한 특정 끝에서 내부/외부 스크립트를 다시 실행해야 합니다.

중요 사항

외부의 -L 매개변수는 생략할 수 있습니다(해야 함). 실제 설정에서 내부 설정의 -R 매개변수는 외부 서버의 IP 또는 IP6 주소를 포함하거나, DNS 재귀를 사용하는 경우 제공업체의 DNS 서버 IP 또는 공용 재귀 DNS 확인자의 IP 주소를 포함합니다. 자신의 DNS 서버가 없는 경우에도 VPS IP를 내부의 -R 매개변수로 사용하고 양쪽 끝에서 동일한(그러나 합법적으로 보이는) -D 도메인 매개변수를 사용하여 DNS 터널링을 사용할 수 있습니다(예: -D blah.gov).

DNS 터널링을 시도하기 전에 먼저 ICMP 또는 NTP 터널링을 시도하는 것이 좋습니다. syslog에 chroot 경고가 표시되면 무시하거나 -r에 올바른 인수를 제공하십시오.

그런 다음 위 예시에서 ssh -D 1234 1.2.3.5를 사용하여 192.168.2.222로 SSH 연결을 설정하고 웹 브라우저 세션에 SOCKS5 프록시(포트 :1234)를 사용하여 터널을 통해 실행할 수 있습니다.

ICMP(-i) 및 IPv6에서 ICMP(-I), 또는 UDP를 통한 IPv6 DNS(-U), UDP를 통한 NTP(-n), UDP/IPv6를 통한 NTP(-N)로도 할 수 있습니다.

SSH 연결 뒤에서 터널 종류(DNS에서 ICMP로, ICMP에서 NTP로)를 전환하거나 다른 로컬 IP로 로밍(예: Wi-Fi에서 5G로 전환)하는 것도 가능합니다. TCP 상태는 로컬 및 원격 커널에 유지되고 브리지에는 유지되지 않기 때문입니다. 이를 통해 SSH에 패치 없이도 완전한 SSH 로밍/이동성 지원이 가능합니다.

자세한 모드에서 fraud-bridge는 오류나 메시지 보고를 위해 stdout을 열어 두므로, 화면에서 실행하거나 백그라운드(자세히)에서 실행해야 한다면 출력을 /dev/null로 리디렉션해야 합니다. fraud-bridge 호출 후 내부/외부 스크립트를 시작해야 한다는 점을 기억하세요. -v를 사용하지 않으면 백그라운드로 전환되고 오류를 syslog에 기록합니다.

ICMP 터널을 사용하기 전에 케이블 모뎀의 방화벽 규칙을 완화하여 원격 피어로부터 응답 패킷을 받을 수 있도록 하십시오. fraud-bridge는 NAT 뒤에서 작동하지만 결국 응답 패킷을 수신해야 합니다. ICMP 터널링을 사용하고 ICMP 에코가 차단된 경우 -t를 통해 유형 매개변수를 설정할 수 있습니다. 예를 들어 내부에서 -t 13, 외부에서 -t 14를 사용하여 타임스탬프 요청/응답 쌍을 얻을 수 있습니다.

DNS 터널링 시 fraud-bridge는 EDNS0 확장 헤더를 사용하여 TXT 응답에 최대한 많은 바이트를 넣습니다. 제 테스트에서는 타이밍 패킷에 응답하기 때문에 bind9 시스템 로그 파일에 로그를 생성하지 않습니다. EDNS0(-E)을 변경하는 경우 양쪽 끝에서 동일한 값으로 변경해야 합니다. (내부가 네임서버에 최대 UDP 페이로드 크기를 알리고 외부 엔드포인트가 -E로 제공된 값에서 MSS를 계산하기 때문입니다.)

NTP 터널링 사용 시 일부 CGN 제공업체는 큰 NTP 패킷(IPv4에만 해당)을 차단합니다. 일반적인 독일 ISP에서는 256바이트를 초과하는 NTP 패킷이 차단되었습니다. 따라서 TCP 스택이 더 작은 세그먼트로 패킷을 보내도록 -s 100과 같이 MSS를 적절히 설정해야 합니다.

성능 고려 사항

fraud-bridge가 PtP 터널을 열기 때문에 전송하는 패킷에서 IP 헤더를 제거하고 각 끝에서 합성할 수 있습니다. 따라서 ICMP 터널링의 경우 오버헤드는 8(ICMP) + 16(HMAC)바이트에 불과하여 허용 가능합니다. DNS 터널링은 직접 수행할 때 MSS 클램핑 덕분에 여전히 좋은 지연 시간과 대역폭을 제공합니다. 공용 DNS 확인자를 통해 간접적으로 터널링할 때 기본값은 합리적인 세션에 충분하지만, 가능할 때는 ICMP 터널링을 선호하는 것이 좋습니다.

ssh -D [0.0.0.0]:1234 1.2.3.5를 사용하여 내부 머신의 포트 1234에 로컬 SOCKS 프록시를 설정하고 WLAN을 통해 주변에 배포하여 검열 없는 웹 세션을 제공할 수 있습니다.

또한 외부 박스에 로컬 tor를 설정하여 평소처럼 127.0.0.1:9150에 SOCKS 포트를 제공한 다음 ssh -L 9150:127.0.0.1:9150 1.2.3.5를 사용하여 이 외부 포트를 내부 머신으로 전달하여 외부 tor 설정을 로컬로 정확히 미러링하고 WLAN을 통해 사용자에게 tor SOCKS 포트로 배포할 수 있습니다. 이렇게 하면 플러그형 전송을 구현할 필요가 없으며 이전처럼 tor를 계속 사용할 수 있습니다. crash 또는 psc 세션이나 다른 터널링 메커니즘에서도 동일하게 작동합니다.

-S 매개변수는 일정한 간격으로 서버에 전송해야 하는 DNS 타이머 패킷에 대해 합리적인 기본값을 가지고 있습니다. 값이 낮을수록 터널 지연 시간은 개선되지만 재귀 DNS 서버에 과부하를 주고 더 많은 노이즈를 생성할 수 있습니다.

자랑스럽게 후원하는 곳:

도구 다운로드