книги хакеры / Хакинг на примерах
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
|||||
|
F |
|
|
|
|
|
|
t |
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
|
|
o |
|
|
P |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
\,11,11111NOW! |
11,1 IIJ)ll\ll'J)a\ |
|
|
|
|
|
NOW! |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
to |
BUY |
|
|
|
|
|
|
|
|
|
|
to |
BUY |
|
|
|
|
|
|
w Click |
шеллm |
-код осуществляет подключение к порту компьютера атакующего, чтоw Click |
|
|
|
|
|
|
m |
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
o |
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
. |
|
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
производится с целью обхода брандмауэра или NAT, то такой код называется |
|
|
|
g |
|
|
|
|||||||||||
|
|
|
|
|
|
g |
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
df |
|
|
n |
e |
|
|||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
обратной оболочкой (англ. reverse shell shellcode).
Уязвимость - в компьютерной безопасности, термин уязвимость (англ. vulneraЬility) используется для обозначения слабо защищенного или откры того места в системе. Уязвимость может быть результатом ошибок програм мирования или недостатков в дизайнесистемы. Уязвимость может существо вать либо только теоретически, либо иметь известныйэксплойт. Уязвимости часто являются результатом беззаботности программиста, но, также, могут иметь и другие причины. Уязвимость обычно позволяет атакующему обма нуть приложение, например, с помощью внедрения данных каким-нибудь незапланированным способом выполнения команды в системе, в которой выполняется приложение, или путем использования упущения, которое по зволяет получить непредусмотренный доступ к памяти для выполнения кода на уровне.привилегий программы. Некоторые уязвимости появляются из-за недостаточной проверки данных, вводимых пользователем; часто это позво ляет напрямую выполнить команды SQL (SQL-инъекция). Другие уязвимо сти появляются из-за более сложных проблем, таких к к запись данных в буфер без проверки его границ, в результате буфер может быть переполнен, что может привести к исполнению произвольного кода.
Еще одно понятие, с которым нам предстоит разобраться - полезная нагруз ка-:-payload. Если ты начнешь изучать зарубежные руководства по хакингу (а рано или поздно это произойдет), то все они пестрят одним термином-рау lоаd. Как его понимать? Буквально он переводится как «полезная нагрузка». Под этим словом подразумевают код или часть кода вредоносной программы (червей, вирусов), который непосредственно выполняет деструктивное дей ствие: удадяет данные, отправляет спам, шифрует данные, открывает под ключение для хакера и т.д. Вредонасные программы также имеют overhead code (буквально «служебный код»), под которым понимается та часть кода, которая отвечает за доставку на атакуемую машину, самостоятельное рас пространения вредоносной программы или препятствует обнаружению.
Другими словами, так называемая «полезная» нагрузка для жертвы оказыва ется совсем не полезной. А вот для хакера payload является ключевым эле ментом, который необходимо доставить на компьютер цели и выполнить. Код полезной нагрузки может быть написан самостоятельно (и это правиль
ный подход, позволяющий значительно снизить шансы обнаружения анти |
|
.... - - --- - - - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - -- - |
|
вирусами - в этом ты быстро убедишься сам, если будешь пробовать запу |
|
|
• |
скать исполнимые файлы с полезной нагрузкой в системах с установленным |
|
|
- - - . |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
NOW! |
o |
P |
|
|
|
|
|
NOW! |
o |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
антивирусомm |
|
|
|
|
to |
|
|
|
|
|
|
||||||
w Click |
|
|
|
|
|
|
|
|
|
|
|
m |
||||||||||
|
|
), а можно воспользоваться разнообразными генераторамиwпоClick |
|
|
|
|
|
|
||||||||||||||
w |
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
|
|
|
лезной нагрузки. Суть работы этих программ заключается в том, что хакер |
|
|
g |
|
|
|
||||||||||
|
|
|
|
|
|
g |
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
выбирает типичную задачу (например, инициализация оболочки для ввода команд с обратным подключением), а генератор выдает тебе исполнимый код под выбранную платформу. Если у тебя нет навыков в программирова нии, то это единственный возможный вариант.
Одним из самых популярных генераторов полезной нагрузки является MS Fvenom. Это самостоятельная часть Metasploit, предflазна.ченная для генера
ции полезной нагрузки.
7.4. Конфигурации фреймворка и основные команды
Существует три конфигурации фреймворка - командная строка (она назы вается msfconsole), веб-интерфейс (Metasploit Community, PRO и Express), графическая оболочка (Armitage, Cobalt strike).
Учитывая, что мы только учимся, мы не будем покупать платные версии. По сути, можно все сделать в той же msfconsole и при этом на данном этапе ничего никому не платить.
Несмотря на нали4ие графических интерфейсов, самым распространенным способом работы с Metasploit по-прежнему остается консольный интерфейс
msfconsole. Основные команды консоли приведены в таблице 7.1.
Таблица 7.1. Основные команды msfconsole
|
|
Команда |
Описание |
|
|
|
|
|
|
|
|
|
|||
|
|
use |
|
Используется для выбора определенного модуля для работы с ним. |
|||
|
|
|
|
|
|||
|
|
back |
|
Операция, обратная use, то есть перестать работать с выбранным мо- |
|||
|
|
|
дулем и вернуться назад |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
show |
|
Показать список модулей определенного типа |
|
||
|
|
|
|
|
|
||
|
|
set |
|
Установить значение определенному объекту |
|
||
|
|
|
|
|
|
|
|
|
|
run |
|
Запустить вспомогательный модуль |
|
|
|
|
|
|
|
|
|
|
|
|
|
info |
|
Вывести информацию о модуле |
|
|
|
|
|
search |
Найти определенный модуль |
|
|
|
|
|
|
|
|
|
|||
|
|
check |
|
Проверить целевую систему, подвержена ли она уязвимостям |
|||
|
|
|
|
|
|
||
|
|
sessions |
Показать список доступных сессий |
|
|
||
|
.... |
........ |
... ... ... ... ................. |
|
........ ... .... |
.... |
|
,_ - |
- |
- - - -- |
- |
- ---- |
-- .---- |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
|||||
|
F |
|
|
|
|
|
|
t |
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
o |
|
P |
|
|
|
|
|
NOW! |
o |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
BUY |
|
|
|||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
|
. |
|
7.5.. |
Конфигурация модулей |
|
. |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
.c |
m |
||||||||||||
w Click |
|
|
|
|
|
|
m |
|
w Click |
|
|
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
o |
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
p |
|
|
|
|
g |
c |
|
|
|
p |
|
|
|
|
g |
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
df |
|
|
n |
e |
|
|||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
У каждого модуля есть свой собственный набор опций, которые хакер может настроить под свои потребности. Существует очень много опций, поэтому перечислить здесь все невозможно. Тем не менее, ниже представлены не сколько вариантов, которые обычно используются для настройки модулей:
•Тип пейлоуда - определяет тип полезной нагрузки, который эксплойт бу дет доставлять к цели. Доступны следующие типы:
»Command: Пейлоуд, который выполняет команду. С его помощью можно выполнять команды на удаленном компьютере.
»Meterpreter: Прогрессивный пейлоуд, который предоставляет команд ную строку, с помощью которой можно доставлять команды и приме нять расширения.
•Тип соединения - определяет, как Metasploit будет подключаться к цели. Возможны варианты:
»Автоматический - при автоматическом соединении используется свя занное соединение, если был обнаружен NAT; в противном случае, ис пользуется обратная связь.
»· Связанный - используется сщ:занное соединение, что особенно важно, если цель находится не в зоне брандмауэра или NAT шлюза.
»Обратныйиспользует обратную связь, что особенно важно, если си стема не может инициировать соединение сцелями.
»LHOSTопределяет адрес локального хоста.
»LPORT - определяет порты, которые нужно использовать для обрат ных связей.
»RНOSTопределяет адрес цели.
»RPORTопределяет удаленный порт, который нужно атаковать.
•Настройки цели - указывает целевую операционную систему и версию.
•Перерыg эксплойта - определяет время ожидания в течение нескольких минут.
7.6. Первый запуск Metasploit |
|
.... - - - - - - - - - - - - - - - - - |
- - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - _, |
Открой меню приложений и введи Metasploit. Далее появится команда запу ска фреймворка. Да, Metasploit по умолчанию установлен в Kali Linux и тебе не нужно предпринимать. никаких действий по его установке.