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

(1) wifi 무선 패킷 수집 (무선랜을 모니터 모드로 변경)

아크리엑터 2020. 8. 2. 18:51
반응형

wips를 간단하게 만들어 보려고 한다. 

 

우선 무선랜으로 들어오는 패킷을 모두 캡쳐 하기 위해서는 무선랜을 monitor mode로 변경을 해야지만 된다.  아래 사례는 무선랜을 공유기에 접속하도록 설정해두지 않아서, AP접속된 정보가 보이지는 않는다. 보통 이렇게 표시된다. 많이 보이지만, 그중에서 wlan0로 표시된 부분만 보면 된다. 

wlan0으로 표시된 부분만 표시가 되게 하려면, iwconfig wlan0 라고 입력하면 된다.

$ iwconfig

eth0      no wireless extensions.

dummy0    no wireless extensions.

rndis0    no wireless extensions.

usb0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr=2347 B   Fragment thr:off
          Power Management:off
          
l4tbr0    no wireless extensions.

lo        no wireless extensions.

 

모니터 모드로 바꾸는 방법은 몇가지가 있는데, 첫번째로는 아래와 같이 무선랜을 끄고, 모니터 모드로 설정을 하는 방법이 있다.  wlan0 는 무선랜 인터페이스 이름을 적는다.  ifconfig -a를 입력하면, eth0 부터 다양한 인터페이스가 나오는데, 무선랜이 1개인 경우, wlan0으로 표시될 것이다.

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

 

위와 같이 설정한 후의 설정된 내용을 보면, monitor 모드로 변경된 것을 확인할 수 있다. 

$ sudo iwconfig wlan0

wlan0     IEEE 802.11  Mode:Monitor  Tx-Power=20 dBm   
          Retry short limit:7   RTS thr=2347 B   Fragment thr:off
          Power Management:off

 

물론, 리부팅을 하거나, 무선랜을 제거했다가 다시 꽂았을 때는 모드가 원래대로 변경된다. 라즈베리파이에서 무선랜 매니저 프로그램에 의해서 십여초 지나지 않아서 모니터 모드가 풀리는 경우가 있는데, 이런 경우에는 무선랜 매니저 프로그램을 중단해 두는 방법을 사용하거나, 해당 무선랜의 MAC을 설정하여 자동으로 변경하지 않도록 매니저 프로그램에 등록하는 방법이 있다.

 

그리고, 또 다른 방법은 aircrack-ng 를 사용하는 방법을 아래에 설명한다.

이것이 설치되어있지 않다면, 아래의 명령어로 aircrack-ng 를 설치한다.

$ sudo apt-get install aircrack-ng
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dpkg-repack
  gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 grub-common gyp kde-window-manager kpackagetool5
  kwayland-data kwin-common kwin-data kwin-x11 libdebian-installer4 libjs-async
  libjs-inherits libjs-node-uuid libkdecorations2-5v5 libkdecorations2private5v5
  libkf5activities5 libkf5declarative-data libkf5declarative5 libkf5globalaccelprivate5
  libkf5idletime5 libkf5kcmutils-data libkf5kcmutils5 libkf5package-data libkf5package5
  libkf5plasma5 libkf5quickaddons5 libkf5waylandclient5 libkf5waylandserver5
  libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11
  libkwinxrenderutils11 libqgsttools-p1 libqt5multimedia5 libqt5multimedia5-plugins
  libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5quickwidgets5 libuv1-dev
  libxcb-composite0 libxcb-cursor0 libxcb-damage0 node-abbrev node-ansi
  node-ansi-color-table node-archy node-async node-balanced-match node-block-stream
  node-brace-expansion node-builtin-modules node-combined-stream node-concat-map
  node-cookie-jar node-delayed-stream node-forever-agent node-form-data node-fs.realpath
  node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs
  node-hosted-git-info node-inflight node-inherits node-ini node-is-builtin-module
  node-isexe node-json-stringify-safe node-lockfile node-lru-cache node-mime
  node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt
  node-normalize-package-data node-npmlog node-once node-osenv node-path-is-absolute
  node-pseudomap node-qs node-read node-read-package-json node-request node-retry
  node-rimraf node-semver node-sha node-slide node-spdx-correct node-spdx-expression-parse
  node-spdx-license-ids node-tar node-tunnel-agent node-underscore
  node-validate-npm-package-license node-which node-wrappy node-yallist os-prober
  python3-dbus.mainloop.pyqt5 python3-icu python3-pam python3-pyqt5 python3-pyqt5.qtsvg
  python3-pyqt5.qtwebkit qml-module-org-kde-kquickcontrolsaddons qml-module-qtmultimedia
  qml-module-qtquick2 rdate tasksel tasksel-data
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  aircrack-ng
0 upgraded, 1 newly installed, 0 to remove and 396 not upgraded.
Need to get 0 B/2,621 kB of archives.
After this operation, 3,845 kB of additional disk space will be used.
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package aircrack-ng.
(Reading database ... 204620 files and directories currently installed.)
Preparing to unpack .../aircrack-ng_1%3a1.2-0~rc4-4_arm64.deb ...
Unpacking aircrack-ng (1:1.2-0~rc4-4) ...
Setting up aircrack-ng (1:1.2-0~rc4-4) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

 

프로그램을 설치했으면, 아래의 명령어를 사용하여 무선랜을 모니터모드로 변경해보자. 

$ sudo airmon-ng start wlan0

Found 5 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 run 'airmon-ng check kill'

  PID Name
 4132 NetworkManager
 4133 wpa_supplicant
 4167 avahi-daemon
 4214 avahi-daemon
31206 dhclient

PHY	Interface	Driver		Chipset

phy1	wlan0		rtl8192cu	Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

		(mac80211 monitor mode vif enabled for [phy1]wlan0 on [phy1]wlan0mon)
		(mac80211 station mode vif disabled for [phy1]wlan0)

 

 

위의 마지막 2번째 줄을 보면, 모니터 모드가  enable되었다는 내용이 나온다. wlan0mon 이라는 이름으로 말이다. 아래 명령어로 확인을 해보자.

$ iwconfig
eth0      no wireless extensions.

dummy0    no wireless extensions.

wlan0mon  IEEE 802.11  Mode:Monitor  Frequency:2.457 GHz  Tx-Power=20 dBm   
          Retry short limit:7   RTS thr=2347 B   Fragment thr:off
          Power Management:on
          
rndis0    no wireless extensions.

usb0      no wireless extensions.

l4tbr0    no wireless extensions.

lo        no wireless extensions.

   

모니터 모드를 취소하고 원래대로 되돌아가려면 아래의 명령어로 가능하다.

$ sudo airmon-ng stop wlan0mon

PHY	Interface	Driver		Chipset

phy1	wlan0mon	rtl8192cu	Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

		(mac80211 station mode vif enabled on [phy1]wlan0)

		(mac80211 monitor mode vif disabled for [phy1]wlan0mon)

 

그리고, 모니터 모드를 되돌려 놓은 후에는 아래의 명령어로 네트워크 매니저를 실행하는 것을 잊지 말자.

service network-manager start

 

 

반응형