Глава 16. Создание точки опоры
237
Пользовательский инструмент удаленного доступа
Несмотря.на.эффективность.однострочного.бэкдора,.вы.можете.создать.инструмент.
с.более.гибкими.настройками,.используя.полный.сценарий.bash..Ниже.приведены.
требования.к.такому.сценарию.
Инструмент.должен.подключаться.к.указанному.серверу.и.порту.
Инструмент.получит.команду.от.сервера,.выполнит.ее.в.локальной.системе.
и.выведет.все.результаты.обратно.на.сервер.
Инструмент.будет.выполнять.сценарии,.отправленные.ему.с.сервера.
Инструмент.закроет.сетевое.соединение,.когда.получит.от.сервера.команду.
quit
.
На.рис..16.3.показано.взаимодействие.между.средствами.удаленного.доступа.
в.системе.злоумышленника.(функция.
LocalRat.sh
).и.инструментом.удаленного.
доступа.в.целевой.системе.(функция.
RemoteRat.sh
).
Рис. 16.3.
Логика инструмента удаленного доступа
Реализация.
.Этот.инструмент.состоит.из.двух.сценариев..Сначала.в.собственной.
системе.злоумышленника.выполняется.сценарий.
LocalRat.sh
..Он.прослушивает.
соединение,.созданное.вторым.сценарием,.
RemoteRat.sh
,.выполняемым.в.целевой.
системе..Сценарий.
RemoteRat.sh
.через.сокет.TCP.открывает.соединение.с.локаль-
ной.атакующей.системой.
Что.происходит.дальше?.Прослушиватель.
nc
,.запущенный.в.атакующей.системе,.
получит.от.сокета.соединение.и.предоставит.удаленное.управление.атакующей.
системе..Вывод.из.оболочки.bash,.запущенной.в.скомпрометированной.системе,.
238
Часть III • Тестирование на проникновение
начиная.с.приглашения.ввода,.появится.на.экране.атакующей.системы..Любой.
текст,.набранный.на.клавиатуре.в.атакующей.системе,.через.TCP-соединение.
передается.программе,.запущенной.во.взломанной.системе,.то.есть.bash..Поэтому.
злоумышленник.может.вводить.любые.допустимые.команды.bash,.и.они.будут.вы-
полняться.в.скомпрометированной.системе,.а.полученные.результаты.(и.сообще-
ния.об.ошибках).будут.передаваться.атакующей.системе..Это.удаленная.оболочка,.
которая.вызывается.в.обратном.порядке.
Давайте.более.подробно.рассмотрим.операторы,.используемые.для.создания.такой.
пары.сценариев..В.примере.16.1.не.только.создается.прослушиватель,.но.и.ожида-
ется.обратный.вызов.целевой.системы.
Чтобы избежать обнаружения во время реального теста на проникновение, вы,
скорее всего, захотите присвоить этим сценариям более универсальные имена.
Пример 16.1.
LocalRat.sh
#!/bin/bash -
#
# Bash и кибербезопасность
# LocalRat.sh
#
# Описание:
# Инструмент удаленного доступа для локальной системы,
# прослушивает соединение с удаленной системой
# и помогает с любой запрошенной передачей файла
#
# Использование: LocalRat.sh port1 [port2 [port3]]
#
#
# определяем наш демон фоновой передачи файлов
function bgfilexfer ()
{
while true
do
FN=$(nc -nlvvp $HOMEPORT2 2>>/tmp/x2.err)
if [[ $FN == 'exit' ]] ; then exit ; fi
nc -nlp $HOMEPORT3 < $FN
done
}
# -------------------- main ---------------------
HOMEPORT=$1
HOMEPORT2=${2:-$((HOMEPORT+1))}
HOMEPORT3=${3:-$((HOMEPORT2+1))}
Do'stlaringiz bilan baham: |