Pull to refresh
3
0.1
Алексей @GAlex1980

DevOps, программист, пентестер

Send message

PNG — not GIF!

Reading time4 min
Views84K
Доброго времени суток!
Вам когда-нибудь хотелось узнать как устроены файлы PNG? Нет? А я все равно расскажу.
Формат PNG(Portable Network Graphics) был изобретен в 1995 году, чтобы стать заменой GIF, а уже в 1996, с выходом версии 1.0, он был рекомендован W3C, в качестве полноправного сетевого формата. На сегодняшний день PNG является одним из основных форматов веб-графики.

Под катом вы найдете общее описание строения PNG-файла, некоторое количество картинок-схем, препарирование в hex-редакторе, и, конечно, ссылку на спецификацию.
Читать дальше →
Total votes 199: ↑191 and ↓8+183
Comments78

Как настроить непрерывную интеграцию в Jenkins при отправке изменений в репозиторий

Reading time7 min
Views9.7K

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

Мы будем интегрировать Jenkins с GitHub, чтобы Jenkins получал уведомления, когда новый код загружается в репозиторий. Когда Jenkins получит уведомление, он проверит код, а затем протестирует его в контейнерах Docker, чтобы изолировать тестовую среду от хост-машины Jenkins. В качестве примера будем использовать приложение Node.js. 

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1

RPC и способы его мониторинга

Level of difficultyMedium
Reading time19 min
Views46K

Всем привет!

Мы - команда исследователей-аналитиков киберугроз в компании R-Vision. Одной из наших задач является исследование возможных альтернативных и дополнительных источников событий для более точного детектирования атак.

И сегодня мы затронем такую тему мониторинга RPC. В статье мы рассмотрим возможные варианты логирования удаленных вызовов функций и процедур Microsoft Remote Procedure Call (MS-RPC), связанных с актуальными и популярными на сегодняшний день атаками.

Но вначале, разберемся в чем заключается базовая работа RPC и на каких механизмах она основывается. Это поможет нам понять какую информацию нам необходимо собирать и отслеживать при детектировании атак, связанных с удаленным вызовом процедур.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments2

Утечка домена ч. 2. Компрометация корпоративной сети через дипломный проект и wpad.dat

Reading time3 min
Views5K

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

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments6

Основы мониторинга (обзор Prometheus и Grafana)

Reading time15 min
Views128K

Мониторинг сегодня – фактически обязательная «часть программы» для компаний любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus и Grafana

Читать далее
Total votes 15: ↑12 and ↓3+11
Comments21

Информационная безопасность в IoT

Reading time19 min
Views8.3K

Данная статья была задумана и реализована, как обзорный материал, посвященный теме обеспечения информационной безопасности в многообразном мире Интернета вещей. Упомянутая многообразность среди прочего привела и к тому, что текст получился весьма объемным, но, смеем надеяться, полезным в части систематизации информации. Для удобства читателей, знакомых с тематикой, ниже приведено содержание статьи с возможностью перехода к интересующему разделу. Тем же, кто только начинает своё путешествие в этой области знаний, предлагаем двигаться по тексту последовательно.

Давайте разберемся
Total votes 4: ↑4 and ↓0+4
Comments8

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Reading time25 min
Views17K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

Читать далее
Total votes 59: ↑59 and ↓0+59
Comments8

Google Dorking. Если ты сотрудник СБ компании

Reading time4 min
Views15K

Про Google доркинг написано и сказано много. Косвенно данной темы мы касались в статье: как проверяют физических лиц в СБ компаний методом OSINT. Ну и самой, на мой взгляд, толковой статьей на просторах Хабр по вопросу доркинга является статья: Google Dorking или используем Гугл на максимум.

В данной статье мы решили углубиться в тему доркинга и рассмотреть вопрос его применения при проверке контрагентов.

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments6

Tiny-qORM: рассказ без счастливого конца

Reading time18 min
Views3.2K
Чаще всего на хабре люди делятся историями своего успеха. Вроде, «Ребята, я написал свою ORM, качайте, ставьте ллойсы!» Эта история будет немного другая. В ней я расскажу о неуспехе, который считаю своим серьёзным достижением.


Ожидание — реальность.

История о метатипах Qt, написании велосипедов, превышении максимального числа записей в объектном файле и, неожиданно, инструменте, который работает так, как и было задумано.
Все заинтересовавшиеся - под кат
Total votes 14: ↑14 and ↓0+14
Comments5

Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose

Reading time7 min
Views23K

Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.

Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут сложного? Ну раз надо, то разрабатывай, где тут могут быть сложности? Но вот беда, ранее я не сталкивался с задачей развертывания проекта, тем более было много вопросов касаемо получения SSL сертификата так как Telegram API работает только с HTTPS протоколом. Увы после долгих поисков я так и не нашел статьи, которая ответила бы на все вопросы, поэтому процесс деплоя затянулся из-за того, что пришлось собирать весь материал по кусочкам. Теперь, когда у меня получилось разобраться с этой проблемой, я бы хотел вам рассказать как это сделать, чтобы сэкономить вам время и бонусом 2000 рублей за SSL сертификат.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments10

Cuckoo – собственная автоматизированная лаборатория анализа вредоносных файлов

Reading time21 min
Views63K
image
Месяц назад портал на моей новой работе был взломан. Руководство задалось вопросом «Как?». В ходе недолгих поисков и анализу подключений к серверам, был найден ПК сотрудника, с которого устанавливалось подключение примерно в то самое время. Сотрудник ничего о взломе не знал, но в ходе беседы вспомнил один случай, ему незадолго до взлома пришёл документ от «сотрудника фирмы», который не открылся. Файл был в формате exe, с этого и началась вся история.
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments26

Отучиваем Google Chrome убивать ресурс SSD накопителя

Reading time4 min
Views96K
Предыстория

Как-то примерно год назад (в 2010 г.) появился у меня компьютер, который можно было брать с собой на диван — ноутбук то есть. Ноутбук выбирался чисто для работы, одним из требований при выборе была неплохая производительность. Процессор Intel Core i3 показался достаточным по производительности.

Но, поначалу шустрый ноутбук все больше и больше начинал меня нервировать своей медлительностью. Не то чтобы он тупил, подвисал и тому подобное — нет, он просто равномерно медленно работал. Особенно это было хорошо заметно если поработаешь за «полноразмерным» компьютером с шустрым винчестером, а потом пересядешь за ноутбук. Виной тому был медленный винчестер ноутбука. Причем это проблема не конкретно моего ноутбука, это проблема всех ноутбуков, потому что в них стоят медленные винчестеры со скоростью вращения 5400 об/мин.
Читать дальше →
Total votes 84: ↑46 and ↓38+17
Comments76

OAuth2.0 авторизация в Vk средствами Qt5.8 и выше

Reading time5 min
Views15K

Qt5.8 принёс нам QNetworkAuthorization -- модуль авторизации на сторонних сервисах. Пока что поддерживаются только протоколы OAuth и OAuth2.0, но обещали позже подвезти и OpenID.

А пока разберёмся, как использовать этот инструмент совместно с VkApi для Authorization Code Flow

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments19

NetCat для пентестера

Reading time4 min
Views32K

Netcat, так-же используемый как “nc” – это сетевая утилита, которая использует TCP и UDP соединения для чтения и записи в сети. Он может быть использован как злоумышленниками, так и аудиторами безопасности. Учитывая сценарий атаки, этот кросс-функциональный инструмент может управляться скриптами, что делает его достаточно надежным, а также поможет нам отладить и исследовать сеть.
Netcat может делать все, будь то сканирование портов, захват баннеров, передача файла или даже создание обратного соединения.

Давайте рассмотрим основные функции netcat.

Читать далее
Total votes 9: ↑5 and ↓4+1
Comments5

Установка OpenSSL для проекта на С++

Reading time10 min
Views14K

Решая в целом тривиальные задачи, приходится сталкиваться с нетривиальными проблемами, и эта история, собственно, об этом.

В кои-то веки, решив написать код для себя любимого, проработал проект, установил окружение, прописал в проекте boost и пошёл писать модули.

Ничто не предвещало беды, но в процессе написания кода было обнаружено, что модуль, который запрашивал у интернета погоду, получал вместо описанного в API json'а следующее: "400 The plain HTTP request was sent to HTTPS port". Уж чем руководствовался разработчик сайта, не перенаправивший запрос без персональных данных, не знаю, но видимо хакеры хотят украсть сведения о погоде в деревне так сильно, что спать и есть не могут.

И тут я сделал манёвр, который стоил мне 50 лет. Точнее, пары бессонных ночей, так как работать тоже надо. Ничтоже сумнящийся, подключил boost::asio::ssl, написал тестовый код, который должен был проверить что теперь есть контакт, но тут моя бровь поднялась вверх в первый раз: проект перестал собираться, потому что в системе не было OpenSSL.

Как настроить openssl и не потеряться
Total votes 17: ↑9 and ↓8+5
Comments29

Tutorial. Как отправлять сообщения из cli (и MikroTik ROS) в Telegram

Reading time8 min
Views21K

Telegram давно уже мой основной мессенжер, и вот, решил я разобраться, как отправлять сообщения из CLI себе в клиент TG, а попутно, понял что это можно использовать и как канал уведомлений от mikrotik'ов.

Под катом - простейшие примеры.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments16

Известные баги ядра Linux и борьба с ними

Reading time7 min
Views13K

Поскольку с каждым днём в современном цифровом пространстве появляются все новые кибер-угрозы, важность безопасности IT-систем переоценить сложно. При этом уязвимыми являются не только онлайн-сети, но и операционные системы. И хотя Linux отличается более высоким уровнем безопасности в сравнении с другими ОС, на 100% от угроз не защищена и она.

В действительности наблюдается повышение количества атак на операционные системы Linux. Наиболее ценные мишени зачастую работают именно на этой ОС, что ставит её безопасность во главу угла. Например, организации, которые стремятся сохранять свои коммуникации совместимыми с HIPAA, должны убедиться, что каждый элемент используемого ими ПО, включая операционные системы (англ.) и даже программы для цифрового рабочего пространства (англ.), максимально защищён.
Читать дальше →
Total votes 24: ↑19 and ↓5+28
Comments11

4 популярных сканера уязвимостей для безопасности Kubernetes

Reading time6 min
Views6.4K

Проект Kubernetes, разработанный в 2014 году силами компании Google, первоначально предполагался для удовлетворения внутренних потребностей компании в сфере управления контейнерами, однако вскоре стал чуть ли не стандартом в области оркестрации. Как и любой другой продукт, Kubernetes не лишён различных проблем с безопасностью. В связи с чем возникает «острый» вопрос в обеспечении её должного уровня. К счастью, было разработано множество инструментов, призванных усовершенствовать безопасность платформы.

И сегодня я расскажу о таких популярных сканерах и утилитах безопасности, как Anchore grype, Kube-bench, Kube-hunter и Falco.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments1

Как я разогнал fail2ban* в тысячу раз с помощью SIMD

Reading time15 min
Views21K

Fail2ban — утилита чрезвычайно полезная во многих случаях. Думаю, многие используют её для того, чтобы в автоматическом режиме блокировать особенно назойливых «посетителей». К сожалению, если входящий поток становится слишком большим, fail2ban теряет все свои полезные свойства, потому что разбор лога безнадёжно отстаёт от реальности.

Лог nginx из 100 тысяч строчек fail2ban при самых простых настройках разбирает порядка 45 секунд. Нехитрыми манипуляциями его можно ускорить раз в 6, но этого оказалось недостаточно. Наивная реализация на аналогичного фильтра на Rust уже обеспечила требуемую производительность, но если уж взялся за оптимизацию, то остановиться трудно.

* только необходимую часть функционала

Читать далее
Total votes 97: ↑95 and ↓2+117
Comments76

Docker Swarm для самых маленьких

Reading time13 min
Views147K

Данная статья посвящена настройке и работе с Docker Swarm.

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

Что нам потребуется для освоения:

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments26

Information

Rating
3,021-st
Location
Bełk, Katowice, Польша
Registered
Activity