본문 바로가기

카테고리 없음

WEP, WAP 암호화 방식 무선랜 크래킹

wep 암호화 방식의 무선랜 크래킹

web는 다음 링크에서 자세히 볼 수 있습니다.

https://terms.naver.com/entry.nhn?docId=3431896&cid=58437&categoryId=58437

 

무선 랜 통신 암호화

무선 랜은 통신 과정에서 데이터 유출을 막기 위해서 뿐만 아니라 네트워크에 대한 인증을 위해서도 암호화를 수행한다. 암호화된 통신을 수행하는 네트워크에 접근을 시도하면 [그림 3-52]와 같은 [네트워크 보안 키 입력] 창이 나타난다. [WEP의 암호화] WEP(Wired Equivalent Privacy)는 무선 랜 통신을 암호화하는 가장 기본적인 방법으로 802.11b 프로토콜에서부터 적용됐다. WEP는 64비트와 128비트 암호화 방식을 사용하는데,

terms.naver.com

 

출처: 위키피디아

WEP 암호화 방식에서 64비트 일 경우

1. 암호화 키: 40bit의 WEP 키 + 무작위로 산출된 24bit의 초기화 백터인 IV(Initial Vector) = 64bit의 RC4(키 스트림) 탄생!

2. 생성된 RC4키와 평문을 XOR 암호화 알고리즘 적용 => 암호화된 문자열 탄생

 

* RC4: 스트림 암호(대칭키 암호 구조 중 하나)로 바이트 단위로 XOR 연산.

 

 

위 지식백과에 등록된 글을 참조하면 WEP 암호화 세션의 생성 과정은 다음과 같습니다.

 

1. 클라이언트 => AP로 인증 요청

2. AP는 무작위로 24bit IV(Initial Vector)를 생성하여 클라이언트로 전달

3. 클라이언트는 전달받은 24bit IV 값과 자기가 생각하는 40bit WEP 키 값을 이용하여 만든RC키(키스 트림)를 암호화하여 AP로 전송

4. AP는 전달받은 암호문을 RC키(키스 트림)와 XOR 하여 복호화 => 24bit IV +40bit WEP 키 값 추출됨

5. 자신이 보낸 24bit IV 값과 같으면 연결을 허락

 

여기서 사용되는 IV 값은 무작위로 생성되기 때문에 암호화 키에 대한 복호화를 어렵게 하지만, 24bit로 짧은 편으로 반복 사용이 되어질 수 있다. 이러한 반복 사용이 WEP 키의 복호화를 쉽게 할 수 있게 만듭니다.

 

무차별 대입공격 시나리오

WEP 같은 경우 40bit의 키 값으로 이루어져 있기 때문에 2의 40승인 1,099,511,627,776개의 키가 존재할 수 있습니다. 이를 모두 대입해서 하는 방식으로 가능합니다.

 

Weakness IV 시나리오

weakness 원리와 동작 방식 설명

 

실습을 위해 먼저 인증 및 암호화 방식이 WEP 인 와이파이(AP)를 설정 해 놓겠습니다.

 

 

칼리리눅스에서 무선랜 USB을 꼽고 무선 네트워크를 찾을 수 있게 설정하였습니다.

이 실습에서는 iptime 사의 wps 무선랜 USB을 사용하여 진행하였습니다.

그리고 칼리에서 ifconfig 를 치면 wlan0 네트워크 인터페이스가 연결되어 있는 것을 볼 수 있습니다. 나중에 필요하니 꼭 기억하고 있어야 합니다.

 

 

airmon-ng는 디텍터, 패킷 스니퍼, WEP와 [Wi-Fi Protected Aooo ccess|WPA]/WPA2-PSK 802.11 무선 LAN에 대한 크래커와 분석 도구가 탑재된 네트워크 소프트웨어입니다. - 출처- 위키백과

 

https://ko.wikipedia.org/wiki/Aircrack-ng

 

Aircrack-ng - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. Aircrack-ng는 디텍터, 패킷 스니퍼, WEP와 [Wi-Fi Protected Aooo ccess|WPA]/WPA2-PSK 802.11 무선 LAN에 대한 크래커와 분석 도구가 탑재된 네트워크 소프트웨어이다. 이 프로그램은 모니터 모드를 지원하는 무선 네트워크 인터페이스 컨트롤러와 함께 작동하고 802.11a, 802.11b와 802.11g 통신에 대한 패킷 가로채기도 가능하다. Aircrack-ng는 리눅스와 윈

ko.wikipedia.org

aircrack-ng(WEP와 WPA 크랙 소프트웨어),

airdecap-ng(WEP, WPA 암호화 캡처 파일 복호화 소프트웨어),

airmon-ng(다른 네트워크 카드를 모니터 모드로 변경하는 소프트웨어),

aireplay-ng(패킷 인젝터),

airodump-ng(패킷 가로채기)

등 다양한 소프트 웨어를 포함하고 있습니다.

https://www.aircrack-ng.org/documentation.html

 

Aircrack-ng - Main documentation

 

www.aircrack-ng.org

 

 

그중에 airmon-ng를 사용하여 무선랜을 모니터 모드로 설정하겠습니다. 사용법은 그림과 같습니다.

 

 

ifconfig wlan0 down
airmon-ng start wlan0

airmon-ng의 monitor mode(모니터 모드) 활성화를 위해 네트워크 인터페이스에서 무선랜인 wlan0을 중지시켜줍니다.

그리고 airmon-ng start로 시작을 해주려고 했으나, 모니터 모드 활성화하기 전에 3개의 프로세스들이 문제가 되므로 "airmon-ng check kill"을 하라고 합니다.

 

 

airmon-ng check kill
airmon-ng start wlan0
iwconfig

시키는 대로 kill을 해준 다음 다시 시작을 해주겠습니다.

정상적으로 실행된 것을 확인할 수 있는데 인터페이스가 wlan0mon 으로 바뀐 것을 확인 할 수 있습니다.

무선 네트워크 인터페이스를 볼 수 있는 iwconfig 명령어를 치게 되면 wlan0 man이라는 인터페이스가 Monitor 모드로 실행되고 있는 것을 볼 수 있습니다.

 

 

 

이제 airodump-ng를 사용하여 주위 AP 들을 확인해보겠습니다. 

 

 

 

airodump-ng wlan0mon

airodump 뒤에 파라미터로 모니터로 설정한 네트워크 인터페이스 이름을 입력하면 주위 네트워크 AP 들을 볼 수 있습니다. 

 

PWD로 얼마나 가까운지 알 수 있고 CIPHER로 암호화 알고리즘 방식들(CCMP, WEP)을 볼 수 있고, ENC로 유저 데이터 암호화 무결성 체크를 위해 사용되는 WPA2, WEP 와같은 인증 프로토콜들을 볼 수 있습니다.

 

BSSID(Basic Service Set ID)와 ESSID(Extended Service Set ID)를 통해 AP들의 맥주소와 이름들을 알 수 있습니다.

 

현재 크래킹 하고자 하는 것은 WEP 암호화 방식의 무선랜을 크래킹 하려고 하기 때문에 BSSID 값과 CH(채널) 값, 그리고 ESSID 값을 기록해 둡니다.

 

 

 

airodump-ng --ivs --bssid 90:9F:33:6B:5A:76 wlan0mon --channel 9 -w 저장하려는 파일 이름

--ivs: 무선랜 패킷 스니핑 시 암호화 크랙에 필요한 IV(Initial Vector) 수집

--bssid: AP의 맥 주소. 수집하려는 BBSID 정보

--channel: 특정 채널에서 캡처

-w: 저장하려는 이름 Dump file prefix

 

하지만 이렇게 마냥 기다리면 수집하는데 오랜 시간이 걸립니다.

강제로 iv 패킷을

 

 

aireplay-ng -1 0 -a 90:9f:33:6b:5a:76 -h 6e:2a:e2:f4:85:c1 wlan0mon

 

가짜 인증 옵션인 -1을 주고 공격을 시도하면 AUTH 인증 값이 OPN으로 변경됩니다.

 

 

aireplay-ng -3 -b 90:9F:33:6B:5A:76 -h 6e:2a:e2:f4:85:c1 wlan0mon

이제 aireplay-ng 패킷 인젝터로  -3 옵션을 주면 ARP request replay attack(ARP 요청 재생 공격)을 합니다. 인증이 되어 있기 때문에 ARP 요청을 보내면 AP에서는 IV가 담긴 데이터를 주게 되는데 지속적으로 요청을 보내면 빠른 속도로 필요한 데이터를 얻을 수 있습니다.

 

 

 

6분 만에 iv data를 을 3만 개 이상 모은 것을 확인할 수 있습니다.

 

 

root 계정의 home(~)에서 저장된 데이터를 볼 수 있습니다.

 

수집한 IV 데이터 크래킹 하기

 

이제 수집한 데이터를 wep 크래킹 해보겠습니다

 

 

aircrack-ng -b 90:9F:33:6B:5A:76 저장한 파일 이름

 

 

IV를 너무 적게 수집하면 위처럼 실패할 수도 있습니다.

 

 

충분히 수집한 뒤 크랙을 시도하면 다음처럼 ASCII 값으로 변환된 값을 알 수 있습니다.

 

WAP 암호화 방식의 무선랜 크래킹

wap-2는 128bit의 블록 키를 사용하는 CCM(Counter Mode Encryption with CBC-MAC) 모드의 AES 블록 암호화 방식을 사용합니다.

높은 보안성을 가지고 있습니다.

 

마찬가지로 모니터링 모드를 설정한 뒤 WPA2 방식의 인증 방식과 CCMP 암호화를 가진 AP 네트워크를 찾겠습니다.

크래킹 할 무선랜의 BSSID와 CH값을 확인해 줍니다.

 

 

airdump-ng -c 5 --bssid 70:5D:CC:4D:05:00 -w WPA_DATA wlan0mon

WAP2-PSK 인증 패킷을 수집하면 됩니다.

WPA2PSK는 최초 인증 시에 키를 서로 교환하는 과정을 거칩니다(설명) 이 인증과정에서 패킷을 수집해서 크래킹 하면 됩니다.

 

 

마찬가지로 충분한 양의 Data를 수집합니다.

 

 

aireplay-ng -0 0 -a 90:9F:33:6B:57:66 -c 6E:2A:E2:F4:85:C1 wlan0mon

https://www.aircrack-ng.org/doku.php?id=deauthentication

 

aireplay-ng에서 -0 옵션에 대해서는 위 링크에 자세히 나와 있습니다. -0 옵션은 인증 해제로 AP에 연결되어 있는 클라이언트에 해제 패킷을 보냅니다. 

뒤에 0 은 보내는 인증 해제 개수입니다. 0은 계속 전송하는 것을 의미합니다.

-a 옵션과 90:9F로 시작하는 MAC 주소는 공격할 AP의 데이터입니다.

-c 옵션과 6E:2A로 시작하는 MAC 주소는 칼리 리눅스입니다. 

 

 

그리고 꼭 이 네트워크에 접속되어 있는 기기로 활동을 해야 합니다. 

 

 

확보된 인증 패킷을 확인합니다. 1 handshake가 떠있는 것을 볼 수 있습니다.

 

 

성공적으로 키를 찾은 것을 확인했습니다.