Хакерам и пентестерам часто требуется передать или получить файлы с удаленного компьютера. Сделать это можно различными способами. Один из них — HTTP-сервер. В сегодняшней статье я покажу простой и быстрый способ создания временного HTTP-сервера с шифрованием TLS на Kali Linux. Для этой цели мы будем использовать Python скрипт SimpleHTTPServer.
Еще по теме: Лучший WiFi-адаптер для Kali Linux (цена-качество)
HTTP-сервер с шифрованием TLS на Kali Linux
SimpleHTTPServer — это модуль Python, который позволяет быстро создать HTTP-сервер. С помощью SimpleHTTPServer можно превратить любой каталог в простой веб-сервер HTTP. SimpleHTTPServer поддерживает только два метода HTTP – GET и HEAD. Об этом модуле я узнал из книги Red Team Field Manual (RTFM).
Перед созданием HTTP-сервера на Kali Linix нам потребуется SSL-сертификат (закрытый ключ и открытый сертификат). В сети полно инструкций о регистрации и получении бесплатных сертификатов. Для автоматизации можете использовать эту команду:
1 |
openssl req -new -x509 -keyout cert.pem -out cert.pem -days 365 -nodes |
Итак, у нас есть файл сертификата и закрытый ключ, или с помощью команды вы получили один файл cert.pem.
Я воспользовался командой и у меня есть файл cert.pem.
Если у вас есть закрытый ключ и файл сертификата, тогда вам поможет эта статья.
Следующий шаг — создание файла с именем:
1 |
https-simple-server.py |
Откройте файл и добавьте в него следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Date : 17 - 08 - 2022 # Ref: RTFM v2 ''' Python3 simple-https-server.py ''' import http.server, ssl, socketserver context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) context.load_cert_chain("cert.pem") # PUT YOUR cert.pem HERE server_address = ("192.168.43.210", 4443) # CHANGE THIS IP & PORT handler = http.server.SimpleHTTPRequestHandler with socketserver.TCPServer(server_address, handler) as httpd: httpd.socket = context.wrap_socket(httpd.socket, server_side=True) httpd.serve_forever() |
Сохраните файл и запустите с помощью этой команды:
1 |
Python3 simple-https-server.py |
Теперь можете открыть HTTP-сервер перейдя по ссылке:
1 |
https://<IP>:<port> |
Проверяем:
Если для передачи файлов вы будете использовать незащищенный HTTP, то это будет выглядеть так в Wireshark:
Более подробно о перехвате трафика с помощью Wireshark мы рассказывали в статье «Как используя Wireshark перехватить трафик»
При шифровании HTTPS весь трафик будет зашифрован:
На этом все. Теперь вы знаете, как просто и быстро создать HTTP-сервер с шифрованием TLS на Kali Linux.
Еще по теме: Сетевая разведка и перехват трафика с помощью ARP