Анонімне підключення до meterpreter

Вступ

Припустимо, ми знайшли дірку на гвинтовій машині і хочемо проникнути на неї. Розглянемо варіанти, причому звичайний cmd нам нецікавий, чи справа meterpreter, про нього і поговоримо.

Існують два основних принципи з'єднання з оболонкою метрпідводу: прямий і зворотний. У meterpreter'і є безліч варіантів підключення, але в рамках цієї статті ми говоритимемо тільки про bind tcp(прямий) і reverse tcp(зворотний).

Які підводні камені на нас чекають, якщо ми хочемо використовуватиbind tcp, відкривши таким чином порт у жертви і потім через проксі або тор підключитися? По-перше, брендмауер жертви поцікавиться, навіщо ця незрозуміла програма намагається вийти в інтернет і чи можна їй тут господарювати? Припустимо, користувач безглуздий (що швидше за все так і є) настільки, щоб дозволити нашій програмі відкрити порт, запитайте себе, хто нині виходить в інтернет безпосередньо і має білий ip? Мало таких залишилося, зараз скрізь роутери, а отже, наш порт буде доступний тільки у внутрішній мережі. Якщо ми заморочилися і прокинули порт назовні, то залишається півостання проблеми: потрібно знати ip, щоб підключитися, а може періодично змінюватися. Зате, якщо всі перелічені вище умови виконані, можна підключитися через ланцюжок проксей з будь-якого місця.

Як же бути? Як зберегти анонімність та мати можливість входу з будь-якого місця?

Початкові умови

Весь процес я демонструватиму в наступних умовах:

Для початку запустимоhandler- програму, яка чекатиме з'єднання від жертви на 4444 порту, щоб при підключенні відправити їй meterpreter. Для цього в командному рядку Kali запустимоmsfconsoleі в ньомувиконаємо наступні команди:

Повідомляємо, що на жертві у нас буде запущено корисне навантаження meterpreter зі зворотним з'єднанням:

Запускаємо і залишаємо в такому вигляді до найкращих часів.

Створення exe з корисним навантаженням

Потім згенеруємо програмуліну, яка і підключатиметься через проксі до нас. Відкриваємо нову вкладку терміналу та набираємо наступне:

Коротко розповім про аргументи.

Перші три очевидні – архітектура процесора, платформа та формат вихідного файлу. Аргумент -p відразу зрозумілий тим, хто трохи знайомий з Metasploit: ми вибирали як корисне навантаження оболонку meterpreter, яка підключиться на порт LPORT хоста LHOST, що належить в даному випадку нашому проксі-серверу.

Аваст не повівся і гордо повідомив про загрозу, тому й був убитий на місці, щоб не заважати випробуванням. Файл на місці тепер займемося підготовкою нашого сервера.

Налаштування сервера

Ми будемо використовувати статичний прокидання портів.

У створеному нами exe порт був 22222, а на Kali ми слухаємо порт 4444. Значить, щоб усі запити на серверний порт 22222 транслювалися на наш порт 4444, в Kali потрібно написати таку команду:

Нюанс у тому, що за умовчанням прокинутий таким чином порт на сервері буде доступний тільки з серверного ж localhost'а і при спробі підключитися ззовні нічого не станеться і жодних помилок не буде.

А зараз цікавий момент. Коли я тільки це все вивчав, то подібними маніпуляціями мені вдалося домогтися підключення жертви до мого хендлера і успішно відкрити командний рядок метерпритера, але при введенні будь-якої команди (навіть help) він з дикими помилками закривав з'єднання. Зараз, коли я пишу статтю, все працює. Навіть якщо у вас все заробило і так, все однорекомендую до прочитання наступний абзац.

Вже краще, але через proxychains її все одно не вдасться запустити. Щоб виправити це, прокинемо через проксичейнс ssh сервера собі, і через нього вже прокинемо порт метерпритера.

Кажуть, proxychains, що входить у стандартне складання Kali 2 вже старуватий і давно покинутий. У мене він періодично падав з помилкою segfault. Тому я поставив собі proxychains4(proxychains-ng) звідси, а старий зніс до біса і залишився задоволений, чого і вам раджу.

Зверніть увагу, що ми підключаємося саме на 127.0.0.1:42002, а не на 192.168.1.10:22. Все готово! Випускайте Кракена Запускаємо HarmlessFile.exe у жертви та насолоджуємося результатом.

Використовуємо лівий сервер як проксі, до якого буде чіплятися meterpreter жертви за допомогою reverse tcp.

У налаштуваннях sshd лівого сервера вказуємо GatewayPorts yes. Через proxychains4, налаштований на тор, спочатку прокидаємо собі ssh:

Потім прокидаємо собі порт, на який чіплятиметься meterpreter:

Генеруємо exe з meterpreter/reverse_tcp як навантаження:

  • Доставляємо payload.exe жертві, запускаємо, радіємо.
  • Обмовлюся повторно, що я описав метод, який спрацював для мене і виконав потрібне мені завдання — анонімність та мобільність. Може бути й інші, простіші шляхи досягти того самого, але мені не вдалося їх розкопати.

    Корисні посилання:

    Пам'ятка користувачам ssh — чудовий опис можливостей SSH, зокрема про SSH-тунелі. Meterpreter базові команди - опис базових команд Meterpreter'a.

    І ще 2 злегка застарілі статті, але в них є опис більш цікавих фіч Meterpreter.

    А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Стоїтьлише у полі «секретний пароль» ввести «Хабр»