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