Как стать автором
Обновить
4
0
Павел Левченко @IkaR49

Инженер-программист

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

CreateRemoteThread для Linux

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

Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.


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


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


Для понимания текста потребуются базовые знания о системном программировании под Linux: язык Си, написание и отладка программ на нём, осознание роли машинного кода и памяти в работе компьютера, понятие системных вызовов, знакомство с основными библиотеками, навык чтения документации.

Читать дальше →
Всего голосов 61: ↑60 и ↓1+74
Комментарии27

Разработка вредоносного ПО для MacOS: создание заготовки

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров4K

В этой статье мы погрузимся в мир проектирования и разработки вредоносного ПО для macOS, которая по сути является операционной системой на основе Unix. При исследовании внутренностей системы Apple мы воспользуемся классическим подходом с опорой на базовые знания эксплойтов, программирования на C и Python, а также знакомство с низкоуровневым языком ассемблера. Хотя представленные в статье темы могут быть сложными, я постараюсь изложить их понятным языком.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии2

Все про композитинг в X11 | Linux

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.2K

Приветствую, читатели хабра! Вы когда-нибудь задумывались над тем, что скрывается за красотой и динамичностью вашего рабочего стола? Какие компоненты реализовывают анимации и различные графические эффекты: блюр, тень, скругления, прозрачность? В X11 есть одна очень интересная программная единица - композитор. В этой статье мы получим общее понимание того, что это такое, как реализовано и для чего используется. Также, немного поговорим о том, как Xorg хранит информацию для отрисовки, затронем front/back буферы и узнаем, как компоненты рабочего стола обмениваются информацией между собой.

Читать далее
Всего голосов 24: ↑24 и ↓0+28
Комментарии15

Неожиданности IPv6, или почему тупят Instagram и WhatsApp через прокси и VPN

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров33K

Довольно часто в последнее время на разных форумах и чатах люди жалуются, что когда они пользуются VPN или прокси, то у них после подключения на устройствах как-то странно начинают работать некоторые приложения. Например, не приходят сообщения в WhatsApp, не загружаютя сторис в Instagram, и другие подобные вещи. Причем нередко проблема чинится сама по себе спустя 10-15 минут после подключения, но после переподключения или переоткрытия клиента начинается снова. Иные жалобы состоят в том, что не смотря на то, что пользователь выходит в интернет через VPN или прокси, некоторые заблокированные сервисы и сайты у него все равно не открываются. И в том и в том обычно винят баги прокси/VPN-клиентов, администраторов серверов, и кого угодно еще. И я вам скажу: зря. Все гораздо проще и гораздо сложнее одновременно.

Читать далее
Всего голосов 51: ↑50 и ↓1+61
Комментарии55

Избавляемся от паролей

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров18K

Меня зовут Александр Чикайло, я разрабатываю межсетевой экран уровня веб-приложений PT Application Firewall в Positive Technologies и специализируюсь на защите веба. Сегодня речь пойдет о беспарольной аутентификации и ее безопасном применении в приложениях. В этом материале я освещу систему passwordless-аутентификации, уже работающую «из коробки», например, в Windows 11 и Chrome.

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

Читать далее
Всего голосов 16: ↑14 и ↓2+14
Комментарии23

Как правильно передавать секреты запускаемым программам?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7K

Эта статья о том, как правильно передавать секреты запускаемым программам.

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

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

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline
/usr/local/bin/vmagent
--remoteWrite.url=http://vm-cluster.local:1234/api/v1/write
--remoteWrite.basicAuth.username=user-rw
--remoteWrite.basicAuth.password=123456
--promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Всего голосов 18: ↑17 и ↓1+19
Комментарии11

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

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

Источник: polymerh.

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

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →
Всего голосов 98: ↑97 и ↓1+126
Комментарии28

Первый опенсорсный LTE-сниффер с полной функциональностью

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

Базовая станция LTE

В интернете много инструкций, как оборудовать собственную станцию LTE. Сети 4G становятся массовой и доступной инфраструктурой для передачи данных. И важно понимать, какие угрозы безопасности существуют в этой области, как перехватывать и анализировать трафик.

Устройства для прослушивания трафика LTE до недавнего времени имели ограниченную функциональность и не могли анализировать все служебные данные. Однако в прошлом году инженеры из Корейского института передовых технологий (KAIST) опубликовали исходный код первого в мире опенсорсного сниффера LTESniffer с полным набором функциональных возможностей, включая декодирование трафика PDCCH и PDSCH.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+26
Комментарии9

Топовые подходы к решению алгоритмических задач

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

Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Статья подойдёт специалистам, которые хотят углубить свои знания в программировании, и укрепить навыки нахождения оптимальных решений алгоритмических задач.

Читать далее
Всего голосов 13: ↑13 и ↓0+16
Комментарии10

Народный измеритель ёмкости батареек BatteryTest

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров29K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Всего голосов 213: ↑213 и ↓0+232
Комментарии52

Технологический винтаж: вспоминаем субналадонник Xircom REX 6000. Он умел многое

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

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

Если взглянуть на жизнь человека, старающегося идти в ногу со временем 24 года назад, то у него в руках, скорее всего, увидим девайс, который сегодня уже и не встретишь. Речь идёт о КПК, или, как их часто называли, наладонниках. Конечно, искушённого читателя Хабра сложно удивить: наладонники были у многих. Но был среди таких КПК интересный экземпляр, который имел форм-фактор платы PCMCIA и подключался к компьютеру посредством этого интерфейса. Заинтересовали? Тогда добро пожаловать под кат.

Читать далее
Всего голосов 30: ↑30 и ↓0+39
Комментарии8

Компоненты среды рабочего стола | Linux

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров11K

Всех приветствую, читатели Хабра! Решил попробовать себя в роли знатока-писателя и освятить для вас такую тему, как “Компоненты среды рабочего стола”, чтобы больше людей, хотя-бы в основе, понимали, что там происходит в системе такого, благодаря чему мы можем, не тыкаясь в консоли, с ней взаимодействовать.

Читать далее
Всего голосов 13: ↑12 и ↓1+15
Комментарии12

Компрометация данных и её обнаружение

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.2K

 Приветствую, Хабр! Меня зовут Никита Титаренко, я инженер в компании «Газинформсервис», студент СПбГУТ им. проф. М.А. Бонч-Бруевича. Мои профессиональные задачи связаны с созданием уязвимых сред и эксплуатацией данных уязвимостей на киберполигоне в компании. Информация об этом используется для создания наборов данных, на которых обучаются модели искусственного интеллекта

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

Читать далее
Всего голосов 7: ↑6 и ↓1+7
Комментарии1

Пишем калькулятор на Rust с GUI

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров14K

Зачем еще один калькулятор? Да незачем, просто как тестовый проект для рассмотрения GUI-библиотеки.

Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и кушает оперативы побольше Webview в Tauri, а до третьей я так и не добрался, узнав об Slint.

Об Slint есть всего несколько новостных постов на Хабре, поэтому, возможно, вам будет интересно посмотреть, что это такое.

Читать далее
Всего голосов 23: ↑22 и ↓1+26
Комментарии84

Числа и байты: как работает память в Linux?

Уровень сложностиСложный
Время на прочтение27 мин
Количество просмотров17K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Всего голосов 31: ↑31 и ↓0+35
Комментарии18

90+ дашбордов для OSINT и глобального мониторинга

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров24K

Наблюдение за тем, какие изменения происходят на планете в масштабах стран и континентов — настоящий источник вдохновения для OSINT-аналитиков. Специалисты Бастион поделились актуальным списком интерактивных дашбордов, которые они держат в закладках, плюс я добавил парочку от себя.

Даже если вы никак не связаны с ИБ, зато часами залипали в контурные карты глобальных стратегий или восхищались глобусом в центре управления X-COM, эта подборка инструментов наверняка вам понравится.

Читать далее
Всего голосов 37: ↑37 и ↓0+41
Комментарии4

Xv6: учебная Unix-подобная ОС. Глава 9. Еще раз о параллельных потоках

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.2K

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

Читать далее
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Анализ Telegram аккаунтов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров54K

Снова приветствую дорогих читателей! Продолжаю цикл статей "ШХ" и сегодня нашим блюдом будет Telegram. В предыдущих статьях мы рассмотрели способы анализа аккаунтов целевого пользователя по его никнейму, после чего проводили разведку его аккаунта в социальной сети Вконтакте. Сейчас я ставлю для себя важным узнать номер телефона пользователя, так как от номера уже можно будет неплохо отталкиваться в разведке и номер телефона может поведать еще больше о своём владельце. В прошлой статье мы пытались выяснить номер при помощи страницы Вконтакте, а в этой как уже догадались по названию, мы будем пытаться выяснить как можно больше информации о Telegram аккаунте.

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

Читать далее
Всего голосов 11: ↑7 и ↓4+4
Комментарии2

Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров11K

Конечная цель проектов импортозамещения в ИТ — полный отказ от операционной системы Windows. Но, как говорится, гладко было на бумаге, да забыли про овраги. Может так оказаться, что быстро заменить какие-то клиентские корпоративные приложения, написанные под эту операционную систему, не получится. В этом случае вам может пригодиться возможность присоединения Windows-компьютеров к домену ALD Pro.

В этой статье я расскажу, как добиться максимальной функциональности от такого сценария развертывания, и презентую утилиту нашей собственной разработки aldpro-join. С ее помощью можно решить проблему настройки рабочих станций всего за пару кликов. Если это именно то, о чем вы хотели узнать, но не знали, кого спросить, — вы на правильном пути. Поехали!

Материал будет полезен даже в том случае, если в вашей инфраструктуре пока еще используется «ванильная» система FreeIPA.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии26

Полные правила игры DOS

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.5K

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

Читать далее
Всего голосов 5: ↑3 и ↓2+2
Комментарии0
1
23 ...

Информация

В рейтинге
4 677-й
Откуда
Тверь, Тверская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Backend Developer
Middle
От 300 000 ₽
Rust
C++
Linux
Cmake