Pull to refresh
35
0
Василий Е @bazilxp

DevOps

Send message

Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)

Reading time2 min
Views125K


Дело было вечером, делать было нечего... © С. В. Михалков
Навеяно публикацией «Как я bind`ом вирусы искал…», а конкретно этой веткой комментариев. Надеюсь, не поздно размещаю.

Сидел я и думал, телевизор Samsung, WinPhone, (а впоследствии может кофеварка и пылесос) показывают суперназойливую рекламу, надо с этим чтото делать, и раз в WinPhone и телевизор(кофеварку, пылесос) плагина AdBlock нету, то он должен быть там где ходит их трафик, на роутере.
Читать дальше →

Удаленное включение по Mac-адресу C# (Wake On Lan)

Reading time12 min
Views39K
В этой статье я хотел бы поделиться небольшим опытом удаленного включения компьютера. Эта тема, пожалуй, многим известна, но хотелось бы еще раз уделить внимание данной технологии. Свою статью я разделю на две части:
  • Сканирование локальной сети, получение IP-адреса, HostName, Mac-address;
  • Создание "magic packet" и отправка.

Вот так примерно выглядит созданная программа:



Итак, приступим к выполнению первого пункта.
Читать дальше →

Автоматическое выявление уязвимостей: описание и статистика

Reading time3 min
Views18K


Пришло время подвести результаты автоматического сканирования, которое было анонсировано 3 недели назад. Было прислано несколько заявок на автоматический аудит, большинство сайтов представляли коммерческий сектор — интернет-магазины и корпоративные сайты.
Читать дальше →

Анализ SSL/TLS трафика в Wireshark

Reading time7 min
Views230K


Как скрыть от посторонних конфиденциальную информацию?
Самое простое – зашифровать.
В Интернет и Интранет-сетях шифрацией данных управляет протокол SSL/TLS.
Солдат спит, служба идет.
Однако иногда возникает необходимость выполнить обратное – расшифровать перехваченный трафик.
Это может потребоваться как для отладки работы приложений, так и для проверки подозрительной сетевой активности.
Или в целях изучения работы SSL/TLS (очевидные, вредоносные цели не обсуждаются).

Как и при каких условиях можно расшифровать дамп SSL/TLS трафика в Wireshark?
Попробуем разобраться.

Читать дальше →

Анализируем необычные прошивки: разбор конкурса Best Reverser

Reading time7 min
Views15K


Когда мы придумывали задание для конкурса по обратной разработке, который состоялся на форуме PHDays V, то хотели отразить реальные проблемы, с которыми сталкиваются специалисты по RE, но при этом старались избежать шаблонных решений.

Как обычно выглядят задачки на реверс? Есть исполняемый файл под Windows (или Linux, или MacOS, или другую популярную операционную систему), его можно запускать, смотреть под отладчиком, крутить как угодно в виртуальных средах. Формат файла — известный. Система команд процессора — x86, AMD64 или ARM.

Библиотечные функции и системные вызовы — задокументированы. Доступ к оборудованию — только через механизмы операционной системы.

С использованием существующих инструментов (например, IDAPro с HеxRays и всеми сопутствующими возможностями) анализ подобных приложений становится практически детской забавой: все получается просто и быстро.
Читать дальше →

Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек

Reading time8 min
Views88K
Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++.



Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор.

Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap.

Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов.

Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера.

Хороший списочек проблем? Итак, мы их все геройски попробуем решить!
Читать дальше →

Управление Windows компьютерами из консоли Linux

Reading time4 min
Views38K
Здесь рассматривалась задача управления компьютером на Windows из Linux. Решалась с помощью winexe.

Подобная задача удаленной установки софта, проверки состояния, дистанционного выключения/перезагрузки большой группы Windows компьютеров (учебные классы) ниже решается с помощью freeSSHd — ssh-сервера для Windows.

На сайте лежит только последняя версия freeSSHd — 1.3.1. У меня она работает неустойчиво (иногда падает сервис). Предыдущая версия — 1.2.4 — работает прекрасно от XP до Win8.1, хотя и есть небольшой эксплоит — но вроде ничего кроме, как завалить сервис FreeSSHDService не получается, поэтому можно закрыть на это глаза. На всякий случай положил эту версию здесь (размер — 782456)
Читать дальше →

Метеостанция не на Arduino, или Работа с таймерами и прерываниями GPIO в OpenWRT

Reading time9 min
Views23K
Привет, Хабр, давно не виделись!

Сначала — несколько важных новостей о проекте микрокомпьютеров Black Swift, а потом перейдём к основной теме: как на микрокомпьютер с OpenWRT сделать полноценным встраиваемым устройством.

Полноценный встраиваемый компьютер, на мой взгляд, невозможен без двух вещей:
  • Поддержка прерываний по разным поводам, включая сигналы на входах GPIO
  • Поддержка аппаратных таймеров с хорошим разрешением


Без этого значительная часть реальных задач автоматизации либо не решается вообще, либо решается так, что лучше бы не решалась вообще. Исключение составляют только самые банальные — реле подёргать, светодиодиком помигать, пару кнопок отследить. Всё, что требует точных таймингов и/или более-менее быстрой реакции на внешние события — попросту нереализуемо без выноса соответствующего функционала во внешний контроллер, который вышеуказанные вещи умеет, что бессмысленно усложняет конструкцию устройства.

Тем удивительнее, что при достаточном количестве микрокомпьютеров на SoC Atheros AR9331 и более дешёвых Ralink RT5350, позиционируемых именно как встраиваемые решения, с поддержкой в OpenWRT именно этих двух функций всё крайне печально. Здесь, конечно, возникает вопрос, кому эти микрокомпьютеры при таком уровне поддержки нужны — но оставим его висеть в воздухе.



Впрочем, если посмотреть на неё же по TCP/IP, то может сойти и для здорового человека.

Но сначала — новости:

  • Первая партия Black Swift — в России и уже рассылается по рублёвым предзаказам (то есть сделанным не на Kickstarter). Если вы при предзаказе указывали доставку — ждите, если самовывоз — звоните в офис и подъезжайте.
  • Если вы не оформляли предзаказ, но хотите купить Black Swift — звоните в офис и подъезжайте, у нас довольно много плат сверх объёма предзаказов. Оформить доставку можно, но тогда вы по понятным причинам встанете в хвост очереди предзаказов.
  • Сертификация FCC скоро завершится, судя по всему — успешно.
  • Удовлетворение бэкеров с Kickstarter, как и обещалось, ожидается в июне. Разослать отдельно русскоязычным или каким-либо ещё отдельным бэкерам платы мы не можем по техническим особенностям Kickstarter.
  • Потихоньку пополняется документация, из-за нехватки времени —  в первую очередь англоязычная.
  • В частности, образы виртуальных машин с OpenWRT SDK и Eclipse — вот тут (через пару дней обновлю их на свежую версию SDK с нашими патчами). Полезны для всех, кто хочет что-то писать под OpenWRT, но не очень понимает, как.


Ну а теперь — к теме.

Читать дальше →

TrueCrypt контейнер как хранилище для виртуальных машин XenServer

Reading time3 min
Views15K
Появилась задача реализовать шифрованные контейнеры для виртуальной машины на XenServer, да еще и в добавок шифровать их с помощью TrueCrypt. Не найдя никакой полезной информации по теме в сети, решил поделиться заметкой по этому вопросу. На данный момент решение введено в эксплуатацию, работает и не кашляет.

Задачник спрашивает — зачем козе баян?

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

Почему бы тогда не зашифровать данные на виртуальной машине?

Да, почему бы и нет. Но в моем случае пришлось бы шифровать порядка 20 машин и в случае перезагрузки пришлось бы подключать все 20 контейнеров, что не очень-то удобно. Поэтому зашифруем сразу диск и развернем на него все виртуальные машины.
Читать дальше →

Приглашаем на OWASP Russia Meetup 6 июня

Reading time1 min
Views3.2K




6 июня, в субботу, состоится OWASP Russia Meetup. Мы приглашаем специалистов по информационной безопасности в московский офис Mail.Ru Group. Продолжая традицию весенней активности PHD, AppSec, CONFidence, HITB и других, участники обсудят новые векторы атак, будущее веб-безопасности, а также послушают приглашенного гостя из Лондона — Pawel Krawczyk, компания Kainos. Он расскажет о своих исследованиях CSP. А завершит встречу круглый стол на тему корпоративных облачных решений.
Читать дальше →

Моделирование дипольной антенны в openEMS

Reading time9 min
Views20K


В предыдущей части было рассказано как промоделировать распространение ЭМВ при помощи симулятора
openEMS. Теперь рассмотрим как рассчитать что-либо полезное. Промоделируем дипольную полуволновую антенну на частоту 500 МГц. Будет рассмотрено моделирование в частотной области и моделирование диаграммы направленности (ДН) антенны. Схема данной антенны показана на рисунке.



Дипольная антенна состоит из двух лучей, каждый из которых имеет длину равную 1/4 волны для резонансной частоты. Запитывается антенна из центра. Антенна имеет сопротивление на чатоте резонанса, равное приблизительно 75 Ом и дигарамму направленности в форме тора. Подробнее о теории работы дипольной антенны можно прочитать, например, в учебнике Айзенберга или Белоцерковского. Эти результаты мы и должны получить после моделирования.

Под катом приведён скрипт с моделью дипольной антенны с построчным разбором. Предполагается, что читатель знаком с основами Matlab/Octave, электротехники и теории антенн (знает что такое комплексное сопротивление, S-параметры и КСВ).
Читать дальше →

Релиз FastNetMon 1.1.2 открытого решения для мониторинга DoS/DDoS атак

Reading time3 min
Views27K
За прошедшие почти 10 месяцев с релиза 1.0.0 была очень большая работа по улучшению программы.

Из основных изменений стоит отметить следующие:
  • Возможность выявлять самые популярные виды атак: syn_flood, icmp_flood, udp_flood, ip_fragmentation_flood
  • Добавление поддержки протокола Netflow, поддерживаются 5, 9 и 10 (IPFIX) версии
  • Добавление поддержки протокола sFLOW v5, который поддерживается большинством современных сетевых коммутаторов
  • Добавлена поддержка использования netmap (поддерживаются Linux и FreeBSD, для Linux предоставляется специальная версия драйвера ixgbe: github.com/pavel-odintsov/ixgbe-linux-netmap) для захвата пакетов. Данный режим обеспечивает наивысшую производительность захвата трафика наряду с PF_RING ZC.
  • Добавлена поддержка PF_RING ZC (к сожалению, этот режим требует отдельной лицензии на библиотеку PF_RING)


Читать дальше →

Кросс-компиляция Qt5 под Linux для Win x32/x64/static/shared

Reading time14 min
Views37K

Цель статьи


Документирование получения системы кросс-компиляции под Linux для Windows x32/x64/static/shared и сборка последней на момент описания Qt 5.4.1 в лайт-версии (для указанных четырех целей). Для себя, глубоко-обожаемого, ну и для пользы обществу.

Назначение


Многие разработчики приходят к выводу, что использование *nix (в частности Linux) более предпочтительно для разработки приложений, используя фрэймворк Qt. И тому есть причины. Qt изначально ориентирована на *nix инструментарий, типа autotool, make, perl… И второй момент, под никсами есть прекрасный инструмент — valgrind, под виндой порта пока его не видел. Ну и последняя причина: просто удобно иметь набор инструментария для создания приложений под различные целевые платформы — в одном месте.

Почему лайт-версия Qt5


Фрэймворк-Qt имеет модульную структуру, но, увы, не совсем совершенную. Некоторые зависимости от внешних библиотек «вешаются» не на модуль, требующий эти библиотеки, а на Qt5Core. Иными словами, нужна вам эта библиотека, или нет — вынь да положЪ в дистрибутив. Пример тому «монстрик» — библиотека ICU. Весит она почти 25 метров! Зависимость вешается, как я упоминал выше, на Qt5Core… а требует ее модуль Qt5WebKit (который по сути в 99% случаев не используется, по крайней мере мной). Что делаем? Вырезаем и отрезаем. Хотите получить фулл-версию Qt5? Об этом упомяну в заключении. Поехали.
Читать дальше →

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

Reading time17 min
Views37K


Сегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
Читать дальше →

Проверяем MS SQL на прочность. Векторы атак на MS SQL Server

Reading time11 min
Views38K
image

Практически ни один серьезный пентест не обходится без проверки СУБД, ведь это одна из самых популярных у злоумышленников дверей к желаемой информации и машине. В крупных проектах в качестве СУБД очень часто используется MS SQL Server. И о проверке именно его безопасности мы сегодня и поговорим. Открывать Америку не будем — опытные камрады лишь освежат свои знания, а вот для тех, кто только начинает осваивать тему, я постарался максимально подробно разложить все по пунктам.
Читать дальше →

Играем мускулами. Методы и средства взлома баз данных MySQL

Reading time10 min
Views73K


MySQL — одна из самых распространенных СУБД. Ее можно встретить повсюду, но наиболее часто она используется многочисленными сайтами. Именно поэтому безопасность базы данных — очень важный вопрос, ибо если злоумышленник получил доступ к базе, то есть большая вероятность, что он скомпрометирует не только ресурс, но и всю локальную сеть. Поэтому я решил собрать всю полезную инфу по взлому и постэксплуатации MySQL, все трюки и приемы, которые используются при проведении пентестов, чтобы ты смог проверить свою СУБД. 0day-техник тут не будет: кто-то еще раз повторит теорию, а кто-то почерпнет что-то новое. Итак, поехали!
Читать дальше →

Тест бесплатных программ для восстановления данных

Reading time5 min
Views569K
Приветствую всех Хабровчан!

Представьте ситуацию, что в один прекрасный момент ваш жесткий диск/флешка/карта памяти перестает нормально работать, и доступ к данным привычным образом уже не получить. Для тех, кто не делает бэкапы, наступает непростое нервное время. В панике народ начинает искать программы для восстановления данных и находит их. Большинство из них бесплатны, что не может не радовать человека в наше непростое время. Но все ли бесплатные программы так эффективно восстанавливают данные? Мы провели пару тестов нескольких популярных программ, и вот что у нас получилось.

image

Внимание! Много скриншотов.
Читать дальше →

Intel Edison. Первый запуск

Reading time9 min
Views111K
Intel Edison

В прошлом году на выставке CES 2014 Intel представила Linux мини-компьютер Edison для интернета вещей. Кратко почитать об анонсе Intel Edison можно тут. Интернет вещей — безусловный тренд этого года. Теперь не только домашний компьютер, планшет, или смартфон могут подключаться к сети Интернет. Но и привычные бытовые вещи, которыми мы пользуемся каждый день. Intel Edison, не ответ компании на Raspberry Pi, а новая ниша миниатюрных энергоэффективных компьютеров, в форм-факторе модуля. Любой разработчик может взять такой модуль, добавить к нему различные датчики, механику, и средство интерактивного взаимодействия, и получить новое устройство.

Intel Edison – мини-компьютер с Linux на борту, базис для построения нового мира вещей основанного на сетевом взаимодействии друг с другом.
Читать дальше →

Заглянем за кулисы разработки: подборка исходных кодов классических игр

Reading time10 min
Views84K
Обожаю заглядывать за кулисы. Мне интересно, как делаются вещи. Мне кажется, что большинству людей это тоже интересно.

Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.

К сожалению, почти все игры – для PC. Найти исходники для консолей или аркад почти нереально, и большинство программистов не в курсе различий подходов к программам на платформах, отличных от PC.

Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.

Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.

Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?

Итак, приступим (в хронологическом порядке):
Читать дальше →

Анализ изображений и видео. Классификация изображений и распознавание объектов

Reading time1 min
Views26K
Сегодня мы публикуем седьмую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



Всего в программе девять лекций, из которых уже были опубликованы:
  1. Введение в курс «Анализ изображений и видео»;
  2. Основы пространственной и частотной обработки изображений;
  3. Морфологическая обработка изображений;
  4. Построение признаков и сравнение изображений: глобальные признаки;
  5. Построение признаков и сравнение изображений: локальные признаки;
  6. Поиск по подобию. Поиск нечетких дубликатов.

Под катом вы найдете план новой лекции и слайды.
Читать дальше →

Information

Rating
7,776-th
Location
Chengdu, Sichuan, Китай
Registered
Activity