Home » ¿Qué esconde el pingüino? La guía definitiva de pruebas de Linux – Hacker

¿Qué esconde el pingüino? La guía definitiva de pruebas de Linux – Hacker

by admin
¿Qué esconde el pingüino?  La guía definitiva de pruebas de Linux – Hacker

Pss, hermano… ¿escuchaste que Windows ya lo es todo? Todos se pasan indiscriminadamente al software libre, a veces incluso doméstico. Eres un hombre de seguridad, así que ve seguro. Y aquí tienes un caso: un ordenador con Linux y una incidencia. O no hubo incidente, pero hay que comprobar que todo está limpio. ¿Sabes que hacer? Si no, te lo contamos ahora. Y si lo sabes, mira de todos modos! Hemos recopilado recetas para todas las ocasiones y al final del artículo compartiremos una selección de herramientas útiles.

Aquí es donde comienza nuestra historia. Bajo los términos de la tarea, se consideran distribuciones de Linux basadas en Debian: Kali, Astra y otras. Es necesario recopilar información sobre el host, la actividad del usuario y otros artefactos que pueden ser útiles para analizar cualquier потуactividad de terceros. Es muy recomendable recopilar todos los datos automáticamente, sin usar un montón de paquetes con dependencias. Probablemente pienses que tendrás que ingresar manualmente todos los comandos en la terminal, hacerte una lista de verificación … ¿Pero por qué? ¡Escribamos un script Bash y guárdelo en una unidad flash!

Puede ensamblar su secuencia de comandos a partir de los comandos anteriores, como si fuera un constructor. O tome este material como una hoja de trucos de Linux para un joven guardia de seguridad. Por supuesto, puede probar todos los comandos en la terminal, todos solo recopilan y muestran información sin cambiar nada en el sistema.

Formatee previamente la unidad flash a NTFS si se comunicará con Windows más tarde, o a ext4 si no. Vamos a crear un archivo ifrit.sh (respuesta forense de incidentes en la terminal) y agréguele un preámbulo. El script registrará la hora de inicio y creará un directorio para recopilar archivos (artefactos) de la máquina y nuestros registros. Se llamará así:

<имя_хоста>_<юзер>_

Al final de la parte principal, creamos un subdirectorio en esta carpeta para futuros artefactos y permitimos que se copie, luego contamos el tiempo transcurrido y abrimos la carpeta en el administrador de archivos. Escribiremos todas nuestras acciones en el registro general.

#!/bin/bash

# IFRIT. Stands for: Incident Forensic Response In Terminal =)

# Использование: chmod a+x ./ifrit.sh && ./ifrit.sh

# Фиксируем текущую дату

start=`date +%s`

# Проверка, что мы root

[[ $UID == 0 || $EUID == 0 ]] || (

echo "Current user:"

# «Без root будет бедная форензика»

echo $(id -u -n)

)

echo "Наш sudo-юзер:"

echo $SUDO_USER

# Делаем директорию для сохранения всех результатов (если не указан аргумент скрипта)

if [ -z $1 ]; then

part1=$(hostname) # Имя хоста

echo "Наш хост: $part1"

time_stamp=$(date +%Y-%m-%d-%H.%M.%S) # Берем дату и время

curruser=$(whoami) # Текущий юзер

saveto="./${part1}_${curruser}_$time_stamp" # Имя директории

else

saveto=$1

fi

# Создаем директорию и переходим в нее

mkdir -pv $saveto

cd $saveto

# Создаем вложенную директорию для триаж-файлов

mkdir -p ./artifacts

# Начинаем писать лог в файл

{


# Пример команды в формате:

# <команда> >> <тематический файл>

# Сведения о релизе ОС, например из файла os-release

# Аналоги: cat /usr/lib/os-release или lsb_release

cat /etc/*release

# Список всех запущенных процессов вывод в тематический файл test

ps aux >> test

...

# Завершающая часть после выполнения необходимых команд

# Для выходной директории даем права всем на чтение и удаление

chmod -R ugo+rwx ./../$saveto

end=`date +%s`

echo ENDED! Execution time: `expr $end - $start` seconds.

echo "Проверяй директорию ${saveto}!"

# Открываем директорию в файловом менеджере работает не во всех дистрибутивах. В Astra также можно использовать команду fly-fm

xdg-open .

} |& tee ./console_log # Наш лог-файл

Dichos scripts generalmente escriben todo en un registro común o en muchos archivos pequeños, o intentan sistematizar de alguna manera su salida colocando un archivador con datos jugosos cerca. Elegiremos la última opción, pero más sobre eso más adelante.

En los listados, indicamos solo el comando, para ahorrar dinero, escribimos en los comentarios lo que hace y enviamos su resultado a uno de los archivos temáticos, por ejemplo. >> case1.log (también omitimos esta parte en los listados). En un script real, recomendamos que cada comando esté acompañado por la salida de su nombre y la información que lo acompaña, para que quede claro lo que está sucediendo:

# Выводим текущий этап в консоль

echo "Название модуля"

# Выводим текущий этап в профильный лог

echo "Название модуля" >>

# Выводим результат работы команды в профильный лог

<выполняемая команда> >>

# Вставляем пустую строку в файл для удобочитаемости и разделения результатов отдельных команд

echo -e "n" >>

Recopilación de datos del host

Primero, arreglamos la información básica sobre el host y el sistema operativo y la escribimos en un archivo host_info. De repente hay muchos coches y en el futuro será necesario distinguirlos. El script debe ejecutarse como root para obtener la salida más detallada de los comandos. Cuando sea absolutamente necesario, iniciaremos el comando con sudo.

# Начинаем писать файл host_info. Далее вывод каждой команды здесь подразумевает в конце добавление ">> host_info", для краткости опустим это

echo -n > host_info

date # Фиксируем текущую дату и время

hostname # Пишем имя хоста

who am i # и юзера, от имени которого запустили скрипт

ip addr # Информация о текущем IP-адресе

uname -a # На каких ОС и ядре мы находимся

# Получим список живых пользователей. Зачастую мы хотим просто посмотреть реальных пользователей, у которых есть каталоги, чтобы в них порыться. Запишем имена в переменную для последующей эксплуатации

ls /home

# Исключаем папку lost+found

users=`ls /home -I lost*`

echo $users

# Раскомментируй следующую строчку, чтобы сделать паузу и что-нибудь скушать. Затем нажми Enter, чтобы продолжить

# read -p "Press [Enter] key to continue fetch..."

Información básica sobre la actividad: encendido, apagado, nivel de batería de la computadora portátil (repentinamente útil). Un día, el automóvil se encendió por primera vez, especialmente para mí, por primera vez en cinco años.

# Текущее время работы системы, количество залогиненных пользователей, средняя загрузка системы за 1, 5 и 15 мин

uptime

# Список последних входов в систему с указанием даты (/var/log/lastlog)

lastlog

# Список последних залогиненных юзеров (/var/log/wtmp), их сессий, ребутов и включений и выключений

last -Faiwx

# Информация о текущей учетной записи и ее членстве в группах

id

for name in $(ls /home) # ... и обо всех остальных

# Здесь же можно использовать и нашу переменную $users

do

id $name

done

# Проверимся на руткиты, иногда помогает

chkrootkit 2>/dev/null

# Здесь можно встретить информацию в виде dat-файлов о состоянии батареи ноутбука, включая процент зарядки, расход и состояние отключения батарейки и ее заряда

cat /var/lib/upower/* 2>/dev/null

Caso 1. ¿Quién se equivoca?

Algunos de los usuarios se dedican a la indecencia en el trabajo. Steam lo instalará, luego escribirá un tratado en LiveJournal. Tratemos de resolverlo por nuestra cuenta.

Paso 1. Profundizando en el sistema de archivos

Primero debe mirar la actividad en los directorios de usuarios estándar. Esta es la forma más rápida y fácil de encontrar a aquellos que no limpian después de sí mismos. Aquí estamos haciendo una búsqueda de todos los directorios de inicio a la vez, lo que requiere privilegios de superusuario. Si está comprobando sólo un usuario actual, en lugar de /home/* en los comandos de abajo puedes escribir ~/.

# В этих каталогах можно поискать последние пользовательские документы и файлы, что позволит узнать, какие документы открывал пользователь и что качал из интернета

sudo ls -la /home/*/Downloads/ 2>/dev/null

sudo ls -la /home/*/Загрузки/ 2>/dev/null

sudo ls -la /home/*/Documents/ 2>/dev/null

sudo ls -la /home/*/Документы/ 2>/dev/null

sudo ls -la /home/*/Desktop/ 2>/dev/null

sudo ls -la /home/*/Рабочий стол/ 2>/dev/null

# Составляем список файлов в корзине

sudo ls -laR /home/*/.local/share/Trash/files 2>/dev/null

# Для рута тоже на всякий случай

sudo ls -laR /root/.local/share/Trash/files 2>/dev/null

# Кешированные изображения могут помочь понять, какие программы использовались

sudo ls -la /home/*/.thumbnails/

Como resultado, puede encontrar signos de descarga de archivos, documentos, aplicaciones. Los episodios eliminados de series o algo así pueden permanecer en la cesta.

Puede ser útil buscar en los directorios archivos con el contenido o el término que está buscando. Por ejemplo, intentemos buscar todos los archivos con la mención de la palabra “theremin” (supongamos que el usuario escribió un borrador en un archivo de texto antes de publicarlo en LiveJournal) y mostrar dos líneas arriba y abajo para entender el contexto de uso .

# Ищем в домашних пользовательских папках

grep -A2 -B2 -rn 'терменвокс' --exclude="*ifrit.sh" --exclude-dir=$saveto /home/* 2>/dev/null >> ioc_word_info

Puede buscar todos los archivos con la extensión que nos interese. Sin embargo, este comando se puede ejecutar Muy долго.

sudo find /root /home -type f -o -name *.jpg -o -name *.doc -o -name *.xls -o -name *.csv -o -name *.odt -o -name *.ppt -o -name *.pptx -o -name *.ods -o -name *.odp -o -name *.mbox -o -name *.eml 2>/dev/null >> interes_files_info

Es útil crear una línea de tiempo de archivos en directorios de inicio con fechas de modificación y guardarla como CSV. La línea de tiempo puede ayudarlo a comprender más adelante en qué momento algo salió mal, qué archivos, cuándo y dónde se crearon.

echo "[BUILDING SACRED TIMELINE!]"

echo -n >> timeline_file

echo "file_location_and_name, date_last_Accessed, date_last_Modified, date_last_status_Change, owner_Username, owner_Groupname,sym_permissions, file_size_in_bytes, num_permissions" >> timeline_file

echo -n >> timeline_file

sudo find /home /root -type f -printf "%p,%A+,%T+,%C+,%u,%g,%M,%s,%mn" 2>/dev/null >> timeline_file #

Paso 2 Aplicaciones

Ahora echemos un vistazo a las listas de aplicaciones. Para empezar, echemos un vistazo a lo que generalmente tenemos instalado en el sistema además de las cosas estándar. Debe verificar qué navegadores, mensajeros instantáneos y servidores de correo se utilizan. ¿Qué pasa si se cometieron malas acciones a través de ellos? Esto puede ser útil para los analistas en el futuro cuando investiguen el incidente.

2023-05-03 15:04:00
#Qué #esconde #pingüino #guía #definitiva #pruebas #Linux #Hacker,

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy