Каковы преимущества обратной оболочки HTTP по сравнению с обратной оболочкой TCP?

Я сделал многоклиентную обратную оболочку TCP и увидел видео курса, в котором говорилось, что обратные оболочки HTTP лучше, потому что сложно отследить злоумышленника по сравнению с TCP. Я не поняла это.

Я попытался найти этот вопрос без особой помощи.

Являются ли обратные оболочки HTTP действительно выгоднее TCP? Как?

Я лично считаю, что обратная HTTP-оболочка - это плохо, так как http без установления соединения, когда злоумышленник хочет установить связь с хостом, он не может этого сделать, поскольку к нему нет соединения, и злоумышленник может обмениваться данными только в том случае, если запрос (например, GET) приходит от хост. Я что-то здесь упускаю?

Пожалуйста, объясни....

1 ответ

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

  1. Это вряд ли будет автоматически фильтроваться

Многие сети будут блокировать исходящий трафик, кроме нескольких специальных портов. Таким образом, использование чего-то вроде порта 6666 может вызвать несколько предупреждений. Если вы попытаетесь использовать порт для чего-то другого, а не для предполагаемого использования, некоторые программы могут использовать глубокую проверку пакетов (DPI), чтобы обнаружить / заблокировать это. Другими словами, если ваша полезная нагрузка пытается использовать порт 80/443 без использования HTTP/HTTPS, это может вызвать предупреждение и получить вашу полезную нагрузку.

  1. Это хитрее.

Я бы сказал, что два наиболее важных фактора, влияющих на скрытую полезную нагрузку, выглядят как обычный трафик, чтобы в первую очередь не привлекать внимание, и его трудно осмотреть, если внимание все же привлекло ваше соединение. HTTPS выполняет оба эти довольно хорошо.

Это связано с тем, что в большинстве сетей очень часто можно видеть, как узлы в вашей сети постоянно делают запросы в Интернет. Сравните полезную нагрузку, передающую запросы HTTPS, с некоторой полезной нагрузкой, соединяющейся через некоторый случайный порт.


Теперь, что касается вашего вопроса в конце... это зависит от вашей ситуации, но вы правы, что часто будет задержка, если вы будете использовать что-то вроде HTTP(S) вместо поддержания установленного соединения. Я упоминал об этом ранее, но мы можем общаться посредством маяка. По сути, это просто означает, что полезная нагрузка будет проверять сервер на заданном интервале (часто с дрожанием, чтобы его было немного сложнее обнаружить).

Жертва отправит запрос HTTP(S) на ваш сервер управления и контроля (C2), который содержит результаты предыдущей команды, которую вы сказали ей выполнить. Ваш сервер вернет ответ HTTP(S), который содержит следующие инструкции для полезной нагрузки.

Другие вопросы по тегам