NFsec Logo

Timestomping

19/12/2022 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 841, ilość słów: 631)

T

imestomping jest powszechną techniką, która odnosi się do zmiany sygnatur czasowych plików (czasu modyfikacji, dostępu, utworzenia i ostatniej zmiany) na systemie plików. Taktyka ta jest powszechnie wykorzystywana przez cyberprzestępców do ukrywania swoich narzędzi w systemie plików ofiary. Osiąga się to, sprawiając wrażenie, że pliki zostały utworzone poza ramami czasowymi incydentu (znacznie wcześniej niż nastąpiło naruszenie systemu) lub naśladowania plików znajdujących się w tym samym folderze, gdzie nastąpiła infekcja. W ten sposób takie obce pliki będą trudniejsze do znalezienia lub całkowicie pominięte przez śledczych lub przez różne narzędzia do analizy.

W systemie Linux technikę tę można bardzo prosto przeprowadzić za pomocą polecenia touch. Na przykład wydając polecenie:

touch -a -m -t [[CC]YY]MMDDhhmm[.ss] plik

Minusem tego podejścia jest to, że nie jest w stanie zmodyfikować czasu zmiany (ang. change time). Jednak ten fakt możemy uzupełnić poprzez stosowne polecenia z poziomu debugfs:

agresor@darkstar:~$ touch -a -m -t 200001011103.09 elemelek.txt
agresor@darkstar:~$ ls -al elemelek.txt
-rw-r--r-- 1 agresor agresor    0 Jan  1  2000 elemelek.txt
agresor@darkstar:~$ stat elemelek.txt
  File: elemelek.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 2519403     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1485/agresor)   Gid: ( 1002/agresor)
Access: 2000-01-01 11:03:09.000000000 +0100
Modify: 2000-01-01 11:03:09.000000000 +0100
Change: 2022-12-19 20:25:07.999231050 +0100
 Birth: -

Możemy także odwołać się do innego pliku jako odniesienie dla sygnatur czasu i zaktualizować je dla innego pliku, tak aby oba pliki zawierały ten sam czas:

agresor@darkstar:~$ touch wrobelek.txt -r elemelek.txt
agresor@darkstar:~$ ls -al wrobelek.txt elemelek.txt
-rw-r--r-- 1 agresor agresor 0 Jan  1  2000 elemelek.txt
-rw-r--r-- 1 agresor agresor 0 Jan  1  2000 wrobelek.txt

Innym podejściem jest modyfikacja daty systemowej, wgranie plików, a następnie przywrócenie poprawnej daty systemowej:

root@darkstar:~# timedatectl set-ntp 0
root@darkstar:~# timedatectl set-time '2000-02-01'
root@darkstar:~# date
Tue Feb  1 00:00:02 CET 2000
root@darkstar:~# touch elemelek.txt
-rw-r--r-- 1 root root 0 Feb  1  2000 elemelek.txt
root@darkstar:~# stat elemelek.txt
  File: elemelek.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 16000       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2000-02-01 00:00:35.508062549 +0100
Modify: 2000-02-01 00:00:35.508062549 +0100
Change: 2000-02-01 00:00:35.508062549 +0100
 Birth: -
root@darkstar:~# timedatectl set-ntp 1
root@darkstar:~# timedatectl
                      Local time: Mon 2022-12-19 21:49:50 CET
                  Universal time: Mon 2022-12-19 20:49:50 UTC
                        RTC time: Mon 2022-12-19 20:49:51
                       Time zone: Europe/Warsaw (CET, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Podobne działanie jest używane w skrypcie timestomp.sh:

var=`find . -type f | shuf -n1`
echo "$var"
new=`stat -c "%z" "$var"`
now=$(date)
sudo date --set="$new"
touch $1 -r "$var"
sudo date --set="$now"

Wykrywanie tego rodzaju technik przy dużej skali serwerów może generować dużo fałszywych alarmów, ponieważ opierają się one na nadużywaniu normalnych funkcji systemowych (tworzenie plików / ustawianie daty. Warto jednak mieć na uwadzę tego rodzaju zachowanie przy szukaniu powiązanych zdarzeń.

Więcej informacji: Indicator Removal: Timestomp, Detecting Linux Anti-Forensics: Timestomping

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , ,

Podobne artykuły:

  • Brak tematycznie powiązanych artykułów.

Komentowanie tego wpisu jest zablokowane.