Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Виявляємо залишкову інформацію, щоб відновити картину злому системи

  1. Перші кроки
  2. Аналізуємо файлову систему
  3. рятуємо файли
  4. аналізуємо дані
  5. Збираємо інформацію про стан ОЗУ
  6. висновок

Наша взаимовыгодная связь https://banwar.org/

Не дивлячись на різноманітність засобів захисту, з кожним роком кількість зломів все зростає. Після того, як було виявлено факт компрометації системи, можна, звичайно, відразу відформатувати диски і відновити її з нуля, але де гарантія, що атака не повториться, а в бекапе немає закладок? Щоб надалі уникнути проблем, слід досконально з'ясувати, що і як сталося. Forensic інструменти допоможуть нам в цьому.

Перші кроки

Найпоширенішою помилкою при виявленні злому є негайне видалення всіх (в тому числі скомпрометованих) даних і відновлення працездатності за допомогою резервних копій. Спочатку необхідно зібрати якнайповнішу інформацію про інцидент. Крім системних журналів, в пошуку проблеми дуже допомагають системи аудиту (auditd, SNARE), контролю цілісності файлів (tripwire, AIDE, Afick), IPS, на кшталт Snort, і пакети, захоплені tcpdump. За допомогою цих коштів можна дізнатися, коли і де відбувалося потрібну подію, як все сталося, на які файли впливали і т.п. Наступний крок - обережно витягаємо підозрілу інформацію і аналізуємо. Дослідника цікавлять файли, до яких міг мати доступ зломщик, процеси і мережеві з'єднання. Безпосередньо файли можуть бути доступні і в оффлайн режимі (наприклад, завантажується з Live диска і проводимо дослідження), а інформацію про процеси і мережі можна отримати тільки на живій системі.
Стандартні інструментальні засоби, що покладаються на API або системні команди, не підходять для подібного роду досліджень, оскільки вони можуть бути запросто обмануті руткітом. Спеціальні рішення дозволяють побачити і відновити вилучені або сховані файли, досліджувати процеси і стан ОЗУ. В даний час розроблено безліч засобів для аналізу залишкових даних (Forensic Analysis), конкретний вибір в першу чергу залежить від використовуваної ОС і особистих переваг. Зручно застосовувати готові дистрибутиви на базі * nix, автори яких пропонують повний набір специфічних утиліт «з коробки» і спеціальні режими завантаження ОС, що забезпечують недоторканність файлів і мінімізацію впливу на наявні носії (блокується робота з блочними пристроями, відключається створення розділу підкачки, автоопределение LVM, RAID, перевіряються контрольні суми для файлів на завантажувальному CD).

Аналізуємо файлову систему

Для пошуку захованих даних на харді найбільш популярні утиліта foremost (foremost.sourceforge.net) і комплект The Sleuth Kit (TSK, sleuthkit.org/sleuthkit). Останній складається з 27 утиліт і дозволяє аналізувати диски безпосередньо або через знімки. Підтримує всі популярні файлові системи: NTFS, FAT, UFS1 / 2, EXT2 / 3/4, HFS, ISO 9660 і YAFFS2. Великим плюсом TSK є наявність інтерфейсу Autopsy, що дозволяє робити всі операції в зручній середовищі. Варто відзначити, цей комплект інтегрований в деякі інші forensic інструменти - Scripts4CF (scripts4cf.sf.net), Allin1 (netmon.ch/allin1.html), revealertoolkit (code.google.com/p/revealertoolkit), SFDUMPER (sfdumper.sf .net).
Утиліт багато, але заплутатися в їх призначенні складно. Щоб легше було орієнтуватися, перша буква в назві вказує, на якому рівні вони працюють:

  • f - робота з файловою системою
  • blk - фактичний зміст блоків, кластерів, фрагментів
  • i - inode
  • mm - media management
  • h - більш зручний рівень взаємодії з файлами, ніж при використанні метаданих
  • j - журнал

У спецдістрібутівах всі вони вже розсортовані по розділах меню, тому знайти їх легко.
Зняти образ файлової системи можна за допомогою утиліти dd, яка входить в стандартну поставку всіх * nix. Але краще використовувати спеціалізовані утиліти. Наприклад, патчений версію dd - dc3dd (dc3dd.sf.net), яка вміє обчислювати на льоту хеш-функції, з'єднувати вихідні файли, перевіряти файли, зачищати місце і багато іншого.

$ Dc3dd progress = on if = / dev / sda of = fs.img

Тепер дані нікуди не дінуться, і їх можна досліджувати. Утиліта mmls дозволяє вивести таблицю розділів і знайти невикористані сектора, що не показує `fdisk -l`. Вони можуть з'являтися як в наслідок атак, так і в разі помилок роботи програм розмітки диска.

$ Mmls -t dos fs.img

Дивимося статистику по образу і файловим системам, зайнятим і вільним блокам:
Дивимося статистику по образу і файловим системам, зайнятим і вільним блокам:

$ Img_stat fs.img $ fsstat fs.img

Тепер спробуємо знайти втрачені або заховані файли
Тепер спробуємо знайти втрачені або заховані файли. Для цього скористаємося утилітою ils (inode list), яка відкриває назване пристрій і перераховує inode. За замовчуванням ils виводить дані тільки віддалених / нерозподілених inode (параметр '-A'), параметр '-0' дозволить отримати список inodes віддалених файлів, але які відкриті або виконуються.

$ Ils fs.img

Тепер приступаємо до дослідження. За допомогою утиліти mactime нам потрібно дізнатися, які inode змінювалися з певного часу або в який нас інтервалі. На вхід необхідно подати файл, створений за допомогою `ils -m` або` fls -m`.

$ Ils fs.img -m> macfile $ mactime 2013-10-20 -b macfile

Для зручності перегляду і відбору можна використовувати GUI до mactime (blog.devilzgsa.com/mactime-frontend-gui). Отримані дані зажадають подальшого аналізу, але якщо в необхідний період змінений системний файл, то це повинно викликати як мінімум підозра. Його можна, наприклад, порівняти з аналогічним «чистим» файлом, узятим з іншого комп'ютера.

рятуємо файли

На даний момент володіємо інформацією про підозрілі inodes. Використовуючи icat, можемо скопіювати файл за номером inode.

$ Icat -i raw -rf ext3 fs.img 100> delete_file

Тепер за допомогою команди `file delete_file` дізнаємося, що це за файл. При вдалому збігу обставин, відновлений таким чином бінарник без проблем виконується. Нацькувавши grep, можемо спробувати знайти потрібні ключові слова (на кшталт password, login). До речі, команда `img_cat fs.img` дозволяє вивести контент всього диска або певної частини (залишивши метадані), перетворивши його з raw, правда, шукати в цій купі дуже важко.
Написавши невеликий скрипт, можна спробувати відновити всі видалені файли.

ils fs.img | awk -F '|' '($ 2 == "f") {print $ 1}' | while read i; do icat -r fs.img $ i> ./deleted/$i; done

Отже, ми знайшли і врятували кілька віддалених файлів, щоб отримати більше інформації, використовуємо istat.

$ Istat fs.img 100

Тепер ми знаємо дані про розмір файлу, власника, режимах, часу доступу і, головне, номера дискових блоків, куди записаний файл.
Стан конкретного блоку на диску отримуємо за допомогою blstat:

$ Blstat -f ext3 fs.img 1000 Fragment 1000 Allocated (Meta) Group: 0

Тепер за допомогою blkcat ми можемо прочитати, що записано в цьому блоці або секторі. Підтримується кілька форматів виводу: raw, текст ASCII (-а), hexdump (-h), виводити статистику (-s), переглядати файл підкачки (-f swap), HTML (-w) та інші.

$ Blkcat -h fs.img 10200

Якщо відомий номер блоку і потрібно знайти номер inode, за яким даний блок «закріплений», використовуємо ifind. Файл за відомим inode визначається за допомогою ffind.
Якщо відомий номер блоку і потрібно знайти номер inode, за яким даний блок «закріплений», використовуємо ifind
Шукати вручну кожен файл довго, тут простіше використовувати утиліту fls, яка виведе імена файлів, в тому числі віддалених. Вона має безліч корисних властивостей. Так '-a' виведе імена файлів, що починаються з точки, '-d' і '-D' - висновок тільки віддалених файлів і каталогів, '-l' (long) - детальна інформація, '-r' - рекурсивний обхід.

$ Fls -rdl fs.img

Всі вилучені файли і каталоги позначаються знаком *. Перша літера показує, що це за файл, тобто r-egular, d-irectory, l-ink, s-ocket або не визначений (?).
Можливості утиліти foremost в чомусь повторюють TSK, особливо вона зручна в тому випадку, якщо дійсно знаєш, що шукати. Параметри роботи настроюються в /etc/foremost.conf, але після установки там можна поки нічого не чіпати. Наприклад, нам потрібні всі видалені файли в образі (параметр '-T' дозволяє автоматично створити вихідний каталог):

$ Foremost -Tt all -o ./output -i fs.img

У output знайдемо відновлені файли і звіт.

аналізуємо дані

Аналіз зібраної інформації цілком покладається на плечі дослідника, і, щоб знайти в гигабайтах інформації щось корисне, необхідний досвід і час. Тут може допомогти утиліта hfind, що порівнює хеш-функції файлів з базою бібліотеки софта NSRL (National Software Reference Library, www.nsrl.nist.gov), в якій містяться профілі відомого ПО.
Cкриптов sorter зі складу TSK аналізує образ, запускаючи fls і icat, знаходить будь-які файли, визначаючи їх тип за допомогою file, і порівнює їх з бібліотекою NSRL, дозволяючи розпізнати потенційно небезпечні.

$ Sorter -d output -f ext3 fs.img

Тепер в підкаталозі data з'явиться кілька файлів з описами, кількість яких залежить від знайдених типів даних, і файл зі звітом sorter.sum. Додатковий параметр '-s' дозволяє зберегти в зазначений каталог фактичний вміст файлу.

спеціальні дистрибутиви
Найпростішою спосіб приступити до дослідження - скористатися одним із спеціалізованих дистрибутивів, в яких зібрані всі необхідні утиліти. Вибір тут дуже великий: DEFT Linux (deftlinux.net), CAINE (Computer Aided INvestigative Environment, caine-live.net), SMART Linux (goo.gl/H3JCfD), Kali (раніше BackTrack, kali.org), SIFT (SANS Investigate Forensic Toolkit, computer-forensics.sans.org), (PLAC, Portable Linux Auditing CD, plac.sf.net), REMnux (zeltser.com/remnux) і базується на FreeBSD Snarl (snarl.eecue.com). Кожен з них має свої особливості.
Наприклад, REMnux, побудований на пакетної базі Ubuntu і володіє інтерфейсом Enlightenment, призначений для вивчення і зворотного інжинірингу коду шкідливих програм. Він дозволяє створити ізольоване оточення, в якому можна емулювати роботу атакується мережевого сервісу і вивчати поведінку шкідливого ПО, наприклад поведінка шкідливих вставок на веб-сайтах, реалізованих на JavaScript, Java або Flash. У комплекті повна добірка інструментів для аналізу шкідливого ПО, утиліт для проведення зворотного інжинірингу коду, програм для вивчення модифікованих зловмисниками PDF і офісних документів, засобів моніторингу активності в системі.
спеціальні дистрибутиви   Найпростішою спосіб приступити до дослідження - скористатися одним із спеціалізованих дистрибутивів, в яких зібрані всі необхідні утиліти

Kali Linux має спеціальний режим завантаження

Збираємо інформацію про стан ОЗУ

Знайти крихітний зловредів на терабайтний харді це все одно, що голку в копиці сіна. Оперативна пам'ять комп'ютера на порядок менше за обсягом, і її аналіз може значно скоротити час дослідження. Наприклад, деякі типи вірусів живуть тільки в ОЗУ, а тіло на диску нерідко шифрують, тому дані можна знайти тільки на живій системі. У Linux стандартні утиліти ps, netstat і lsof дозволяють зібрати загальну інформацію про процеси і мережевих з'єднаннях, але її не завжди достатньо, оскільки зловредів може приховувати від них свою присутність.
Модуль ядра fmem (hysteria.sk/~niekt0/fmem/) створює псевдопристроїв / dev / fmem, через яке можна отримати доступ до вмісту ОЗУ. Крім того, є memfetch (lcamtuf.coredump.cx), memgrep (hick.org) і LiME (Linux Memory Extractor, code.google.com/p/lime-forensics), що дозволяють легко скинути дамп всіх запущених процесів.
У дистрибутивах на кшталт Kali пропонується фреймворк Volatility (volatilesystems.com/default/volatility), який замінює, по суті, цілий набір інструментів для дослідження «артефактів» в ОЗУ. Volatility дозволяє отримати інформацію про процеси, ідентифікатори, змінних, відкритих сокетах, бібліотеках, його пам'ять кожного процесу, таблиці системних викликів, хеші LM / NTLM і багато іншого.
Спочатку Volatility працював тільки в Windows, але сьогодні підтримує і Linux. Захоплення проводиться через псевдопристроїв / dev / pmem, яке створюється шляхом активації модуля ядра pmem.ko. Хоча зібрати модуль в сучасних дистрибутивах не завжди виходить. Крім того, самі розробники в документації проекту рекомендують для дампа використовувати модуль LiME.
Кожна версія ОС Windows і ядра Linux по різному працює з пам'яттю, тому для спрощення аналізу в Volatility використовуються профілі. Для Win XP-7 профілі зазвичай йдуть в комплекті. Профіль для Linux складається з System.map (відповідає поточному ядру) і налагоджувальної інформації modules.dwarf, що витягується за допомогою dwarfdump. При самостійній збірці Volatility вони створюються автоматично.
У Kali та інших спеціальних дистрибутивах потрібний пакет вже є. В Ubuntu слід підключити репозитарій security, після чого встановити python-volatility і volatility-extras. Всі файли зазвичай знаходяться в / usr / share / volatility, в тому числі і сам скрипт vol.py (для зручності створюється / usr / bin / vol, що містить команду для запуску). Але профіль і модуль не збираються.

$ Sudo apt-get install linux-headers-`uname -r` $ cd volatility / tools / linux $ make

Отримуємо файл module.dwarf. Створюємо профіль.

$ Sudo zip ../volatility/plugins/overlays/linux/Ubuntu1310.zip module.dwarf /boot/System.map

Щоб перевірити всі доступні профілі і модулі, досить переглянути висновок `vol -info` і` vol -? `.
Отримуємо інформацію про дампі і дивимося список відкритих сокетів, процесів, команд і параметрів реєстру Windows, знайдених в ОЗУ віртуальної машини VMware:

$ Vol imageinfo -f ./win.vmem $ vol sockets -f ./win.vmem $ vol psxview -f ./win.vmem $ vol cmdscan -f ./win.vmem $ vol hivelist -f ./win.vmem

vmem

альтернативи Volatility
На жаль, Volatility буде працювати тільки на x86 сумісних пристроях (Linux і Windows), на платформах, в яких відсутня функція «page_is_ram» (наприклад ARM Android), запуск призведе до помилки. Для Android розроблений спеціальний інструмент LiME (Linux Memory Extractor, code.google.com/p/lime-forensics), який може бути використаний і для зняття дампа в Linux. В якості альтернативи аналізу вмісту підійде скрипт Draugr (code.google.com/p/draugr), який досліджує / dev / (k) mem і дамп ОЗУ на наявність збігів з паттернами. Проект fmem пропонує і свою утиліту foriana (hysteria.sk/~niekt0/foriana), здатну, використовуючи логічні зв'язки, витягти списки процесів і стан ОЗУ.
Але найбільш популярна і відома альтернатива Volatility - Volatilitux (code.google.com/p/volatilitux), що з'явився в ті часи, коли Volatility працював тільки під Windows. Сам Volatilitux працює не тільки в Linux, але і Android (ARM), що дозволяє використовувати його для досліджень на смартфонах і планшетах. За функціями він не дістає до всіх можливостей Volatility, підтримує всього 5 параметрів: filedmp (дамп відкритого файлу), filelist (висновок списку файлів, відкритих процесом), memdmp (дамп пам'яті процесу), memmap (висновок карти пам'яті процесу) і pslist (список процесів). Хоча у Volatilitux є свої особливості, яких не вистачає Volatility. Це здатність автоматично виявляти структури ядра, без використання профілів. А в разі невдачі такого дослідження створюється файл, який містить інформацію про розмітку пам'яті. Інструмент дуже простий у використанні. Наприклад, щоб отримати список процесів з дампа, вводимо команду «volatilitux.py -f mem.dd pslist».

висновок

Звичайно, дослідження скомпрометованої системи - справа дуже копітка, вимагає підготовки, часу і належної уваги, але при деякому везінні можна знайти джерело проблем і навіть самостійно створити сигнатуру для антивіруса ClamAV або правило для IPS Snort.

Після того, як було виявлено факт компрометації системи, можна, звичайно, відразу відформатувати диски і відновити її з нуля, але де гарантія, що атака не повториться, а в бекапе немає закладок?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: