Pull to refresh
6
0
Семченко Александр @0xcffaedfe

Программер & Реверсер

Send message

Создание CLI утилит на Go с библиотекой Cobra

Level of difficultyEasy
Reading time4 min
Views3.2K

Сегодня мы рассмотрим, как с помощью замечательной библиотеки Cobra превратить обычный Go-код в инструмент CLI. Cobra позволяет создавать интерфейсы командной строки.

Начнем с самого начала — установки и настройки проекта.

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

Чистим права доступа к файлам и папкам от удалённых пользователей

Level of difficultyMedium
Reading time1 min
Views2.4K

Многие системные администраторы в своей практике сталкиваются с файлопомойками, на которых их коллеги нерадивые назначали права к файлам и папкам напрямую пользователю, а не группе доступа. А пользователей со временем удаляли из домена. Как итог имеем гору файлов и папок, у которых в разделе безопасность мы видим гору sid ов. Чтобы побороть данную проблему предлагаю небольшой powershell скрипт

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

Математика: полезные книги

Reading time3 min
Views23K

What”s up guys?

Математика — как говорили в школе — царица наук, а ещё очень важный и полезный скилл для программиста.

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

Читать далее
Total votes 16: ↑6 and ↓10-3
Comments11

Ищем иголку вредоносных запросов в стоге трафика: PT NAD vs. Cobalt Strike и Brute Ratel C4

Level of difficultyMedium
Reading time9 min
Views7.5K

Популярность фреймворков постэксплуатации среди злоумышленников растет: это удобный инструмент контроля зараженных устройств и горизонтального перемещения внутри сети. Они помогают атакующему собрать всю карту сети и связи между узлами в одном интерфейсе, из которого они же и управляются. Среди фреймворков тоже есть своя мода: их число растет и появляются новые проекты, что ставит новые задачи перед создателями средств защиты. То и дело в открытый доступ попадают взломанные версии инструментов. В 2021 и 2022 годах были бесплатно опубликованы взломанные версии давно известных платформ Cobalt Strike и Brute Ratel 4 со схожей функциональностью, после чего их популярность резко возросла. Сейчас, в 2023 году, среди фреймворков можно заметить новые названия.

Какую сложность они представляют для средств защиты? Зачастую хакерские фреймворки имеют богатый арсенал обхода узловых средств защиты. Они умеют оставаться незамеченными для антивирусов и EDR-решений. Тем не менее зараженный узел по-прежнему использует сеть для связи с управляющими серверами и получения команд. Так называемые биконы (beacons) Cobalt Strike умеют общаться с управляющим сервером и без доступа в интернет: они просто передают свои данные по цепочке таких же биконов по протоколам SMB или TCP, пока наконец не выйдут «наружу». Соединение же с самим управляющим сервером может пойти более привычным образом — по HTTP или HTTPS, — и оно нередко мимикрирует под загрузку библиотеки jQuery или общение с удостоверяющими центрами. Другие фреймворки, напротив, могут изображать обычный сайт: периодические отстуки отправляются на HTML-страницы, а результаты их выполнения выглядят как POST-запросы на PHP-скрипты. Отстук — это не что иное, как периодический запрос на управляющий сервер, главная цель которого — дать понять, что бикон все еще жив. Для любителей более изощренным способом скрыться в инфраструктуре эти инструменты могут предложить классические DNS-туннели. Многообразие сетевых протоколов и способов маскировки может помочь злоумышленникам в обходе привычных сетевых средств защиты. Но о решениях класса network traffic analysis (NTA), которым является наш продукт PT NAD, злоумышленникам пока известно мало.

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

Удивительное рядом. Как устроен буфер обмена в Windows и Linux

Level of difficultyEasy
Reading time6 min
Views22K
Опенсорсная утилита CopyQ показывает содержимое буфера обмена на всех ОС и сохраняет историю

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

В некоторых случаях данные вообще нигде не сохраняются по нажатию Ctrl+C. И по нажатию Ctrl+V будет возвращён NULL. Shit happens, как говорится…
Читать дальше →
Total votes 52: ↑51 and ↓1+69
Comments20

Как я участвовал в создании информационных систем для медицины

Reading time6 min
Views4.4K

В 1987-м году я окончил с красным дипломом приборостроительный факультет челябинского политехнического института по специальности "Автоматика и телемеханика", хотя планировал стать физиком-теоретиком и школу заканчивал в специализированной школе-интернате №18 при МГУ. По распределению попал в специализированное конструкторское бюро и до 1991-го года разрабатывал электронные блоки для бронетанковой техники. До сих пор считаю что полученная при этом инженерная школа является чем-то недостижимым в современных реалиях. В частности, мы с коллегами создали комбинированный аналого-цифровой программируемый комплекс, который в реальном времени проводил расчеты по математической модели объекта, описываемой системой дифференциальных уравнений 4-го порядка с 14-ью нелинейными элементами и принимал решения более 10 тысяч раз в секунду. На современных вычислителях это наверное и можно было бы сделать, но в то время мы решали задачу имея в распоряжении только набор интегральных микросхем, самой крутой из которых была ПЗУ на 2 килобайта и всё наше творчество должно было уместиться в 9 литров объёма и работать в диапазоне температур от -40 до +85.

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

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

Отказоустойчивость СХД АЭРОДИСК в условиях высокой нагрузки

Reading time6 min
Views4.1K

Привет, Хабр! Начинаем серию статей с глубоким разбором функциональности СХД АЭРОДИСК серии 5. В этой статье речь пойдет об основе СХД – отказоустойчивости и производительности. Как работает, как правильно настраивать и какой результат можно получить. Более того, все то же самое и даже больше мы покажем в реальном времени на нашем следующем вебинаре Около-ИТ, который состоится 21 февраля 2023 в 15:00. Зарегистрироваться на вебинар можно по ссылке.

Читать далее
Total votes 4: ↑2 and ↓20
Comments15

Самый простой способ ввести Linux в домен

Level of difficultyMedium
Reading time5 min
Views46K

Всем привет!

Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруднику предприятия сесть за любую рабочую станцию Linux, используя свой доменный логин и пароль.

Начиная с Windows 2000 Server для аутентификации пользователей домена используется протокол Kerberos, разработанный еще в 80-х годах прошлого столетия, алгоритм работы которого, ИМХО, являет собой пример отличного инженерного хака, в хорошем (изначальном:) смысле этого слова. В конце статьи есть ссылка на описание его работы, а сейчас надо сказать, что имеется несколько реализаций этого протокола и решение из этой статьи не привязано только к Microsoft Active Directory

Читать далее
Total votes 29: ↑26 and ↓3+33
Comments37

В человеческом кишечнике происходит массовое вымирание. Ученые пытаются сохранить наши бактерии для будущих поколений

Reading time5 min
Views16K

Неожиданно ценные люди для нашего будущего

Не читать, если кушаете! Я предупредил.


Оказывается, разнообразие бактерий в нашем кишечнике стремительно сокращаются. Люди всё чаще питаются плюс-минус одним и тем же. Многие уникальные биомы мы уже потеряли. Чтобы сохранить разнообразные бактерии человечества, ученые запустили большой проект, в ходе которого они собирают, замораживают и хранят экскременты со всего мира. Создается целый подземный банк таких «богатств», который хотят оставить для будущих поколений. Как хранилище семян в Шпицбергене, только… скажем так, не настолько романтично.

Читать дальше →
Total votes 43: ↑35 and ↓8+40
Comments66

Величайшие программисты XXI века. Юрки Алакуйяла — гений сжатия

Level of difficultyEasy
Reading time8 min
Views18K
Пару дней назад на Хабре обсуждали, что сжатие информации — главная концепция нашей жизни. И вот перед нами представитель этой самой индустрии. Человек, который видит мир через призму теории информации, энтропии, хаоса и закономерностей.

Мало кто слышал имя Юрки Алакуйяла (@jyzg), но все мы используем его разработки. Картинки JPEG частенько генерируются фантастическим JPEG-энкодером guetzli с применением психовизуальных моделей, а HTTP-трафик в интернете жмётся кодеком brotli, тоже лучшим в своём классе.

Д-р Юрки Алакуйяла — активный член опенсорсного сообщества и исследователь. Работает техлидом Google Research Europe (Швейцария). Среди последних разработок — алгоритмы сжатия JPEG XL, WebP lossless и др.
Читать дальше →
Total votes 88: ↑88 and ↓0+88
Comments5

Загрузка Linux

Reading time3 min
Views19K

В этой статье описаны основные этапы загрузки операционной системы Linux.  Эта тема которую неплохо бы было знать любому ИТ-специалисту.

Основные этапы загрузки хоста с ОС Linux:

Читать далее
Total votes 29: ↑1 and ↓28-27
Comments6

58 байтов CSS, которые выглядят красиво почти где угодно

Reading time2 min
Views31K

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

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}

Давайте их разберём.
Читать дальше →
Total votes 44: ↑35 and ↓9+37
Comments11

Всё про USB-C: резисторы и E-Marker

Level of difficultyHard
Reading time7 min
Views26K

Если вы следите за нашей сагой про USB-C, то уже знаете, что жила CC в этих кабелях используется для коммуникации и определения полярности. Однако есть и один малоизвестный факт, а именно то, что в USB-C коммуникация реализуется через два протокола – аналоговый и цифровой. Сегодня мы разберём аналоговую передачу, получше уяснив роль и принцип работы пресловутых резисторов 5,1 кОм. Помимо этого, мы познакомимся с микросхемами E-Marker и таинственным VCONN.
Читать дальше →
Total votes 62: ↑62 and ↓0+62
Comments12

Заметка о восстановлении Grub UEFI для Proxmox 7.xx (Debian 11)

Reading time4 min
Views10K

Доброго времени суток, Хабр!

В своей работе IT-специалист иногда сталкивается с задачами, которые входят только в общий кругозор на уровне "читал, осознал", требующими срочного решения.

Недавно, после установки драйверов видеокарты NVIDIA для XFCE4 на Proxmox 7.xx перестал пинговаться гипервизор с роутера и компов сети. После его перезагрузки я увидел черный экран и надписью "grub disk native sectors not found".

Как восстановить загрузку с диска LVM Deb
Total votes 10: ↑9 and ↓1+11
Comments45

Алиса, Яндекс.Станция и Nigthscout

Reading time4 min
Views3.6K

Родители детей с диабетом знают, как сложно убедить ребенка постоянно следить за уровнем глюкозы. Поэтому любой дополнительный интерфейс "лишним" не будет: виджет на телефоне, смарт-часы, уведомления в мобильном приложении.

Сервис Nightscout, представляющий собой веб-приложение с базой данных об уровне глюкозы и событиях терапии, позволяет обращаться к себе по API с запросом информации. А всем известная голосовая помощница и колонка с ней - позволяет разрабатывать для себя индивидуальные варианты диалогов "запрос" - "ответ".

Например, "скажи, какой уровень глюкозы у ... ?". а в ответ: "уровень такой-то, снижение/рост на столько-то, за последние Х минут снижение/рост умеренный/сильный на Y ммоль на литр." (немного легкой аналитики и выводов).

Итак, по шагам.

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

Пишем и отлаживаем приложения для Flipper Zero

Reading time7 min
Views12K

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

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

JEP-400 или UTF-8 РєРѕРґРёСЂРѕРІРєР° РїРѕ умолчанию

Reading time9 min
Views13K

Не прошло и пяти лет, как в Java 18 докатилось небольшое, но очень ожидаемое и обсуждаемое изменение: теперь во всех стандартных API используется UTF-8 кодировка по умолчанию. Это изменение, которое сделает выражение «Write once, run anywhere» действительно правдой, так как теперь поведение приложения будет еще меньше зависеть от системы, где оно запущено. 

На конференции Joker я рассказал, как развивались события в работе над JEP-400 и как сделать так, чтобы ничего не поломалось после перехода на новые версии JDK. А теперь делюсь с Хабром и видеозаписью доклада, и текстовой версией. Как говорится, помимо двух самых сложных задач в программировании – нейминга и инвалидация кэша, есть ещё две: таймзоны и кодировки. Вот о кодировках и поговорим. Как читается название доклада/поста — разберёмся в конце.

Читать далее
Total votes 40: ↑39 and ↓1+47
Comments25

Обзор Harbor. Реестр Docker образов с организацией прав доступа и сканированием образов на наличие угроз

Reading time6 min
Views20K

В основе концепции Docker лежит такое понятие как образ. В терминологии Docker образ — это исполняемый файл (шаблон), в котором содержится исходный код приложения, его библиотеки и все самое необходимое для запуска контейнера. Готовые образы хранятся в реестрах. Один из самых известных и в тоже время общедоступных реестров это Docker Hub — официальный реестр от разработчиков Docker. Однако существуют сторонние продукты, которые значительно расширяют функционал реестров, например, путем использования прав доступа и сканирования образов на наличие уязвимостей. Одним их таких продуктов является Harbor.

Harbor — это бесплатный реестр для хранения Docker образов c открытым исходным кодом, который предоставляет доступ к образам с помощью политик, а также умеет сканировать образы на наличие уязвимостей. Проект был запущен в 2016 году силами командой инженеров из компании VMware. В 2018 году Harbor перешел под контроль организации CNCF и с тех пор активно развивается — новые версии стабильно выходят несколько раз в месяц.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments7

Шаблон приложения Asp .Net Core 6 Web API с предустановкой и настройкой необходимых инструментов

Reading time7 min
Views13K

Обычно моя работа связана с разработкой функционала REST веб-сервисов. Чаще всего, разработка эта ведется на базе уже существующих приложений, созданных и настроенных ранее по шаблону Web API в VisualStudio. Создавать новые приложения приходится не часто, последнее созданное мной, было еще на .NET Core 3.1, поэтому, когда возникает подобная задача, приходится тратить время на повторное изучение технологий первоначальной настройки приложения, чтобы оно отвечало всем требованиям бизнес-процесса компании, в которой я работаю. Столкнулся с этой задачей накануне, решил создать шаблон приложения (ссылка на репозиторий GitHub), в котором уже все настроено и готово. Краткое описание процесса привожу в этой статье. Постарался разбить сам процесс на независимые блоки, чтобы для реализации одного из них не приходилось изучать другие. Намеренно подробно освящаю настройку базовых функции, не вдаваясь в описание принципа работы той или иной функции - для более глубокого понимания привожу ссылки на документацию, по которой учился сам. Статья моя будет полезна для новичков в качестве отправной точки для изучения тех или иных функций .Net Core 6, а так же для специалистов, которые как и я, сосредоточены на реализации бизнес-логики приложения и требуется сократить время восстановления в памяти технологии его первоначальной настройки.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity