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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wifi-framework — Wi-Fi Framework for creating proof-of-concepts, automated experiments, test suites, fuzzers, and more. | Kitploit
도구/GitHubGitHub/domienschepers/wifi-framework
Wi-Fi AuditingExploit FrameworksVulnerability AnalysisFuzzingWireless SecurityPenetration Testing
GitHubdomienschepers/wifi-framework

wifi-framework

Wi-Fi Framework for creating proof-of-concepts, automated experiments, test suites, fuzzers, and more.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Wi-Fi 프레임워크

Wi-Fi 실험을 더 쉽게 수행할 수 있는 프레임워크를 제시합니다. 퍼저를 만들고, 새로운 공격을 구현하고, 취약점을 테스트하기 위한 개념 증명을 만들고, 실험을 자동화하고, 테스트 스위트를 구현하는 등에 사용할 수 있습니다.

프레임워크의 주요 장점은 리눅스의 Wi-Fi 기능을 재사용하여 공격 및/또는 테스트를 더 쉽게 구현할 수 있다는 점입니다. 예를 들어, 프레임워크는 (보호된) Wi-Fi 네트워크에 연결하고 클라이언트를 테스트할 때 비콘을 브로드캐스트할 수 있습니다. 일반적으로 리눅스의 모든 Wi-Fi 기능을 재사용하여 공격/테스트를 더 빠르게 구현할 수 있습니다. 프레임워크는 hostap 사용자 공간 데몬 위에서 _테스트 케이스_를 실행하여 이를 수행합니다.


Wi-Fi 데몬 및 프레임워크 구성 요소 개요.

리눅스에서 Wi-Fi 실험을 처음 수행하는 경우 먼저 libwifi 리눅스 튜토리얼을 읽는 것이 좋습니다. 리눅스 기능을 재사용할 필요 없이 기본적인 Wi-Fi 공격을 구현하는 경우, 프레임워크의 이점이 제한적이며, Scapy에서 직접 공격을 구현하고 필요에 따라 libwifi 라이브러리를 사용하는 것을 고려할 수 있습니다.

사용법

프레임워크를 사용하려면:

  1. ./setup.sh를 실행하여 설치합니다. 이 스크립트가 수행하는 작업은 setup을 참조하세요.

  2. 사용법 튜토리얼을 읽으세요.

예제

클라이언트가 모든 키가 0인 키를 사용하여 프레임을 암호화하는지 테스트하려고 한다고 가정해 보겠습니다. 이는 키 재설치 공격 중에 발생할 수 있습니다. 프레임워크를 사용하면 액세스 포인트의 모든 기능을 다시 구현할 필요 없이 다음과 같은 테스트 케이스만 작성하면 됩니다:

root@kitploit:~
class ExampleKrackZerokey(Test):
	name = "example-krack-zero-key"
	kind = Test.Authenticator

	def __init__(self):
		super().__init__([
			# Replay 4-Way Handshake Message 3/4.
			Action( trigger=Trigger.Connected, action=Action.Function ),
			# Receive all frames and search for one encrypted with an all-zero key.
			Action( trigger=Trigger.NoTrigger, action=Action.Receive ),
			# When we receive such a frame, we can terminate the test.
			Action( trigger=Trigger.Received, action=Action.Terminate )
		])


	def resend(self, station):
		# Resend 4-Way Handshake Message 3/4.
		station.wpaspy_command("RESEND_M3 " + station.clientmac )


	def receive(self, station, frame):
		if frame[Dot11].addr2 != station.clientmac or not frame.haslayer(Dot11CCMP):
			return False

		# Check if CCMP-encrypted frame can be decrypted using an all-zero key
		plaintext = decrypt_ccmp(frame.getlayer(Dot11), tk=b"\x00"*16)
		if plaintext is None: return False

		# We received a valid plaintext frame!
		log(STATUS,'Client encrypted a frame with an all-zero key!', color="green")
		return True

위의 테스트 케이스는 클라이언트가 연결할 수 있는 액세스 포인트를 생성합니다. 클라이언트가 연결되면, 4-way 핸드셰이크의 새로운 3번째 메시지가 클라이언트로 전송됩니다. 취약한 클라이언트는 모든 키가 0인 암호화 키를 사용하기 시작하며, 테스트 케이스가 이를 자동으로 감지합니다.

시뮬레이션된 Wi-Fi 라디오를 사용하여 위의 테스트 케이스를 다음과 같이 실행할 수 있습니다:

root@kitploit:~
./setup/setup-hwsim.sh 4
source setup/venv/bin/activate
./run.py wlan1 example-krack-zero-key

생성된 액세스 포인트에 연결하여 테스트할 수 있습니다 (비밀번호 passphrase의 네트워크 testnetwork):

root@kitploit:~
./hostap.py wlan2

네트워크 구성을 변경하여 이 AP는 WPA2 또는 WPA3을 사용하도록 쉽게 구성할 수 있고/있거나 엔터프라이즈 인증을 사용하도록 구성할 수 있으며, 우리가 작성한 테스트 케이스를 전혀 변경할 필요가 없습니다! 이 예제에서 프레임워크를 사용할 때의 추가 이점은 다음과 같습니다:

  • 수동으로 비콘을 브로드캐스트할 필요가 없음
  • 인증 및 연관 단계는 프레임워크에서 처리됨
  • WPA2 및/또는 WPA3 핸드셰이크는 프레임워크에서 처리됨
  • 주입된 패킷은 리눅스 커널에 의해 자동으로 재전송됨
  • AP _방향_으로 전송된 패킷은 확인 응답됨
  • 클라이언트의 절전 모드는 커널에 의해 자동으로 처리됨
  • ...

더 많은 예제는 모든 예제에 대한 자세한 설명을 참조하세요.

발표

이 연구는 ACM 무선 및 모바일 네트워크 보안 및 프라이버시 컨퍼런스 (WiSec '21)에서 발표되었습니다:

  • DEMO: A Framework to Test and Fuzz Wi-Fi Devices (pdf)

이 프레임워크 또는 유사한 프레임워크를 사용한 연구:

  • Wi-Fi 시스템 연결 설정 단계의 취약점 체계적 분석
  • FragAttacks: 단편화 및 집계 공격
  • Wi-Fi 연결 해제 완화 조치의 견고성에 관하여 (pdf)
  • WPA3 공격: 새로운 취약점 및 익스플로잇 프레임워크 (HITBSecConf). 테스트 케이스는 WPA3.md를 참조하세요.
  • 프레임 구성: 전송 큐 조작을 통한 Wi-Fi 암호화 우회 (pdf)
도구 다운로드