라즈베리파이/WIFI 무선랜 해킹

리눅스(라즈베리파이, 젯슨나노)에서 무선랜 패킷 캡쳐 방법

아크리엑터 2020. 7. 14. 01:22
반응형

 

젯슨나노를 이용하여 무선랜에 들어오는 모든 패킷을 캡쳐를 해보았다.

 

공유기에서 유선 랜을 꽂아서 기본적인 인터넷 연결은 유선랜으로 연결하도록 하였다. 무선랜은 실제 공유기에 연결하는 것이 아닌, 무선에서 전송되고 있는 패킷을 모두 잡도록 해보았다.

 

우선, 서버의 인터페이스 정보를 조회해 본다. 

sudo ifconfig

 

조회된 아래 화면에서, 유선랜(eth0)에는 192.168.0.4 가 할당되어있고, 무선랜(wlan0)에는 192.168.0.3이 할당된 것을 확인할 수 있다. 무선랜에는 기존에 공유기로 접속을 하도록 설정된 것이라, 연결된 상태로 보인다. 만일, 무선랜 설정을 하지 않았다면 공유기AP에 접속하지 않았기에 다르게 보일 수도 있다.

 

 

무선랜(wlan0)가 무선공유기로 접속을 하도록 하는 것은 무선랜에 수신되는 패킷만 수신되도록 되기 때문에, 전체 wifi신호를 잡기 위해서는 Monitor 모드로 무선랜을 설정해야지만 된다. Monitor모드로 설정을 하면, 공유기의 AP에 직접 접속하지 않고, 모든 wifi 패킷을 수집할 수 있도록 할 수 있다.

아래의 명령어로, 무선랜 장치를 끈 후에 모니터 모드로 바꾼 후, 다시 켜도록 한다.  우선, 현재의 무선랜 정보를 조회해 보았다. 이미 공유기에 접속하였기 때문에, 접속된 정보들이 나타난다. 이 상태에서는 이 무선랜으로 수신되는 패킷만 수신가능하다.

sudo iwconfig wlan0

 

 

아래의 명령어로 무선랜(wlan0)을 모니터 모드로 변경하였다.

sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up

 

무선랜의 모드가 Monitor 로 설정된 것을 볼 수 있다. 추가로, 접속된 주파수 등의 정보도 표시가 된다.

 

 

그런데, 무선랜이 모니터 모드로 변경 후 10여초가 지나니, 자동으로 공유기로 접속하여, Mode가 Monitor에서 Managed로 원래대로 복귀가 되는 경우가 있다. 이것은 네트워크관리 데몬이 자동으로 변경하는 것으로, 자동 변경하는 것을 아래의 절차로 예외처리할 수 있다.

sudo vi /etc/NetworkManager/NetworkManager.conf

 

위의 파일을 열어서, 아래의 맨마지막 2줄을 추가한다. (keyfile 이후)  interface-name의 wlan0는 무선랜 이름을, mac뒤의 값은 무선랜의 맥주소를 등록하여, wlan0에 대한 모드 변경이 자동으로 되지 않도록 한다.

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

[keyfile]
unmanaged-devices=interface-name:wlan0;mac:AA:BB:CC:DD:EE:FF

 

위의 설정한 것이 적용되도록 네트워크매니저를 재기동 한다.

sudo service network-manager restart

 

wireshark를 실행해서, 무선랜 패킷을 캡쳐해보자. wireshark가 설치되어있지 않다면, 아래의 명령으로 설치할 수 있다.

sudo apt-get install wireshark

 

설치가 된 후에, wireshark를 실행하면 된다. 모든 패킷을 수신하기 위해서 root권한으로 실행해야 된다. GUI의 메뉴에서 wireshark를 실행하여 무선랜의 캡처를 한다고 하면 오류가 나면서 "sudo dpkg-reconfigure wireshark-common"을 실행하고, "Yes"를 선택하라는 메시지가 나온다. 이것을 그대로 따라한 후에 wireshark를 실행하면 wlan0를 선택하지 못했었다.  만일 이렇게 했다면, 다시 위의 명령어를 실행해서, "No"를 선택하도록 한다.

 

wireshark로 모든 패킷을 캡쳐하기 위해서는 터미널을 열어서, 아래의 명령어로 wireshark를 실행한다. 

sudo wireshark &

 

실행된 화면에서 wlan0를 선택하고, 왼쪽 상단의 shark 모양의 Start를 누른다.

 

 

 

이 글들의 최종은 간단한 WIPS구현을 목표로 하였다. 이후에 글 이어진다.

라즈베리파이에서 그대로 적용했을 때는 안된다. 라즈베리안으로는..

라즈베리파이를 갖고 패킷 캡쳐를 하려면, 패치를 하는 방법과 OS를 바꾸는 방법이 있다.

OS를 kali 리눅스로 바꾸고 위의 절차을 따라하면 된다.
단지, kali리눅스를 사용하게 되면 GUI모드로 사용하기 보다는 CLI모드로 접속하는 것이 낫다.
라즈베리파이 초기모델에서는 GUI모드로는 거의 먹통 상태...
CLI로 바꾸니 잘된다.


반응형