Заметаем следы BASH Shell — Антикриминалистика

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Те из нас, кто регулярно пользуется оболочкой BASH, ценят возможность восстановить историю команд, просто нажимая стрелки вверх и вниз. Это значительно экономит время на переписывание команд. Оболочка BASH ( Bournemouth Shell ) сохраняет историю команд в файле bash_history. В то же время, эта удобная история BASH может оказаться крайне опасной в случае расследования наших действий в системе. Поскольку практически весь взлом осуществляется из командной строки Linux, наши действия можно легко расшифровать и восстановить, извлекая эти команды.

6a4a49_736d0aa4f31e472eb39a5ce87b991fe5mv2-1.webp


Сохраненная история команд

Прежде чем мы начнём изучать способы заметания следов BASH, нам нужно немного узнать об истории команд. Linux хранит историю команд в скрытом файле ~/.bash_history. Его содержимое можно просмотреть, введя:

кали > больше ~/.bash_history

6a4a49_5f9dd17c8e0841569d59ff758ff4521fmv2-1.webp


Точно так же опытный криминалист-эксперт мог бы исследовать нашу историю . Это может быть нехорошо .

Отключение истории


Если мы хотим, чтобы оболочка BASH не сохраняла историю команд, можно установить переменную окружения HISTSIZE в ноль. HISTSIZE определяет количество сохраняемых команд. По умолчанию она равна 500 или 1000.

Мы можем запретить оболочке BASH сохранять наши команды, введя:

кали > экспорт HISTSIZE=0

6a4a49_47ad15cd65c540c585fbc831d9f78f14mv2-1.webp


Теперь оболочка больше не будет сохранять историю команд, но мы потеряем удобство доступа к ним при работе в Linux. Это может увеличить время, необходимое для хакатона, поскольку придётся переписывать каждую команду. Терпеть не могу это делать.

Очистка истории

Вместо того чтобы отключать историю команд, мы можем очистить историю в текущей оболочке BASH, просто используя команду history с ключом -c (очистить).

кали > история -c

6a4a49_55027749171d4b829e608dfaf1d0d7f2mv2-1.webp


Затем, чтобы убедиться, что изменения записаны на диск, нам нужно указать команде history сделать это с помощью ключа -w, например:

кали > история -w

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

Очистка полной истории пользователя

Вероятно, более эффективный и удобный способ стереть историю команд — записать /dev/null в файл bash_history , а затем очистить текущую оболочку командой history -c. Мы можем создать команду, которая делает именно это, а затем завершает оболочку. Это можно сделать, введя:

kali > cat /dev/null > ~.bash_history && history -c && выход

6a4a49_07ada8b577894f2886325e11813a76c9mv2-1.webp


Теперь, когда мы посмотрим на историю оболочки или bash_history, мы увидим, что они пусты.

6a4a49_48c33fd1dcd942c190a1c82c3d8910a6mv2-1.webp


Уничтожая историю

Хотя удаление этих файлов, как мы знаем, — это замечательно, опытный эксперт-криминалист всё равно сможет их восстановить. В BASH есть команда shred , которая делает ровно то, что и подразумевает: уничтожает целевой файл. В этом случае, даже если эксперту-криминалисту удастся найти файл истории, он будет нечитаемым.

kali > shred ~/.bash_history

6a4a49_0d12ff958ec14953ad0b5c953372d32fmv2-1.webp


Здесь мы видим, что, если взглянуть на этот файл, то это просто набор бессмысленных двоичных данных.

Сам факт уничтожения файла может считаться свидетельством вредоносной активности. Даже это можно устранить, комбинируя команду shred с записью /dev/null в bash_history. В этом случае файл истории сначала будет уничтожен, затем очищен, а затем, наконец, будут удалены все следы выполнения команды с помощью команды history -c и выхода.

kali > shred ~/.bash_history && cat /dev/null > .bash_history && history -c && exit

6a4a49_73e9b936041140fc97dcae806472853cmv2-1.webp


Теперь, когда кто-то попытается просмотреть нашу историю команд, она окажется пустой, а когда кто-то попытается восстановить удалённый файл, то обнаружит только его уничтоженный фрагмент. Успех! Мы не оставили никаких улик и успешно замели следы!

Автоматизация очистки истории команд

Наконец, мы можем автоматизировать этот процесс, чтобы история команд удалялась каждый день. Таким образом, если мы забудем удалить её (а я уверен, что буду делать это часто), система сделает это автоматически в конце дня.

Сначала откройте таблицу crontab в режиме редактирования, введя; .

kali > crontab -e

Используя crontab, мы можем перейти в конец файла и добавить следующую строку.

1 * * * shred ~/.bash_history && cat /dev/null > .bash_history

Эта команда будет выполняться каждое утро в 1:00, сначала уничтожая, а затем стирая bash_history. Обратите внимание, что я не включил команду history -c, так как это внутренняя команда оболочки BASH и не может быть использована в crontab.

Продолжайте в том же духе, мои неопытные хакеры, ведь мы с вами изучаем самый ценный навык XXI века — хакерство!
 
Назад
Сверху Снизу