Сегодня поговорим про Honeypot. Они бывают разные, с высокой степенью взаимодействия с атакующими, и пассивный вариант, логирующий попытки входа и ip атакующих.
Интерактивный honeypot предполагает имитацию структуры папок операционной системы, просмотра запущенных процессов и запись сеанса работы атакующих с возможностью последующего просмотра. Honeypot установленный на внешнем периметре организации, позволяет оценить техники атакующих, собрать образцы ПО, для последующего изучения.
В нашем сегодняшнем примере мы рассмотрим ssh honeypot с низкой степенью интерактивности. Но обладающим техникой "увязывания" атакующего.
Знакомьтесь: honeypot ENDLESSH. github[.]com/skeeto/endlessh Данный honeypot замедляет входящие соединения, устанавливая бесконечное соединение с входящим клиентом. Программа ожидает 10 секунд между отправками пакетов. Это предотвращает отключение по таймауту, поэтому клиент будет сидеть в ловушке вечно.
Для запуска вам необходимо создать файл config.
#The port on which to listen for new SSH connections.Port 22
#The endless banner is sent one line at a time. This is the delay #in milliseconds between individual lines.Delay 10000
#The length of each line is randomized. This controls the maximum #length of each line. Shorter lines may keep clients on for longer if #they give up after a certain number of bytes.MaxLineLength 32
#Maximum number of connections to accept at a time. Connections beyond #this are not immediately rejected, but will wait in the queue.MaxClients 4096
#Set the detail level for the log. #0 = Quiet #1 = Standard, useful log messages #2 = Very noisy debugging informationLogLevel 0
#Set the family of the listening socket #0 = Use IPv4 Mapped IPv6 (Both v4 and v6, default) #4 = Use IPv4 only #6 = Use IPv6 onlyBindFamily 0
Чтоб запустить утилиту на 22 порту, необходимо внести изменения в файл endlessh.service Раскомментировать строку: AmbientCapabilities=CAP_NET_BIND_SERVICE И закомментировать строку: PrivateUsers=true
Honeypot настроен, можно запускать: endlessh -f config -v >> endlessh.log