Поиск по этому блогу

Показаны сообщения с ярлыком Dlink. Показать все сообщения
Показаны сообщения с ярлыком Dlink. Показать все сообщения

пятница, 23 сентября 2011 г.

Скрипт для сбора версий ПО на коммутаторах Dlink DES 30XX

Вот собственно сам скрипт:


#!/usr/local/bin/bash                                                                                                                                    
FILE=`cat ./ipaddr | sort -u`                                                                                                                            
                                                                                                                                                         

for I in $FILE                                                                                                                                            

do                                                                                                                                                        
ping -c 1 -t 1 $I                                                                                                                                        
                                                                                                                                               

    if [ $? = 0 ]                                                                                                                                        

    then                                                                                                                                                  
    MOD=`(sleep 1; echo "admi"; echo "qjd9ud6"; echo "logout";) | telnet $I | grep [dD][eE]  | awk {'print  $2'}`                                        
    FIRM=`(sleep 1; echo "admi"; echo "qjd9ud6"; echo "logout";) | telnet $I | grep [fF][iI] | awk {'print  $4'}`                                        
        if ! [ -z $MOD ]                                                                                                                                  
        then                                                                                                                                              
         if ! [ -d ./$MOD ]                                                                                                                              
         then                                                                                                                                            

         mkdir ./$MOD                                                                                                                                    
         fi                                                                                                                                              
        echo $I >> ./$MOD/$FIRM                                                                                                                          

        else                                                                                                                                              

        echo $I >> ./DES-2108                                                                                                                            
        fi                                                                                                                                                
                                                                                                                                                                                                                                                                                                                      
    fi                                                                                                                                                    

done                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                      
rm -f $1      

Сразу видно какие коммутаторы нуждаются в обновлении :)

                                                                                                                                             

суббота, 5 марта 2011 г.

Средство первичной диагностики для First line support

В нашей сети почти все оборудование доступа пока - Dlink 3028. Каждый раз поддержка на нас перекидывала на нас заявки о том что нет линка и т.п., что очень бесило. Решил немного упростить нам, админам жизнь.
В нашей сети собираются трапы mac notification(это собственно отдельная тема). Смысл в том, что при появлении мака на порту свич посылает трап о том, что на его порту появился/удалился мак. В свою очередь snmptrapd запускает скрипт, который парсит этот трап и помещает в БД информацию что на свиче на порту 10 есть мак 0101.0202.0303. Скрипт просто берет селект из БД и ходит на свич и выполняет определенные команды, которые определены в скрипте. Этот скрипт я поместил в папку apache cgi-bin, например если набрать в адресной строке
http://server.sxample.com/cgi-bin/cabdiag.pl?00:18:f3:9f:14:03, то получим следуюущее:


среда, 17 ноября 2010 г.

Обнаружение L2 loop в сети

Сегодня приключилась какая то хрень в сети, иначе это не обзовешь. Сеть прям-таки "плясала".
Оборудование то поднималось, то падало, загрузка процов на коммутатарах заметно выросла. В сети небольших размеров это устранить можно гораздо быстрее, но когда у тебя в сети порядка 1800 устройств, задача уже не такая тривиальная как кажется.

Куда же копать?
  1. При возниконовении петли происходит отвал оборудования
  2. Смотрим MAC адрес в ARP таблице на роутере.
  3. Идем по сети, смотрим откуда идет этот MAC.
  4. Видим, что MAC идет от туда, откуда идти не должен.
  5. "Рубим" петлю.
Стоит отметить, что нужно подождать минуты 3 для того, чтобы поднялось все оборудование, связано с тем, что нужно время для протухания L2 таблицы коммутации, так же это лишь история из моей жизни, не стоит полагаться на этот пост, что он поможет вам отыскать LOOP, но думаю общий алгоритм примерно одинаков всегда. У нас же сегодня это произошло из-за глюков оборудования Dlink DES-3028. Как то странно он рубил порт по STP, пропуская трафик через зарубленый порт. Вылечено обновлением прошивки.

пятница, 22 октября 2010 г.

Обход авторизации в D-Link DMC-1000i

ПРЕДЫСТОРИЯ УЯЗВИМОСТИ

Сегодня потерял пароль от этой штуковины, заслали туда инженера для изъятия и перенастройки, и тут я понял, что  сможем настроить модуль по телефону(благо у него оказался с собой ноут ). Начал гуглить, как ее сбросить и наткнулся на статью из журнала Хакер. Так же можно попасть на форму изменения пароля через эти дыры.

ОПИСАНИЕ УЯЗВИМОСТИ В ПРИМЕРАХ

Допустим наш модуль находиться на IP-адресе http://127.0.0.1/, при обращении всё как положено - требует пароль и логин, после авторизации пускает... НО!!! Одно большое но - если к его адресу дописать несколько строк чтобы получилось http://127.0.0.1/cgi-bin/media.cgi?home=chassis, то происходит чудо!!! Он не требует ни пароля ни логина и сразу выводит менюшку управления конверторами в которой их можно и отключить и поменять настройку на каждый отдельно взятый конвертер и т.д. Сначала думали, что это куки, но после удаления оных и совершенно не нужного ребута машины при попытке зайти туда (предварительно специально НЕ авторизовывались на нём) он всё так же безропотно без логинов и паролей пускает к себе в менюху управления конверторами.

Вот такая вот дырочка у фирмы D-Link.


Часть статьи взята с сайта http://www.xakep.ru