Aircrack-ng 패키지 구성
A. aircrack-ng
airodump-ng를 통하여 캡쳐된 암호화 패킷들을 이용하여 암호화에 사용된 키를 추출해낼 수 있는 프로그램입니다. WEP 암호화 키의 추출에는 PTW메소드, FMS/KoreK메소드가 사용되는데, 메소드의 알고리즘은 < http://aircrack-ng.org/doku.php?id=links#technique_papers> 에서 확인할 수 있습니다. aircrack-ng는 추가로 brute force인 Dictionary method를 지원하는데, WPA-PSK 암호화의 크래킹은 현재 이 한가지 방법으로만 가능합니다. WPA-PSK 크래킹은 클라이언트와 AP간 연결시 발생하는 4-way handshake 패킷을 캡쳐하여, 제공된dictionary의 특정 엔트리를 일일이 대입해 봄으로써 진행됩니다.
B. airdecap-ng
airdecap-ng는 WEP/WPA/WPA2로 암호화된 패킷들을 복호화하거나, 복호화된 패킷들에서 무선 헤더들을 떼내는데 사용됩니다.
C. aireplay-ng
aireplay-ng는 frame의 삽입, 즉 WEP나 WPA-PSK키의 크랙에 필요한 패킷을 ap에 전송하는데 이용됩니다. 이용되는 공격방식들은 다음과 같습니다.
i. Attack 0: Deauthentication
이 공격방법은 AP와 이미 연결되어있는 클라이언트를 가장하여 연결해제 패킷(disassociate packet)을 보내는 것입니다. 공격받은 클라이언트와 AP의 연결이 해제된다면, 클라이언트가 끊어진 연결을 다시 복구하려 하게 되고, 이때 공격자는 hidden ESSID 감지(ap의 essid가 broadcast되지 않는 경우), WPA/WPA2 handshakes 패킷 캡쳐, ARP request 생성(window의경우 연결이 끊어졌을 때 aprcache를 클리어하기때문) 등과 같은 공격을 할 수 있게 됩니다. 이 공격에는 AP의 MAC주소, 연결을 끊을 클라이언트의 MAC주소가 필요하며 MAC주소를 특정하지 않는 경우 AP에 연결된 모든 클라이언트의 연결을 해제시킬 수 있습니다.
ii. Attack 1: Fake authentication
이는 OpenSystem 과 Share Key 타입의 WEP 암호화를 사용하며, AP에 가짜 연결을 생성하는 공격입니다. 이 공격은 공격할 AP에 아무런 연결이 없어 패킷 캡쳐가 불가능한 경우 이를 해결하기 위해 사용될 수 있으며 WPA/WPA2 AP에는 사용이 불가능합니다.
iii. Attack 2: Interactive packet replay
이 공격은 공격대상에게 특정 패킷을 보내서 회신을 받을 수 있도록 하는 것입니다.
목적지가 broadcast MAC주소인 경우인 패킷 (ARP request와 같이), 혹은 to DS(distribution system) flag이 1인 패킷들을 이용하거나, 그게 아니라면 아예 목적에 맞는 새로운 to DS 패킷을 생성하여 공격하며, 대상이 답변 패킷을 보내도록 함으로써 결과적으로 이를 크랙에 이용할 수 있도록 합니다.
iv. Attack 3: ARP request replay attack
ARP request replay 공격은 새로운 initialization vector들을 생성하는데 가장 효과적이고 신뢰할 수 있는 방법입니다. 프로그램은 공격대상의 네트워크에서 ARP패킷이 생성되기를 기다리다가 이를 캡쳐한후 AP에 재전송을 여러 번 합니다. 이때 AP는 새로운 IV를 이용한 똑같은 ARP 패킷을 여러 번 반복 전송하게 됩니다. 이러한 방식으로 생성된 ARP패킷들은 WEP키를 쉽게 크랙할 수 있도록 합니다.
v. Attack 4: KoreK chopchop attack
chopchop공격은 WEP키를 모르는상태로 WEP 데이터 패킷을 복호화 하는 것입니다. 이 공격을 통해 WEP키를 알아낼 수는 없지만, 평문을 해석해 낼 수 있습니다.
이러한 공격이 가능한 원리는 다음 링크에서 얻을 수 있습니다.
http://www.aircrack-ng.org/doku.php?id=chopchoptheory
vi. Attack 5: Fragmentation attack
이 공격을 통해 WEP키 대신 PRGA(pseudo random generation algorithm) 를 얻을 수 있습니다.
PRGA는 약 1500byte로, packetforge-ng에서 여러 인젝션공격을 위한 가짜 패킷을 생성하는데 사용됩니다. 기본적으로 이 프로그램은 패킷에서 몇가지 키가 될 수 있는 부분들을 추출한뒤, 그 내용을 알고 있는 ARP혹은 LLC혹은 두가지 패킷 모두를 AP에 보내고, 이에 반응한 AP에서 답신해온 패킷들을 통하여 많은양의 암호화정보를 추출해내는 방식으로 이루어집니다.
알고리즘에 대한 자세한 정보는 다음 링크에서 확인할 수 있습니다.
http://wiki-files.aircrack-ng.org/doc/Fragmentation-Attack-in-Practice.pdf
D. airmon-ng
airmon-ng는 무선랜 인터페이스에서 Monitor mode를 활성화하는데 사용됩니다. Monitor mode는 airodump-ng에서 패킷 캡쳐링을 할 수 있도록 합니다.
E. airodump-ng
Airodump-ng는 802.11프레임 패킷들을 캡쳐할 수 있는 프로그램입니다. 이를 통해 주변 AP의 정보나 패킷량 등을 모니터링 하거나 저장할 수 있습니다. 또한 WEP IV를 수집하는데 적합하게 설계되었으며, 이는 aircrack-ng를 통하여 WEP key를 추출해 낼 수 있도록 합니다.
만약 컴퓨터에 GPS 수신기가 달려있다면, 모니터링중 찾아낸 AP들의 좌표를 기록할 수 있습니다.
F. airtun-ng
Airtun-ng는 가상터널인터페이스를 생성할 수 있습니다.
이는 다음과 같은 기능을 위해 사용될 수 있습니다 :
- wIDS (wireless intrusion detection system)
- network에 임의의 트래픽 인젝션
wIDS 데이터수집을 위해, 모니터링할 네트워크의 bssid와 암호화키를 알고 있어야 합니다. Airtun-ng 는 가상 네트워크 인터페이스를 만든뒤, 공격하는 네트워크의 트래픽을 모두 복호화하여 이 인터페이스로 복사함으로써 이를 snort, wireshark와 같은 전통적인 IDS에 넘길 수 있습니다.
트래픽인젝션은 WEP키를 가지고 있을 경우 송/수신 정보 모두를, PRGA만을 가지고 있을 경우 송신 정보만을 인젝션 할 수 있습니다.
G. packetforge-ng
Packetforge-ng 는 injection에 사용될 수 있는 암호화된 패킷을 만들어 낼 수 있습니다. Arp, UDP, ICMP 혹은 다른 종류의 패킷들을 생성할 수 있습니다.
암호화된 패킷을 생성하기 위해서는, 반드시 PRGA 패킷을 가지고 있어야 합니다.
H. airdecloak-ng
특정 종류의 AP에서는 WIPS(Wireless intrusion prevention system)을 도입하여, WEP키 크랙킹을 방지합니다. 이는 가짜 WEP 프레임을 삽입함으로써 aircrack-ng가 wep키를 크래킹하는것을 방해할 수 있습니다. Airdeclock-ng는 이러한 가짜 프레임을 구별해내어 필터링함으로써 결과적으로 aircrack-ng가 wep를 알아낼 수 있도록 합니다. |