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






file –> Muestra que tipo de archivo es el que ponemos como argumento.
file
Coloco nuevamente la ultima linea del comentario anterior puesto que no se mostró correctamente.
Ejemplo:
file archivo
XD
ps -A -> examina los procesos que están corriendo
top -> Muestra los procesos que se están corriendo y su prioridad
Hola,
Van algunos que pueden servir:
tail -f archivo
Permite ver en tiempo real como se genera un log. También puedes filtrarlo con grep así: tail -f archivo |grep mibusqueda
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 util
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
@crkdown