코딩하는 문과생

[정보보안] 와이파이 해킹 본문

CS/정보보안

[정보보안] 와이파이 해킹

코딩하는 문과생 2019. 12. 6. 14:11

[과제명]: 와이파이 비밀번호 해킹

 

[과제목표]

1. 와이파이 암호화 프로토콜 WPA2 패킷 스니핑

2. 사전 파일을 이용해 비밀번호 크랙하기 - Brute Force

 

[수행 환경]

- 무선 랜카드 : 모니터 모드를 지원하는 ‘Chipset'이 내장된 랜카드를 통해 패킷을 모니터링할 수 있다.

- 칼리 Linux : 정보보안을 테스트하기 위한 오픈소스 리눅스 배포판 백트랙의 후속버전이다. 이 안에는 수많은 해킹과 관련된 도구와 설명서가 내포되어 있어 모의 침투 테스트나 취약점 분석에 사용된다.

- Aircrack-ng 패키지: Detector, 패킷 스니퍼, WEPWPA2-PSK 802.11 무선 LAN에 대한 크래킹와 분석 도구가 탑재된 네트워크 소프트웨어이다. 모니터모드를 지원하고, 패킷 스니핑이 가능하다. 해당 패키지는 리눅스와 윈도우 환경에서 작동한다.

 

[관련 개념]

- 패킷 스니핑: 이더넷은 데이터를 주고받을 때 모든 컴퓨터에게 정보를 전달한다. 그러나 네트워크 카드에서 자신의 MAC 주소로 온 데이터가 아닌 것은 폐기한다. 이를 악용하여 랜카드로 모니터 모드(promiscuous mode)로 접속해 중간에서(mitm attack)다른 컴퓨터로 전송되는 패킷들을 감청하는 것을 패킷스니핑이라고 한다.

 

- WPA2-AES : 다양한 암호화 알고리즘 중 하나이며, 현재 개인이 쓰기에 가장 발전된 무선 암호화 방식이다. WPA2-AES 중 앞부분인 WPA2는 단말기와 AP 간에 데이터 암호화와 무결성을 위한 키교환 프로토콜, 뒷부분인 AES는 실제 암호화를 위해 사용하는 알고리즘을 뜻한다. 이전 버전인 WPA60초 내에 해킹할 수 있지만 WPA2-AES는 훨씬 뛰어난 보안성을 가지며, 이를 크랙하는 방법은 Brute Force방법이 유일하다.

- Aircrack-ng

1. airmon-ng : 랜카드는 해당 시스템이 속한 네트워크에서 오고 가는 모든 패킷을 인식하지만, 패킷의 목적지 주소와 자신의 맥 주소를 비교해 같지 않은 경우 해당 패킷들을 폐기시켜버린다. 모니터 모드를 지원하는 무선랜카드를 이용해 이러한 패킷들을 버리지 않고 모니터링할 수 있다.

 

2. airodump-ng : 패킷을 캡쳐할 수 있는 기능을 가지고 있다. 무선 데이터 트래픽을 cap이나 IVs 형태로 저장하고 네트워크 정보를 보여주는 역할을 한다.

 

3. aireplay-ng: 임의적인 패킷을 만들 때 사용한다. 주로 WEP이나 WPA-PSK의 키를 구하기 위한 크래킹 용도로 쓴다. 와이파이와 사용자 간의 인증을 해제하는 패킷을 임의로 전송함으로써 크래킹에 필요한 정보를 얻을 수 있다.

 

4. airdecap-ng : 무선랜 패킷에는 무선통신 프로토콜에 관한 헤더가 붙는다. 해당 도구를 이용해 무선 통신 프로토콜과 관련 헤더를 없애면 평문 패킷의 정보를 얻을 수 있다.

 

- Brute Force

무차별 대입공격은 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. 암호학에서 취약점이란 무차별 대입공격보다 더 빠른 공격 방법이 존재한다는 것을 의미하는데, 무차별 공격만이 암호를 해독하기 위한 유일한 방법이라면 해커는 실용적이지 못한 비용이나 시간을 소요해야만 한다.

 

- BSSID: 물리적 식별로 사용되는 숫자값

 

- SSID: 논리적 식별로 사용되는 문자값

 

- HandShake

통신의 양측 간에 조건에 합의해가는 정보 교환 과정

 

- cap파일

패킷 캡처 파일

 

 

[수행 내용 및 진행 내용]

1. 필요한 패키지 설치

정식버전이 아닌 Light버전을 사용하기 때문에, 크랙에 필요한 몇 가지 패키지를 설치해야한다.

- ifconfigiwconfig 명령어를 사용하기 위해 wireless-tools 패키지를 설치한다.

- aircrack-ng 패키지 또한 설치

- 사전 파일을 만들기 위해 crunch 패키지 설치

 

2. 무선랜카드 인터페이스 확인 및 모니터 모드로 접속(wlan0)

- iwconfig를 이용해 현재 연결된 네트워크를 확인, 무선 인터페이스 wlan0 확인

- 모니터 모드로 시작하기

- 문제가 될 수 있는 프로세스 Kill

- 모니터 모드가 적용된 무선 인터페이스 wlan0mon 확인

- 모니터 모드를 이용해 주변의 무선네트워크(AP) 보기, BSSID, CH, ENC 확인

모니터모드로 확인되는 많은 AP중에 Samsung_*** AP의 비밀번호를 알아내고자 한다.

 

3. 목표 AP의 패킷 캡처

- 해당 AP에 접속된 디바이스를 확인할 수 있다.

이 디바이스 연결을 해지하고 재연결되는 과정에서 4 hand-shake를 캡처한다.

# airodump-ng --bssid [AP MAC address] -c [채널번호] -w [파일이름] [무선랜카드]

 

4. 4-way handshake를 캡처하기 위해 연결 끊기

# aireplay -0 5 [AP MAC address] -c [연결을 끊을 무선기기] [무선랜카드]

-0 5: 연결을 5번 끊음

 

- 4-way handshake 캡처 성공

- 캡처된 wpa-01.cap 파일에 4-way handshake가 기록되어 있다.

 

5. 사전 파일 제작

시간과 비용 소모를 최소화하기 위해 숫자로 구성된 비밀번호 10자리 중 5자리를 고정시켜 사전파일을 제작했다.

#crunch [최소자릿수] [최대자릿수] [조합할문자] [옵션]

-t: 숫자지정, -o: 결과 내용 파일로 저장

 

6. 사전파일을 이용해 Brute Force 공격하기

10만개 비밀번호를 투입했고, 크랙한 지 220초가 지나고 ‘2563256311’라는 비밀번호 추출에 성공했다.

 

본 팀에서는 aircrack-ng를 활용하여 하였지만, 해쉬캣을 사용해서 하는 방안도 있다는 것 또한 알려둔다.

 

 

[활용방안]

  본 팀이 크랙하기 위해 사용한 사전파일은 시간과 비용적 소모를 최소화하기 위해 비밀번호는 10자리, 앞부분은 25632, 문자를 제외한 숫자로 이루어져 있다는 것을 가정해 진행했다. 다시 말해 비밀번호 경우의 수는 10만개로, 220초의 크랙을 통해 비밀번호를 알아낼 수 있었다. 만약 비밀번호 10자리 모두 랜덤하게 설정하고 이를 크랙하고자 했다면 비밀번호 한 자리당 28개의 경우의 수, 그리고 이 경우의 수가 10번 반복되므로 280의 수가 생기고, 이를 크랙하고자 한다면 엄청난 시간과 비용이 소모될 것이다. , 280의 경우의 수는 현실적으로 크랙이 불가능한 수다.

따라서 무차별 공격만이 비밀번호를 크랙할 수 있는 WPA2-AES에서는 ‘1234567890’과 같은 단순한 비밀번호는 쉽게 해킹될 수 있으므로 Brute Force 공격에 시간이 오래 걸리도록 비밀번호를 복잡하고 길게 구성하는 것이 좋다.

 

[결론]

  WPA2-AES는 현재 개인이 쓰기 가장 안전한 WiFi 암호화 방식으로 평가받고 있다. 하지만 이 암호화 방식에도 보안상 취약점이 있는데, 공공 와이파이가 그 예이다. 공공 와이파이 비밀번호는 고객들이 쉽게 입력할 수 있도록 ‘12345678’이나 'qwert12345'과 같이 일정한 패턴을 사용하기 때문에 선하지 못한 3자가 비밀번호를 알아낸다면 이를 악의적으로 사용할 가능성이 있다. 따라서 공공 와이파이 중 암호화 통신기능을 갖춘 와이파이 서비스를 이용하는 것이 좋다. 가령 스타벅스는 보안 SSID(KT_starbucks_secure)를 제공함으로써 Wifi 단말과 Wifi AP 간에 데이터 암호화를 지원하고 있는데, 이러한 인증을 갖춘 와이파이를 사용한다면 공공장소에서도 안전한 와이파이를 사용할 수 있다.

 

 

[참고자료]

- KALI LINUX 설치하기

https://izigom.tistory.com/entry/KALI-LINUX%EC%B9%BC%EB%A6%AC%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B02?category=431842

 

- aircrack-ng를 이용해 wifi 해킹하기(WPA2/PSK)

https://m.blog.naver.com/PostView.nhn?blogId=kimchoyoungg&logNo=221084396174&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

-WiFi 공유기 암호방식, WPA2-AES를 써야하는 이유는?

https://www.bodnara.co.kr/bbs/article.html?num=106786

 

-와아파이 비밀번호 알아내기

https://www.youtube.com/watch?v=NUNgnUTsNtM

 

-정보통신기술용어해설

http://www.ktword.co.kr/index.php

 

 

 

'CS > 정보보안' 카테고리의 다른 글

[정보보안] Real-World Protocols(2)  (4) 2019.12.09
[정보보안] Real-World Protocols(1)  (0) 2019.12.09
[정보보안] Simple Authentication Protocols  (0) 2019.12.08
[정보보안] Authorization  (0) 2019.12.08