Весь контент Ciko
-
Ricochet Refresh - найпараноїдальніший месенджер з існуючих
Проблема, яку не вирішують навіть хороші месенджери Signal, шифрує вміст повідомлень наскрізним шифруванням - це відмінно. Але сервер Signal все одно знає, хто з ким спілкується, коли, як часто, метадані залишаються видно, навіть якщо текст повідомлення не читаємо. Session і подібні месенджери без номера телефону вирішують частину цієї проблеми через маршрутизацію через власну мережу вузлів, але є інфраструктура — сервери, вузли, через які проходить трафік. Ricochet Refresh йде далі за всіх - він прибирає сервер з рівняння повністю. Архітектура - P2P через Tor без єдиного сервера Замість того, щоб відправляти повідомлення через проміжну інфраструктуру, Ricochet встановлює пряме з'єднання між двома співрозмовниками через Tor hidden service. Кожен користувач Ricochet сам є власним "сервером" у вигляді onion-адреси - повідомлення йде безпосередньо від однієї onion-адреси до іншої, минаючи будь-яку третю сторону. Це інший підхід, ніж в будь-якого месенджера з центральним сервером. Нема компанії, яка може видати логи. Немає бази даних із метаданими про те, хто з ким зв'язувався. Немає фізичної точки, куди можна прийти з юридичним запитом, бо нема чого вилучати — листування не зберігається ніде, крім самих співрозмовників. Як це виглядає на практиці При установці Ricochet генерує унікальну onion-адресу, яка і є твоєю "ідентифікатором" - не номер телефону, не email, не нікнейм, прив'язаний до сервера, а просто криптографічно згенерована адреса. Щоб додати співрозмовника, обмінюєшся цією onion-адресою будь-яким способом (особисто через інший захищений канал) — додаєш його в контакти. Далі при надсиланні повідомлення програма безпосередньо пов'язується з onion-адресою співрозмовника через Tor. Якщо співрозмовник офлайн - повідомлення не доставляється взагалі, тому що немає сервера, який міг би потримати його в черзі до того моменту, поки адресат з'явиться в мережі. Що це означає для метаданих саме У звичайних месенджерів навіть при повному шифруванні вмісту сервер бачить: IP-адреси підключень (або хоча б факт підключення), час активності, частоту повідомлень між конкретними парами користувачів, розмір даних, що передаються. З цього набору метаданих за належного аналізу можна відновити соціальний граф — хто з ким спілкується — навіть не читаючи жодного повідомлення. У Ricochet метадані фізично нема де накопичуватися. З'єднання існує рівно в момент передачі повідомлення, безпосередньо між двома onion-адресами через Tor, і зникає відразу після. Немає проміжного вузла, який бачив би обидва кінці розмови одночасно. Чому це працює саме через архітектуру Tor hidden services Кожна onion-адреса маршрутизується через мережу Tor так, що жоден вузол на шляху не знає одночасно і відправника, і одержувача - це вбудована властивість самого протоколу Tor, на якому будується Ricochet. Додаток не додає анонімність поверх звичайної мережі - він використовує ту анонімність, яку Tor дає архітектурно, для прямого P2P-з'єднання замість звичної клієнт-серверної моделі. Чесні обмеження – це не месенджер для повсякденного використання Обидва співрозмовники повинні бути онлайн одночасно для доставки повідомлення – немає хмарної черги повідомлень, як у Telegram чи WhatsApp, куди можна написати та адресат прочитає пізніше, коли ввімкне телефон. Немає синхронізації між пристроями — весь ідентифікатор (onion-адреса та ключі) живе на одному конкретному пристрої, де встановлено Ricochet. Втратив пристрій - втратив ідентифікатор, починаєш з нуля з новою адресою і знову обмінюєшся ним з усіма контактами. Немає групових чатів у класичному розумінні — архітектура заточена саме під приватні розмови віч-на-віч, а не під координацію великих груп. Вимагає, щоб обидва співрозмовники були технічно готові тримати програму постійно запущеною для отримання повідомлень — для випадкового користувача це незручно, але для тих, кому реально важлива максимальна анонімність конкретної розмови, це усвідомлений компроміс. Для кого це реально має сенс. Не для повсякденного листування з друзями — там зручніше і достатньо Signal чи Session. Ricochet має сенс саме для тих розмов, де важлива гарантія відсутності метаданих сильніша за зручність — разові чутливі обговорення, координація між людьми, яким потрібна архітектурна неможливість пов'язати їх листування постфактум. Підсумок Ricochet Refresh не намагається бути месенджером для всіх — це вузькоспеціалізований інструмент для конкретного завдання: розмова про факт існування якої не повинен знати ніхто, крім двох співрозмовників. За це сплачується зручністю – немає офлайн-доставки, немає синхронізації, немає груп. Але для тих рідкісних випадків, де це дійсно потрібно, нічого сильнішого за архітектурою анонімності серед месенджерів просто не існує.
-
Чому AES-256 не боїться навіть квантових комп'ютерів - а ось RSA боїться, в чому різниця
Два принципово різні типи шифрування Перш ніж говорити про квантову загрозу, важливо розуміти, що AES і RSA вирішують різні завдання та побудовані на різній математиці. AES – симетричний алгоритм. Один і той же ключ використовується і для шифрування, і розшифровки. Саме AES шифрує твій диск через LUKS, файли через VeraCrypt, сам трафік усередині VPN-тунелю. RSA – асиметричний алгоритм. Пара ключів: публічний, який можна роздавати всім, та приватний, який залишається лише у власника. RSA зазвичай не шифрує самі дані безпосередньо — він використовується для обміну ключами та цифрових підписів, після чого подальше шифрування робить вже симетричний алгоритм на кшталт AES. Чому RSA вразливий для квантових комп'ютерів RSA тримається на одній конкретній математичній складності - проблеми розкладання дуже великих чисел на звичайні множники. Звичайному комп'ютеру на це потрібні роки або століття, залежно від розміру ключа, і саме це завдання, яке не можна вирішити на практиці, і захищає RSA. Але 1994 року математик Пітер Шор опублікував алгоритм, який спеціально вирішує саме це завдання — розкладання чисел на множники — експонентно швидше на квантовому комп'ютері, ніж на звичайному. Алгоритм Шора не теоретична абстракція, а конкретний, математично доведений метод. Проблема лише в тому, що поки що не існує квантового комп'ютера з достатньою кількістю стабільних кубитів, щоб реально застосувати його до ключів того розміру, що використовуються зараз. Але сама природа вразливості полягає в тому, що RSA тримається рівно на одній математичній проблемі, і для цієї конкретної проблеми вже існує готовий квантовий алгоритм злому. Питання не "якщо", а "коли" з'явиться залізо, здатне його виконати. Чому AES влаштований принципово інакше AES не ґрунтується на факторизації чисел або на будь-якій іншій задачі, для якої є спеціалізований квантовий алгоритм на кшталт алгоритму Шора. AES - це симетричний шифр, пристрій якого зводиться до перебору можливих ключів методом грубої сили, якщо не знаходити розумніших шляхів злому. Для симетричних алгоритмів єдиний відомий квантовий метод прискорення перебору — алгоритм Гровера, опублікований 1996 року. Але на відміну від алгоритму Шора, який дає експоненційне прискорення (злом стає якісно, значно швидше), алгоритм Гровера дає лише квадратичне прискорення. Що означає "квадратичне прискорення" на практиці Якщо AES-256 звичайному комп'ютеру потрібно перебрати в середньому половину від 2 до 256 комбінацій ключа, то алгоритм Гровера на квантовому комп'ютері скоротить цю роботу до приблизно 2 у ступені 128 операцій - що еквівалентно за складністю звичайному брутфорсу AES-1. А AES-128 сам по собі все ще вважається практично незламним методом повного перебору навіть без будь-якої квантової загрози — кількість операцій настільки величезна, що це залишається обчислювально нездійсненним на найближче майбутнє навіть теоретично, з будь-якою мислимою кількістю звичайних або квантових процесорів, об'єднаних. Тобто AES-256 після появи потужних квантових комп'ютерів не стане "зламаним" - він просто ефективно "просяде" до рівня надійності AES-128, який сам залишається досить сильним. Підсумкова різниця простими словами RSA вразлива, тому що квантовий алгоритм Шора атакує саме ту математичну структуру, на якій побудовано RSA — і робить це експоненційно швидше. AES стійкий, тому що для симетричних шифрів існує лише алгоритм Гровера, який дає лише квадратичне, а не експоненційне прискорення — і навіть із цим прискоренням AES-256 зберігає практичний захист, еквівалентний нинішньому AES-128. Дані, зашифровані через LUKS або VeraCrypt з AES-256, залишаються захищені навіть у гіпотетичному світі з працюючими великомасштабними квантовими комп'ютерами . А ось все, що побудовано на RSA – обмін ключами у старих версіях TLS, частина PGP-інфраструктури, цифрові підписи багатьох сервісів – потенційно вразливе, коли (і якщо) з'явиться досить потужне квантове залізо. Що вже роблять в індустрії на випередження NIST в 2024 році фіналізував нові стандарти постквантової криптографії - алгоритми на кшталт CRYSTALS-Kyber для обміну ключами і CRYSTALS-Dilithium для цифрових підписів, побудовані на математичних задачах, для яких поки не існує відомого ефективного квантового алгоритму. Signal вже додав постквантовий компонент у свій протокол обміну ключами. WireGuard-спільнота працює над інтеграцією постквантового захисту через проекти на кшталт Rosenpass. Підсумок Не все шифрування однаково стійке до квантових комп'ютерів — різниця не в силі алгоритму як такої, а в тому, чи конкретний відомий квантовий метод атакує саме ту математичну структуру, на якій алгоритм побудований. AES-256 у цьому сенсі виявився архітектурно вдалим ще до того, як хтось всерйоз думав про квантові комп'ютери — а RSA, навпаки, будується на тій проблемі, для якої алгоритм злому вже існує математично, просто поки не вистачає заліза для його практичного застосування.
-
LibreTranslate — локальний перекладач без надсилання тексту до Google
Проблема зі звичайними онлайн-перекладачами Щоразу, коли вставляєш текст у Google Translate, DeepL або подібний сервіс, цей текст фізично йде на сервери компанії. Для звичайного листування може це не критично. Але якщо перекладаєш чутливий документ, листування з джерелом, фінансові дані, юридичний текст — весь цей контент виявляється на серверах третьої сторони, поза твоїм контролем, незалежно від того, що написано в політиці конфіденційності компанії. Google прямо в своїх умовах використання вказує, що може використовувати введений у Google Translate текст для покращення своїх моделей - тобто вміст потенційно не просто "проходить через" сервіс, а залишається там у якомусь вигляді. Що робить LibreTranslate Це повністю відкритий вихідний код перекладача, який можна розгорнути локально - на своєму комп'ютері або на своєму сервері - і перекладати текст, взагалі не відправляючи його нікуди за межі своєї інфраструктури. Технічно це обгортка навколо відкритих моделей машинного перекладу Argos Translate, які працюють повністю офлайн після того, як моделі мовних пар завантажені один раз на пристрій. Архітектура - чому це дійсно приватно, а не просто "ще один сервіс з обіцянками" На відміну від комерційних перекладачів, де доводиться вірити компанії на слово, що дані не зберігаються, тут можна фізично перевірити - якщо запускати LibreTranslate локально на своєму комп'ютері без інтернету взагалі, переклад продовжує працювати. Це прямий доказ того, що текст нікуди не йде, тому що йти просто нікуди - немає мережного з'єднання в принципі. Два способи використання Локальна установка на власному комп'ютері – повний офлайн-режим, максимальна приватність, але потребує деяких обчислювальних ресурсів та початкового налаштування. Публічні інстанси LibreTranslate - ентузіасти та організації тримають відкриті сервери LibreTranslate, доступні безкоштовно. Це зручніше, ніж локальна установка, але тут варто розуміти — текст все одно йде на сервер, просто не на сервер Google, а на сервер конкретного ентузіаста чи організації. Це менший ризик, ніж велика корпорація з історією монетизації даних, але не повний офлайн. API для інтеграції в інші інструменти LibreTranslate надає REST API - можна підключити його до інших програм, скриптів автоматизації, навіть до власних інструментів обробки документів, замість того, щоб вручну копіювати текст у веб-інтерфейс щоразу. Чесні обмеження в порівнянні з Google Translate Якість перекладу у відкритих моделей Argos Translate помітно поступається Google Translate і особливо DeepL - великі комерційні сервіси навчені на незрівнянно великих обсягах даних і з використанням великих обчислювальних потужностей. Для формального документа, де важлива точність нюансів, LibreTranslate може давати грубіший, менш природний результат. Мовні пари, що підтримуються, обмежені тим, що доступно у відкритих моделях — не таке широке охоплення мов, як у Google. Для яких завдань це реально має сенс Переклад документів від джерел до того, як визначився з подальшими діями по них - не хочеться, щоб вміст витікав на сервери Google ще до того, як вирішив, що з цим робити. Переклад чутливого листування, фінансових чи юридичних текстів. Ситуації, де важливіша гарантія приватності, ніж ідеальна якість перекладу, — якщо результат потрібен для розуміння суті, а не для публікації у відшліфованому вигляді. Практична порада щодо балансу приватності та якості Якщо якість критична, а приватність не першорядна — звичайний Google Translate або DeepL залишаються кращими за точністю. Якщо приватність важливіша, а переклад потрібен для розуміння суті документа, а не для публікації — LibreTranslate закриває саме це завдання, при цьому є єдиним варіантом, який можна фізично перевірити на предмет "чи нічого нікуди не йде", а не просто довіритися політиці конфіденційності компанії. Підсумок LibreTranslate вирішує вузьку, але реальну проблему - переклад тексту без передачі вмісту третій стороні. Для журналіста чи будь-кого, хто працює із чутливими документами регулярно, це той рідкісний випадок, коли відкритий інструмент дає архітектурну гарантію приватності, а не просто обіцянку.
-
Захист особистих даних на Android-телефоні
Мобільних комп'ютерів давно більше, ніж стаціонарних. І наших особистих даних на них так само значно більше, ніж на стаціонарних. При цьому поточний дизайн OS мобільних пристроїв створює враження, що одне з їх основних завдань - якомога сильніше спростити доступ третім особам (в основному - корпораціям і державі, але й дрібним розробникам мобільних додатків теж обламується від цього пирога) до ваших особистих даних. Часткова відкритість Android трохи покращує ситуацію, але повноцінного вирішення проблеми витоку приватних даних поки що не існує . Основна проблема в тому, що поки на пристрої використовуються блоби немає жодних гарантій, що в них немає закладок (на зразок виявлених у прошивках Samsung Galaxy ). Аналогічна проблема з пропрієтарними програмами без відкритих вихідних даних (на зразок пакету GApps, починаючи з самого Google Play Маркет). По суті все навпаки — вкрай висока ймовірність, що закладки там є. Нерідко їх навіть не намагаються приховувати, видаючи за зручні "фічі" для синхронізації та/або бекапу ваших даних, забезпечення вас корисною рекламою, та "захист" від шкідливого софту або на випадок втрати пристрою. Один з найнадійніших способів захисту своїх даних описаний в статті Mission Impossible: Hardening Android for Security and Privacy , але там мова не про телефон, а про планшет, причому з підтримкою тільки WiFi (мобільних чіпів без блобів взагалі поки ще немає, для мобільного інтернету разом з цим планшетом пропонується використовувати окремий т.к. цьому модемі особистих даних просто немає), і, про всяк випадок, фізично відрізаним мікрофоном. Але, незважаючи на неможливість повноцінно захистити особисті дані на телефоні, я вважаю, що варто зробити максимум можливого: прикрити стільки каналів витоків, скільки вийде — мало хто може дозволити собі не використовувати мобільний телефон або не тримати на ньому особисті дані (хоча б контакти та історію дзвінків). Відразу уточню, що про анонімність взагалі не йтиметься. Це окрема велика та складна тема, яка, зокрема, вимагатиме використання Tor, повної відмови від GSM та перекладу всієї телефонії на шифрований VoIP, etc. На цю тему варто почитати попереднє посилання та скористатися програмами від The Guardian Project . Але робити це може мати сенс лише за умови, що ваші дані не втечуть прямо з телефону, тобто. після вирішення описаних у цій статті завдань. Наведені нижче прийоми захисту від ідентифікації/відстеження не дають анонімності, вони просто прикривають деякі додаткові канали витоку особистих даних (до яких відноситься і те, де і коли ви буваєте). Ще одна проблема - складність і не краще юзабіліті описаних рішень робить їх малодоступними для середнього користувача. Передбачається, що читач вміє міняти прошивки телефону, користуватися adb і хоч трохи орієнтується у командному рядку Linux. В принципі, більшу частину описаного можна (і потрібно!) автоматизувати і зробити доступним за натисканням пари кнопок звичайному користувачеві, але цього ніхто не зробив.
-
Безпечний jabber-клієнт з підтримкою OTR для мобільних Android та iOS
Досить довгий час я був спантеличений питанням пошуку месенджера, який би підтримував xmpp, з шифруванням OTR, а найголовніше, що він працював на iOS без jailbreake. До речі! на iOS 10.3 вже є jailbreake неприв'язаний. Відразу зазначу, що ідеального месенджера я не знайшов, але зупинив свій вибір на chatsecure! Його головний мінус - це те, що кожного разу коли ви повертаєте його на iOS - ваш статус стає офлайн і повідомлення про нові чати та повідомлення не приходять. В іншому ChatSecure – практично ідеальний. Проста установка, зручний, інтуїтивно зрозумілий інтерфейс, бездоганна робота шифрування. Отже: Встановлення та перший запуск програми. -Завантаження. Завантажити та завантажити програму можна зі стандартного каталогу програм: Google Play \ AppStore, Просто введіть у пошуку chatsecure ;-) -запуск. Коли ви вперше запускаєте програми, ви отримаєте пропозиції запаролити вхід. Ви також можете встановити пароль для шифрування. У цьому випадку всі надіслані та збережені повідомлення на вашому смартфоні будуть під паролем. Якщо ви вважаєте це зайвим, шифруватися будуть тільки повідомлення, що передаються. -Обліковий запис. Якщо у вас кілька акаунтів, то радимо додати "Google" та "Jabber". Це дозволить вам обмінюватися миттєвими повідомленнями на Facebook, Google Talk, Hangouts. Але для кращої анонімності раджу використати виключно Jabber. Планую написати мануал для Fine-Ukraine.top – встановлення власного анонімного Jabber-сервера без логів. Ви можете в будь-який момент зареєструвати свій обліковий запис, а також додати ще кілька облікових записів. Для цього необхідно ввести своє ім'я, пошту та пароль. Там же, в налаштуваннях, можете вибрати accounts і додати ще кілька акаунтів. Використання -вхід. При вході до програми ви можете використовувати будь-який обліковий запис, або одночасно переходити по всіх ваших облікових записах (що дуже зручно!). Для цього в налаштуваннях необхідно відзначити галочками бажані облікові записи. -Шифрування. Якщо ви та ваш друг використовують приватне спілкування. І на обох пристроях встановлена підтримка OTR, ви можете пройти процедуру верифікації відбитків пальців (Фінгерпринт). Якщо Вам друг спілкується через комп'ютер чи ноутбук, Ви можете заздалегідь обмінятися відбитками електронною поштою, або особисто. Крім відбитка пальців, можна використовувати QR код. Так, перебуваючи недалеко один від одного, обидва співрозмовники з легкістю можуть відсканувати ці коди один у одного в телефоні, і надалі всі повідомлення будуть зашифровані. -що пропонує ChatSecure. Отже, ми вже знаємо, що цей додаток є безпечним і можливості прочитати будь-кому ваші повідомлення немає можливостей. Але, що ще нам пропонує ChatSecure? Ви можете створювати групові чати, додавати співрозмовників, бачити статуси контактів та змінювати свої статуси. Ви можете використовувати миттєву передачу великих мультимедійних файлів, фотографій, відео та аудіо.
-
Здирники на iOS. Або що робити, якщо після відвідин сайту – заблокований екран
У цій статті я висвітлю тему шахрайства під виглядом здирництва грошей у вигляді «штрафу за перегляд нелегального відео». Ці види шахрайства набули популярності та популярності в останні роки. Схема дуже проста – за допомогою переадресації чи так званих «редиректів» зловмисники обманом спрямовували користувача на певний вірусний сайт. Після цього користувач стикався з написом на екрані, який повідомляв, що пристрій на даний момент заблокований через перегляд нелегального або порно-відео. Для розблокування пристрою нібито правоохоронці пропонували заплатити штраф у дуже великому розмірі. Цей штраф видавався у формі карток Itunes. Статистика показує, що користувачі траплялися на хитрощі шахраїв, хоча очищення кешу шляхом налаштувань на Ios могла дозволити вирішити таку проблему. Звичайно, шахраї не могли будь-яким чином зашифрувати системні файли і заблокувати пристрій, всі їх повідомлення були не більше, ніж блеф. У зв'язку з такою обстановкою та повсюдним поширенням шахрайських схем, компанії Apple розробила спеціальні патчі для різних пристроїв та ОС, таких як macos, iOs, tvOS та інші, тим самим усунула сотні різноманітних проблем та місць уразливостей. Дослідження показують, що нова iOS практично ознаменувала кінець здирницької діяльності. Старі версії iOS були піддані атакам зловмисників і здирників за наступними обставинами: Баг, який використовувався шахраями, дозволяв створювати на експлоїтах iOS 8 і більше, дозволяв у браузері користувача створювати нескінченну кількість спливаючих вікон, які стверджували про блокування і неможливість закрити вікно, і, Таким чином, користувач не міг продовжити роботу з браузером і шукав інші шляхи виходу з проблемної ситуації, також шляхом оплати штрафу. Нині ж, з виходом нової версії iOS10.3 цю проблему вирішено. Навіть якщо ви зіткнетеся з блокуванням вікна – знайте, що шахраї можуть заблокувати лише одну вкладку. Ви можете сміливо продовжувати роботу в інтернеті, не звертаючи уваги на безглузде повідомлення. Зважаючи на плачевну статистику, яка показує, що користувачі, навіть прямо не порушують закон ведуться на подібні "розлучення", компанія apple випустила оновлення iOS 10.3 - пророкуючи йому чи не звання найзахищенішого апдейта. І справді, понад 90 відкритих уразливостей було закрито, виконана титанічна робота з удосконалення безпеки, але не без вади. Так, наприклад розробник джайлбрейків - Ланг Ши випустив нову тулзу, яка допоможе користувачам, навіть не досвідченим ДБ - виконати повноцінний джайлбрейк, не прив'язаний, що не вимагає переактивації і все це для iOS 10.3
-
Перетворення Android на пристрій тестування на проникнення
Підготовка Android смартфона до тестування на проникнення Почнемо підготовку вашого смартфона до тестування вторгнення. По самій Google Play, у нас є дві програми (платні та безкоштовні), щоб мати Android системи bash термінал. Після встановлення програми, ми повинні будемо зробити “кореневий” режим, щоб мати повний доступ до системи Android. Тому ми можемо встановити pentest та інструменти моніторингу. Apt-get - це потужна система керування пакетами, яка використовується для роботи з бібліотекою Ubuntu APT (Advanced Packaging Tool) для встановлення нових пакетів програмного забезпечення, видалення існуючих пакетів програмного забезпечення, оновлення існуючих пакетів програмного забезпечення. По-перше, ми будемо використовувати дистрибутиви Linux репозиторіїв для pentest, в даному прикладі я використовую дистрибутив Kali Linux. Як тільки ми виконаємо команду apt-get update, у нас будуть надійні інструменти шрифтів. Apt-get - це потужна система керування пакетами, яка використовується для роботи з бібліотекою Ubuntu APT (Advanced Packaging Tool) для встановлення нових пакетів програмного забезпечення, видалення існуючих пакетів програмного забезпечення, оновлення існуючих пакетів програмного забезпечення. Інструменти, які ми отримуємо після оновлення списку NMAP: сканер безпеки, сканер портів та інструмент дослідження мережі. Bettercap: потужний інструмент для виконання атак MITM Setoolkit: дозволяє виконувати багато видів діяльності соціальної інженерії. Спочатку ми протестуємо інструмент "NMAP" у мережі, до якої підключено смартфон. NMAP Bettercap Setoolkit
-
10 найкращих блокувань додатків
Блокування програм також відоме як блокування конфіденційності є однією з найважливіших проблем конфіденційності для всіх користувачів мобільних пристроїв. Смартфони дуже особисті, і програма всередині дійсно несе різні форми персональних даних, таких як фотографії, повідомлення, банк програми та багато іншого. Безпека та конфіденційність цих даних зазвичай віддають перевагу користувачам, але для цього їм потрібна належна безпека заходи для їх пристроїв та додатків. Телефони андроїда пропонують сумісність числа застосувань, на часи навіть ненадійні сторонні програми, простий Людина-в-диску атаки або Android шкідливих програм може мати права на читання персональних даних і захист проти таких атак буде потрібно багато роботи, але простий додаток блокується часто називається блокуванням конфіденційності, яка може захистити смартфонів. Особисті програми, такі як WhatsApp, Instagram, Facebook, Пошта та фінансові програми, такі як Gpay, Paytm, банківські програми повинні бути захищені за допомогою блокування додатків, щоб зберегти нашу інформацію та дані в безпеці. App блокування Ivymoile Блокування програм за допомогою Domobile Labs App Замки-Відбитків Пальців Pro AppLock: Пароль Відбитка Пальця App Locker-Блокування Програм Блокування Додатків-Norton Perfect App Locks-App Protector Безпечне блокування для програм Smart AppLock-App Protector CM AppLock-екран блокування безпеки
-
Правила безпеки для файлів маніфесту Android
Файли маніфесту відіграють важливу роль для кожної програми для Android. У цьому файлі розробник Android визначає дозволи, які потрібні програмі, дії, які може виконувати програма, та загальні інші дії. З точки зору безпеки файл маніфесту, як правило, є першим, що тестер на проникнення перевірить на предмет взаємодії. Тому наступний список може використовуватися як розробниками, так і тестерами для проникнення, щоб гарантувати, що файл маніфесту не містить будь-яких неправильних налаштувань, які зловмисник може використовувати зловмисником. Режим налагодження Тег налагодження визначає, чи може програма бути налагоджена чи ні. Якщо програма може бути налагоджена, вона може надати зловмиснику багато інформації. Очікується, що для додатків Android, які не перебувають у робочому стані, цей атрибут має значення true, щоб допомогти розробникам, проте перед фактичним випуском програми цей тег має бути встановлений у false . Код: <application android:debuggable="false" </application> Прапор резервного копіювання Цей параметр визначає, чи можна виконувати резервне копіювання та відновлення даних програми користувачем, який увімкнув налагодження USB. Тому програмам, які обробляють і зберігають конфіденційну інформацію, таку як дані карти, паролі тощо. буд., слід встановити цього параметра значення false, щоб запобігти такі ризики. Код: <application android:allowBackup="false" </application> Зовнішнє сховище Програми, які мають дозвіл на копіювання даних у зовнішнє сховище, повинні бути перевірені щодо відсутності конфіденційної інформації. Код <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> Права доступу Андроїд: ProtectionLevel атрибут визначає процедуру , що система повинна слідувати перед тими грантами дозволу на програму, яка запросила його. Є чотири значення, які можна використовувати з цим атрибутом: звичайний небезпечно підпис signatureOrSystem Усі дозволи, які запитує додаток, повинні бути перевірені, щоб переконатися, що вони не становлять загрози безпеці. Код: <permission> android:protectionLevel="signature" </permission>Компоненти програми Залежно від функціональності, програма може запускати службу, виконувати дії, отримувати контент з іншого джерела або отримувати наміри за телефоном або іншими програмами. Існує чотири компоненти програми: заходи Сервіси Постачальники контенту Приймачі мовлення Дії, послуги, контент-провайдери та широкомовні приймачі можуть бути експортовані. Тому всім їм слід перевірити, що вони не виконують жодних конфіденційних дій і захищені відповідними дозволами, оскільки в іншому випадку інформація може бути розкрита зловмисним третім особам. На наступному зображенні показано, як у файлі маніфесту визначається широкомовний приймач: Код: <receiver android:exported="true" android:name="string" android:permission="string" </receiver>Intents Інтенти можуть використовуватися для запуску дії, надсилання його будь-яким зацікавленим компонентам приймача мовлення та зв'язку з фоновою службою. Повідомлення про наміри повинні бути перевірені, щоб переконатися, що вони не містять конфіденційної інформації, яка може бути перехоплена. Код: <intent-filter> <action android:name="string" /> <category android:name="string" /> </intent-filter>
-
Шифрування даних на Android за допомогою Jetpack Security
Ви коли-небудь намагалися зашифрувати дані у своєму додатку? Як розробник, ви хочете, щоб дані були в безпеці, і в руках сторони, яка має право їх використання. Але якщо ви, як більшість розробників Android, і у вас немає спеціальної групи безпечників, яка б допомагала правильно шифрувати дані вашої програми. Пошукавши в Інтернеті, як зашифрувати дані, ви можете отримати відповіді, які застаріли на кілька років і зробити неправильні висновки . Бібліотека сприяє використанню AndroidKeyStore при використанні безпечних та відомих криптографічних примітивів. Використання EncryptedFile та EncryptedSharedPreferences дозволяє локально захистити файли, які можуть містити конфіденційні дані, ключі API, токени OAuth та інші типи секретів. Чому ви хочете зашифрувати дані у вашому додатку? Хіба Android, починаючи з 5.0, не шифрує вміст розділу даних користувача за умовчанням? Звичайно, це так, але є деякі випадки використання, коли вам може знадобитися додатковий рівень захисту. Якщо ваша програма використовує спільне сховище, ви повинні зашифрувати дані. У домашньому каталозі програми ваша програма повинна шифрувати дані, якщо ваша програма обробляє конфіденційну інформацію, включаючи, крім іншого, інформацію, що дозволяє встановити особистість (PII), медичні записи, фінансові дані або корпоративні дані. По можливості, ми рекомендуємо прив'язувати цю інформацію до біометрії для додаткового рівня захисту. Jetpack Security заснований на Tink, кросплатформному проекті безпеки з відкритим вихідним кодом від Google. Тинк може підійти, якщо вам потрібне загальне шифрування, гібридне шифрування або щось подібне. Структури даних Jetpack Security повністю сумісні із Tink. Генерація ключів Перш ніж ми почнемо шифрувати ваші дані, важливо зрозуміти, як ваші ключі шифрування зберігатимуться в безпеці. Jetpack Security використовує master key, який шифрує всі subkeys, що використовуються кожної криптографічної операції. JetSec надає рекомендований master key за промовчанням у класі MasterKeys. Цей клас використовує базовий ключ AES256-GCM, який генерується та зберігається в AndroidKeyStore. AndroidKeyStore - це контейнер, який зберігає криптографічні ключі в TEE або StrongBox, що ускладнює їхнє вилучення. Subkeys зберігаються в об'єкті SharedPreferences, що настроюється. Насамперед ми використовуємо специфікацію AES256_GCM_SPEC у Jetpack Security, яка рекомендується для загальних випадків використання. AES256-GCM є симетричним і загалом швидко працює на сучасних пристроях. Код: val keyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)Для додатків, які потребують більш ретельного налаштування або обробляють дуже конфіденційні дані, рекомендується створити KeyGenParameterSpec, вибираючи варіанти, які мають сенс для використання. Ключі з прив'язкою часу з BiometricPrompt можуть забезпечити додатковий рівень захисту від рутованих або скомпрометованих пристроїв. Важливі опції: userAuthenticationRequired() та userAuthenticationValiditySeconds() можуть використовуватися для створення ключа з прив'язкою до часу. Ключі з прив'язкою до часу вимагають авторизації за допомогою BiometricPrompt для шифрування та дешифрування симетричних ключів. unlockedDeviceRequired () встановлює прапор, який допомагає запобігти доступу до ключа, якщо пристрій не розблоковано. Цей прапор доступний на Android Pie та вище. Використовуйте setIsStrongBoxBacked (), щоб виконувати криптографічні операції на більш продуктивному окремому чіпі. Це мало впливає на продуктивність, але є більш безпечним. Він доступний на деяких пристроях з Android Pie або вище. Примітка Якщо ваша програма шифрує дані у фоновому режимі, вам не слід використовувати ключі з прив'язкою до часу або вимагати, щоб пристрій був розблокований, оскільки ви не зможете виконати це без присутності користувача. Код: // Кастомний master key val advancedSpec = KeyGenParameterSpec.Builder( "master_key", KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT ).apply { setBlockModes(KeyProperties.BLOCK_MODE_GCM) setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) setKeySize(256) setUserAuthenticationRequired(true) setUserAuthenticationValidityDurationSeconds(15) // must be larger than 0 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { setUnlockedDeviceRequired(true) setIsStrongBoxBacked(true) } }.build() val advancedKeyAlias = MasterKeys.getOrCreate(advancedSpec) Розблокування ключів, що прив'язані за часом Ви повинні використовувати BiometricPrompt для авторизації пристрою, якщо ваш ключ був створений з наступними параметрами: userAuthenticationRequired true userAuthenticationValiditySeconds > 0 Після аутентифікації користувача ключі розблокуються на час, встановлений у полі validity seconds . AndroidKeystore не має API для запиту налаштувань ключа, тому ваша програма повинна відстежувати ці налаштування. Ви повинні створити свій екземпляр BiometricPrompt у методі onCreate () в activity , в якому ви представляєте діалогове вікно користувачеві. Код BiometricPrompt для розблокування ключів із прив'язкою до часу: Код: // Activity.onCreate val promptInfo = PromptInfo.Builder() .setTitle("Розблокувати") .setDescription("Ви бажаєте розблокувати цей ключ?") .setDeviceCredentialAllowed(true) .build() val biometricPrompt = BiometricPrompt( this, // Activity ContextCompat.getMainExecutor(this), authenticationCallback ) private val authenticationCallback = object : AuthenticationCallback() { override fun onAuthenticationSucceeded( result: AuthenticationResult ) { super.onAuthenticationSucceeded(result) // Unlocked -- do work here. } override fun onAuthenticationError( errorCode: Int, errString: CharSequence ) { super.onAuthenticationError(errorCode, errString) // Handle error. } } To use: biometricPrompt.authenticate(promptInfo) Шифруємо файли Jetpack Security включає клас EncryptedFile, який усуває проблеми, пов'язані із шифруванням файлових даних. Подібно до File, EncryptedFile надає об'єкт FileInputStream для читання і об'єкт FileOutputStream для запису. Файли шифруються за допомогою потокової передачі AEAD, яка відповідає визначенню OAE2. Дані поділяються на шматки та шифруються за допомогою AES256-GCM таким чином, що неможливо змінити їх порядок. Код: val secretFile = File(filesDir, "super_secret") val encryptedFile = EncryptedFile.Builder( secretFile, applicationContext, advancedKeyAlias, FileEncryptionScheme.AES256_GCM_HKDF_4KB) .setKeysetAlias("file_key") // опціонально .setKeysetPrefName("secret_shared_prefs") // опціонально .build() encryptedFile.openFileOutput().use { outputStream -> // Записуємо дані до нашого зашифрованого файлу encryptedFile.openFileInput().use { inputStream -> // Зчитуємо дані із нашого зашифрованого файлу }Шифруємо SharedPreferences Якщо вашому додатку необхідно зберегти пари ключ-значення – наприклад, ключі API – JetSec надає клас EncryptedSharedPreferences, який використовує той самий інтерфейс SharedPreferences, до якого ви звикли. І ключі, і значення зашифровано. Ключі шифруються з використанням AES256-SIV-CMAC, який забезпечує детермінований шифротекст; значення зашифровані за допомогою AES256-GCM і прив'язані до зашифрованого ключа. Ця схема дозволяє безпечно шифрувати дані ключа, водночас дозволяючи пошук. Код: EncryptedSharedPreferences.create( "my_secret_prefs", advancedKeyAlias, applicationContext, PrefKeyEncryptionScheme.AES256_SIV, PrefValueEncryptionScheme.AES256_GCM ).edit { // Update secret values }
-
Налаштування мережі Linux
Перед початком налаштування мережного підключення в Linux потрібно спочатку перевірити, які поточні налаштування мережі. Для цього нам цілком підійде команда ifconfig . В принципі, для отримання інформації ми можемо використовувати її без прав ROOT, але якщо хочемо отримати привілеї суперкористувача, вводимо sudo ifconfig . Результатом виконання команди стане отримання списку наявних мережних підключень та їх параметрів: Отже, ми бачимо, що на нашому комп'ютері використовуються два мережеві інтерфейси: eth0 і lo. Давайте розглянемо їх докладніше. Інтерфейс lo є локальною петлею, що має IP-адресу 127.0.0.1. Вона призначена для забезпечення доступу до комп'ютера. В принципі цей інтерфейс не вимагає додаткових налаштувань. Що стосується інтерфейсу eth0, то це не що інше, як Ethernet - мережна карта, що має такі мережеві параметри: - 192.168.1.18 - це IP-адреса; - 255.255.0.0 - маска мережі; — 00:11:5b:91:25:3e — MAC-адреса. При цьому значення RUNNING показує нам, що зараз наш мережевий інтерфейс eth0 працює. До речі, потрібно розуміти, що в різних версіях Linux ім'я мережного інтерфейсу може бути різним - eth0, eth1, eth2 і т. д. Якщо хочемо подивитися тип з'єднання, швидкість і параметри, що підтримуються, набираємо: sudo ethtool eth0 З нього бачимо, що швидкість роботи мережного Linux-інтерфейсу eth0 - 100 Мб/с з Full Duplex (включеним повним дуплексом). Тут можна уточнити, що повний дуплекс відрізняється від напівдуплексу (Half Duplex) тим, що забезпечує передачу вхідних та вихідних даних одночасно, а не послідовно. Переходимо до мережних налаштувань Linux Дізнавшись інформацію про поточні підключення, можна переходити до налаштувань локальної мережі в Linux. У нас є 3 способи зробити це: - Через графічну оболонку; - Використовуючи команду ifconfig або інструмент Network Manager; - Використовуючи конфігураційні файли мережного сервісу Network або Networking. В принципі, останній спосіб вважається одним із найзручніших і надійніших. Щоб налаштувати мережу на Linux, потрібно відкрити файл, який містить конфігурацію інтерфейсу. Тут все залежатиме від того, який Linux-дистрибутив використовується. Варіант № 1. Мережеві налаштування дистрибутивів, заснованих на Debian (Ubuntu, Kubuntu та інші) Файл з параметрами мережевих підключень тут: /etc/network/interfaces Щоб змінити налаштування мережі Linux, файл треба відкрити з root-правами будь-яким текстовим редактором. Наприклад, використовуючи nano: sudo nano /etc/network/interfaces Щоб забезпечити автоматичне отримання адрес від DHCP-сервера, потрібно прописати: allow-hotplug eth0 iface eth0 inet dhcp Якщо адресу потрібно прописати статично, вказуємо: allow-hotplug eth0 idres 101 ista. netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 У цій конфігурації ми розглянули лише приклад 192.168.1.2, а адреса DNS-сервера та шлюзу (їх функції зазвичай виконує wifi-роутер) - 192.168.1.1. Варіант № 2. RedHat-based дистрибутиви (OpenSuse, CentOS, Fedora) Наш файл з налаштуваннями мережі Linux знаходиться тут: /etc/sysconfig/network-scripts/ifcfg-eth0 Ми відкриваємо його за допомогою nano або vim: vim /etc/sysconfig/network-scripts / ifcfg DHCP-сервера: DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00-1C-1B-11-F6-07 ONBOOT=yes А ось статична IP-адреса: DEVICE=eth0 HWADDR=00-1C-1B-11-F6-07 IPADDR8. NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 ONBOOT=yes У цьому випадку IP-адреси DNS-серверів прописуються у файлі: /etc/resolv.conf Ось, наприклад, для публічних DNS-серверів від Google: nameserver 8.8.8.8 nameserver 8.8.4.4 В принципі, це все і налаштування мережі в Linux завершилося. Залишилося лише виконати перезапуск мережі: service network restart Можна і так: /etc/init.d/network restart Замість поскриптуму Якщо потрібно вимкнути та включити мережу в операційній системі Linux, використовуємо ту саму відому нам команду ifconfig. Наприклад, наступною командою ми виключимо мережну карту eth0: sudo ifconfig eth0 down А ось команда, що включає мережну плату в Linux: sudo ifconfig eth0 up Також ми можемо повністю зупинити роботу мережевих інтерфейсів: service network stop Або так : /etc/init.d/network stop /etc/init.d/network restart На цьому все.
-
7 кумедних команд для Linux
Отже, невеликий відпочинок не стане на заваді, особливо якщо ви системний адміністратор. А відволіктися від складних завдань та рутини вам допоможе ця добірка команд .sl Перше, що потрібно зробити, - встановити утиліту: $ sudo apt-get install sl В результаті команда sl покаже вам паровоз, який проїжджає в терміналі. Наступна команда виводить у терміналі жарти, цитати і навіть вірші. Як то кажуть, нехай комп'ютер передбачить вашу долю)). Ось, наприклад, цитата Отто фон Бісмарка: Якщо цікавлять подробиці, ласкаво просимо на сайті fortune . cowsay $ sudo apt-get install cowsay Чергова кумедна штука: ввівши $ cowsay hello в термінал, ви побачите корову, яка вийшла до вас і яка «вимовить» написані слова (у нашому випадку — це hello ). До речі, якщо об'єднати cowsay з fortune, то вашу долю розповість корова: toilet $ sudo apt-get install toilet Наступна кумедна команда перетворить введений вами текст на ASCII-графіку будь-яких кольорів: oneko $ sudo apt-get install oneko Теж цікава команда, мабуть, одна з найкумедніших у списку. Коли ви її введете, на екрані з'явиться котик, який ганятиметься за курсором миші. До речі, до котика можна додати і собачку, поміняти кольори тварин тощо. Демонстрація можливостей розкрита в цьому відеоролику . xeyes $ sudo apt-get install x11-apps Ця програма йде в комплекті із системою графіки x11. Очі, які з'являються на екрані, служать не тільки для гри: за їх допомогою, наприклад, ви можете виявляти невеликий курсор на великому екрані. cmatrix $ sudo apt-get install cmatrix Команда cmatrix виведе на екран текст, що падає, за аналогією з культовим фільмом. Вихідний код знаходиться тут .
-
Як прискорити Ubuntu Linux за 9 кроків
Якщо так, то ця стаття є для вас. Представлені поради змусять ОС працювати швидше і можуть спрацювати і на інших дистрибутивах, заснованих на Ubuntu, включаючи Linux Mint, Elementary OS та ін. Для цього відкриваємо конфігурацію GRUB: $ sudo nano /etc/default/grub А потім змінюємо GRUB_TIMEOUT=10 на GRUB_TIMEOUT=2. Таким чином, час завантаження буде скорочено до 2 секунд. Для збереження змін залишиться застосувати наступну команду: $ sudo update-grub 2. Налаштовуємо автозапуск програм Зрозуміло, всі ми починаємо встановлювати програми. Звичайно, якісь з них починаю запускатися під час завантаження системи, на що витрачаються ресурси. Згодом ресурсів витрачається дедалі більше. Давайте це виправимо та знайдемо у пошуку Startup Applications: Ми побачимо список програм, які запускаються під час завантаження операційної системи. Ще раз гляньте і вирішіть, що з цього можна видалити з автозапуску: Чи не хочете видаляти? Все дуже-дуже треба? Є інше рішення – відкладіть запуск цих додатків – це також звільнить ресурси. Для цього виберіть додаток, що цікавить, натисніть «Edit», а потім у полі «Command» пропишіть: sleep 20; Втім, час можете вибрати інше. У нашому прикладі додаток запуститися із затримкою в 20 секунд. 3. Прискорюємо запуск додатків за допомогою preload Preload — це демон, який аналізує поведінку користувача і програми, що найчастіше запускаються. Щоб його встановити, введіть у терміналі: $ sudo apt install preload Потім просто перезавантажте систему. 4. Вибираємо найкраще дзеркало для оновлень А ви знаєте, що має значення, яке дзеркало для оновлень ви використовуєте? Це теж важливо, адже дзеркала Ubuntu розкидані по всьому світу. Звичайно, треба простежити, щоб використовувалося найближче до вас - це прискорить оновлення. Підібрати найкращий варіант можна у розділі Software & Updates: Найчастіше найкраще дзеркало відмічено за умовчанням, але може бути й винятки. Просто перевірте це. 5. Використовуємо apt-fast для швидкого оновлення Apt-fast є оболонкою для apt, яка збільшує швидкість завантаження пакетів за допомогою множинних з'єднань. І саме apt-fast краще використовувати замість apt. Оболонка встановлюється просто: $ sudo add-apt-repository ppa:apt-fast/stable $ sudo apt update $ sudo apt install apt-fast 6. Прибираємо мовні оновлення Чи звертали ви увагу на виведення sudo apt update? У цьому висновку є 3 типи рядків: ign, hit та get. Якщо глянути на рядки ign, можна помітити, що з них мають відношення до перекладу мови. Але навіщо вам це потрібно, якщо ви використовуєте програми та пакети англійською. Відключивши мовні поновлення, ви прискорите apt update. Відкриваємо наступний файл: $ sudo nano /etc/apt/apt.conf.d/00aptitude & І додаємо в його кінець наступний рядок: Acquire::Languages "none"; 7. Зменшуємо перегрів Перегрів є відомою проблемою. Очевидно, що перегрітий комп'ютер працює повільніше. Мінімізувати проблему можна за допомогою двох інструментів: TLP та CPUFREQ. Ось як виконується установка та запуск TLP (потім програма просто буде працювати у фоні): $ sudo add-apt-repository ppa:linrunner/tlp $ sudo apt update $ sudo apt install tlp tlp-rdw $ sudo tlp start Після встановлення TLP від вас більше нічого не потрібно. Програма працює на тлі. Для установки CPUFREQ робимо наступне: $ sudo apt install indicator-cpufreq А потім перезавантажуємо комп'ютер і включаємо енергозберігаючий режим: 8. Налаштовуємо LibreOffice і робимо його швидше Часто використовуєте LibreOffice? Давайте зробимо його швидше! Для цього: - Переходимо в параметри LibreOffice; - у вікні "Memory" ставимо галочку навпроти "Enable systray Quickstarter"; - Збільшуємо обсяг доступної пам'яті. 9. Використовуємо легковагу середовище робочого столу Також ми можемо замість стандартного середовища GNOME спробувати «легші» середовища Xfce або LXDE. Вони споживають менше пам'яті та менше навантажують процесор. І вони мають набір легковажних додатків. Все це прискорить Ubuntu, хоча ваш робочий стіл виглядатиме менш сучасно.
-
Hunner - DoS атака
DoS - хакерська атака на обчислювальну систему з метою довести її до відмови, тобто створення таких умов, за яких сумлінні користувачі системи не зможуть отримати доступ до системних ресурсів (серверів), що надаються, або цей доступ буде утруднений. Відмова «ворожої» системи може бути кроком до оволодіння системою (якщо в позаштатній ситуації ПЗ видає будь-яку критичну інформацію — наприклад, версію, частину програмного коду тощо). Але найчастіше це міра економічного тиску: втрата простої служби, яка приносить дохід, рахунки від провайдера і заходи щодо уникнення атаки відчутно б'ють «мету» по кишені. В даний час DoS і DDoS-атаки найбільш популярні, тому що дозволяють довести до відмови практично будь-яку погано написану систему, не залишаючи юридично значущих доказів. Функції: Scan sql vulnerability Scan xxs vulnerability Dos sites Brutforce FTP Brutforse SSh Brutforse mail Accounts Встановлення: Код: git clone https://github.com/b3-v3r/hunner cd hunner apt install root-repo apt install hping3Використання: Код: python hunner.pyПеред вами з'явиться подібність до меню, де можна вибирати функції для атаки. Якщо ви хочете здійснити звичайну, то натисніть "3", а потім "1".
-
Як анонімно користуватися утилітою Termux
Установка: pkg install tor proxychains nano nano $PREFIX/etc/proxychains.conf Далі забираємо # з 10 рядка і ставимо його перед 18 рядком. Line 10: dynamicchain Line 18: strictchain Натискаємо CTRL+X+Y. Використання: tor Відкриваємо 2 сесію у Termux; proxychains4 команда запуску утиліти Example: proxychains4 python wannados.укр Дод. налаштування: За стандартом використовується проксі TOR, але якщо ви хочете, щоб після кожного запиту відбувалася зміна ip, достатньо відкрити файл $PREFIX/etc/proxychains.conf і в кінці файлу дописати список проксі.
-
20 реальних кроків щодо посилення безпеки Linux
№ 1. Уникайте використання FTP, Telnet та Rlogin/Rsh У більшості варіантів конфігурації мереж можна в тій же мережі за допомогою сніфера пакетів (packet sniffer) перехоплювати імена користувачів, паролі, команди FTP/Telnet/RSH і файли, що пересилаються. Загальним рішенням проблеми є використання OpenSSH, SFTP або FTPS (FTP поверх SSL), які додають до FTP або SSL або шифрування TLS. Щоб видалити NIS, rsh та інші застарілі сервіси, наберіть наступну команду: # yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve № 2. Мінімізуйте кількість встановлених програм для мінімізації числа вразливостей Вам справді потрібні всі види встановлених веб-сервісів? Уникайте встановлювати непотрібні програми, щоб уникнути вразливостей, наявних у цих програмах. Скористайтеся менеджером пакетів RPM, таким як as yum або apt-get and/or dpkg to review для перегляду всього набору встановлених у системі програм. Видаліть усі непотрібні пакети. # yum list installed # yum list packageName # yum remove packageName або # dpkg --list # dpkg --info packageName # apt-get remove packageName № 3. Один мережевий сервіс на кожну систему або екземпляр віртуальної машини Запускайте різні мережеві послуги на окремих серверах або окремих примірниках віртуальної машини. Це знизить кількість сервісів, які можуть наразитися на небезпеку. Наприклад, якщо атакуючий успішно потрапляє всередину сервісу Apache, він також зможе отримати доступ до всього сервера, в тому числі й до інших сервісів, таких як MySQL, поштовий сервер тощо. № 4. Підтримуйте ядро Linux та програми в оновленому стані Використання всіх патчів безпеки є важливою частиною роботи з підтримки сервера Linux. У Linux є всі необхідні засоби для підтримки вашої системи завжди в оновленому стані та для легкого переходу до наступних версій. Усі оновлення, що стосуються безпеки, повинні вивчатися та встановлюватися одразу, як для цього з'явиться можливість. Для того, щоб встановити всі оновлення безпеки, знову скористайтеся менеджером пакетів RPM, таким як yum або apt-get та/або dpkg: # yum update або # apt-get update && apt-get upgrade Ви можете налаштувати Red hat/CentOS/Fedora Linux так, що yum надсилатиме вам на e-mail нагадування про те, що є оновлення. Інша можливість – виконувати всі оновлення, що стосуються безпеки, як завдання для cron. Під Debian/Ubuntu Linux можна використовувати apticron для надсилання нагадувань щодо безпеки. № 5: Використовуйте розширення Linux, що підвищують безпеку Linux поставляється з різними патчами з безпеки, які можна використовувати для того, щоб захиститися від програм, що неправильно працюють або зазнали атаки. Якщо це можливо, використовуйте SELinux та інші розширення Linux, які підвищують безпеку, в яких вже є засоби обмеження при роботі з мережею та інші програми. Наприклад, SELinux має велику кількість політик безпеки, які реалізовані в ядрі SELinux. № 6. Політика користувацьких паролів та сильні паролі Використовуйте команди useradd/usermod для того, щоб створювати та працювати з реєстраційними записами користувачів. Переконайтеся, що ви використовуєте політику застосування добрих і сильних паролів. Наприклад, довжина хорошого пароля повинна бути не менше 8 символів і в ньому повинні бути великі і малі літери, цифри, спеціальні символи і т. п. Найголовніше - підібрати пароль, який ви можете запам'ятати. Використовуйте такі інструментальні засоби, як John the ripper для пошуку на вашому сервері слабких паролів користувача. Використовуйте pam_cracklib.so, щоб перевіряти стійкість пароля проти його підбору за словником. № 7. Забороніть прямий доступ до системи з правами root Ніколи не ввійдіть у систему як користувач root. Для виконання команд рівня root, якщо це потрібно, вам слід скористатися командою sudo. Команда sudo істотно підвищує безпеку системи та не вимагає роздавати пароль root іншим користувачам та адміністраторам. Команда sudo також надає прості засоби для аудиту та відстеження подій. № 8. Захистіть сервер від фізичного доступу до нього Ви повинні захистити консолі Linux-серверів від фізичного доступу до системи. Налаштуйте BIOS і забороніть завантажуватися з зовнішніх пристроїв, таких як DVDs/CDs/USB. Встановіть пароль BIOS і пароль завантаження grub для захисту цих налаштувань. Усі системні блоки повинні бути зосереджені у спеціально відведеному для цього приміщенні і персонал, перш ніж отримати доступ до сервера, повинен пройти в службі безпеки певну перевірку. № 9. Вимкніть непотрібні сервіси Вимкніть усі непотрібні сервіси та демони (сервіси, що запускаються у фоновому режимі). Вам потрібно буде видалити всі непотрібні сервіси, які запускаються під час старту системи. Для того, щоб отримати список усіх сервісів, що запускаються на рівні запуску 3 (run level # 3) під час завантаження системи, наберіть наступну команду: # chkconfig --list | grep '3: eek: n' Щоб вимкнути сервіс, введіть: # service serviceName stop # chkconfig serviceName off № 10. Видаліть X Window X Windows на сервері не потрібний. Так що немає необхідності запускати X Window на вашому спеціалізованому поштовому або веб-сервері (Apache). Для того, щоб підвищити безпеку та покращити працездатність системи, ви можете відключити та видалити X Window. Відредагуйте файл /etc/inittab і встановіть рівень запуску (run level) рівним 3. Нарешті видаліть систему X Window, для цього введіть наступну команду: # yum groupremove "X Window System" № 11. Налаштуйте Iptables і використовуйте TCPWrapper-и Iptables є додатком користувача, який дозволить вам налаштувати брандмауер (Netfilter), наявний в ядрі Linux. Використовуйте брандмауер для фільтрації та пропуску лише потрібного трафіку. Також використовуйте TTCPWrapper-и – крос-хостингові мережеві системи ACL (аркуші контролю доступу), які застосовуються для фільтрації доступу з мережі в Інтернет. За допомогою Iptables ви зможете запобігти багато атак виду denial of service. № 12. Убезпечте доступ до файлу ядра Linux /etc/sysctl.conf Для конфігурації параметрів ядра під час роботи використовується файл /etc/sysctl.conf. Linux під час завантаження використовує налаштування, які зчитуються з файлу /etc/sysctl.conf. Приклад файлу /etc/sysctl.conf: # Turn on execshield kernel.exec-shield=1 kernel.randomize_va_space=1 # Enable IP spoofing protection # Disable IP source routing net.ipv4.conf.all.rp_filter=1 # Ignoring broadcasts request net.ipv4.conf.all.accept_source_route=0 net.ipv4.icmp_ignore_bogus_error_messages=1 net.ipv4.icmp_echo_ignore_broadcasts=1 # Make sure spoofed packets get logged net.ipv4.conf.all.log_martians = 1 № 13. Використовуйте різні дискові розділи Розміщення файлів операційної системи окремо від файлів користувача може, як результат, поліпшити роботу системи і підвищити її безпеку. Переконайтеся, що такі файлові системи змонтовані на окремих розділах: /usr /home /var and /var/tmp /tmp Створіть окремі розділи для кореневих директорій серверів Apache та FTP. Відредагуйте файл /etc/fstab і не забудьте додати наступні параметри конфігурації: – noexec – не дозволяється виконувати бінарні файли (запобігається виконання бінарних файлів, але дозволяється виконувати скрипти); – nodev – не дозволяється вказувати посимвольні та спеціальні пристрої (запобігає використанню файлів пристроїв, таких як zero, sda тощо); – nosuid – не дозволяється мати доступ для SUID/SGID (запобігає зміні бітів ідентифікатора користувача та ідентифікатора групи). Приклад монтування /etc/fstab розділу /dev/sda5 (кореневий директорій сервера ftp), для якого обмежений доступ користувача: /dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2 № 14. Вимкніть IPv6 Версія 6 протоколу Інтернет (IPv6), яка замінює версію 4 (IPv4), є новий шар організації протоколу TCP/IP, що дає масу переваг. В даний час немає хороших інструментальних засобів, за допомогою яких можна було б перевірити безпеку системи, що працює через мережу IPv6. У більшості дистрибутивів Linux протокол IPv6 за замовчуванням увімкнено. Зломщики можуть скористатися та перенаправити трафік IPv6, оскільки більшість адміністраторів не здійснюють його моніторинг. Якщо конфігурація мережі не вимагає використання протоколу IPv6, вимкніть його, інакше налаштуйте брандмауер Linux для роботи з IPv6. № 15. Заберіть усі непотрібні бінарні файли SUID та SGID Якщо встановлені права доступу SUID/SGID та файл, відповідно до SUID/SGID, виконуваний, його можна використовувати неправильно, що може бути причиною неправильної роботи системи або проблем з безпекою. Будь-який локальний або віддалений користувач може використовувати файл. Тому потрібно знати про всі такі файли. Використовуйте команду find так: See all set user id files: find/-perm +4000 find/-perm +2000 # See all group id files find / \(-perm -4000 -o -perm -2000 \) -print # Or combine both in a single command find/-path-prune-o-type f-perm +6000-ls Вам потрібно вивчити кожне повідомлення про такий файл. № 16. Використовуйте централізований сервіс ідентифікації Без централізованої системи авторизації ідентифікаційні дані про користувача можуть стати суперечливими, і це може призвести до старіння повноважень та появи забутих реєстраційних записів, які слід видаляти насамперед. Централізована служба автентифікації дозволить вам здійснювати під Linux/UNIX централізоване обслуговування всіх реєстраційних записів та ідентифікаційних даних. Ви зможете забезпечувати синхронізацію ідентифікаційних даних між серверами. Не використовуйте для централізованої ідентифікації NIS. Використовуйте OpenLDAP для клієнтів та серверів. № 17. Протоколювання та аудит Для того, щоб збирати відомості про спроби зламування системи та проникнення в неї, вам потрібно налаштувати протоколювання та аудит. За промовчанням системний журнал syslog зберігає дані в директорії /var/log/. Корисно також дізнатися про неправильне конфігурування програм, які можуть відкрити вашу систему для різних атак. №17.1. Використання Logwatch/Logcheck для відстеження підозрілих записів у системному журналі. Читайте свої журнали за допомогою logwatch або logcheck. Ці інструменти полегшать аналіз журналів. Ви отримаєте поштою докладні звіти про незвичайні записи, виявлені в системному журналі syslog. Приклад звіту з syslog: ################### Logwatch 7.3 (03/24/06) #################### Processing Initiated: Fri Oct 30 04:02:03 2009 (2009-Oct-29) Date Range Processed: yesterday Period is day. Logfiles for Host: www-52.nixcraft.net.in Detail Level of Output: 0 Type of Output: unformatted --------------------- Named Begin ------------------------ ################################################################# Unmatched Entries general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 3 Time(s) general: info: zone XXXXXX.com/IN: Transfer started.: 3 Time(s) general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s) ---------------------- Named End ------------------------- general: info: zone XXXXXX.com/IN: refresh: retry limit для майстра ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s) --------------------- iptables firewall Begin ------------------------ Logged 87 packets on interface eth0 ---------------------- iptables firewall End ------------------------- Від 58.y.xxx.ww - 1 packet to tcp(8080) Від 59.www.zzz.yyy - 1 packet to tcp(22) Від 60.32.nnn.yyy - 2 packets to tcp(45633) Від 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800) --------------------- SSHD Begin ------------------------ /dev/sda3 450G 185G 241G 44% / Users logging in through sshd: root: 123.xxx.ttt.zzz: 6 times ---------------------- SSHD End ------------------------- --------------------- Disk Space Begin ------------------------ Filesystem Size Used Avail Use% Mounted on /dev/sda1 99M 35M 60M 37% /boot ---------------------- Disk Space End ------------------------- ###################### Logwatch End ########################## Примітка: результат виведення наведено зі скороченнями. № 18. Забезпечте безпеку сервера OpenSSH Для віддаленого доступу до системи та віддаленої передачі файлів рекомендується використовувати протокол SSH. Проте протокол ssh відкритий для багатьох атак. № 19. Встановіть та використовуйте систему виявлення вторгнень Система виявлення мережного вторгнення (network intrusion detection system - NIDS) - це система виявлення вторгнення, яка за допомогою моніторингу мережного трафіку намагається зафіксувати зловмисну активність, таку як атаки виду denial of service (відмова в обслуговуванні), сканування портів і навіть спроби проникнення в комп'ютер. Хороший практичний підхід – перш ніж система буде підключена до мережі в режимі експлуатації, розгорнути будь-яку інтегровану програмну систему перевірки. Якщо можливо, то перш ніж система буде підключена до будь-якої мережі, встановіть пакет AIDE. AIDE є крос-хостингової системою виявлення вторгнення (host-based intrusion detection system – HIDS). Вона може здійснювати моніторинг та аналіз процесів, що відбуваються всередині самих комп'ютерних систем. Snort є програмою, призначеною для виявлення вторгнень, яка може виконувати протоколювання на рівні мережевих пакетів та в режимі реального часу робити аналіз трафіку в IP-мережах. № 20. Захистіть файли, директорії та поштові скриньки У Linux пропонуються різні варіанти захисту проти несанкціонованого доступу до даних. Використання прав доступу до файлу та методика MAC (Mandatory Access Control – примусове керування доступом) запобігають несанкціонованому доступу до даних. Однак права доступу, що встановлюються Linux, марні, якщо атакуючий має фізичний доступ до комп'ютера і може перенести жорсткий диск комп'ютера на іншу систему з тим, щоб скопіювати і проаналізувати дані, що його цікавлять. Ви можете легко захистити Linux-файли та дискові розділи за допомогою спеціальних інструментальних засобів.
-
Генеруємо список робочих проксі-серверів
Proxylib - це інструмент, який парсить проксі з різних сайтів, потім, перевіряє кожен на працездатність і тільки слідом, робітники з них записує у файл з ними. Установка на Termux apt install libxml2 libxslt git clone in4osecurity/proxylib cd proxer Використання: python script.укр
-
Налаштування SELinux
Security-Enhanced Linux (SELinux) - це новий метод контролю доступу до Linux на основі модуля ядра Linux Security (LSM). SELinux включений за замовчуванням в багатьох дистрибутивах на основі Red Hat, що використовують пакетну базу rpm, наприклад, Fedora, CentOS і т д . станів. Як система виконання прикладів використовувалася CentOS 8. Основи SELinux SELinux є системою маркування, кожен процес має мітку. Кожен файл, каталог або навіть користувач у системі має мітку. Навіть портам та пристроям та іменам хостів у системі присвоєно мітки. SELinux визначає правила доступу процесу до об'єктів із певними мітками. Це називається політикою. За дотриманням правил стежить ядро. Іноді це ще називається обов'язковий контроль доступу (Mandatory Access Control, MAC). Власник файлу не має повної свободи дій над атрибутами безпеки. Стандартні атрибути контролю доступу, такі як група та власник нічого не означають для SELinux. Повністю все керується мітками. Значення атрибутів можуть бути встановлені без прав root, але на це потрібно мати спеціальні повноваження SELinux. Тепер поговоримо трохи про політиків. Ми визначаємо мітку для процесів певного типу, а також об'єкти файлової системи теж певного типу. Ось уявіть собі систему, в якій об'єкти (процеси) це кішки і собаки. Це типи процесів. І у нас є об'єкти, до яких вони хочуть мати доступ – їжа. Але їжа у них різна їжа_котів та їжа_собак. Потрібно, щоб об'єкти мали доступ лише до своєї їжі. У собаки є дозвіл їсти свою їжу, а у кішки - свою. У політиках SELinux це буде виглядати ось так: дозволити кішці корм_кішок є дозволити собаці корм_собак є Тепер ядро стежитиме, щоб дотримувалися цих правил. У системі SELinux все за замовчуванням заборонено, таким чином, якщо собака спробує з'їсти котячий корм, ядро не дозволить це зробити. Припустимо, процес Apache має мітку httpd_t , а файли, до яких Apache повинен бути доступ ми назвали httpd_sys_content . Також у нас є дані кредитних карток, які зберігаються в базі даних mysql. Якщо хакер зламає процес Apache і в нього буде root доступ, він все одно не зможе отримати доступ до файлів від mysql. SELinux може викликати у системних адміністраторів велику кількість проблем, багато хто її просто відключає, таким чином вирішивши проблему і зменшивши безпеку. Як уже говорилося вище, за замовчуванням SELinux блокує все та вся. Це підходить під опис суворої політики. Але щоб полегшити системним адміністраторам роботу, було розроблено інші стандартні політики. У багатьох дистрибутивах використовується цільова політика (targeted), вона охоплює близько 200 мережевих служб і процесів, все ж таки інші програми запускаються і працюють вільно, до них ніякі моделі SELinux не застосовуються. SELinux може працювати в трьох режимах - відключений, система повністю відключена і не працює, режим обмежень Enforcing - програма активована і блокує всі дії, що не відповідають політикам, і третій режим Permissive - тільки фіксувати порушення. Політики SELinux бувають також кількох типів. Політика targeted, яку ми розглядали вище відноситься до типу Type Enforcment (TE) політик, в яких управління доступом до файлів здійснюється на основі ролей. Сюди належить політика strict . Є ще політики Multi-Level Security (MLS) , в яких додані додаткові категорії, вони складні і непотрібні пересічному користувачеві, тому початківцям можна поки що забути про їхнє існування. Треба зрозуміти, що підсистема SELinux розроблена військовими для військових, тому звичайним користувачам всі її можливості навряд чи знадобляться. У цій статті ми обговорюватимемо саме політику targeted. Теорія загалом розглянута. А тепер перейдемо до практичної частини. Налаштування SELinux 1. Стан Після перезавантаження ви можете переглянути стан SELinux: Код: sestatus Тут бачимо, що система включена SELinux status: enabled, Поточний режим Current mode - enforcing , тобто система блокуватиме невирішені дії. Політика - targeted . Ця політика використовується для того, щоб правила SELinux поширювалися лише на певні служби. 3. Режим роботи Зараз увімкнемо активний режим, для цього виконайте команду: Код: sudo setenforce 1Вимкнути активний режим можна, передавши в ту ж команду 0: Код: sudo setenforce 0 Подивитися режим, що використовується зараз, теж можна подібною командою: Код getenforce Все основне налаштування SELinux виконується через файл /etc/selinux/config . Тут можна як повністю відключити selinux, так і настроїти політику безпеки. sudo vi /etc/selinux/config Цей параметр означає режим роботи SELinux, ви можете вказати тут один із трьох параметрів enforce , permissive та disabled SELINUX=enforcing Використовуйте disabled щоб повністю вимкнути SELinux або будь-який інший, щоб увімкнути SELinux назад. Цей режим буде використовуватись за умовчанням під час старту системи. 4. Вибір політики Налаштування SELinux політик виконується також у цьому файлі. За політику відповідає параметр SELINUXTYPE : SELINUXTYPE=targeted Ви можете посилатися на будь-яку політику, розташовану в каталозі /etc/selinux . Можуть використовуватися три основні політики: targeted - захищає основні системні сервіси, наприклад, веб-сервер, DHCP, DNS, але не торкається всіх інших програм. strict - найсуворіша політика, керує як мережевими службами, а й програмами користувача. mls - містить як правила, а й різні рівні безпеки. Вона дає змогу реалізувати багаторівневу систему безпеки на основі SELinux. Можна також додати свої політики. Для застосування політики необхідно перезавантажити комп'ютер, і бажано, щоб SELinux під час цього перезавантаження був у режимі аудиту (permissive). Також, щоб система оновила всі мітки у файловій системі, можливо, доведеться створити порожній файл у корені: Код: sudo vi /.autolabel5. Перегляд контексту Кожен файл і процес має свою SELinux мітку, яку прийнято називати контекстом. Яка мітка буде присвоєна тому чи іншому файлу чи процесу визначається політикою, у нашому випадку це targeted. Переглянути контекст SELinux можна за допомогою команди ls: Код: ls -lZ / Синтаксис у рядка контексту такий: ім'я_користувача:ім'я_об'єкта:тип_або_домен:рівень_доступу У політиці targeted ім'я користувача та ім'я об'єкта практично не використовуються, рівень доступу - відноситься до MLS політиків і на нього теж можна не звертати уваги. А дивитись варто на третє поле. Для файлів чи папок воно називається типом, а процесів доменом. Наприклад, у папки /bin тип bin_t . Щоб подивитися домен процесу, використовуйте команду ps, наприклад, для httpd: ps auxZ | grep httpd Як бачите, тут у сервісу httpd домен httpd_t це означає, що йому будуть доступні тільки ті ресурси, які дозволено чіпати цьому домену, в даному випадку це тип sys_httpd_content. Все це, включаючи назви, визначено у політиці targeted. У той же час інші процеси, наприклад, grep, запущені з доменом unconfined_t , це означає, що їм будуть доступні всі без винятку ресурси в системі, тому що саме така поведінка налаштована в політиці для цього домену. 6. Зміна контексту За промовчанням папка веб-сервера знаходиться /var/www/html . У неї контекст такий, як ми обговорили раніше: Якщо ви захочете перенести цю папку в інше місце, потрібно буде змінити контекст для нової папки. Для цього використовується команда chcon, треба вказати лише тип: Код: sudo chcon -Rv --type=httpd_sys_content_t /home/losst/htdocsОднак, можна вказати контекст повністю: Код: sudo chcon -Rv system_u:object_r:httpd_sys_content_t:s0 /home/losst/htdocsЦя зміна збережеться після перезавантаження, але після оновлення позначок файлової системи вона буде стерто. Щоб цього уникнути, треба додати правило в політику. 7. Модифікація політики Ви можете додати додаткові правила присвоєння міток файлів у політику за допомогою утиліти semanage. Щоб встановити тип httpd_sys_content_t для директорії /home/losst/httdocs , і всі файли в ній треба виконати: Код: semanage fcontext -a -t httpd_sys_content_t "/home/losst/httdocs(/.*)?"Якщо потрібно поміняти контекст тільки для одного файлу, маску використовувати не обов'язково: Код: semanage fcontext -a -t httpd_sys_content_t "/home/losst/httdocs/index.html"Сама собою ця команда у файловій системі нічого не змінює, треба створити файл /.autolabel і перезавантажити комп'ютер або виконати команду restorecon для потрібної папки: Код: restorecon -R -v /home/losst/httdocs Переглянути всі додані таким чином правила можна за допомогою такої команди: Код: semanage fcontext -C -l 8. Логи Незважаючи на режим, в якому працює SELinux, всі повідомлення про порушення пишуться в лог файл /var/log/audit/audit.log . Ви можете переглянути його вручну: Код: less /var/log/audit/audit.logАбо для більш зручного перегляду можна використовувати утиліту sealert. Для її встановлення виконайте: Код: sudo yum install setroubleshootПотім можна дивитися: Код: sealert -a /var/log/audit/audit.log Утиліта відображає не всі рядки, а лише повідомлення про помилки доступу і при цьому виводить запропоновані рішення. Дуже зручно. У числі рішень утиліта пропонує створити свій модуль для політики targeted, який дозволяє робити те, що зараз не можна. 9. Модулі Політика targeted модульна. Вона складається з безлічі модулів для різних програм. Щоб переглянути всі активні на даний момент модулі, виконайте: Код: semodule -lЩоб переглянути всі встановлені модулі, виконайте: Код: semodule --list-modules=fullУ минулому пункті було показано, як за допомогою утиліти sealert переглянути можливі рішення проблеми доступу. Найчастіше рішення створити свій модуль для політики на основі лога. Утиліта audit2allow аналізує лог файл, знаходить там відомості про об'єкти, до яких немає доступу, а потім дозволяє цей доступ у новому модулі. У попередньому прикладі утиліта sealert порадила таку команду: Код: ausearch -c 'httpd' --raw | audit2allow -M my-httpdПісля цього в поточній папці з'явиться пакет модуля з розширенням .pp, який можна встановити за допомогою утиліти semodule : Код sudo semodule -i my-httpd.pp10. Прапори Крім того, поведінку політики можна налаштовувати за допомогою прапорів. Зазвичай, прапори, які треба включити рекомендує та ж утиліта sealert. Усі прапори визначено у модулях політики. Подивитися які прапори доступні зараз та їх стан можна за допомогою команди: Код: getsebool -a Щоб змінити стан прапора, використовуйте команду setsebool. Наприклад, щоб дозволити модулям httpd підключатися до мережі, виконайте: Код: setsebool -P httpd_can_network_connect on
-
Відновлення backup.tgz Ubuntu
Попросили допомогти відновити backup.tgz , знятий із Ubuntu 12.0.4 на віртуалку. Також виявилося, що в бекапі відсутнє ядро і немає запису про рут у диску /etc/fstab . Створено віртуалку на Proxmox , до неї підключений CDROM з liveCD , backup.tgz запакували в iso і підключили як cdrom до віртуалки: genisoimage -o ./image.iso ./iso/* Завантажилися в rescue mode . Створили 2 партиції: Код /dev/vda1(root) /dev/vda2 (swap)Зробили партицію /dev/vda1 завантажувальною. Створили файлову систему /dev/vda1 : Примонтували: mount /dev/vda1 /mnt Відновили бекап на партицію: tar -xvpzf /path/to/backup.tgz -C /mnt/ Відновили grub : Код: mkdir /mnt/proc mkdir /mnt/sys mkdir /mnt/mnt mkdir /mnt/media for f in dev dev/pts proc ; do mount --bind /$f /mnt/$f ; done chroot /mnt grub-install /dev/vdaДалі перезавантажуємося знову в rescue і монтуємо рут з диска. Отримуємо завантажений Linux з даного бекапу, але самостійно він вантажиться поки що не може. Встановили кернел: apt-get install linux-image-generic Можуть виникнути помилки з конфігурацією, довелося: chmod -x /usr/share/initramfs-tools/hooks/fixrtc Дописали опис рутового диска /etc/fstab : /dev/vda1 / ext4 default 1 1 Після цього повторюємо інсталяцію grub : grub-install /dev/vda
-
Як встановити Kali Linux на смартфон
Що потрібно знати і зробити перед установкою Перше, що слід подбати, — це права root. Без них деякі функції встановлених нами утиліт можуть не підтримуватись або працювати некоректно. Тому рекомендую їх отримати. Особливо це стосується користувачів з Android 10 та пізніших версій. Отримання root у кожному випадку унікальне, адже воно безпосередньо залежить від конкретної моделі пристрою та версії Android. Я в цій статті використовуватиму свій старенький Samsung Galaxy S6 (SM-G920F) на Android 7.0 Nougat, для рута в якому вже є спеціальний інструмент . В інших випадках доведеться погуглити і дізнатися, як отримати рут безпосередньо на твоєму пристрої. На форумі 4PDA майже завжди потрібна інструкція. Також нам знадобиться Termux - простий і зручний термінал, що дає багато можливостей середовища Linux, який і дозволить виконувати наші команди у відповідному середовищі і не возитися з попереднім настроюванням оточення. Рекомендую також встановити утиліту tsu, яка надасть можливість виконувати команди від рута. Якщо вона не працює належним чином, зазирни в GitHub-репозиторій , який налаштовує роботу рута Termux. Це потрібно, щоб Termux відразу мав рут-доступ, який може знадобитися для подальших операцій. Важливий момент: при використанні в якості рута Magisk (а на більшості сучасних пристроїв альтернатив немає і не передбачається) не забудь в його налаштуваннях дозволити Termux рут-доступ, а також додати винятки для Magisk Hide, інакше всі наші дії будуть марними. Також рекомендую оновити список пакетів, як ми зазвичай робимо це в десктопі Kali: $ apt-get update Пара слів про Kali NetHunter Якщо ти один із тих щасливчиків, чий пристрій опинився в списку підтримуваних , рекомендую звернути увагу на проект Kali NetHunter. Це платформа, створена розробниками Kali Linux спеціально для телефонів на Android. У NetHunter відразу доступно багато робочого софту з робочої версії Kali. Образи можна знайти на офіційному сайті . Це потужніший набір, ніж той, що ти можеш отримати за допомогою Termux. Встановлюємо Metasploit Повний опис Metasploit - тема для окремої статті, тому пройдемося ним коротко. Metasploit Framework - фреймворк, призначений для створення, налагодження та, звичайно, застосування експлоїтів. Встановити Metasploit Framework (MSF) на Android 7 або вище можна в дві команди: На Android 5.xx–6.xx MSF встановлюють дещо іншим способом: $ pkg install unstable-repo $ pkg install metasploit $ curl -LO https://github.com/termux/termux-packages/files/3995119/metasploit_5.0.65-1_all.deb.gz $ gunzip metasploit_5.0.65-1_all.deb.gz $ dpkg -i metasploit_5.0.65-1_all.deb $ apt -f install Тепер, щоб переконатися, що у нас все працює, запустимо Metasploit : $ msfconsole Як бачиш, все чудово і в твоєму розпорядженні 2014 року експлоїтів. Встановлюємо ngrok Ngrok - це крос-платформний софт для створення захищених мережевих тунелів від загальнодоступної кінцевої точки до локально працюючої мережевої служби. Також утиліта збирає весь трафік та логує його для аналізу. Перед подальшими діями переконайся, що інтернет підключено (через «мобільні дані») та активовано точку доступу, оскільки це необхідно для коректної роботи ngrok. Для початку оновлюємося та ставимо Python 2: $ pkg update && pkg upgrade && pkg install python2 Тепер нам потрібно зареєструвати свій обліковий запис ngrok. Як тільки зареєструєшся, тебе перекине на сторінку особистого кабінету, де потрібно буде знайти та скопіювати свій токен автентифікації, як показано на скріншоті. Далі треба завантажити архів з ngrok для Linux-based-систем з архітектурою ARM. Далі заходь у Termux та йди в ту директорію, куди скачав архів із ngrok. Наприклад: $ cd /sdcard/Downloads Введи команду ls | grep ngrok і перевір, що архів тут. Тепер нам потрібно розархівувати його: $ unzip ngrok-stable-linux-arm.zip Після цього ще раз введи ls |grep ngrok і перевір, чи з'явився у тебе файл ngrok, що виконується. Якщо його немає, то перед наступним кроком зайди в директорію з ним $ cd ngrok-stable-linux-arm . Тепер тобі потрібно встановити прапор виконання файлу: І зробити перший запуск: Пам'ятаєш, ти копіював свій токен для аутентифікації? Впиши цю команду, щоб ngrok знав хто його використовує: І запускай сервер: Ти побачиш екран як на скріншоті. $ mv -v ngrok /$HOME $ chmod +x ngrok $ ./ngrok $ ./ngrok authtoken токен $ ./ngrok http 80 Відмінно, тепер ти готовий атакувати будь-які цілі! Встановлюємо sqlmap Цитата з офіційного сайту : "Sqlmap - це інструмент для тестування на проникнення з відкритим вихідним кодом, який автоматизує виявлення та використання недоліків SQL-ін'єкцій та захоплення серверів баз даних". Докладніше про sqlmap ти можеш прочитати в архівній статті 2011 року « Sqlmap: SQL-ін'єкції ». З установкою все просто. Перед тобою є вибір: поставити стабільну версію 1.4.3 чи нову 1.4.5.34. Перша ставиться простіше нікуди: $ pkg install sqlmap І все. Щоб запустити утиліту, пропиши команду $ sqlmap -u <URL> Або ж ти можеш поставити собі новішу версію, яка ще знаходиться в розробці. Для цього потрібно клонувати офіційний проект sqlmap з GitHub : $ git clone https://github.com/sqlmapproject/sqlmap.git Далі переходь до папки з sqlmap: $ cd sqlmap І, використовуючи python2, запускай sqlmap з таким же обов'язковим параметром: $ python2 sqlmap.py -u ссылка Тепер більше половини баз даних інтернету можуть опинитися у твоєму смартфоні! Але не забувай, що застосовуючи цей потужний інструмент, ти ризикуєш нажити проблеми із законом. Встановлюємо aircrack-ng Aircrack-ng — набір утиліт, призначених для виявлення бездротових мереж, перехоплення їхнього трафіку та аудиту ключів шифрування WEP та WPA/WPA2-PSK. Тут уже все не так просто. Думаю, ти чув, наскільки важко перевести Wi-Fi адаптер смартфона в режим моніторингу. В офіційних репозиторіях Termux на цей випадок є пакет утиліти iwconfig, яка управляє бездротовими мережами. Нам треба встановити її. Для початку потрібні допоміжні утиліти: $ pkg install root-repo Тепер можна ставити iwconfig з рештою тулз для роботи з бездротовими мережами: $ pkg install wireless-tools І ще поставити окремо iw: $ pkg install iw Тепер тобі треба буде зайти як рут і створити екземпляр монітора. Для цього ми зробимо так: Перевіримо наші адаптери та їх статуси: Якщо щось відображається не так, перевір, чи працює Wi-Fi, і переконайся, що він не підключений до будь-яких мереж. Далі нам потрібно підняти монітор: Звичайно, не всі пристрої з Android підтримують режим моніторингу. Перевірити це можна програмою bcmon, яка серед іншого вміє включати режим моніторингу на сумісних чіпах Broadcom (пристрої Nexus та деякі інші). Для решти доведеться купити перехідник USB - OTG, в який встромити один з підтримуваних десктопної Kali адаптерів. Для цього потрібно перезбирати ядро з потрібними драйверами. Якщо у тебе немає досвіду перескладання ядра, рекомендую звернутися до теми свого пристрою на 4PDA або XDA-developers . Часто там є збирання Kali з уже готовим ядром. Тепер можемо ставити aircrack-ng: Дивимося короткий man: $ tsu $ iw phy0 interface add mon0 type monitor $ iwconfig $ ifconfig mon0 up $ pkg install aircrack-ng $ man aircrack-ng І можемо запустити airodump-ng: $ airodump-ng -i mon0 Тепер можна перехоплювати трафік відкритих точок, спамити deauth-фреймами, відключаючи неугодних сусідів сторонні пристрої від інтернету, ловити хендшейки для злому паролів. Не мені тебе вчити. Встановлюємо Nmap Nmap – утиліта, призначена для сканування мереж. Може знаходити відкриті порти, робити трасування, перевіряти на вразливості за допомогою NSE-скриптингу. Щоб краще ознайомитися з цим додатком, варто прочитати дві статті з нашого журналу про NSE-скриптинг та його використання для обходу файрволів, DoS-атак та багато іншого. У нашому випадку можливості Nmap можуть бути трохи урізані, адже використовуємо портовану на Android версію. Однак вона є в офіційних репозиторіях Termux, що спрощує нам життя $ pkg install nmap $ nmap Для інтенсивного сканування я використовую такі параметри: nmap -T4 -A -v Ставимо на телефон повноцінний Kali Linux На деякі телефони можна встановити Kali NetHunter, але зараз не піде мова. Ми будемо ставити образ повноцінної Kali на наш телефон та підключатись до його десктопу через VNC. У тебе буде образ саме Kali Linux, що дозволить користуватись тими прогами, які не вдається завести на Termux (наприклад, BeEF-XSS). Спочатку нам знадобиться завантажити з Google Play установщик урізаних дистрибутивів – Linux Deploy, набір необхідних пакетів для коректної роботи (BusyBox) і, звичайно, VNC Viewer – клієнт VNC. Не важливо, що насправді ця машина перебуватиме на 127.0.0.1. Також з інтернету потрібно завантажити образ Kali для Android . Особисто я завантажував повну версію із файловою системою ext4, яка підходить для архітектури ARM (п'ятий файл зверху). Коли архів докачається, твоє завдання - витягти звідти образ об'ємом 5,5 Гбайт і помістити його в директорію мобільного пристрою /storage/emulated/0. Після цього перейменуємо файл linux.img. Тепер потрібно приділити увагу BusyBox. Зараз у Google Play дуже багато варіантів різних виробників. Справа в тому, що деяким пристроям доводиться підшукувати потрібний BusyBox, щоб утиліти всі поставили коректно. У моєму випадку підійшов найпопулярніший пакет BusyBox Free , файли якого я встановив у /su/xbin. Запам'ятай цю директорію, вона важлива під час оновлення середовища установника. Тепер заходимо до Linux Deploy і праворуч унизу натискаємо на іконку налаштувань дистрибутива. Вибираємо дистрибутив Kali Linux. Потрібна архітектура виставиться автоматично, але, якщо не вийде, спробуй armhf. Далі зміни пароль користувача, він знаходиться нижче. І наприкінці ти знайдеш пункти, відповідальні за включення серверів SSH і VNC. Постав галочки навпроти них. Якщо не потрібне графічне середовище, то буде достатньо SSH. Потім можна буде завантажити будь-який клієнт SSH та підключатися до нашої машини з Kali по 127.0.0.1. Щоб не завантажувати зайві програми, можеш скористатися звичайним openssh-client прямо в Termux, для чого просто відкрий ще одну вкладку. Якщо ж тобі все ж таки потрібне графічне середовище, то включи відповідний пункт, і далі я покажу, як підключитися до десктопу Kali за VNC. Тепер потрібно налаштувати робоче оточення. У налаштуваннях змінної PATH вкажи шлях, куди BusyBox встановлював пакети. І понови робоче оточення (кнопка нижче). Далі потрібно настроїти наш контейнер. Вийди на головну сторінку, у верхньому правому куті натисніть на іконку меню і вибери пункт «Конфігурувати». Залишилося тільки запустити наш контейнер. Тисніть кнопку Start внизу. Перевір, чи немає при запуску контейнера рядків із позначкою fail. Якщо є, переконайся, що ти правильно вказав PATH робочого оточення та налаштував контейнер. Якщо все так, то спробуй змінити архітектуру на armhf і зробити все заново. Тепер заходь у VNC Viewer або інший клієнт VNC, додай з'єднання по локалхосту (127.0.0.1) та називай його. Далі підключайся, підтверджуй, що хочеш продовжити користуватися незашифрованим з'єднанням, та вводи пароль користувача, який ти вказував у Linux Deploy. Готово! Звичайно, дистрибутив старий, але весь софт робітник, і, як бачиш, той самий Nmap функціонує без помилок. Для тесту використовую команду $ nmap -A -v <IP> Параметр -A відповідає за включення сканування ОС, її версії, сканування скриптами, а також трасування маршруту (traceroute). Параметр -v виводить докладнішу інформацію. Вивод результатів сканування ти можеш бачити на скріншоті нижче. Тепер твій портативний пристрій здатний розкривати бази даних, сканувати мережі, перехоплювати трафік і влаштовувати ще безліч різних цікавих атак.
-
Основні команди Linux: довідник команд Linux
У цій статті ми постаралися систематизувати основні команди Linux . Команди, які ви побачите в цьому списку, однаково правильно працюють у різних дистрибутивах, включаючи Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux і т. д. Головна мета статті – створити список основних команд Linux, що спростить як вивчення, так і експлуатацію цієї операційної системи. Усі команди Linux розбиті на тематичні підрозділи з короткими описами. Список команд оновлюватиметься та доповнюватиметься. 1. Загальні команди Linux Тут зібрані Linux-команди, яким не знайшлося місце в інших розділах. # uname -a # Показується версія ядра Linux; # lsb_release -a # На екран виводиться інформація про версію ОС та засновані на ній дистрибутиви; # clear # Очищується екран терміналу; # cat /etc/SuSE-release # На екран виводиться інформація про версію ОС SuSE; # man hier # Описується ієрархія файлової системи (для чого необхідна кожна директорія в Linux); # wall Привіт # На термінали інших користувачів надсилається повідомлення "Привіт"; # date # Відображається поточна дата та час; # cal -3 # Відображається у зручній формі попередній, поточний та наступний місяць; # uptime # Відображається поточний час та робота системи без вимкнення та перезавантаження; # hostname # Виводиться мережеве ім'я комп'ютера; # whois linux.org # Відображається інформація про домен linux.org; # export http_proxy=http://your.proxy ort # Змінюється змінна оточення http_proxy для використання інтернету за допомогою proxy-сервера; # wget --convert-links -r Linux.org # Сайт копіюється повністю, конвертуються посилання для автономної роботи. Копіювання проводиться на глибину 5 рівнів; # wget http://itshaman.ru/images/logo_white.png # Файл http://itshaman.ru/images/logo_white.png завантажується в поточну папку; # pppconfig # Команда потрібна для створення та налаштування з'єднання Dial-Up при виході в інтернет за модемом; # pppoeconf # Команда для створення та налаштування виходу в мережу через ADSL-модем; #!! # Забезпечується виконання останньої команди; # Історія | tail -50 # Відображаються останні 50 набраних команд; # exit # Сеанс поточного користувача завершується; # passwd # Пароль поточного користувача змінюється; # shutdown -h now # Для виходу з Linux; # poweroff # Для виходу з Linux; # reboot # Система перезавантажується; # last reboot # Виводиться статистика перезавантажень; # winecfg # Для налаштування Wine - неемулятор WinAPI; # host itshaman.ru # Для відображення IP-адреси введеного сайту. 2. Команди Linux для роботи з директоріями та файлами У цьому списку ви побачите команди Linux, які призначені для створення та видалення директорій та файлів . Також список включає команди навігації між файлами, команди призначення прав доступу та власника. 2.1 Файли та директорії # pwd # Виводиться поточний шлях; # ls # Виводиться список каталогів та файлів по порядку; # ls -laX # Виводиться відформатований список усіх директорій та файлів, у тому числі прихованих; # cd # Для переходу в домашню директорію; # cd /home # Для переходу до директорії /home; # touch /home/primer2 # Створюється пустий файл /home/primer2; # tail /var/log/messages # Виводиться кінець файлу. Це зручно, якщо ви працюєте з великими файлами та логами; # cat /home/primer2 # Показується вміст файлу; # nano /home/primer2 # Забезпечується редагування файлу; # gedit /home/primer2 # Ще одна Linux-команда для редагування файлу; # echo "Останній рядок" | sudo tee -a /home/primer2 # До кінця файлу додається "Останній рядок"; # cp /home/Mut@NT/primer.txt /home/primer.txt # Копіюється /home/Mut@NT/primer.tx в home/primer.txt; # mkdir /home/Mut@NT/shaman # Створюється директорія з ім'ям shaman; # rmdir /home/Mut@NT/shaman # Видаляється директорія з ім'ям shaman; # rm -rf /home/Mut@NT/shaman # Видаляється директорія з вкладеними фалами; # ln -s /home/Mut@NT/primer.txt /home/primer # Створюється символічне посилання до файлу /home/Mut@NT/primer.txt; # cp -la /dir1 /dir2 # Для копіювання директорії; # mv /dir1 /dir2 # Для перейменування директорії; # du -sh /home/Mut@NT/ # На екрані відображається розмір заданої директорії. Команда підходить і визначення розміру файлів; # locate primer # Виконується пошук файлів з ім'ям primer. 2.2 Права доступу # [sudo] chmod 0777 /home/ # Змінюються права доступу до директорії. У цьому випадку 0777 – це дозвіл на читання/запис/виконання для всіх груп; # [sudo] chown Mut@NT:ITShaman /home/primer.txt # Змінюються власник та групи, але тільки для файлу /home/primer.txt; # [Sudo] chmod -R 0777 /home/ # Відбувається рекурсивна зміна прав доступу до директорії. Значення 0777 ми вже описали вище. Права 0777 будуть мати всі вкладені файли та директорії; # [sudo] chown -R Mut@NT /home/ # Для всього вмісту директорії змінюється власник. 3. Команди Linux: працюємо з архівами # tar cf primer.tar /home/primer.txt # Створюється tar-архів з ім'ям primer.tar; # tar cjf primer.tar.bz2 /home/primer.txt # Створюється tar-архів зі стисненням Bzip2 та ім'ям primer.tar.bz; # tar czf primer.tar.gz /home/primer.txt # Створюється tar-архів зі стисненням Gzip та іменем primer.tar.gz; # tar xf primer.tar # У поточну папку розпаковується архів primer.tar; # tar xjf primer.tar.bz # Розпаковується tar-архів з Bzip2; # tar xzf primer.tar.gz # Розпаковується tar-архів з Gzip. 4. Команди Linux для встановлення програм 4.1 Перегляд встановлених пакетів RPM-дистрибутиви # rpm -qa # Відображається список пакетів RPM, встановлених у системі. DEB-дистрибутиви # dpkg -l |more # Для показу списку пакетів DEB, встановлених у системі; # apt-cache search ім'я пакета # Для пошуку в індексах доступного пакета та виведення на екран короткої інформації про потрібний пакет (це дуже корисна команда, яка забезпечує пошук програм з консолі); # apt-cache showpkg Назва пакета # Для відображення повної інформації про цей пакет. 4.2 Встановлення та видалення пакетів RPM-дистрибутивів # [sudo] rpm -i pkgname.rpm # Встановлюється RPM-пакет pkgname.rpm; # [sudo] dpkg -i .rpm # Встановлюються всі пакети в директорії; # [sudo] rpm -e pkgname # Видаляється RPM-пакет pkgname. DEB-дистрибутиви # [sudo] apt-get update # Оновлюється список доступних пакетів з Інтернету; # [sudo] apt-get upgrade # Оновлюється доступна версія встановлених пакетів у системі; # [sudo] dpkg -i .deb # Встановлюються всі пакети в директорії; # [sudo] apt-get install pkgname # Встановлюється DEB-пакет pkgname; # [sudo] apt-get remove pkgname # Видаляється DEB-пакет pkgname. 5. Команди Linux для моніторингу роботи та перегляду логів Тут зібрані команди Linux потрібні для моніторингу роботи ОС . Усі показання, отримані з допомогою, виводяться на екран у реальному часі. Число, яке стоїть після команди, означає інтервал між виведенням інформації. # top # Для отримання інформації про завантажені процеси, споживання ОЗП; # htop # Розширена онлайн-статистика про завантажені процеси; # dmesg # Відображення log-файлу завантаження операційної системи та знаходження нових пристроїв; # mpstat 1 # Відображається розширена статистика споживання ресурсів у відсотках (для деяких дистрибутивів потрібна установка пакета sysstat); # iostat 2 # Показується розширена статистика переривань по пристроях; # vmstat 2 # Розширена статистика із застосування віртуальної пам'яті. 6. Команди Linux для відображення інформації про пристрої # lsdev # Встановлені пристрої (для деяких дистрибутивів потрібно пакет procinfo); # cat /proc/cpuinfo # Повна інформація про модель процесора; # cat /proc/meminfo # Розширена інформація про ОС; # watch -n1 'cat /proc/interrupts' # Дані про переривання; # grep SwapTotal /proc/meminfo # Розмір розділу, виділений під swap; # free -m # Використовувані та вільні ОЗУ та Swap-файл (-m вказує, що відображати дані треба в Мб); # lshal # Повний список всіх пристроїв, а також їх параметрів; # lspci -tv # Показ виявлених PCI-пристроїв; # cat /proc/devices # Усі пристрої в системі (назви взяті з директорії /proc/devices); # lsusb -tv # USB-пристрої; # [sudo] dmidecode # Версія BIOS; # gtf 1024 768 75 # Виведення рядка ModeLine для монітора на параметрах екрана 1024x768x75Hz. 7. Команди Linux для жорстких дисків та файлової системи 7.1 Інформація про жорсткий диск та файлову систему # fdisk -l # Усі підключені жорсткі та змінні диски; # smartctl -a /dev/sda1 # Висновок SMART-даних про розділ жорсткого диска /dev/sda1 (потрібний пакет smartmontools); # [sudo] hdparm -I /dev/sda # IDE/ATA жорсткі диски; # [sudo] blkid # Виведення UUID всіх доступних накопичувачів у системі. 7.2 Продуктивність жорстких дисків # [sudo] hdparm -tT /dev/sda # Відображення продуктивності жорсткого диска. 7.3 Встановлення розділів жорсткого диска # mount | column -t # Примонтовані пристрої; # cat /proc/partitions # Тільки примонтовані розділи; # df # Вільне місце на розділах; # [sudo] mount /dev/sda1 /mnt # Монтаж розділу /dev/sda1 до точки монтування /mnt; # [sudo] mount -t auto /dev/cdrom /mnt/cdrom # Монтаж більшості CD-ROM; # [sudo] mount /dev/hdc -t iso9660 -r /cdrom # Монтаж IDE CD-ROM; # [sudo] mount /dev/scd0 -t iso9660 -r /cdrom # Монтаж SCSI CD-ROM; # [sudo] mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt # Монтаж розділів FreeBSD у Linux; # [sudo] mount -t iso9660 -o loop /home/file.iso /home/iso # Монтаж ISO-образів; # [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video # Монтаж мережевих ресурсів (SMB); # [sudo] mount /dev/sdb1 -t vfat -o rw /mnt # Монтаж розділу з файловою системою FAT 16/32 до точки монтування /mnt з можливістю запису; # [sudo] umount /mnt # Демонтаж розділу від точки монтування /mnt; 8. Команди Linux для налаштування мережі 8.1 Конфігурація мережі # ifconfig # Параметри всіх мережевих; # ifconfig eth0 # Параметри мережного інтерфейсу eth0; # [sudo] ethtool eth0 # Стан мережного інтерфейсу eth0 (може знадобитися пакет ethtool). Команда застосовується лише для дротових підключень (з бездротовими інтерфейсами не працює); # [sudo] ethtool -s eth0 speed 100 duplex full autoneg off # Примусове завдання швидкості мережного інтерфейсу 100 Mbit та режиму Full duplex та відключення автоматичного визначення; # ifconfig eth0 192.168.50.254 netmask 255.255.255.0 # Завдання основної IP-адреси мережному інтерфейсу eth0; # ip addr add 192.168.50.254/24 dev eth0 # Аналогічно; # ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0 # Завдання додаткової IP-адреси мережному інтерфейсу eth0; # ip addr add 192.168.51.254/24 dev eth0 label eth0:1 # Аналогічно; # [sudo] ifconfig eth0 up # Запуск мережного інтерфейсу eth0; # [sudo] ifconfig eth0 down # Його відключення; # ifconfig eth0 hw ether 00:01:02:03:04:05 # Для зміни MAC-адреси; # [sudo] /etc/init.d/dhcpd restart # Для перезавантаження DHCP клієнта; # ping 192.168.0.2 # Для перевірки мережного з'єднання. Пінгується IP-адреса 192.168.0.2. 8.2 Маршрутизація # route -n # Для виведення на екран таблиці маршрутизації; # netstat -rn # Аналогічно. 8.3 Управління портами (брандмауер) # lsof -i # Відображається список усіх відкритих портів до мережі Інтернет; # netstat -an | grep LISTEN # Відображення списку всіх відкритих портів; # [sudo] netstat -tup # Виведення активних з'єднань з інтернетом; # socklist # Відкриті сокети; # [Sudo] netstat -anp --udp --tcp | grep LISTEN # Виводиться список програм, що відкривають порти; # [sudo] iptables -P INPUT ACCEPT # Відкриття доступу до всіх портів; # [sudo] iptables -P FORWARD ACCEPT # Те саме; # [sudo] iptables -P OUTPUT ACCEPT # Те саме; # [sudo] iptables -L -n -v # Статус firewall (статус iptables); # [sudo] iptables -X # Видаляються всі ланцюжки. 8.4 Управління NAT # [sudo] iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Щоб "підняти" NAT на інтерфейсі eth0; # [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995 -j DNAT --to 192.168.16.254:993-995 # Перенаправити діапазон портів 993-995; # [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT --to 192.168.16.44:22 # Перенаправити порт 20022, що використовується для ssh; # iptables -L -t nat # Для перевірки статусу NAT. 9. Команди Linux для створення та запису образів ISO # cdrecord -scanbus # Відображення всіх доступних CD-ROM; # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc #Створення образів ISO з CD-ROM. 10. Команди Linux: групи та користувачі Ці команди Linux необхідні для роботи з користувачами та групами користувачів . # id # Зведена інформація щодо поточного користувача (логін, UID, GID, групи); # finger Mut@NT # Інформація про користувача Mut@NT; # last # Останні зареєстровані користувачі; # who # Ім'я поточного користувача та час його входу; # useradd Mut@NT # Додає нового користувача Mut@NT; # groupadd Otus # Додає групу Otus; # usermod -a -G Otus Mut@NT # Додає користувача з ім'ям Mut@NT до групи під назвою Otus (для Debian); groupmod -A Mut@NT Otus # Додавання користувача Mut@NT до групи під назвою Otus (SuSE); # userdel Mut@NT # Користувач Mut@NT видаляється; # groupdel Otus # Група Otus видаляється. 11. Команди Linux для роботи з процесами Зверніть увагу, що всі запущені процеси мають PID — унікальні номери. # ps axjf # Усі завантажені процеси; # pgrep -l sshd # PID конкретного процесу – sshd; # fuser -va 22/tcp # PID процесу використовує 22-й порт; # echo $$ # PID вашої оболонки; # fuser -va /home # PID процесу; # lsof /home # Список процесів; # killall 0 httpd # Поточний стан процесу httpd; # kil 4712 # За допомогою цієї команди ви «вб'єте» процес з PID 4712; # [sudo] killall TERM 4711 # Команда посилає процесу з PID`ом 4711 сигнал TERM, завершальний процес; # [sudo] killall HUP httpd # Процес з ім'ям httpd отримує сигнал HUP, що зупиняє процес; # [sudo] fuser -k -TERM -m /home # «Убиваються» всі процеси, що мають доступ до /home. Ще раз про важливі сигнали , які можна надіслати процесам: • 1 — HUP; зупинення процесу; • 2 - INT; переривання процесу; • 3 - QUIT; вихід; • 9 - KILL; щоб «вбити» процес; • 15 - TERM; завершення процесу. 12. Команди Linux: Runlevels Після того, як відбувається завантаження ядра Linux, завантажуються різні демони та програми, наприклад NetworkManager, Evolution та інші. Результат ми бачимо на робочому столі після завантаження. При цьому завантаження кожної служби виконується скриптом , що знаходиться в /etc/init.d. Runlevels – це ціле число, що визначає рівень завантаження. Рівні бувають: • Runlevels = 0; вимкнення комп'ютера; • Runlevels = 1; робота у режимі Single-User; • Runlevels = 2; текстовий режим (мережа не підтримується); • Runlevels = 3; текстовий режим, але вже з підтримкою мережі; • Runlevels = 4; • Runlevels = 5; графічний режим; • Runlevels = 6; здійснюється перезавантаження комп'ютера. Таким чином, скрипти, які завантажуються лише в текстовому режимі за допомогою мережі, - це Runlevels=3. Спрощений варіант налаштування : # [sudo] sysv-rc-conf # Надзвичайно зручне налаштування Runlevels, правда, потрібен пакет sysv-rc-conf. А ось ручний варіант налаштування : # chkconfig --list # Список усіх скриптів з відповідними Runlevels; # chkconfig --list udev # Дозволені Runlevels тільки окремого скрипту, у нас це udev; # [sudo] update-rc.d udev defaults # Скрипту udev виставляються значення Runlevels за замовчуванням; # [sudo] chkconfig udev off # У udev відключаються всі Runlevels; # [sudo] update-rc.d -f udev remove # Аналогічно для Debian; # [sudo] chkconfig udev --level 35 on # Для додавання скрипту udev Runlevels 3 і 5; # [sudo] update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6 # Для зміни параметрів скрипта udev. 13. Команди Linux для роботи з ядром та модулями 13.1 Робота з ядром системи # uname -a # Відображення версії ядра Linux. 13.2 Робота з модулями ядра # lsmod # Виведення списку всіх модулів, завантажених у ядро; # [sudo] modprobe isdn # Для завантаження модуля на прикладі isdn; # make # Створюється стислий образ ядра; # [sudo] make modules_install # Встановлюється модуль; # make modules # Виробляється компіляція модуля; # [sudo] make install # Для встановлення в ядро системи. 14. Команди Linux для роботи з LiveCD # [sudo] chroot /mnt # Відбувається зміна root-оточення на /mnt. Далі кореневий розділ, який примонтований до /mnt, використовується як рідний. 15. Команди Linux для конвертування даних 15.1 Конвертування тексту # iconv -l # Виведення списку всіх доступних кодувань; # iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt # Зміна кодування. Наприклад, був файл file_cp1251.txt (кодування CP1251), а вийшов файл file_utf8.txt (кодування utf8). 15.2 Конвертування PDF у JPEG # convert name.pdf name-%03d.jpg # Конвертація name.pdf у посторінкові зображення JPEG (може знадобитися пакет imagemagick); # convert *.jpeg name.pdf # Конвертація зображень JPEG у PDF (може знадобитися пакет imagemagick). 15.3 Конвертування відео # mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc0. # cdparanoia -B # Треки з AudioCD копіюються в поточну директорію wav-файлами; # oggenc in.wav -b 256 out.ogg # Wav-файли конвертуються в Ogg Vorbis з якістю 256 kb/s; # lame -b 256 in.wav out.mp3 # Wav-файли конвертуються в mp3 з якістю 256 kb/s. 16. Команди Linux для друку на принтері # export PRINTER=lbp2900 # Вибирається принтер за замовчуванням. У нас це Canon LBP-2900; # lprm - # З принтера за замовчуванням видаляються всі завдання; # lpr #2 name.txt # На принтері друкуються дві копії файлу name.txt.
-
Як створити Android locker
У даному матеріалі йтиметься про спосіб створення локера під андроїд, який блокуватиме телефон. Нікому не раджу використовувати і не закликаю до якихось протиправних дій. Матеріал надано лише з метою навчання. Встановлення: Код: apt install git python git clone https://github.com/termuxhackers-id/SARA.git cd SARA bash install.shВикористання: Код: python sara.py Огляд програм-вимагачів Перевірено на пристроях Android 10 Після чого у вас створиться файл, який потрібно буде закриптувати, оскільки антивіруси побачать його. Функції, які користувач може налаштувати: app_icon – додаток для значків користувача app_name – додаток довільного імені alert_title – заголовок оповіщення, що настроюється. alert_desc – опис оповіщення, що настроюється key_pass - кастомний ключ для розблокування пристроїв installing S 4 R 4 on termux Журнали виводу Репозиторій – termuxhackers-id/SARA
-
Отримуємо список проксі через Termux
Це простий інструмент, який допоможе вам знайти активні (у тому числі анонімні та елітні) проксі, які допоможуть вам у різних речах. База збирається із відкритих джерел. І мало того, що проксі там непогані, їх тепер не потрібно вивантажувати ручками. Установка та запуск: apt udpate apt install git -y apt install python -y apt install python2 git clone sabri-zaki/PROXY_FINDER cd PROXY_FINDER bash setup.shy python2 proxy-finder.py Чекаємо деякий час і отримуємо
-
Отримуємо всі дані з телефону
Досить старий, але ще актуальний трюк з телефоном. Скажу, що пів хвилини на те, щоб витягти дані, нам не вистачить, оскільки інформації багато. Отже, спочатку розберемо всі можливі шляхи до баз з інформацією. Скористайтеся утилітою Sqlitebrowser . Софт доступний кілька OC. Телефонна книга Код: /data/data/com.android.providers.contacts/databases/contacts2.dbSMS,MMS повідомлення Код: /data/data/com.android.providers.telephony/databases/mmssms.dbКалендар Код: /data/com.android.providers.calendar/databases/calendar.dbЖурнал подій Код: /data/com.sec.android.provider.logsprovider/databases/logs.dbДані власника пристрою Код: /data/system/users/0/accounts.dbІсторія веб-браузера Код: /data/data/com.android.browser/databases/browser2.dbІсторія веб-браузера Chrome Код: /data/data/com.android.chrome/app_chrome/Default/History /data/data/com.android.chrome/app_chrome/Default/Archived HistoryЛогін та паролі веб-браузера Chrome Код /data/data/com.android.chrome/app_chrome/Default/Login DataІсторія веб-браузера Firefox Код: /data/data/org.mozilla.firefox/files/mozillaПовідомлення Facebook Код: /data/data/com.facebook.katana/databases/threads_db2 /data/data/com.facebook.orca/databases/threads_db2Оповіщення Facebook Код: /data/data/com.facebook.katana/databases/notifications_dbДані про підключення wifi Код: /data/misc/wifi/wpa_supplicant.confПовідомлення/дзвінки Skype Код: /data/data/com.skype.raider/files/<account_name>/main.dbДані про ці карти Код: /data/data/com.android.providers.telephony/databases/telephony.dbБраузери У базах даних із браузерів є закладки, історія, пошукові запити. Додаємо бд у софт і бачимо таблиці з результатами, за різними фільтрами Контакти та Дзвінки Отримуємо інформацію про дзвінки та списки контактів. Завантажуємо базу з контактами та вибираємо таблицю contacts, отримуємо список Далі вантажимо історію дзвінків (журнал дзвінків) Дані про WIFI Отримуємо ім'я SSID, PSK у текстовому вигляді, тип підключення/шифрування, пріоритет. Інформація надається у текстовому форматі для читабельності. Календар У календарі ми можемо побачити якісь свята, нагадування нашої "жертви". Завантажуємо базу З іншими базами, чинимо також, діставши інформацію з телефону, головне її правильно обробити, ви обов'язково знайдете щось корисне.
-
Анонімізація всього трафіку через Tor (навіть запити DNS)
виконується в Kali Linux Насамперед встановимо TOR і Privoxy sudo apt-get install tor privoxy Після цього відкриваємо файл /etc/privoxy/config: sudo gedit /etc/privoxy/config + додаємо в самий кінець ці рядки: forward-socks5 / localhost:9050 forward-socks4 / localhost:9050 forward-socks4a / localhost:9050 Далі запустимо необхідні служби: sudo service tor start sudo service privoxy start Далі переходимо в налаштування мережі, шукаємо пункт проксі-налаштування і там вказуємо в socks-e вузол localhost порт: 9050; У HTTP/HTTPS/FTP вказуєте вузол localhost, а порт: 8118. Далі, якщо ми перезавантажимо наш комп'ютер, все злетить, і на будь-які запити комп'ютер буде відповідати помилкою. Щоб уникнути цього, поставимо tor і privoxy в автозавантаження: sudo update-rc.d -f tor remove && update-rc.d -f tor defaults && update-rc.d -f privoxy remove && update-rc.d -f privoxy defaults && update-rc.d -f privoxy enable І, якщо треба, то в такий спосіб можна прибрати з автозавантаження: sudo update-rc.d -f tor remove && update-rc.d -f privoxy remove Зазначу, що це може не спрацювати, тому при кожному завантаженні, якщо видається помилка, то в терміналі треба запустити tor і privoxy самостійно: sudo service privoxy start sudo service tor start Дисклеймер: Інформація надана виключно для ознайомлення. Не намагайтеся повторити події письменників у реальному житті.