Archivio

Archive for the ‘consistency’ Category

Forensics parte 1

Consistenza fra dati ridondanti.

# lsof -i :22
# netstat -anp | grep :22
 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
 tcp 0 0 172.1.1.136:22 172.1.1.1:39967 ESTABLISHED -

In caso di kernel-rootkit potremmo avere dati discordanti tra i 2 comandi. Infatti un lkm rootkit potrebbe nascondere un processo ma non nascondere il socket. Quindi con lsof avremmo un output vuoto mentre con netstat vedremmo dei socket aperti ma il processo verrebbe sostituito con un “-”

fonte: SANS

File aperti ma cancellati

I file aperti ma cancellati (“open but unlinked file data”) sono quei file che vengono cancellati  benché il processo che li ha generati sia sempre attivo.  Questo tipo di file anche se inaccessibili continuano a occupare spazio disco. Alcuni attaccanti hanno imparato a sfruttare questo tipo di file che a macchina spenta non sono più individuabili (a meno di un undelete sul disco). Avendo a disposizione la macchina compromessa ancora accesa è possibile tentare di individuare questo tipo di file.

# lsof +L1
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/user/.gvfs
Output information may be incomplete.
COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
init          1  root   10w   REG    8,5     2598     0 4196555 /var/log/upstart/mysql.log.1 (deleted)
init          1  root   13w   REG    8,5     1074     0 4195002 /var/log/upstart/modemmanager.log.1 (deleted)
smbd       1101  root    2w   REG    8,5      530     0 4195411 /var/log/samba/log.smbd.1 (deleted)
smbd       1101  root    8w   REG    8,5      530     0 4195411 /var/log/samba/log.smbd.1 (deleted)
mysqld     1334 mysql    4u   REG    8,5        0     0  786437 /tmp/ib5QEstp (deleted)
mysqld     1334 mysql    5u   REG    8,5        0     0  786443 /tmp/ib39LSpg (deleted)
mysqld     1334 mysql    6u   REG    8,5        0     0  786449 /tmp/ibF9ajm7 (deleted)
mysqld     1334 mysql    7u   REG    8,5        0     0  786452 /tmp/ibJ7IJwY (deleted)
mysqld     1334 mysql   11u   REG    8,5        0     0  786453 /tmp/ibnQiU0V (deleted)
plasma-de  2887 user   39r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   42r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   43r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   44r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   45r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   46r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   47r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
plasma-de  2887 user   48r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
mysqld     2908 user    4u   REG    8,5        0     0  797321 /tmp/ib3jRGSY (deleted)
mysqld     2908 user    5u   REG    8,5        0     0  797323 /tmp/ibVcxNRG (deleted)
mysqld     2908 user    6u   REG    8,5        0     0  797346 /tmp/ibbyrUQo (deleted)
mysqld     2908 user    7u   REG    8,5        0     0  797348 /tmp/ibxqXYQ6 (deleted)
mysqld     2908 user   12u   REG    8,5        0     0  797350 /tmp/ib3JPQRT (deleted)
krunner    2950 user   26r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   29r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   33r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   34r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   35r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   36r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   37r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
krunner    2950 user   38r   REG    8,5  2031549     0 5245119 /var/tmp/kdecache-user/ksycoca4 (deleted)
nautilus   8485 user   16r   REG   0,21   122704     0  420200 /home/user/.local/share/gvfs-metadata/home (deleted)
nautilus   8485 user   17r   REG   0,21    32768     0  420202 /home/user/.local/share/gvfs-metadata/home-b775d582.log (deleted)
soffice.b 13396 user   20u   REG   0,21     4096     0  423327 /home/user/.execoooFPXDvT (deleted)
firefox   14479 user   33u   REG    8,5   196632     0 4196969 /var/tmp/etilqs_YvA4Y9SchTM6Wp3 (deleted)
plugin-co 14587 user   20w   REG    8,5  1497703     0  788859 /tmp/FlashXXn9kfji (deleted)
tcpdump   15579  root  txt    REG    8,5   830920     0  790909 /tmp/tcpdump (deleted)
tcpdump   15579  root    4w   REG    8,5  3989504     0  790959 /tmp/capture (deleted)
root@user-Vostro-3500:~# ps aux|grep tcpdump
root     15579  0.0  0.3   9780  5700 pts/3    S    18:53   0:01 /tmp/tcpdump -w /tmp/capture
root     15845  0.0  0.0   4392   828 pts/3    S+   19:22   0:00 grep --color=auto tcpdump
root@luigi-Vostro-3500:~#

Le ultime 2 righe di output di lsof mostrano un processo tcpdump e il relativo file di log cancellati. Il suggessivo comando ps, mostra chiaramente che il processo sta ancora girando anche se i file risultano cancellati.

A questo punto è possibile indagare su i file sospetti accedendo direttamente a /proc.

root@user-Vostro-3500:~# cd /tmp/
root@user-Vostro-3500:/tmp# cp /proc/15579/exe .
root@user-Vostro-3500:/tmp# ./exe -h
exe version 4.2.1
libpcap version 1.1.1
Usage: exe [-aAbdDefhHIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -z command ]
[ -Z user ] [ expression ]
root@luigi-Vostro-3500:/tmp#

In questo modo abbiamo copiato direttamente l’eseguibile che sta girando mediante la sintassi /proc/pid/exe

Categorie:consistency, forensics