Каковы преимущества обратной оболочки HTTP по сравнению с обратной оболочкой TCP?
Я сделал многоклиентную обратную оболочку TCP и увидел видео курса, в котором говорилось, что обратные оболочки HTTP лучше, потому что сложно отследить злоумышленника по сравнению с TCP. Я не поняла это.
Я попытался найти этот вопрос без особой помощи.
Являются ли обратные оболочки HTTP действительно выгоднее TCP? Как?
Я лично считаю, что обратная HTTP-оболочка - это плохо, так как http без установления соединения, когда злоумышленник хочет установить связь с хостом, он не может этого сделать, поскольку к нему нет соединения, и злоумышленник может обмениваться данными только в том случае, если запрос (например, GET) приходит от хост. Я что-то здесь упускаю?
Пожалуйста, объясни....
1 ответ
Во-первых, я просто собираюсь ответить за HTTPS через HTTP, потому что не вижу особой причины использовать HTTP поверх HTTPS, но есть много преимуществ для шифрования вашего трафика таким образом.
- Это вряд ли будет автоматически фильтроваться
Многие сети будут блокировать исходящий трафик, кроме нескольких специальных портов. Таким образом, использование чего-то вроде порта 6666 может вызвать несколько предупреждений. Если вы попытаетесь использовать порт для чего-то другого, а не для предполагаемого использования, некоторые программы могут использовать глубокую проверку пакетов (DPI), чтобы обнаружить / заблокировать это. Другими словами, если ваша полезная нагрузка пытается использовать порт 80/443 без использования HTTP/HTTPS, это может вызвать предупреждение и получить вашу полезную нагрузку.
- Это хитрее.
Я бы сказал, что два наиболее важных фактора, влияющих на скрытую полезную нагрузку, выглядят как обычный трафик, чтобы в первую очередь не привлекать внимание, и его трудно осмотреть, если внимание все же привлекло ваше соединение. HTTPS выполняет оба эти довольно хорошо.
Это связано с тем, что в большинстве сетей очень часто можно видеть, как узлы в вашей сети постоянно делают запросы в Интернет. Сравните полезную нагрузку, передающую запросы HTTPS, с некоторой полезной нагрузкой, соединяющейся через некоторый случайный порт.
Теперь, что касается вашего вопроса в конце... это зависит от вашей ситуации, но вы правы, что часто будет задержка, если вы будете использовать что-то вроде HTTP(S) вместо поддержания установленного соединения. Я упоминал об этом ранее, но мы можем общаться посредством маяка. По сути, это просто означает, что полезная нагрузка будет проверять сервер на заданном интервале (часто с дрожанием, чтобы его было немного сложнее обнаружить).
Жертва отправит запрос HTTP(S) на ваш сервер управления и контроля (C2), который содержит результаты предыдущей команды, которую вы сказали ей выполнить. Ваш сервер вернет ответ HTTP(S), который содержит следующие инструкции для полезной нагрузки.