hacktricks/forensics/basic-forensic-methodology/anti-forensic-techniques.md

61 lines
3.5 KiB
Markdown
Raw Normal View History

2022-05-01 16:32:23 +00:00
# Timestamps
2023-06-06 18:56:34 +00:00
Um invasor pode estar interessado em **alterar os carimbos de data/hora dos arquivos** para evitar ser detectado.\
É possível encontrar os carimbos de data/hora dentro do MFT nos atributos `$STANDARD_INFORMATION` __ e __ `$FILE_NAME`.
2023-06-06 18:56:34 +00:00
Ambos os atributos têm 4 carimbos de data/hora: **Modificação**, **acesso**, **criação** e **modificação do registro MFT** (MACE ou MACB).
2023-06-06 18:56:34 +00:00
O **Windows Explorer** e outras ferramentas mostram as informações de **`$STANDARD_INFORMATION`**.
2023-06-06 18:56:34 +00:00
## TimeStomp - Ferramenta Anti-forense
2023-06-06 18:56:34 +00:00
Esta ferramenta **modifica** as informações de carimbo de data/hora dentro de **`$STANDARD_INFORMATION`** **mas não** as informações dentro de **`$FILE_NAME`**. Portanto, é possível **identificar** **atividades suspeitas**.
2022-05-01 16:32:23 +00:00
## Usnjrnl
2023-06-06 18:56:34 +00:00
O **USN Journal** (Update Sequence Number Journal), ou Change Journal, é um recurso do sistema de arquivos Windows NT (NTFS) que **mantém um registro das alterações feitas no volume**.\
É possível usar a ferramenta [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) para procurar modificações neste registro.
![](<../../.gitbook/assets/image (449).png>)
2023-06-06 18:56:34 +00:00
A imagem anterior é a **saída** mostrada pela **ferramenta** onde é possível observar que algumas **alterações foram realizadas** no arquivo.
2022-05-01 16:32:23 +00:00
## $LogFile
2023-06-06 18:56:34 +00:00
Todas as alterações de metadados em um sistema de arquivos são registradas para garantir a recuperação consistente das estruturas críticas do sistema de arquivos após uma falha do sistema. Isso é chamado de [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead\_logging).\
Os metadados registrados são armazenados em um arquivo chamado “**$LogFile**”, que é encontrado em um diretório raiz de um sistema de arquivos NTFS.\
É possível usar ferramentas como [LogFileParser](https://github.com/jschicht/LogFileParser) para analisar este arquivo e encontrar alterações.
![](<../../.gitbook/assets/image (450).png>)
2023-06-06 18:56:34 +00:00
Novamente, na saída da ferramenta, é possível ver que **algumas alterações foram realizadas**.
2023-06-06 18:56:34 +00:00
Usando a mesma ferramenta, é possível identificar a **qual momento os carimbos de data/hora foram modificados**:
![](<../../.gitbook/assets/image (451).png>)
2023-06-06 18:56:34 +00:00
* CTIME: Hora de criação do arquivo
* ATIME: Hora de modificação do arquivo
* MTIME: Hora de modificação do registro MFT do arquivo
* RTIME: Hora de acesso ao arquivo
2022-05-01 16:32:23 +00:00
2023-06-06 18:56:34 +00:00
## Comparação entre `$STANDARD_INFORMATION` e `$FILE_NAME`
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
Outra maneira de identificar arquivos suspeitos modificados seria comparar o tempo em ambos os atributos procurando por **incompatibilidades**.
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
## Nanosegundos
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
Os carimbos de data/hora do **NTFS** têm uma **precisão** de **100 nanossegundos**. Então, encontrar arquivos com carimbos de data/hora como 2010-10-10 10:10:**00.000:0000 é muito suspeito**.
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
## SetMace - Ferramenta Anti-forense
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
Esta ferramenta pode modificar ambos os atributos `$STARNDAR_INFORMATION` e `$FILE_NAME`. No entanto, a partir do Windows Vista, é necessário um sistema operacional ativo para modificar essas informações.
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
# Ocultação de dados
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
O NFTS usa um cluster e o tamanho mínimo de informação. Isso significa que se um arquivo ocupa um cluster e meio, o **meio restante nunca será usado** até que o arquivo seja excluído. Então, é possível **ocultar dados neste espaço ocioso**.
2022-05-01 16:32:23 +00:00
2023-06-06 18:56:34 +00:00
Existem ferramentas como o slacker que permitem ocultar dados neste espaço "oculto". No entanto, uma análise do `$logfile` e `$usnjrnl` pode mostrar que alguns dados foram adicionados:
2022-05-01 16:32:23 +00:00
2023-06-06 18:56:34 +00:00
![](<../../.gitbook/assets/image