Як працює Assembly у сфері кібербезпеки? Дізнайтеся про синтаксис Assembly, системні виклики, керування пам’яттю, ін’єкції коду, завантаження віддзеркаленого коду, маніпуляції з токенами доступу та інші техніки, які використовують у світі хакінгу. Огляд основних концепцій та інструментів для аналізу низькорівневого програмування та атак.
Синтаксис Assembly визначає, як записуються команди для роботи з процесором. Використовується дві основні нотації: AT&T та Intel.
Системні виклики – це механізм для взаємодії з ОС, що дозволяє програмі отримувати доступ до файлової системи, мережі та інших ресурсів.
Регістри – це спеціальні комірки пам’яті в процесорі, що використовуються для збереження проміжних даних і керування програмою.
Код в Assembly поділяється на різні секції, наприклад: .text (інструкції), .data (змінні) і .bss (нульові змінні).
Обробка текстових рядків у Assembly здійснюється за допомогою спеціальних інструкцій, таких як movsb, stosb, lodsb.
Assembly підтримує роботу як із цілими числами, так і з плаваючою комою, використовуючи різні типи регістрів.
Логічні операції та умовні переходи (cmp, jz, jnz) дозволяють реалізовувати розгалуження в коді.
Методи доступу до пам’яті, зокрема безпосередня, непряма, індексована та відносна адресація.
В Assembly можна відкривати, читати та записувати файли через системні виклики (open, read, write).
Стек зберігає дані та керує викликами функцій, а пам’ять керується інструкціями push, pop, mov.
Метод введення шкідливого коду в чужі процеси для отримання контролю над ними.
Техніка запуску шкідливого коду за допомогою стандартного Windows-файлу Rundll32.
Використання асинхронних викликів процедур для виконання шкідливого коду.
Отримання або використання існуючих акаунтів у системі для доступу до ресурсів.
Завантаження бібліотек у процес іншої програми для виконання власного коду.
Техніка обходу безпекових механізмів Windows, що захищають від виконання підозрілих файлів.
Редагування реєстру Windows для зміни системних налаштувань або забезпечення прихованості шкідливого коду.
Метод динамічного завантаження шкідливого коду без запису на диск.