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

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

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

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

Время на прочтение10 мин
Количество просмотров287K
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 мин
Количество просмотров46K
С решением задачи поможет JustDeleteMe — это каталог кратких инструкций и прямых ссылок для удаления пользовательских аккаунтов на популярных сайтах. Поговорим о возможностях инструмента, а также обсудим, как обстоят дела с запросами на удаление персональных данных в целом.

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

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

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

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

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

Время на прочтение23 мин
Количество просмотров92K
Друзья, в предыдущей публикации мы рассмотрели вопросы защиты персональных данных с точки зрения российского и международного законодательства. Однако существует и еще одна актуальная тема, касающаяся большого количества российских компаний и организаций — мы говорим о защите критической информационной инфраструктуры. Защищенность и устойчивость ИТ-систем как отдельных крупных компаний, так и целых отраслей промышленности в современных условиях играют решающую роль. Во всем мире фиксируются попытки осуществления целенаправленных и изощренных кибератак на объекты инфраструктуры, и не обращать внимания на такие факты было бы весьма недальновидно. Создание ГосСОПКА (государственной системы обнаружения, предупреждения и ликвидации последствий компьютерных атак на информационные ресурсы Российской Федерации), а также подписание Федерального Закона от 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 мин
Количество просмотров25K
Сфера 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 мин
Количество просмотров77K
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 мин
Количество просмотров202K
Всем добрый день.

Хочу рассказать про 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

Информация

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