Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Исповедь тестировщика: как я покопался в IDS конкурента

Время на прочтение4 мин
Количество просмотров7.4K
Ни один уважающий себя UTM-шлюз сетевой безопасности не обходится без системы обнаружения вторжений IDS (Intrusion Detection System). Другое дело, что опция зачастую указывается производителем для галочки, чтобы не отставать от конкурентов. Знаю по своему опыту тестировщика, как это бывает — вроде бы IDS есть, но по факту никуда не годится. Именно поэтому, когда мне предложили протестировать относительно недорогую UTM-“железку”, я предложил в первую очередь “прогнать” ее СОВ.


UTM-железка Traffic Inspector Next Generation S100 и свитч Cisco 2960G

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии12

Flipper Zero — пацанский мультитул-тамагочи для пентестера

Время на прочтение10 мин
Количество просмотров285K
Flipper Zero — Multi-tool Device for Hackers

Warning

Информация в статье устарела, Flipper Zero был полностью пеработан на другой платформе. Актуальная информация в нашем блоге blog.flipperzero.one


Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
Читать дальше →
Всего голосов 176: ↑173 и ↓3+231
Комментарии162

«Замести следы и уйти на выходные»: как удалить себя из большинства популярных сервисов

Время на прочтение4 мин
Количество просмотров45K
С решением задачи поможет JustDeleteMe — это каталог кратких инструкций и прямых ссылок для удаления пользовательских аккаунтов на популярных сайтах. Поговорим о возможностях инструмента, а также обсудим, как обстоят дела с запросами на удаление персональных данных в целом.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+11
Комментарии16

Кейлоггер с сюрпризом: анализ клавиатурного шпиона и деанон его разработчика

Время на прочтение7 мин
Количество просмотров21K

В последние годы мобильные трояны активно вытесняют трояны для персональных компьютеров, поэтому появление новых вредоносных программ под старые добрые «тачки» и их активное использование киберпреступниками, хотя и неприятное, но все-таки событие. Недавно центр круглосуточного реагирования на инциденты информационной безопасности CERT Group-IB зафиксировал необычную фишинговую рассылку, за которой скрывалась новая вредоносная программа для ПК, сочетающая в себе функции Keylogger и PasswordStealer. Внимание аналитиков привлекло то, каким образом шпионская программа попадала на машину пользователя — с помощью популярного голосового мессенджера. Илья Померанцев, специалист по анализу вредоносного кода CERT Group-IB рассказал, как работает вредоносная программа, чем она опасна, и даже нашел ее создателя — в далеком Ираке.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+14
Комментарии7

Обзор российского законодательства по защите критической информационной инфраструктуры

Время на прочтение23 мин
Количество просмотров89K
Друзья, в предыдущей публикации мы рассмотрели вопросы защиты персональных данных с точки зрения российского и международного законодательства. Однако существует и еще одна актуальная тема, касающаяся большого количества российских компаний и организаций — мы говорим о защите критической информационной инфраструктуры. Защищенность и устойчивость ИТ-систем как отдельных крупных компаний, так и целых отраслей промышленности в современных условиях играют решающую роль. Во всем мире фиксируются попытки осуществления целенаправленных и изощренных кибератак на объекты инфраструктуры, и не обращать внимания на такие факты было бы весьма недальновидно. Создание ГосСОПКА (государственной системы обнаружения, предупреждения и ликвидации последствий компьютерных атак на информационные ресурсы Российской Федерации), а также подписание Федерального Закона от 26 июля 2017 г. № 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации» и разработка соответствующих подзаконных актов послужили логичным ответом на вызовы текущих реалий.

Рассмотрим этот аспект информационной безопасности подробнее. Вперёд!

image
Читать дальше →
Всего голосов 5: ↑3 и ↓2+4
Комментарии6

Как уменьшить использование памяти и ускорить работу кода на Python с помощью генераторов

Время на прочтение3 мин
Количество просмотров11K

Всем привет. Сегодня хотим поделиться одним полезным переводом, подготовленным в преддверии запуска курса «Web-разработчик на Python». Писать код эффективный по времени и по памяти на Python особенно важно, когда занимаешься созданием Web-приложения, модели машинного обучения или занимаешься тестированием.


Читать дальше →
Всего голосов 20: ↑13 и ↓7+8
Комментарии16

work&dev fun(damentals) #0. Что ожидать и как помогать расти разработчику из trainee в уверенного junior?

Время на прочтение4 мин
Количество просмотров2.7K
Это цикл статей. Следующую можно прочесть тут

Что ожидать и как помогать расти разработчику из trainee в уверенного junior?


Уровень разработчика — то чем все привыкли меряться и то за чем все перебегают из компании в компанию.


В последние несколько лет тенденция рынка такова, что реальный опыт работы снижается по отношению к предлагаемой :: лычке::.


Эта тема меня беспокоит особенно сильно по той причине, что годы опыта все таки кое о чем говорят. Говорят они о количестве времени, во время которого ты работал работу. И чисто статистически верно то, что за m времени может произойти больше факапов и запар, чем за n, при условии что m > n. Вот и все. Об этом говорят года опыта. Это не тот показатель, по которому я буду отсеивать людей с позиций (буду если это сеньор, с 1.5 годами реального опыта), но тот, по которому я буду решать между двумя идентичными кандидатами, если не смогу взять двух.

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

40 каналов и чатов для тех, кто интересуется DevOps

Время на прочтение3 мин
Количество просмотров24K
Сфера DevOps развивается очень стремительно. Команда DevOpsDays Moscow составила список каналов и чатов для тех, кто интересуется DevOps и хочет оставаться в центре событий. Мы сами читаем эти каналы, а некоторыми даже руководим.

Все сообщества для удобства мы разделили на группы: общие, про инструменты, новостные и те, кого нет в телеграме. Надеемся, вам будет полезно.


Читать дальше →
Всего голосов 15: ↑14 и ↓1+17
Комментарии17

Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова

Время на прочтение19 мин
Количество просмотров47K
Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причинам, это удается не всегда. Тогда и встает вопрос создания собственного парсера для заданного формата. И это, как говорят англичане, часто оказывается PITA (болью в ...). В этой статье я постараюсь облегчить эту боль. Кому интересно, добро пожаловать.
Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии24

Вглубь Pyparsing: парсим единицы измерения на Python

Время на прочтение12 мин
Количество просмотров16K
В прошлой статье мы познакомились с удобной библиотекой синтаксического анализа Pyparsing и написали парсер для выражения 'import matplotlib.pyplot as plt'.

В этой статье мы начнём погружение в Pyparsing на примере задачи парсинга единиц измерения. Шаг за шагом мы создадим рекурсивный парсер, который умеет искать символы на русском языке, проверять допустимость названия единицы измерения, а также группировать те из них, которые пользователь заключил в скобки.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии1

Бенчмарк HTML парсеров

Время на прочтение10 мин
Количество просмотров83K
Переписывал в островке кусок одного сервиса с Python на Erlang. Сам сервис занимается тем, что скачивает по HTTP значительное количество однотипных HTML страниц и извлекает из них некоторую информацию. Основная CPU нагрузка сервиса приходится на парсинг HTML в DOM дерево.

Сперва захотелось сравнить производительность Erlang парсера mochiweb_html с используемым из Python lxml.etree.HTML(). Провел простейший бенчмарк, нужные выводы сделал, а потом подумал что неплохо было бы добавить в бенчмарк ещё парочку-другую парсеров и платформ, оформить покрасивее, опубликовать код и написать статью.
На данный момент успел написать бенчмарки на Erlang, Python, PyPy, NodeJS и С в следующих комбинациях:
  • Erlang — mochiweb_html
  • CPython — lxml.etree.HTML
  • CPython — BeautifulSoup 3
  • CPython — BeautifulSoup 4
  • CPython — html5lib
  • PyPy — BeautifulSoup 3
  • PyPy — BeautifulSoup 4
  • PyPy — html5lib
  • Node.JS — cheerio
  • Node.JS — htmlparser
  • Node.JS — jsdom
  • C — libxml2 (скорее для справки)

В тесте сравниваются скорость обработки N итераций парсера и пиковое потребление памяти.

Интрига: кто быстрее — Python или PyPy? Как сказывается иммутабельность Erlang на скорости парсинга и потреблении памяти? Насколько быстра V8 NodeJS? И как на всё это смотрит код на чистом C.
Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии36

Разработка надёжных Python-скриптов

Время на прочтение10 мин
Количество просмотров75K
Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько десятков или сотен строк кода. А после того, как дело сделано, можно просто забыть о написанном коде и перейти к решению следующей задачи.

Если, скажем, через полгода после того, как был написан некий «одноразовый» скрипт, кто-то спросит его автора о том, почему этот скрипт даёт сбои, об этом может не знать и автор скрипта. Происходит подобное из-за того, что к такому скрипту не была написана документация, из-за использования параметров, жёстко заданных в коде, из-за того, что скрипт ничего не логирует в ходе работы, и из-за отсутствия тестов, которые позволили бы быстро понять причину проблемы.



При этом надо отметить, что превратить скрипт, написанный на скорую руку, в нечто гораздо более качественное, не так уж и сложно. А именно, такой скрипт довольно легко превратить в надёжный и понятный код, которым удобно пользоваться, в код, который просто поддерживать как его автору, так и другим программистам.

Автор материала, перевод которого мы сегодня публикуем, собирается продемонстрировать подобное «превращение» на примере классической задачи «Fizz Buzz Test». Эта задача заключается в том, чтобы вывести список чисел от 1 до 100, заменив некоторые из них особыми строками. Так, если число кратно 3 — вместо него нужно вывести строку Fizz, если число кратно 5 — строку Buzz, а если соблюдаются оба этих условия — FizzBuzz.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии27

Автоматизация ip-сети с помощью подручных инструментов (Python)

Время на прочтение33 мин
Количество просмотров30K
Эта статья подойдет сетевым специалистам, которые находятся в поисках примеров возможной автоматизации ip сети с помощью подручных инструментов.

Как один из вариантов автоматизации, это взаимодействие программной среды с CLI (Command Line Interface) оборудования, так называемый ‘Screen Scraping’. Собственно, об этом варианте и пойдет речь.

В качестве программной среды, будет использован язык программирования Python версии 3.3. Для сомневающихся в потребности изучения языка программирования, необходимо отметить, что базовые навыки программирования на Python достаточно просты в освоении и для решения описанных ниже задач являются достаточными. В дальнейшем с совершенствованием навыков будет совершенствоваться код и уровень производимых продуктов. Для удаленного взаимодействия с оборудованием в основном будет использоваться протокол SSH, поэтому в качестве работы с SSH, для облегчения задач, выбран дополнительный модуль для Python – Paramiko. Как правило рассмотрение решения конкретных задач, может способствовать лучшему усвоению материала, поэтому не затягивая процесс далее будут рассмотрены выборочные примеры задач по возрастающей степени сложности и их решение с использованием выше описанных инструментов (важно заметить, все ip адреса, логины, пароли, названия и специфические значения параметров с сетевых устройств — вымышленные, любое совпадение случайно).
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии9

Работа с ssh в Python

Время на прочтение3 мин
Количество просмотров198K
Всем добрый день.

Хочу рассказать про paramiko — модуль для работы с ssh в python.
С его помощью можно написать скрипт, который получит доступ к удаленному серверу (или многим) и что-то на нем сделает.

Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии15

Делимся опытом. Интеграция сервисов FirePOWER на Cisco ASA

Время на прочтение15 мин
Количество просмотров61K


Привет habr! В данной статье хотел поделиться опытом внедрения сервисов FirePOWER на межсетевом экране Cisco ASA. О том, что такое FirePOWER, SourceFIRE и т.д. уже достаточно много написано на хабре в блоге компании cisco тут и тут. В данной статье попробую в первую очередь описать процесс начальной инициализации решения с практической точки зрения, рассказать про нюансы и проблемы, с которыми приходилось столкнуться.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 2. Модели OSI и TCP-IP

Время на прочтение11 мин
Количество просмотров29K
Из предыдущего видео мы узнали об основах сети, а сегодня поговорим о модели OSI и модели TCP/IP. Когда я говорю моделях, то имею ввиду не что иное, как набор правил, или набор стандартов. Вы можете спросить, зачем нужен набор правил или стандартов в компьютерной индустрии? Чтобы это понять, нам нужно узнать немного об истории компьютерной индустрии.



Не так давно состоялась ожесточенная битва между IBM и Digital Equipment Corporation (DEC) за то, кто из них является ведущим производителем компьютеров. Но при этом возникла проблема. Оба этих производителя выпускали компьютерное оборудование, которое было несовместимо друг с другом. То есть если вы купили компьютер IBM, то вам нужно было приобрести для него монитор, принтер и все остальное тоже у IBM. Аналогично, если вы купили устройство от DEC, то должны были купить все аксессуары и другие устройства этого же производителя, чтобы ими можно было пользоваться.
Всего голосов 24: ↑22 и ↓2+20
Комментарии20

Grab — новый интерфейс для работы с DOM-деревом HTML-документа

Время на прочтение5 мин
Количество просмотров36K

Исторический экскурс


Ранее я уже писал на хабре о Grab — фреймворке для написания парсеров сайтов: раз, два, три, четыре. В двух словах, Grab это удобная оболочка поверх двух библиотек: pycurl для работы с сетью и lxml для разбора HTML-документов.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии26

Grab — python библиотека для парсинга сайтов

Время на прочтение13 мин
Количество просмотров149K
Лет пять-шесть назад, когда я ещё программировал преимущественно на PHP, я начал использовать библиотеку curl для парсинга сайтов. Мне нужен был инструмент, который позволял эмулировать сессию пользователя на сайте, отсылать заголовки обычного браузера, давать удобный способ отсылки POST-запросов. Сначала я пытался использовать напрямую curl-расширение, но его интерфейс оказался очень неудобным и я написал обёртку с более простым интерфейсом. Время шло, я пересел на python и столкнулся с таким же дубовым API curl-расширения. Пришлось переписать обёртку на python.
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии53

Классические парсер-комбинаторы на Python

Время на прочтение5 мин
Количество просмотров28K
Парсером называется часть программы, которая из линейной последовательности простых данных строит более сложные структуры данных с учетом некоторой грамматики.

Функциональные языки программирования позволяют описывать функции высших порядков, которые принимают в качестве аргументов и возвращают как результат другие функции.

Парсер-комбинаторы – известная техника создания парсеров, которая использует возможности функциональных языков программирования для динамического построения более сложных парсеров из простых по правилам некоторой грамматики.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии7
2

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность