Search
Write a publication
Pull to refresh
0
0
Vadim Toptunov @g0rd1as

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

Send message

Три коротких истории о реестре Windows

Reading time4 min
Views27K
Добрый день, уважаемые читатели.

Реестр — это одна из самых заметных и значительных систем Windows. Вряд ли найдется человек, который не слышал о нем. Занимаясь программированием под Windows уже около 20 лет, я думал, что знаю о нем все. Но время от времени появляется что-то новое, что показывает мне, как я был неправ. Поэтому сегодня я хочу рассказать вам о необычных способах работы с реестром, которые я встречал, исследуя руткиты, и которые удивили меня.

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

Python3. Автоматизация конфигурации мультивендорного сетевого оборудования

Reading time13 min
Views15K

Предисловие


Всем доброго времени суток!

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

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

В статье будет приводиться блок кода под спойлером, а под ним будет описание с вырезками и объяснениями почему именно так и для чего это.

Задача


Использовать именно python3. Скрипт должен уметь попадать на коммутаторы из списка, определять что за вендор, давать требуемую команду, логировать.

Собственно как я к этому пришел


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

Но для меня было важно сделать что-то свое, т.к. изучать python я начал недавно и нужно прокачивать скил в программировании, и мой инструмент должен быть похож на молоток (прост в использовании, и легок в обслуживании). Если интерес до сих пор остался тогда прошу под кат.
Читать дальше →

Белые пятна в работе с SSH

Reading time7 min
Views36K
SSH — очень мощный и гибкий инструмент, но, как показывает практика, не все понимают, как он работает, и правильно его используют. Слово Secure входит в аббревиатуру SSH и является одним из ключевых аспектов протокола, но часто именно безопасности уделяется недостаточное внимание. В этой статье я хочу рассказать о нескольких типичных ошибках при работе с SSH, а также о моментах, о которых часто забывают.

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

Опасный протокол AMF3

Reading time3 min
Views5.1K
Недавно Markus Wulftange из Code White поделился интересным исследованием о том, как можно атаковать веб-приложение, если оно написано на Java и использует протокол AMF3. Этот протокол можно встретить там, где используется Flash и требуется обмен данными между SWF объектом и серверной частью приложения. Протокол позволяет передавать на сервер сериализованные объекты типа flash.utils.IExternalizable. Эти объекты на стороне сервера десериализуются, происходит конверсия типов, и flash.utils.IExternalizable превращается в java.io.Externalizable. Стоит отметить, что классы, которые реализуют этот интерфейс, сами полностью контролируют процессы собственной сериализации и десериализации. Это значит, что можно постараться найти такой класс, при десериализации которого будет выполнен произвольный код.

Маркус исследовал все классы из OpenJDK 8u121, реализующие интерфейс java.io.Externalizable и обнаружил, что в их числе находятся классы sun.rmi.server.UnicastRef и sun.rmi.server.UnicastRef2, связанные с механизмом RMI. Если правильно подготовить объект одного из этих классов (инициализировать его ссылкой на хост атакующего), а затем передать его на уязвимый сервер, то JVM сервера зарегистрирует ссылку LiveRef на «удаленный объект». После этого механизм сборки мусора попытается установить JRMP соединение с указанным хостом. А как известно, протокол JRMP подразумевает обмен сериализованными объектами Java. Это можно использовать для проведения атак, связанных с десериализацией.

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

В арсенал радио-хакера: широкополосная замена RTL-SDR до 6 ГГц

Reading time3 min
Views88K

image


Недавно я прочитал статью, в которой автор пророчит нам веселое, но светлое будущее. Кроме всего прочего, он говорит дословно следующее: «Если мы ничего не можем поделать с тем, что государство следит за нами, мы должны иметь право следить за ним».


Замечательный тезис! Даешь гонку радио-вооружений!

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

Поиск уязвимостей в смарт-контрактах: обзор конкурса EtherHack на Positive Hack Days 8

Reading time10 min
Views4.1K
image

В этом году на PHDays впервые проходил конкурс под названием EtherHack. Участники искали уязвимости в смарт-контрактах на скорость. В этой статье мы расскажем вам о заданиях конкурса и возможных способах их решения.
Читать дальше →

Кто есть что в рекрутменте Северной Америки — Часть 1

Reading time4 min
Views11K
Спасибо Loriowar за приглашение на Хабр. Я уже давно почитываю, но никогда не писала. Я сама IT рекрутер из Канады, и мне очень прикольно читать, как программеры воспринимают процесс рекрутмента и hr-ов. Я сама когда-то пыталась стать программистом, прошла весь угар поиска работы да еще в чужой стране, на чужом языке, да и в момент обвала рынка dotcom-ов. Потом мне надоело извиваться как угорь на сковородке перед тупыми рекрутершами, и я решила стать одной из них. Я думала, что никогда не буду вести себя как они, но пришлось, сама логика найма принуждает к этому. Так что я знакома с претензиями обеих сторон к друг другу.

Я несколько дней мылилась, не знала с чего начать. Специфика североамериканского рекрутмента мне знакома досконально, но что будет интересно Хабру не совсем уверена. Я просто решила начать с описания агентской кухни, а дальше как пойдет. Если интересно, сами темы задавайте.

Кстати, рекрутмент в Штатах и в Канаде устроен одинаково, кроме некоторых аспектов, вызванных различиями в законодательстве и иммиграционной политике. А так, методы, подходы, инструменты все одинаковые.

Вот, кстати, и первое отличие — в Штатах до сих пор существуют агентства называемые Employment Services/Placement Consultants/Job Placement Agency и т.п. Они берут оплату с кандидатов за факт трудоустройства. В России такие фирмы, кажется, называются кадровыми агентствами. В Канаде, и по-моему в Англии, данный вид деятельности запрещен законодательно т.к. считается неэтичным.
Читать дальше →

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

Reading time3 min
Views34K
Нет смысла лишний раз напоминать, почему при разработке сервисов важно уделять внимание безопасности. Поговорим о том, как строить системы защиты, поддерживать их в актуальном состоянии и развивать с увеличением числа угроз. Довольно много практических знаний по этой теме можно получить из интернета. Теория, в свою очередь, неплохо освещается в нескольких российских вузах. Есть и множество полезной литературы. Но хорошего специалиста по безопасности отличает не просто знание инструментов и теории, а способность применять теорию в реальных ситуациях.

В апреле этого года мы впервые провели бесплатную Школу информационной безопасности. Лекции в школе подготовили и прочитали сотрудники службы ИБ Яндекса — те специалисты, которые непосредственно отвечают за защиту наших продуктов. Мы получили более 700 заявок, 35 человек успешно закончили школу, 9 из них получили офферы в Яндекс (7 — на позицию стажёра, 2 — на штатную позицию).

Сегодня мы публикуем видеокурс со всеми лекциями Школы. Вы можете почерпнуть те же знания, что и студенты — разве что интерактива поменьше и не нужно делать домашнее задание. Для просмотра стоит знать хотя бы один язык программирования (JS, Python, C++, Java), на начальном уровне разбираться в принципах построения и работы веб-приложений, понимать принципы работы операционных систем и сетевой инфраструктуры, а также основные типы атак и виды уязвимостей.


Надеемся, этот курс прокачает вас в роли специалиста по ИБ, а также поможет защитить ваши сервисы от утечек данных и атак злоумышленников.

Подборка свежих книг по Python для тех, кто только собрался его изучать

Reading time5 min
Views54K
image

Всегда есть множество поводов выпустить книгу про IT и программирование. Взлетел курс биткоина — на рынке появляется десяток блокбастеров про технологию блокчейна и майнинг. Машина на Go обыграла человека в какую-нибудь интеллектуальную игру — получите кипу «самых полных руководств» по гугловскому языку.

Но есть темы вечные. Одна из них — Python. Оно и понятно, язык прекрасно подойдёт тем, кто с программированием не знаком вовсе; изучить все основные библиотеки можно за пару недель, а возможности практически не ограничены. Автор блога GeekBrains Илья Бубнов заглянул на электронные полки магазина Amazon, чтобы посмотреть, что полезного было выпущено или перевыпущено по Python в первой половине 2018 года.
Читать дальше →

Безопасная разработка на PHDays 8: итоги встречи сообщества PDUG

Reading time4 min
Views1.8K


15–16 мая на площадке форума по кибербезопасности PHDays прошла очередная встреча сообщества безопасной разработки Positive Development User Group. В двухдневную программу вошли 11 докладов разной степени хардкорности и круглый стол, посвященный статическому анализу.

Под катом делимся материалами встречи: презентациями и видеозаписями докладов.

«Календарь тестировщика» за апрель. Метрики на службе у QA

Reading time6 min
Views6.7K
Апрельская статья из цикла «Календарь тестировщика» посвящена метрикам. Кирилл Раткин, тестировщик Контур.Экстерна, расскажет как повысить эффективность тестирования с их помощью и не уйти в крайности.



Как часто вам приходится что-либо оценивать? Наверное, каждый день. Хорошая или плохая сегодня погода, сносно ли ведет себя кот, нравится ли вам эта футболка. На работе вы оцениваете свои задачи и результаты: это сделано хорошо, а тут можно было лучше. Такие оценки часто основаны на субъективном ощущении. Но эти оценки не могут повысить эффективность процессов, и нужна более высокая детализация. Тогда на помощь приходят метрики.


Как вы можете охарактеризовать свои рабочие процессы и практики? Они хорошие? Плохие? Насколько? Почему вы так решили?


Не удержусь и процитирую слова лорда Кельвина:


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

Никакой процесс не может считаться зрелым пока не станет прозрачным и управляемым.


Я видел две крайности:


  1. Люди считают, что у них все хорошо/плохо и без радаров. «Ну это же и так понятно»(с).
  2. Каждый шаг обвешан цифрами, но большая их часть лежит мертвым грузом и никак не используется.
Читать дальше →

Pwn iNt All! Находим уязвимости в скриптовых движках и вскрываем usermode-механизмы защиты Windows. Часть 1

Reading time9 min
Views6.1K

Операционные системы – дело тонкое. И очень защищенное! Обойти их механизмы защиты — дело сложное и трудоемкое, даже слегка похожее на волшебство. Но говорят, что сын маминой подруги уже нашел несколько RCE-уязвимостей, написал эксплойт, и обошел все защитные механизмы. Попробуем и мы!

Сделаем это на примере задания № 11 из прошедшего NeoQUEST-2018. Задачка реалистичная — рассмотрим “живой” сценарий удаленного выполнения кода, похожий на тот, что возникает в процессе эксплуатации Javascript-движков в браузерах. Будем искать уязвимости в некотором интерпретаторе, реализовывать их с получением ARW-примитива, а в результате — обойдем защиту ОС Windows пользовательского режима. Задание оказалось крайне сложнопроходимым интересным, поэтому посвятим ему целый цикл статей с подробным описанием пути к успеху.

По легенде, у нас имеется бинарник программы, а также адрес, на котором крутится подобный сервис. Также упомянуто о том, что первой ступенькой к успеху является некая «ключевая» функция.

Итак, приступим!
Читать дальше →

Вольный опус про найм, собеседования и трэш на рынке IT-кадров

Reading time11 min
Views96K

Нынче программист может не найти работу в двух случаях: он либо клинический дятел и неадекват, либо хочет в качестве оклада звездолёт. Во всех остальных случаях "в девках" он долго не задерживается. Однако вопрос "кто кого на***л?" интересует обе стороны "противостояния". Так же всем хочется знать цену вопроса и как бы расширить целевую аудиторию, побыстрее найти наилучшее предложение и отвадить всяких отмороженных. Ну и, конечно же, есть чисто-программерское "чтобы внутренний перфекционист был спокоен". Обо всём этом по чуть-чуть и поразмышляю в текстовой форме.

Клац

NeoQuest 2018: Читерство да и только

Reading time9 min
Views5.9K


Всем доброго времени суток. На прошлой неделе закончился очередной очный этап NeoQuest. А значит пришло время публиковать разбор некоторых заданий. Знаю многие ждали этого разбора, поэтому всех интересующихся прошу под кат.
Читать дальше →

Паттерны для тестировщиков. Proxy (заместитель)

Reading time4 min
Views8.8K

Прежде, чем вот это все


Привет. Я — Дима и я не знаю паттернов. Как для тестировщика, не сказать, что проблематично. Как для автоматизатора..? Ну, давайте честно, жить тоже можно.

Из чатиков, конференций и общения с коллегами, понятно: главный паттерн — PageObject — выучен, чего еще нужно?

А здесь вот был большой такой абзац размышлений о том, почему мы, на самом деле не используем шаблоны проектирования: мы их не знаем или на и без них неплохо? Еще были углубления в историю, что паттерны — это вам не это, а десятилетиями проверенные знания и методики, аргументы за и упоминание известных товарищей, которые против.

Но, в конечном счете, знание паттернов точно не помешает.

Так что, ни в коем случае не призывая вас к повсеместному вкручиванию шаблонов в код, начинаю публиковать цикл статей по паттернам.

Еще немножко о формате и поехали


Самих статей/книг/видеокурсов по паттернам вполне себе прилично. И я уверен, вы, без труда, найдете ресурс с грамотным объяснением, примерами на вашем любимом ЯП, юэмэляками и т.д.

Задача этой и последующих статей: рассказать о паттернах тем, кто уже работает с кодом, но не имеет хорошей базы по теории. Так что эти статьи, пожалуй, для меня, в первую очередь.

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

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

И да, я буду очень рад конструктивной критике в комментариях.

Вот.

  • про себя — рассказал
  • что будет — рассказал
  • зачем — рассказал
  • для кого и как — рассказал

Можно начинать.
Читать дальше →

Анализ таблиц маршрутизации, или зачем ещё сетевому инженеру Python

Reading time29 min
Views25K

Hello Habr! Эта моя первая статья на Хабре, и родилась она из вопроса на одном из профессиональных форумов. Выглядел вопрос, несколько перефразируя, следующим образом:


  • Имеется набор текстовых файлов, содержащих вывод таблиц маршрутизации с различных сетевых устройств;
  • Каждый файл содержит информацию с одного устройства;
  • Устройства могут иметь различный формат вывода таблицы маршрутизации;
  • Необходимо на основании имеющихся данных по запросу выводить путь до произвольной подсети или IP-адреса с каждого из устройств;
  • Вывод должен включать на каждом участке пути информацию о записи из таблицы маршрутизации, по которой будет смаршрутизирован пакет.

Задача мне показалась мне интересной и перекликалась с одной из собственных сетевых утилит, планируемых в перспективе.Поэтому в свободный вечер, поразмыслив над ее решением, написал Proof-of-Concept реализацию на Python 2.7 под формат Cisco IOS, IOS-XE и ASA, отвечающую основным требованиям.


В статье попытаюсь воспроизвести ход мысли и прокомментировать основные моменты.
Материал рассчитан на людей, уже базово знакомых с основами сетей и Python.
Всем заинтересовавшимся добро пожаловать под кат!

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

Стеганография в IP-пакетах

Reading time4 min
Views20K
Однажды, перед защитой очередной лабораторной работы мне задали вопрос: какие поля IP-пакета можно использовать для стегано? Я не знал и лишь пожал плечами. Но вскоре я всё же решил изучить этот вопрос.

Под катом вас ждёт изучение заголовков IP-пакетов, собственная утилита ping на Python и несколько способов передать данные, не привлекая внимания.
Читать дальше →

Работа с массивами в bash

Reading time8 min
Views127K
Программисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.

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

Заблуждения программистов о трудоустройстве

Reading time3 min
Views92K
Это перевод. Статья опубликована в июне 2018 года

Я не сразу устроился на достойную работу. Мне вполне хватало технических навыков, но я просто сдерживал себя. На это не было никаких причин, кроме глупых предположений о том, что хочет работодатель. Я пошёл на дерьмовую работу и тратил всё свободное время на коммиты Github ради улучшения профиля. Я тогда не знал, что принимающим решение людям практически не интересен этот код.

Прошло четыре года. Теперь я лучше понимаю процедуру трудоустройства и то, как увеличить свои шансы, используя логику нанимателя.

В стиле известной статьи Патрика Маккензи об именах, вот список главных заблуждений, которые могут быть у программистов (особенно начинающих).
Читать дальше →

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity