RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

무선에 대한 막연한 환상과 무식하게 기초 개념없이 진행해보았다. 별로 추천할만한 글은 절대 아님을 알려드린다.


1. 준비물


  - 노트북(데탑은 좀...)

  - 윈도우(2000 과 XP, NT4 아래로는 절대 안됨)

  - 무선랜카드(Airdump 지원가능한 무선랜카드 and Aircrack 지원가능한 무선랜카드 => Asero Chip Set 지원 가능한 랜카드)

 

http://www.networkinstruments.com/support/osup1049.html    => 여기 검색해보면 나오는 무선랜카드면 된다

 

  - Asero Chip Driver  => 요게 필요한 이유는 Airdump 와 Aircrack 프로그램이 요걸 필요로 하기 때문이다

     

  - 주변에 널려있는 WEP 보안 걸려있는 AP (당연하다 보안이 안걸려있으면 그냥 접속하면 된다--;)


  - 무선 패킷을 캡쳐할 수 있는 무선 패킷 덤프 프로그램

     Airdump => http://www.aircrack-ng.org/doku.php?id=airodump-ng (무료)

       

     Wildpacket 사의 OmniAnalysis Platform & AiroPeek => http://www.wildpackets.com (상용)

                     http://ftp.wildpackets.com/pub/demos/ => 데모버전 다운로드

                       (OmniSpectrum31.exe / WildPackets_OmniPeek_Personal41.exe)


     Airmagnet LapTop => http://www.airmagnet.com (상용)


 - 무선 패킷 덤프한 내용에서 WEP 추출하는 프로그램 AirCrack http://aircrack-ng.org/ 

    


2. 프로그램 설치 및 준비


 - 가장 먼저 자신의 무선랜카드 드라이버를 설치를 한다. (전 CISCO AIR-CB21AG-W-K9 802.11a/b/g Cardbus Adapter)



 - AirDump 및 AirCrack 에서 필요로 하는 Asero Chip Driver 설치하기.


      => http://www.aircrack-ng.org/doku.php?id=wildpacket_driver_install  ( 설치하는 방법 자세히 나옴 )

           http://www.wildpackets.com/support/downloads/drivers  ( 드라이버 목록 )

           http://ftp.wildpackets.com/pub/goodies/drivers/   ( 드라이버 파일 다운로드, 전 atheros30112.zip 받았음 )




 위에 보시면 무선랜카드의 드라이버 업데이트를 실행을 한다. 다운 받은  Asero Chip Driver  파일로 지정을 한다.



  필자는 두번째 (공급자:WildPackets)를 선택하여 드라이버를 업데이를 하였다.


 - AirCrack 설치

      => http://download.aircrack-ng.org/aircrack-ng-0.6.2-win.zip  받아서 적당한 폴더에 압축해제    


 
 
  위에 보시면 Aircrack-ng.exe / Airdump-ng.exe / 기타(wzcook, packetforge-ng...) 보인다.
 
    airodump (an 802.11 packet capture program)
    aireplay (an 802.11 packet injection program)  => 요것이 패킷을 굉장히 많이 생성시키는 프로그램...
    aircrack (static WEP and WPA-PSK cracking)
    airdecap (decrypts WEP/WPA capture files)
 
 
3. 실행기
 
 - 이제 무선 패킷을 캡쳐하자. Airdump-ng.exe 더블클릭.
 
  

 
 
 - 위에 보시면 맨 처음 자기 컴퓨터에 장착된 랜카드중 선택하는 것이 나온다. 당연히 1번
 - 그리고 Aironet / Atheros 선택
 - 캡쳐할 채널 선택 : 9번 채널 선택 ( 여러분들도 Netstumbler 로 주변에 WEP 를 크래킹 할 AP 가 속한 채널을 선택하자 )
 - 출력 저장될 파일 이름 : webcrack
 - WEP 해킹만을 위해서 ###.IVS 파일을 생성할 것인가 아니면 ###.CAP 파일을 생성할 것인가를 묻는다. 필자는 y 선택

 
 
 - 위에서 y or n 을 선택하면 위 처럼 나오게 된다. ESSID 와 MAC 뒷4자리는 지웠음을 알려드린다.
   ENC에 WEP 라고 보이는 곳이 공략을 할 곳이다.
 
 - 그아래 STATION 이라고 되어있는 것은 현재 발견된 Client 이다. 정보 수집해놓았다가 추후에 내 MAC 를 위에 나온
   Client MAC 로 변조해서 접속을 할 수도 있다.
 
 - Helpful hints : 결론은 데이터 부분이 최소 25000 정도가 될때까지 캡쳐를 해야된다.
 
We broke a 64 bit WEP key in less than five minutes, which is the combined time for scanning with airodump and cracking with aircrack and stimulating traffic with aireplay running a simultaneous replay attack. There is a lot of luck involved and sometimes you may break the WEP encryption after gathering just 25,000 IVs, but most times it takes more than 100,000.
You would expect a 128 bit key to take eons longer, but this is not the case. A 128 bit key can be broken with around 150,000 to 700,000 IVs. bit capturing more IVs will definitely speed up the cracking process. When we reconfigured our target AP with a 128 bit key, we were able to recover the WEP key with 200,000 IVs, but it took the laptop we used more than an hour. Having more captured IV's would have sped up the process dramatically
 
 - 이상태로 놓으면 하루가 다 가도 원하는 양의 패킷을 모을수 없을 것이다. 하지만 Broadcast로 뿌려주는 패킷을 생성해서 무선랜에 뿌리면 10분이 채 되기전에 다 모으게 된다. 필자는 요건 아직 성공하지 못하었다. 아시는 분들 글 올려주세요^^;
 
 
== 이제 캡쳐된 파일을 가지고 WEP Key 를 추출해보자.
 
 


 - 위에 보시면 충분하지 않은 데이터로 인해 추출을 할 수 가 없다고 나온다... ㅠㅠ


 - 그래서 그냥 AirCrack 에서 지원하는 사전공격(Dictionary and Brute-Force Attacks) 을 이용해보았다.

   사전파일은 Test 폴더아래에 password.lst 파일을 이용하고 역시 CAP 파일도 Test 폴더아래에 파일을 이용하였다.

 
 
 - 위에 보시면 사전공격으로 WEP 키가 추출된것을 알 수 있다. "biscotte" 가 WEP 키인 것이다.
 
===========
============
=============
 
2일동안 리눅스에서 무선랜카드 잡다가 포기하고 결국 윈도우에서도 여러번 삽질후에 간단하게 WEP 추출을 해보았다.
 
하지만 아직 성공을 못해보았지만 나름대로 무선보안에 관한 이해를 하게되었고 또 무선에서 보안이 얼마나 중요한지를
 
깨닫은것이 가장 중요한 성과라고 생각한다.    
 
첨부파일은 리눅스에서 WEP 해킹하는 방법에 관한 아~주~ 자세한 글이다. 단지 영어라는 것 빼군 정말 좋은 자료이다.
 
 - 2007. 4. 7
 
 
 
=====================================================================
 
http://www.wifimania.net/   ==> 참고한 홈페이지 무선랜의 공격 유형에 대한 이해
 
 
 
무선랜의 적용 방안
 
무선랜의 적용 방안은 표준안에 있는 구성과 최근에 추가된 IEEE 802.1x 규격이 적용되어 보안이 강화된 구성으로 나뉘어 진다.
 
 
1) IEEE 802.1x 규격을 적용하지 않고 사용하는 경우
무선랜을 구축할 때 IEEE 802.1x 규격을 적용하지 않고 사용하는 경우는 크게 세 가지로 나누어 볼 수 있다. 오픈 시스템 인증 방식에 WEP 암호화를 사용하지 않는 경우와 오픈 시스템 인증 방식에 WEP 암호화를 사용하는 경우, 그리고 마지막으로 쉐어드 키 인증 방식에 WEP 암호화를 사용하는 경우이다. 그럼 각각의 경우에 대해 취약점을 분석해 보자.
 

2) 오픈 시스템(without WEP encryption)
오픈 시스템은 글자 그대로 인증이 없는 경우-즉, Null Authentication-이다. 인증 없이 접속하고 사용하는 데이터는 암호화를 하지 않는 구성이 바로 이 구성이다.
이러한 구성의 장점은 네트워크 성능이 가장 좋으며 사용자가 구성하고 사용하기에 가장 편리하다는 데 있다. 대부분의 경우 팩토리 디폴트 셋팅(Factory Default Setting)만으로도 동작을 하며 사용자는 IP 주소만 설정해 주면된다.
단점으로서는 보안이 떨어진다는 점이다. 이 구성을 공격하는 방법에는 여러 가지가 있으며 또한 공격 방법들이 상대적으로 단순하고 쉬워서 절대로 권장할 수 없는 구성이다.
그럼 각각의 공격 유형에 대해 알아보자.
 
 
· 공격 유형 1. 액티브 프로빙을 통한 AP 찾기
ESSID를 브로드캐스팅하는 경우 액티브 프로빙(액티브 프로빙)을 통해서 해당 AP를 찾을 수 있다. 액티브 프로빙을 하는 방법은 여러 가지가 있다. 공개된 툴을 사용할 수도 있고 OS에서 지원하는 툴을 사용할 수도 있다.
우선 가장 손쉬운 방법으로는 윈도 XP에 설치된 와이어리스 제로 컨피규레이션 서비스(Wireless Zero Configuration Service)를 이용할 수 있다. 사용할 수 있는 무선 네트워크 목록이 액티브 프로빙을 통해 얻어지는 결과값이다. 목록에서 암호화가 걸려 있지 않은 AP를 선택하면 바로 접속이 이루어진다.
공개된 툴은 윈도용으로 넷스텀블러(Netstumbler)가 가장 유명하며 PDA용으로 미니스텀블러(Ministumbler)도 있다. 리눅스용으로 제작된 툴들은 더욱 종료가 많으나 대표적인 것으로 디스텀블러(DStumbler)가 있다. 이러한 툴들은 지속적으로 사이트 서베이(Site Survey)를 통해서 암호화가 걸려있지 않은 AP들을 찾아낸다.
또 다른 방법은 WNIC 제조사에서 제공하는 유틸리티를 이용하는 방법이다. 대부분의 경우 제조사에서 제공하는 유틸리티에서 액티브 프로빙 기능이 포함되어 있으므로 이를 이용할 수 있다.
 
 
· 공격 유형 2. 네트워크 침투
일단 접속할 AP를 찾은 경우 해당 AP로의 접속은 별도의 절차 없이 이뤄진다. AP에 접속한 이후 인터넷상에서 쉽게 구할 수 있는 패킷 스니퍼 프로그램을 이용해 ARP 패킷이나 DHCP 패킷 등을 확인할 수 있다. 대표적인 툴로는 이써리얼(Ethereal) 등이 있으며 리눅스에서는 키스멧 와이어리스(Kismet Wireless) 프로그램을 이용하면 해당 AP에서 찾을 수 있는 IP 주소 대역을 바로 찾아 주기도 한다.
ARP 패킷을 분석하면 현재 해당 AP에서 사용하는 사용자들의 IP 주소가 보이게 되므로 이를 이용해 IP를 도용할 수 있다. DHCP를 이용해 IP 주소를 동적으로 할당하는 경우에는 그냥 접속하면 IP 주소를 바로 할당 받을 수 있다. DHCP 사용 여부는 스니퍼에서 DHCP 리스판스(Response) 패킷이 수집되면 DHCP를 사용한다고 가정할 수 있다.
일단 적합한 IP 주소를 확보하면 망에 침투할 수 있는 여건은 마련된 셈이다. 이 후의 공격은 해당 AP에 접속한 사내 사용자와 같은 권한이므로 네트워크 내의 다른 호스트나 사용자 PC를 여러 가지 형태로 공격할 수 있다.
 
 
· 공격 유형 3. 패킷 스니핑
WEP 암호화가 걸려있지 않기 때문에 패킷 스니핑을 통해 다른 사용자의 데이터나 ID와 패스워드를 알아낼 수 있는 경우가 있다. 이러한 무선 패킷 스니핑을 하기 위해서는 별도의 툴이 필요한데 윈도용으로는 에어로피크(AiroPeek)나 스니퍼 와이어리, 키스멧 와이어리스 혹은 이써리얼 등을 사용할 수 있다. 리눅스에서는 WNIC의 칩셋 벤더에 따라 RF 모니터 모드를 지원하는 경우가 있는데 RF 모니터 모드를 이용할 경우 원하는 채널 혹은 전 채널에서 패킷 스니핑이 되므로 사용자가 사용하는 모든 데이터를 수집할 수 있다. 이러한 패킷 스니핑을 통해 암호화를 하지 않는 응용 프로그램들-예를 들어 웹 사이트 로그인 데이터, 웹 메일 로그인, 혹은 POP3 이메일 계정 등-의 ID와 패스워드를 알아 낼 수 있다. 그리고 암호화가 이뤄지는 경우라도 취약점이 알려진 경우-예를 들어 윈도 넷 로그인 등-라면 수집한 패킷을 이용해 오프라인에서 부루트 포스(Brute-Force) 공격이나 딕셔너리(Dictionary) 공격 등을 통해 ID와 패스워드를 알아 낼 수도 있다.
 
 
· 공격 유형 4. 무선 클라이언트에 대한 공격
동일한 AP에 접속되어 있는 무선 클라이언트에 대한 공격은 유선 네트워크를 통하지 않고서도 가능하다. AP의 역할은 일종의 허브와 비슷한 역할을 수행하는데 동일 AP에 접속된 클라이언트끼리의 통신은 AP에서 바로 중계하는 경우가 많아서 직접적인 공격의 대상이 될 수 있다. 또한 일반적으로 서버보다는 클라이언트에 대한 방어가 허술한 경우가 많아 개인 정보 유출이 쉽게 이뤄질 수 있는 측면이 있다.
오픈 시스템의 경우라도 ESSID(Extended Service Set Identifier)를 브로드캐스팅 하지 않는 경우 ESSID를 알아내야만 한다. 이 경우 위 공격 유형 3에서 사용하는 패킷 스니퍼를 가지고 데이터를 수집하면 어쏘시에이션 메시지(Association Message)에서 사용하는 ESSID가 평문 형태이므로 쉽게 ESSID를 알아낼 수 있다. 위에서 언급한 스니퍼 와이어리스, 에어로피크, 그리고 키스멧 와이어리스 등으로 손쉽게 히든(Hidden) ESSID를 찾을 수 있다. 따라서 이 구성에서는 사용자의 ID나 패스워드 등을 손쉽게 알아낼 수 있으며 아무런 보안이 없는 관계로 사내 망을 완전히 개방해 놓은 형태이다.

 
 
 
3) 오픈 시스템(with WEP Encryption40/104bit)
 
이러한 구성은 지원하지 않는 AP들도 많아 잘 사용되지 않는 구성이다. 우선 오픈 시스템 인증은 인증이 별도로 없기 때문에 누구나 AP에 접속할 수 있지만 WEP 인크립션(Encryption)을 통해 데이터를 암호화하므로 WEP 키를 알지 못하면 통신이나 도청이 불가능하다. 그러나 최근에 발견된 WEP 알고리즘의 취약점으로 인해 WEP 키를 암호화된 데이터 트래픽만 가지고 알아낼 수 있는 기법들이 다양하게 알려지고 있다.
이 구성을 적용할 경우의 대표적인 공격 유형들은 앞서 언급한 공격 유형들 중 대부분은 적용 가능하다. 다만 데이터 트래픽이 암호화되어 있으므로 WEP 키를 복구하는 과정이 선행되어야 한다.
 
 
· 공격 유형 1. 패킷 스니핑을 통한 WEP 키 복구
WEP 암호화 알고리즘은 기본적으로 RC4라고 하는 스트림 암호화 알고리즘을 기반으로 하고 있다. 그러나 최근 발견된 RC4 알고리즘의 취약점으로 인해 특정한 조건에서 암호화 키를 복구할 수 있는 방법들이 소개되었으며 이러한 기법들을 이용한 WEP 키 복구 프로그램들이 개발, 공개되어 있다. 이러한 프로그램들 중 대표적인 프로그램이 에어스노트(Airsnort)와 웹크랙(WEPCrack)이다. 에어스노트나 웹크랙을 이용하면 WEP 알고리즘으로 암호화된 데이터 트래픽을 충분히 모아서 WEP 키를 알아낼 수 있다.
일단 WEP 키를 알아내면 패킷 스니핑을 통해 데이터의 수집 및 네트워크 침투가 가능해 진다.
 
 

4) 쉐어드 키 어쏘시에이션(with WEP Encryption 40/104bit)
 
쉐어드 키 인증은 사용자가 AP에 접속 시 미리 설정한 WEP 키를 알아야만 인증을 하도록 하는 방법이다. 이러한 방법은 원래의 목적대로라면 오픈 시스템보다 보안성이 높아야 하지만 알고리즘의 취약점으로 인해 오히려 보안성이 떨어진다.
쉐어드 키 인증 알고리즘은 단순한 챌린지 리스폰스(Challenge-Response) 인증 방식을 응용한 것으로 리플레이(Replay) 공격이나 딕셔너리(Dictionary) 공격을 방어하는 수단이 갖춰져 있지 않다. 따라서 굳이 WEP 알고리즘의 취약점을 공격하지 않아도 인증 패킷만 스니핑을 해도 손쉽게 WEP 키를 알아낼 수 있다. 일단 WEP 키를 알아낸 후 AP에 접속하면 암호화 역시 동일한 키를 사용하므로 쉽게 내부 사용자와 같은 권한을 취득할 수 있다.
가능한 공격 방법은 앞서 설명한 공격 유형들이 모두 유효하며 다만 어쏘시에이션(Association)시 수행되는 쉐어드 키 인증 알고리즘의 분석을 통한 WEP 키의 복구 공격이 추가된다.
 
 
· 공격 유형 1. 쉐어드 키 인증 방법에 대한 공격
쉐어드 키 인증 방법은 전통적인 챌린지 리스판스 인증 방법이다. 챌린지 리스판스 인증은 사용자 패스워드를 직접적으로 전송하지 않는다는 장점이 있지만 리스판스를 만들어 내는 알고리즘의 보안성과 챌린지 리스판스 페어를 조합한 리플레이 공격 등 취약점이 많이 드러나 있다.
쉐어드 키 인증 알고리즘 역시 AP에서 챌린지를 난수로 전송하면 리스판스를 WEP 암호화해서 전송하게 된다. 이 때 사용하는 알고리즘이 WEP 암호화 알고리즘이므로 챌린지 값과 리스판스 값을 수집하면 노운 플레인텍스트 어택(Known Plaintext Attack)이 가능해진다. 또한 WEP 암호화 엔진은 대부분의 WNIC에 내장되어 있으므로 이를 이용하면 보다 효율적인 공격이 가능해진다.
챌린지 리스판스를 공격하는 또 다른 방법은 리플레이 어택(Replay Attack)이다. 이것은 챌린지와 리스판스 값은 모두 스니핑이 가능하기 때문에 가능한 방법으로 챌린지와 리스판스 페어를 계속해서 수집한 다음 액세스 포인트(AP)에서 목록에 있는 챌린지 값을 전송하면 공격자는 목록에 있는 리스판스 값을 전송하여 접속 권한을 획득할 수 있다.

Trackback
Reply
bslime:
전체보기 (52)
목소리 (1)
영화 (0)
음악 (0)
Study (34)
Security (12)
Wargame (5)
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31