
Всем привет!
Всем известно, что ни одна система не безопасна и где-то да и найдётся брежь. Однако, есть ряд мероприятий, которые помогают нам лучше детектировать проникновения в нашу систему и я сейчас говорю про honeypot.
Код:
Honeypot (с англ. — «горшочек с мёдом») — ресурс, представляющий собой приманку для злоумышленников. Задача Honeypot — подвергнуться атаке или несанкционированному исследованию.
Honeypot'ом может являться открытый порт или оставленный на видном месте файл, который так или иначе заинтересует нашего шаловливого хацкера) Honeypot может как и собирать информацию о характере поведения хакера в системе, так и просто оповещать о присутствии постороннего нас. Honeypot'ов существует превеликое множество, все они разные, с разным функционалом и возможностями
Для демонстрации я написал за вечер небольшой honeypot на нашей любимой змейке)
Python:
import pyinotify
from telethon import TelegramClient
from telethon import sync, events
import requests
api_id = xxxxxxxx
api_hash = 'xxxxxxxxxxxxxxxxxxxxxxxxx'
client = TelegramClient('Test test', api_id, api_hash)
client.start()
dlgs = client.get_dialogs()
class MyEventHandler(pyinotify.ProcessEvent):
def process_IN_ACCESS(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_ATTRIB(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_CLOSE_NOWRITE(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_CLOSE_WRITE(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_CREATE(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_DELETE(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_MODIFY(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def process_IN_OPEN(self, event):
client.send_message('Обдолбанная лиса', "Есть пробитие!")
def main():
wm = pyinotify.WatchManager()
wm.add_watch('/home/badrabbit404/Рабочий стол/', pyinotify.ALL_EVENTS, rec=True)
eh = MyEventHandler()
notifier = pyinotify.Notifier(wm, eh)
notifier.loop()
if __name__ == '__main__':
main()
Обычно различные профаны в безопасности оставляют на рабочем столе файлы с паролями и другими данными о себе. Хакеры об этом знают и активно этим пользуется, а мы в свою очередь сделаем русскую многоходовочку и наебнём хацкера, оставив на столе файл с интересным названием)
Теперь объясняю код - мы используем библиотеку pyinotify и telethon. Думаю с telethon всё понятно(для работы с телеграм), а вот inotify помогает нам отслеживать действий с файловой системой.
Для работы с telethon вам потребуется указать свой api_id и api_hash, которые можно узнать на сайте my.telegram.org. Далее у нас создаётся класс, в котором мы указываем любое заимодеёствие с определённым участком файловой системы: что-то открыл, удалил, модифицировал и т.д.
Теперь тестим:
Показываю чистый телеграм

Запускаю скрипт и создаю любой текстовый файл на рабочем столе

Провераю телеграм

Как видим всё работает!
Ну, как вы это будете применять решать вам(можете написать в комметах), информацию для размышления я вам дал) Всем удачи!
P.S. если возникли проблемы пишите в личку, всем помогу)
Последнее редактирование: