A la hora de realizar un Análisis Forense Digital en entornos GNU/Linux aveces es necesario agilizar los procesos de búsqueda y recolección de datos. Por ello he decido crear un listado de comandos esenciales y de uso común en dichas actividades. Veamos:
which which es utilizado para localizar un programa rápidamente devolviendo la ruta de este.
root@Sec-Track:~# which nmap /usr/bin/nmap
——————————————————————————————————————————————————-
whereis Similar a which pero adiciona páginas man y archivos de fuentes
root@Sec-Track:~# whereis nmap nmap: /usr/bin/nmap /usr/X11R6/bin/nmap /usr/bin/X11/nmap /usr/X11/bin/nmap /usr/share/nmap /usr/man/man1/nmap.1.gz /usr/share/man/man1/nmap.1.gz /usr/X11/man/man1/nmap.1.gz
——————————————————————————————————————————————————-
find Este comando permite realizar búsquedas en el sistema de archivos con múltiples opciones.
root@Sec-Track:~# find / -name HOSTNAME /etc/HOSTNAME
——————————————————————————————————————————————————-
ls -lart Listado de archivos. Según los parámetros que adicionemos podemos obtener diferentes datos de los archivos.
root@Sec-Track:~/4v4t4r/slackbuilds# ls -lart total 200 drwxr-xr-x 4 root root 4096 2010-01-04 21:36 ../ -rw-r–r– 1 root root 3929 2010-01-04 23:42 amap.tar.gz -rw-r–r– 1 root root 197 2010-01-04 23:43 amap.tar.gz.asc -rw-r–r– 1 root root 181435 2010-01-04 23:48 slapt-get-0.10.2b.tar.gz drwxr-xr-x 3 root root 4096 2010-01-04 23:56 ./ drwxrwxr-x 6 root root 4096 2010-01-04 23:57 slapt-get-0.10.2b/
——————————————————————————————————————————————————-
pwd Muestra el nombre del directorio actual
root@Sec-Track:~# pwd /root
——————————————————————————————————————————————————-
touch Permite crear un archivo vacio si este no existe, de lo contrario modificará en el archivo actual los datos de creación y modificación
root@Sec-Track:~/4v4t4r/slackbuilds# touch test root@Sec-Track:~/4v4t4r/slackbuilds# ls -lart total 200 drwxr-xr-x 4 root root 4096 2010-01-04 21:36 ../ -rw-r–r– 1 root root 3929 2010-01-04 23:42 amap.tar.gz -rw-r–r– 1 root root 197 2010-01-04 23:43 amap.tar.gz.asc -rw-r–r– 1 root root 181435 2010-01-04 23:48 slapt-get-0.10.2b.tar.gz drwxrwxr-x 6 root root 4096 2010-01-04 23:57 slapt-get-0.10.2b/ -rw-r–r– 1 root root 0 2010-01-05 00:21 test drwxr-xr-x 3 root root 4096 2010-01-05 00:21 ./ root@Sec-Track:~/4v4t4r/slackbuilds# touch test root@Sec-Track:~/4v4t4r/slackbuilds# ls -lart total 200 drwxr-xr-x 4 root root 4096 2010-01-04 21:36 ../ -rw-r–r– 1 root root 3929 2010-01-04 23:42 amap.tar.gz -rw-r–r– 1 root root 197 2010-01-04 23:43 amap.tar.gz.asc -rw-r–r– 1 root root 181435 2010-01-04 23:48 slapt-get-0.10.2b.tar.gz drwxrwxr-x 6 root root 4096 2010-01-04 23:57 slapt-get-0.10.2b/ drwxr-xr-x 3 root root 4096 2010-01-05 00:21 ./ -rw-r–r– 1 root root 0 2010-01-05 00:22 test
——————————————————————————————————————————————————-
rm “Elimina/Remueve” un archivo
root@Sec-Track:~/4v4t4r/slackbuilds# rm test
——————————————————————————————————————————————————-
shred Borrado/Sobre-escritura seguro de datos
root@Sec-Track:~/4v4t4r/slackbuilds# more test_borrado_seguro Probando root@Sec-Track:~/4v4t4r/slackbuilds# shred test_borrado_seguro root@Sec-Track:~/4v4t4r/slackbuilds# more test_borrado_seguro g^LÁß±égs;ßî)ïiðªýD´¡påø,IíáÛÈVÐÛ2ãZðìÕØ;÷ÀfÙ$L▒Ò¿^ÊÍÔ»’nýÆzRqºÈÌ8iS ÄõØÍû –More–(2%) Þð –More–(7%)
——————————————————————————————————————————————————-
cd Cambio de directorio
root@Sec-Track:~/4v4t4r/slackbuilds# pwd /root/4v4t4r/slackbuilds root@Sec-Track:~/4v4t4r/slackbuilds# cd /root/ root@Sec-Track:~# pwd /root
——————————————————————————————————————————————————-
hostname Muestra el nombre del host de la máquina
root@Sec-Track:~# hostname Sec-Track
——————————————————————————————————————————————————-
ifconfig -a
Muestra todas las interfaces de red
——————————————————————————————————————————————————-
cat Muestra el contenido de un archivo
root@Sec-Track:~/4v4t4r/slackbuilds# cat test.txt Probando…
——————————————————————————————————————————————————-
less Despliega el contenido de un archivo con la posibilidad de realizar scroll sobre el
——————————————————————————————————————————————————-
history | less Muestra los comandos ejecutados previamente
——————————————————————————————————————————————————-
script Crea un log de la actividad realizada con la linea de comandos a un archivo especificado
——————————————————————————————————————————————————-
strings Muestra todas las cadenas de caracteres contenidas en un archivo
——————————————————————————————————————————————————-
date Muestra la fecha actual del sistema
——————————————————————————————————————————————————-
grep Busca determinada palabra o frase en un archivo
——————————————————————————————————————————————————-
df Muestra el espacio utilizado y disponible en el sistema
root@Sec-Track:~/4v4t4r/slackbuilds# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 79815108 5379556 70381148 8% / /dev/sda3 32796696 26135596 6661100 80% /fat-d /dev/sda4 41270984 34999452 6271532 85% /fat-c tmpfs 1521868 0 1521868 0% /dev/shm /dev/sdb1 78129056 69997920 8131136 90% /media/4V4T4R
——————————————————————————————————————————————————-
mount Muestras los dispositivos y pariticiones montadas en el sistema
——————————————————————————————————————————————————-
dd Dumpear (volcar/dumplicar) Disco/particiones a archivos, particiones y/o discos
dd if=origen of=destino
——————————————————————————————————————————————————-
Existen muchos otros comandos y usos diferentes a los que he presentado… ¿Qué otros conoces?
La idea es que participen por medio de los comentarios y compartan otros comandos relacionados con el análisis forense digital.
Acá algunos enviados por CrkDown
tail -f archivo Permite ver en tiempo real como se genera un log. También puedes filtrarlo con grep así: tail -f archivo |grep mi búsqueda
——————————————————————————————————————————————————-
df -h Muestra el tamaño de discos y particiones en Kb, Megas o Gigas haciendolo más fácil de leer.
——————————————————————————————————————————————————-
whois dominio.com Muestra un poco de información de algún dominio como fechas, dns, etc.
——————————————————————————————————————————————————-
dig MX dominio.com Puedes encontrar aspectos de las zonas de un dominio cualquiera. Por ejemplo puedes usar MX, A, TXT etc.
[~]# dig mx ejemplo.com
;; QUESTION SECTION: ;industrialm.com. IN MX
;; ANSWER SECTION: industrialm.com. 9781 IN MX 0 aspmx.l.google.com.
;; Query time: 0 msec ;; SERVER: 69.64.44.50#53(69.64.44.50) ;; WHEN: Sat Jan 9 19:06:18 2010 ;; MSG SIZE rcvd: 64
——————————————————————————————————————————————————-
top Mirar el consumo de recursos en tiempo real. El top es bueno aunque puedes presionar la letra u para poner los procesos de un usuario o presionando F para ver todas las demás opciones de filtrado.
——————————————————————————————————————————————————-
watch mysqladmin proc Muestra las conexiones actuales de Mysql en tiempo real
——————————————————————————————————————————————————-
su – postgres luego psql y luego select * from pg_stat_activity; Procesos en tiempo real en Postgres muy util. Debes tener activada la opción de logueo en el archivo postgresql.conf comunmente presente en /var/lib/pgsql/data
——————————————————————————————————————————————————-
du -sch * Ver un listado de archivos, carpetas y sus tamaños. Muy útil.
root@host [/home/user]# du -sch * 0 access-logs 8.0K cpmove.psql 40K etc 59M mail 8.0K public_ftp 45M public_html 4.0M tmp 0 www 108M total
——————————————————————————————————————————————————-
ps -aux |grep filtro Listado de todos los procesos del sistema que corren en ese momento. Como pueden ser muchos, la aplicación de un filtro es ideal
——————————————————————————————————————————————————-
vim o vi Es el mejor editor de texto en consola, muy poderoso
vim archivo Pulsar / y luego escribir el término de búsqueda para encontrar lo que sea Pulsar la tecla insert para insertar un texto. Delete para borrar. Para salir de estos dos pulsar escape Escribiendo :w escribes el archivo Escribiendo :wq escribes y sales del archivo Si quieres borrar una línea das dos veces sobre la tecla D. Si quieres deshacer pulsas escape y luego la tecla U cuantas veces quieras devolverte
——————————————————————————————————————————————————-
hdparm -t /dev/hda Hacer un test a la velocidad de escritura de un disco. Es bueno cuando sospechas que esta sacando la mano y debes hacer copias ASAP
tar tfz archivo.tar.gz |grep “termino.txt” Busca un archivo llamado “termino.txt” dentro de un tar.gz para evitar descomprimir todo.
——————————————————————————————————————————————————-
gunzip -c archivo.tar.gz | tar xvf – carpeta/termino.txt Extrae un archivo llamado termino.txt sin necesidad de descomprimir todo el tar.gz
——————————————————————————————————————————————————-
sar -B 1 1000 Verificar el consumo de escritura lectura del disco en tiempo real. Ideal para verificar cuando se tienen problemas de performance por i/o degradation.
——————————————————————————————————————————————————-
netstat -anp |grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n Detectar un posible DDos, aunque si es distribuído no sirve de mucho
——————————————————————————————————————————————————-
find . -type f -size +100000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’ Busca archivos grades recursivamente. Este busca archivos de más de 100 mil k
——————————————————————————————————————————————————-
Por ultimo hay herramientas muy interesantes para conocer aspectos más puntuales como el uso de disco pero sólo funcionan en Kernels más recientes.
pidstat -d 2 Permite conocer en tiempo real el proceso puntual PID que esta escribiendo o leyendo en ese momento. Muy útil ya que a veces es muy dificil saber que lo causa.
——————————————————————————————————————————————————-
Mostrar tarjeta/s (interfaz) de red usadas
# dmesg |grep -i eth (wlan)
——————————————————————————————————————————————————- Mostrar las últimas líneas de un archivo (como por ejemplo un archivo de logs) # tail -100 <nombre_archivo> (Muestras las últimas 100 líneas de un archivo