[802.11] WEP Crack

공부/Network 2012. 6. 29. 16:17 |




802.11 WEP 크랙에 대해서 알아보도록 하겠습니다.


우선 WEP가 무엇인지 알아야 하겠죠?


WEP(Wired Equivalent Privacy)란 쉽게말해서 802.11 즉, 무선랜의 암호화 방식입니다.


이 WEP는 이름의 의미 처럼 처음에 굉장히 자신하는 암호화 방식이였습니다(유선과 동등하단 의미니까..)


하지만 WEP는 뚫려버렸습니다. 왜냐?


RC4라고하는 암호화알고리즘이 10년전인 2001년에 그 알고리즘이 풀렸기 때문인데요.


WEP는 RC4라고하는 암호화 알고리즘을 사용합니다.





우선 평문(평문은 cleartext 또는 plaintext라고도 합니다.)을 체크섬을 통해서 오류가 있는지 검사를 합니다.


그리고 그것을 RC4라고하는 믹서기에 넣어줍니다.


그리고 key값과, IV라고하는 암호화 뚜껑 역시 RC4라는 믹서기에 넣어줍니다.


그리고 XOR이라는 버튼으로 믹서기를 갈아줍니다.


그렇게 되면 사이퍼텍스트 즉, 암호문이 생성이 됩니다.


허나, 여기에는 문제점이 있었습니다. 그것은 그림에도 나와있지만 암호화뚜껑인 IV가 그대로 사이퍼텍스트와 함께 내려왔다는것!!


그럼 IV를 를 알고있으니까.. 키도 알 수 있고.. RC4도 뚫렸으니까 알수있을거고 encryption된 값도 알 수 있잖아요?


결론적으로 4+x=10에서 x를 찾는것과 같은 이치가 되는겁니다.





사람들은 이러한 문제점 때문에 암호화의 글자 수를 늘린다거나 ARP필터링을 한다는 등 응급처치를 했습니다.


하지만 이미 4+x=10에서 x를 찾는 상황에서 그런 응급처치가 통할리가 있을까요.. 없습니다..


글자수를 늘리는건 뻔한얘기고 ARP필터링을 하면 스푸핑을 하면 되니까요..



그럼 한번 이 WEP 크랙을 직접 체험해봐야겠지요?


사용 OS환경은 





백트랙 4를 사용합니다.


내부 프로그램으로 aircrack-ng 1.1ver를 사용합니다.



처음에 모니터링을 하기위한 모니터링 모드 설정을 하나 만들어 줍니다.

(참고로 iwconfig를 치면 mode가 나오는데 여기서 managed가 일반 무선NIC모드이고, monitor가 모니터링 모드랍니다)


모니터링 설정을 만드는방법은 이런식의 명령어를 입력하시면 됩니다.


>airmon-ng start <무선 NIC 이름>




(무선 NIC이름은 iwconfig를 치면 나온답니다)

이렇게 설정하시고 한번 더 iwconfig를 쳐보시면 mon0가 monitor mode로 추가된 것을 확인하실 수 있습니다.


그리고 이제 공격할 대상을 스캐닝해야겠지요?


스캐닝을 수행하는 명령어는 다음과 같습니다


>airodump-ng -c <channel> --bssid <공격할 AP의 BSSID> -w <저장할 파일 명> <Monitoring mode 무선 NIC>


airodump-ng란 스캐닝을 하는 툴입니다.

저장할 파일 명에는 크랙된 키 값이 저장됩니다.

BSSID란 AP의 MAC을 의미합니다.




스캐닝을 해서 대상을 캡쳐했다면 이제 본격적인 작업을 수행해야합니다.


제가 아까 그림을 통해 설명했는데 IV를 통해 키를 알아낼 수 있다고 했습니다.


하지만 이 IV가 하나만있으면 되는게 아니라 여러개가 있어야하는데요. 이 IV는 스캐닝을 통해 모니터링을 하면





이런식으로 데이터라고 잡힙니다.(데이터는 IV와 인크립션된 값을 말합니다.)


이 데이터는 서로 통신을해서 DATA를 주고받아야하는데 그럴려면 결합이 되어야합니다.


뭐..이게 3만개정도 필요합니다..하지만 통신을하는 station이 적거나, 아예 없다면 답이없겠죠?


그래서 데이터를 빨리모으기 위해서 가짜 인증작업과 ARP인젝션이 필요합니다


이 가짜인증은 Fake Authentication이라고도 부릅니다.


명령어는 다음과 같습니다.



>aireplay-ng -1 5000 -e <SSID> -a <공격할 BSSID> -h <내 랜카드 MAC> <모니터링 NIC>



aireplay 내에도 많은 기능이 존재합니다. 가짜인증..ARP 주입..등등


그 기능을 구별하기위해서 번호를 지정해줍니다 가짜인증은 1번 주입은 3번..이렇게


그 번호중에서 fake authentication이 1번이라서 -1이라고 해준겁니다.


5000은 가짜인증 패킷을 5000번 날려서 절대로 AP와의 통신이 끊기지 않게 안전빵으로 달아주는 겁니다.


이는 실제로 동영상을 보시면 결합과정까지 가는 것을 볼 수 있습니다.



그 다음으로 ARP를 인젝션합니다.


ARP를 주입시키는 이유는 IV를 계속 주기위해서입니다. AP는 ARP를 받으면 다른 새로운 IV를 부여해주기 때문입니다.


그럼 계속 주입시키면..한 3만번 주입시키면 3만개의 데이터가 모이겠죠?


데이터가 어느정도 모였다 싶으면 이제 저장된 파일을 통해서 복호화된 키를 볼 수 있습니다.


명령어는 다음과 같습니다.


>aircrack -z <저장된 파일명>





이런식으로 16진수로 복호화가 완료된 것을 확인하실 수 있습니다.


저것을 아스키코드와 대조시켜서 입력시키면 해당 AP의 WEP를 뚫고 들어갈 수 있겠죠?




출처 - 옛날 블로그 2011/02/12 17:06 



Posted by extr
: