Уведомления

Группа в Telegram: @pythonsu

#1 Май 17, 2017 11:36:44

jinnora
Зарегистрирован: 2017-05-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

Есть два стула, на одном сети точёные, на другом питоны др0чёные, сесть надо на оба. На диплом (я ибшник) заставили для практики написать программу на подобии антивируса, но очень примитивного, я примерно представлю, что нужно, но реализовать не могу, так как куратор кинул меня 1 на 1 с питоном, а я не кодер ни в одном из существующих измерений.
Дано:
Есть шлюз на CentOS7, он держит за собой сетку, в которой есть некие конфиденциальные документы. Есть школьник, который выцарапал этот документ, спрятал в картинку (rarjpg) и хочет отправить в облако из этой сети.
Вопрос:
Что нужно написать на питоне, чтобы поймать на шлюзе картинку с подарком внутри?
Шлюз - единственный доступ из сети в интернеты поганые, работает как виртуальный коммутатор с помощью iptablesов.
Я 8ысрал идею о сканере кода элемента на поиск защищаемого документа, но не знаю, как это реализовать, помочь мне больше некому.
Спасите.

Офлайн

#2 Май 17, 2017 12:18:35

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2750
Репутация: +  184  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

> Я 8ысрал идею о сканере кода элемента на поиск защищаемого документа, но не знаю, как это реализовать

Идею в студию!
P.S. Но только стулья тащить не надо.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#3 Май 17, 2017 12:27:02

jinnora
Зарегистрирован: 2017-05-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

Rodegast
> Я 8ысрал идею о сканере кода элемента на поиск защищаемого документа, но не знаю, как это реализоватьИдею в студию! P.S. Но только стулья тащить не надо.
Ну, тип поиск сигнатуры защищаемого элемента внутри раржпега, ведь единственный путь в инетик - шлюз на кентосе, значит этот шлюз должен просканить передаваемую инфу на предмет кода защищаемого документа. Реально?

Офлайн

#4 Май 17, 2017 12:39:50

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2750
Репутация: +  184  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

Конечно реально. https://habrahabr.ru/sandbox/23379/



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#5 Май 17, 2017 14:19:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

jinnora
так как куратор кинул меня 1 на 1 с питоном, а я не кодер ни в одном из существующих измерений.
Если так, то это должно быть что-то простое. А из простого - скорее всего, весь документ будет в исходном виде содержаться внутри файла. В идеале, значит, получается, что тебе надо читать такие файлы поблочно (rar-файлы бывают слишком большими для загрузки в память целиком) и искать начало искомого файла. И если оно найдено, то надо проверить, не образует ли дальнейшее содержимое весь исходный файл.
Но в реале это всё не будет работать, потому что в реальной жизни не всё так просто. Спрятать содержимое файла от подобных сканеров легко.



Офлайн

#6 Май 17, 2017 14:59:30

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

jinnora
Есть школьник, который выцарапал этот документ, спрятал в картинку (rarjpg)
rarjpg это по сути rar архив “приклееный” к jpg картинке/ Можно также приклеить к mp3 png gif и еще к чемуто…. Суть в том что программы для просмотра изображений анализируют формат картинки с начала файла,а конец обычно игнорируют. Архиватор же определяет архив по наличию сигнатуры, которая может находиться где-то в середине файла, так как в начале файла может находиться SFX-модуль архива, который фактически и является приклеенным распаковщиком. Сответвнно такие склеенные фалы открываються как просмотрищиком картинок так и архиватором.

Тебе нужно просто искать сигнатуру рар архива (52 61 72 21) в проходящих через шлюз картинках. Если нашел, записывай в файл все что начинаеться с 52 61 72 21 и до конца, и скармливай его unrar-у он сам уже разбереться архив это или так случайно вышло. Если таки архив оно его распакует, вычисляй хеш распакованого файла и сравнивай с хешем файла котороый нужно перехватить. Или если у тебя в качесвте образца уже готовый архив, то просто сравнивай.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#7 Май 17, 2017 20:12:21

jinnora
Зарегистрирован: 2017-05-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

PEHDOM
Ох, звучит разумно, это я себе и представлял, проблема в том, как это реализовать на питоне? Хотя голос с левого плеча говорит мне, что лучше писать в bash'e…

Офлайн

#8 Май 17, 2017 23:24:31

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

Тут проблема в другом, те же пакеты можно снифить tcpdump-ом на интерфейсе, гдето дже статейку читал как это сделать на пайтоне. Но вам вроде нужно не просо обнаружить факт передачт, но и пресечь его? Тоесть по сути вам нужно написать чтото типа http прокси, который будет принимать пакеты, смотреть их , если все ОК, передавать их дальше, иначе задерживать до “выяснения”.
Если верить гуглу существует достаточно релизаций проксей на пайтоне
https://www.google.com.ua/?gfe_rd=cr&ei=CrAcWYjnNqni8AfwypaoBg&gws_rd=ssl#q=http+proxy+python
Посмотрите какой попроще, и вам по сути нужно будет только допилить небольшой кусок по выявлению сигнатуры файла.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Май 17, 2017 23:28:16)

Офлайн

#9 Май 18, 2017 05:27:41

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

Rodegast
Конечно реально. https://habrahabr.ru/sandbox/23379/
А как во внешнем acl получить тело запроса? Я сходу не нашел способа.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Май 18, 2017 10:51:19

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2750
Репутация: +  184  -
Профиль   Отправить e-mail  

Это жесть (я вас предупредил)

> А как во внешнем acl получить тело запроса? Я сходу не нашел способа.

Так Squid может передать скрипту запрос в виде параметра. В примере выше передаётся имя пользователя и адрес сайта, для других параметров нужно читать документацию. Т.е. адрес файла можно передавать как параметр, а потом просто открывать его питоном (или сначала закачивать, а потом открывать) и делать с ним что угодно.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version