WEP, WPA Hack

WEB Hack

WEP. 유선 동등 프라이버시(Wired Equivalent Privacy)는 무선 랜 표준을 정의하는IEEE 802.11 규약의 일부분으로 무선 LAN 운용간의 보안을 위해 사용되는 알고리즘이다. 1997년 재정된 802.11 표준에서 도입되었던 WEP는 전통적인 유선 네트워크와 비슷한 데이터 보안성을 제공하기 위해 만들어졌다.

하지만 2001년 초, 암호학자들이 몇 가지 치명적인 취약점을 발견하였으며, 이를 이용시 누구나 구할 수 있는 SW를 사용해 짧은 시간만으로 WEP연결을 크랙 할 수 있다.

실습을 위해 WLAN 인터페이스를 모니터링 모드로 전환해야 한다.

1
airmon-ng start [자신의 WLAN 인터페이스명]
cs

이 환경에서는 모니터링 모드상태의 인터페이스명은 wlan0mon이다.

모니터링 모드로 인터페이스를 전환 하였다면 주변 AP들을 스캔해 정보를 얻어 내야 한다.

1
airodump-ng wlan0mon
cs

테스트 할 AP는 Linu-E5788이며 채널은 11번 채널을 사용하고있다.

해당 AP의 패킷을 모니터링 하기위해 airodump-ng 를 사용한다.

1
airodump-ng –bssid [타겟AP의 bssid]–channel [채널번호] –write [cap파일 저장이름] [WLAN 인터페이스명]
cs

WEP암호화를 크래킹하기 위해서 필요한건 충분한 양의 암호화된 패킷들이다.
클라이언트가 해당 AP를 사용하면서 발생되는 패킷들이 충분히 기록될 때 까지 기다리거나 aireplay-ng로 강제로 데이터 패킷을 유발 시켜 가속화 할 수도 있다.

1
aireplay-ng -3 -b [AP의 bssid] -h [클라이언트의 bssid] wlan0mon
cs

해당 명령은 ARP패킷을 캡쳐 후 이를 다시 네트워크로 인젝션하여 ARP 응답을 시뮬레이션한다. 지속적으로 많은 트래픽을 발생시키기 때문에 기다리는거 보다 패킷이 기록되는 양이 기하학급수적으로 늘어난다.

충분한 양의 패킷이 기록되었다면 Ctrl+C로 작업을 중단시키고 aircrack-ng를 이용해 패킷이 캡쳐된 파일을 지정해 크래킹을 시도하면된다.

1
aircrack-ng [지정한 캡쳐파일 이름.cap]
cs

제공한 패킷기록 데이터가 충분하였다면 위와 같이 암호가 크래킹된 것을 확인 할 수 있다. 만약 데이터가 충분한 양이 아니라면 크래킹이 실패 할 가능성이 높다. WEP 크래킹의 핵심은 많은 양의 암호화 패킷들이라는 것을 기억하자.

 

WPA Hack

WPA는 와이파이 보호 접속(Wi-Fi Protected Access) 의 약어로서 WiFi Alliance가 책정한 표준 보안 프로토콜이다. WEP의 취약점으로 인해 그 대안으로 발표된 프로토콜이며 최근의 장비는 이 프로토콜의 암호화를 권장하며 준수하고있다.

WPA와 WPA2가 있으며, WPA 는 Infrastructure 모드만 지원하지만 WPA2는 Infra, Adhoc 모두를 지원한다. 또 WPA2는 보안기능이 개선되었으며 AES암호화 방식을 사용하고 있다.

WPA/WPA2 PSK의 동작 핵심은 사전 공유 키와 5개의 매개변수를 이용해 1대1 대칭 키(PTK, Pairwise Transient Key)라는 세션 키를 계산하는 것이다. 클라이언트와 AP는 이 키를 사용해서 모든 데이터를 암호화 한다.

무선 스니핑을 이용해 4방향 핸드셰이크를 모두 캡쳐한다면 5개의 매개변수를 획득할 수 있으며 알 수 없는 정보는 사전 공유 키 뿐이다.

사전 공유키는 PSK암호와 SSID를 이용해서 계산한다. 암호 기반 키 유도 함수에 두 인자를 대입하면 256Bit의 공유 키가 출력된다.

WPA크래킹은 암호 사전이 필요한데, 공격 툴은 각각의 암호에 대응되는 256Bit의 사전 공유 키를 생성한 다음 앞서 언급한 나머지 매개변수와 결합해서 PTK를 생성한다. PTK는 핸드셰이크 패킷 중 하나에서 메시지 무결성 검사를 검증하는데 사용된다. 검증에 성공하면 사전을 이용해서 추측한 암호가 올바르다는 의미이다.

하지만 사전에 일치하는 암호가 없다면 크래킹에 실패한다.

WPA 크래킹의 핵심은 핸드셰이크 패킷, 사전의 질(Quality), 인내심이다.

과정은 대부분 WEP와 동일하여 앞의 모니터링 모드 전환 및 BSSID 확인 등의 절차 설명은 생략한다.

앞서 말했듯이 크랙을 위해 4방향 핸드셰이크 패킷이 필요한데 클라이언트가 해당 AP에 연결 할 때 까지 기다리거나 인증 해제 패킷을 브로드캐스팅해서 재연결을 유발하여 패킷을 획득 할 수도 있다.

핸드셰이크 패킷획득에 성공하였다면 우측상단에 WPA handshake 문구가 뜰 것이다.
문구가 떴다면 Ctrl+C로 작업 중지.

캡쳐한 파일을 이용해 aircrack-ng로 복호화를 진행해야하는데 사전파일이 필요하다.
필자는 crunch로 생성하였으며 빠른 진행을 위해 설정한 패스워드의 일부는 패턴으로 지정하여 생성하였다.

1
2
3
#크랙 명령
aircrack-ng ‘캡쳐파일명’ –w ‘암호사전파일’
 
cs

이 복호화 과정은 정말 많은 시간과 인내심을 요구한다.

올바를 암호가 사전파일에 존재한다면 언젠가는 크랙되며 화면에 다음과 유사한 결과가 출력될 것이다.

위와 같이 WLAN의 WEP, WPA인증을 크랙해보았다.
최근의 시대는 Wi-Fi를 정말정말 많이 이용하고있는데 이와 같이 간단한 절차만으로도 비록 테스트를 위해 취약하게 패스워드를 지정하였지만 크랙이 가능함을 알 수 있다.
Wi-Fi의 인증 패스워드는 단순한 인증용만이 아닌 통신 암호화에도 사용되기 때문에 적절하고 강력한 패스워드지정은 필수적이다.

특히 WPA같은경우 최소 자릿수가 8자리인데 숫자만으로 이루어진 8자리 문자열의 사전파일로 크랙을 시도해본결과 환경에따라 다르겠지만 필자는 최소 1시간~길게는 5시간까지 복호화를 시도하고있었다.

자릿수가 하나 늘어날때마다 경우의수는 상당히 많아져 크래커들은 많은 시간을 들여야하기 때문에 크랙하기가 힘들어진다.
그렇기 때문에 패스워드는 짧지 않게, 대소문자 및 숫자, 특수문자등을 같이 조합하여 패스워드를 생성한다면 더더욱 크랙하기가 힘들어진다.
그렇기 때문에 패스워드 선정을 신중히 해야한다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다