Translated ['', 'src/generic-methodologies-and-resources/basic-forensic-

This commit is contained in:
Translator 2025-08-21 02:33:19 +00:00
parent 20770dddf0
commit e7ea0c6efe
2 changed files with 132 additions and 27 deletions

View File

@ -9,7 +9,7 @@ Um atacante pode estar interessado em **alterar os carimbos de data/hora dos arq
Ambos os atributos têm 4 carimbos de data/hora: **Modificação**, **acesso**, **criação** e **modificação do registro MFT** (MACE ou MACB).
**Windows explorer** e outras ferramentas mostram as informações de **`$STANDARD_INFORMATION`**.
**O explorador do Windows** e outras ferramentas mostram as informações de **`$STANDARD_INFORMATION`**.
### TimeStomp - Ferramenta Anti-forense
@ -85,7 +85,7 @@ Esta é uma chave de registro que mantém datas e horas quando cada executável
Desativar o UserAssist requer duas etapas:
1. Defina duas chaves de registro, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` e `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, ambas para zero, a fim de sinalizar que queremos desativar o UserAssist.
1. Defina duas chaves de registro, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` e `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, ambas para zero, a fim de sinalizar que queremos o UserAssist desativado.
2. Limpe suas subárvores de registro que se parecem com `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>`.
### Desativar Carimbos de Data/Hora - Prefetch
@ -109,7 +109,7 @@ Sempre que uma pasta é aberta a partir de um volume NTFS em um servidor Windows
### Excluir Histórico USB
Todas as **Entradas de Dispositivos USB** são armazenadas no Registro do Windows sob a chave de registro **USBSTOR**, que contém subchaves que são criadas sempre que você conecta um dispositivo USB ao seu PC ou Laptop. Você pode encontrar esta chave aqui `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Excluindo isso**, você excluirá o histórico USB.\
Todas as **Entradas de Dispositivos USB** são armazenadas no Registro do Windows sob a chave de registro **USBSTOR**, que contém subchaves que são criadas sempre que você conecta um dispositivo USB ao seu PC ou Laptop. Você pode encontrar esta chave aqui `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Excluir isso** você excluirá o histórico USB.\
Você também pode usar a ferramenta [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html) para ter certeza de que as excluiu (e para excluí-las).
Outro arquivo que salva informações sobre os USBs é o arquivo `setupapi.dev.log` dentro de `C:\Windows\INF`. Este também deve ser excluído.
@ -117,11 +117,11 @@ Outro arquivo que salva informações sobre os USBs é o arquivo `setupapi.dev.l
### Desativar Cópias de Sombra
**Liste** as cópias de sombra com `vssadmin list shadowstorage`\
**Exclua**-as executando `vssadmin delete shadow`
**Exclua** executando `vssadmin delete shadow`
Você também pode excluí-las via GUI seguindo os passos propostos em [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)
Para desativar cópias de sombra [passos a partir daqui](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows):
Para desativar cópias de sombra [passos daqui](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows):
1. Abra o programa Serviços digitando "serviços" na caixa de pesquisa de texto após clicar no botão iniciar do Windows.
2. Na lista, encontre "Volume Shadow Copy", selecione-o e acesse Propriedades clicando com o botão direito.
@ -198,7 +198,7 @@ type cobalt.bin > report.pdf:win32res.dll
rem Execute directly
wmic process call create "cmd /c report.pdf:win32res.dll"
```
Enumere fluxos com `dir /R`, `Get-Item -Stream *` ou Sysinternals `streams64.exe`. Copiar o arquivo host para FAT/exFAT ou via SMB removerá o fluxo oculto e pode ser usado por investigadores para recuperar a carga útil.
Enumere fluxos com `dir /R`, `Get-Item -Stream *`, ou Sysinternals `streams64.exe`. Copiar o arquivo host para FAT/exFAT ou via SMB removerá o fluxo oculto e pode ser usado por investigadores para recuperar a carga útil.
### BYOVD & “AuKill” (2023)
@ -212,11 +212,88 @@ Mitigações: habilitar a lista de bloqueio de drivers vulneráveis da Microsoft
---
## Linux Anti-Forensics: Auto-correção e Cloud C2 (20232025)
### Auto-correção de serviços comprometidos para reduzir a detecção (Linux)
Os adversários cada vez mais “auto-corrigem” um serviço logo após explorá-lo para evitar re-exploração e suprimir detecções baseadas em vulnerabilidades. A ideia é substituir componentes vulneráveis pelos últimos binários/JARs legítimos upstream, de modo que os scanners relatem o host como corrigido enquanto a persistência e o C2 permanecem.
Exemplo: Apache ActiveMQ OpenWire RCE (CVE202346604)
- Após a exploração, os atacantes buscaram JARs legítimos do Maven Central (repo1.maven.org), deletaram JARs vulneráveis na instalação do ActiveMQ e reiniciaram o broker.
- Isso fechou a RCE inicial enquanto mantinha outros pontos de apoio (cron, alterações na configuração do SSH, implantes C2 separados).
Exemplo operacional (ilustrativo)
```bash
# ActiveMQ install root (adjust as needed)
AMQ_DIR=/opt/activemq
cd "$AMQ_DIR"/lib
# Fetch patched JARs from Maven Central (versions as appropriate)
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
# Remove vulnerable files and ensure the service uses the patched ones
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
ln -sf activemq-client-5.18.3.jar activemq-client.jar
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
# Apply changes without removing persistence
systemctl restart activemq || service activemq restart
```
Forense/dicas de caça
- Revise diretórios de serviços em busca de substituições de binários/JAR não programadas:
- Debian/Ubuntu: `dpkg -V activemq` e compare hashes/caminhos de arquivos com espelhos de repositórios.
- RHEL/CentOS: `rpm -Va 'activemq*'`
- Procure por versões de JAR presentes no disco que não são de propriedade do gerenciador de pacotes, ou links simbólicos atualizados fora de banda.
- Linha do tempo: `find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort` para correlacionar ctime/mtime com a janela de comprometimento.
- Histórico de shell/telemetria de processos: evidências de `curl`/`wget` para `repo1.maven.org` ou outros CDNs de artefatos imediatamente após a exploração inicial.
- Gestão de mudanças: valide quem aplicou o “patch” e por quê, não apenas que uma versão corrigida está presente.
### C2 de serviço em nuvem com tokens de portador e stagers anti-análise
O comércio observado combinou múltiplos caminhos C2 de longo prazo e empacotamento anti-análise:
- Carregadores ELF PyInstaller protegidos por senha para dificultar a análise em sandbox e análise estática (por exemplo, PYZ criptografado, extração temporária sob `/_MEI*`).
- Indicadores: hits de `strings` como `PyInstaller`, `pyi-archive`, `PYZ-00.pyz`, `MEIPASS`.
- Artefatos em tempo de execução: extração para `/tmp/_MEI*` ou caminhos personalizados `--runtime-tmpdir`.
- C2 suportado por Dropbox usando tokens de portador OAuth codificados
- Marcadores de rede: `api.dropboxapi.com` / `content.dropboxapi.com` com `Authorization: Bearer <token>`.
- Caçar em proxy/NetFlow/Zeek/Suricata por HTTPS de saída para domínios do Dropbox a partir de cargas de trabalho de servidor que normalmente não sincronizam arquivos.
- C2 paralelo/backup via tunelamento (por exemplo, Cloudflare Tunnel `cloudflared`), mantendo controle se um canal for bloqueado.
- IOCs de host: processos/unidades `cloudflared`, configuração em `~/.cloudflared/*.json`, saída 443 para bordas do Cloudflare.
### Persistência e “rollback de hardening” para manter acesso (exemplos de Linux)
Os atacantes frequentemente combinam auto-correção com caminhos de acesso duráveis:
- Cron/Anacron: edições no stub `0anacron` em cada diretório `/etc/cron.*/` para execução periódica.
- Caçar:
```bash
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
```
- Rollback de hardening de configuração SSH: habilitando logins de root e alterando shells padrão para contas de baixo privilégio.
- Caçar habilitação de login root:
```bash
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# valores de flag como "yes" ou configurações excessivamente permissivas
```
- Caçar por shells interativos suspeitos em contas do sistema (por exemplo, `games`):
```bash
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
- Artefatos de beacon com nomes curtos e aleatórios (8 caracteres alfabéticos) gravados no disco que também contatam C2 em nuvem:
- Caçar:
```bash
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
```
Os defensores devem correlacionar esses artefatos com exposição externa e eventos de patching de serviços para descobrir auto-remediação anti-forense usada para ocultar a exploração inicial.
## Referências
- Sophos X-Ops “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (Março 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Patching EtwEventWrite for Stealth: Detection & Hunting” (Junho 2024)
https://redcanary.com/blog/etw-patching-detection
- Sophos X-Ops “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (Março 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Patching EtwEventWrite for Stealth: Detection & Hunting” (Junho 2024)
https://redcanary.com/blog/etw-patching-detection
- [Red Canary Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
- [CVE202346604 Apache ActiveMQ OpenWire RCE (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -6,7 +6,7 @@
### Informações Básicas
Primeiro de tudo, é recomendado ter um **USB** com **binaries e bibliotecas bem conhecidas** (você pode apenas pegar o ubuntu e copiar as pastas _/bin_, _/sbin_, _/lib,_ e _/lib64_), então monte o USB e modifique as variáveis de ambiente para usar esses binaries:
Primeiramente, é recomendável ter um **USB** com **binaries e bibliotecas bem conhecidas** (você pode apenas obter o ubuntu e copiar as pastas _/bin_, _/sbin_, _/lib,_ e _/lib64_), então monte o USB e modifique as variáveis de ambiente para usar esses binaries:
```bash
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
@ -42,11 +42,11 @@ Ao obter as informações básicas, você deve verificar coisas estranhas, como:
Para obter a memória do sistema em execução, é recomendado usar [**LiME**](https://github.com/504ensicsLabs/LiME).\
Para **compilá-lo**, você precisa usar o **mesmo kernel** que a máquina vítima está usando.
> [!NOTE]
> [!TIP]
> Lembre-se de que você **não pode instalar LiME ou qualquer outra coisa** na máquina vítima, pois isso fará várias alterações nela
Portanto, se você tiver uma versão idêntica do Ubuntu, pode usar `apt-get install lime-forensics-dkms`\
Em outros casos, você precisa baixar [**LiME**](https://github.com/504ensicsLabs/LiME) do github e compilá-lo com os cabeçalhos de kernel corretos. Para **obter os cabeçalhos de kernel exatos** da máquina vítima, você pode simplesmente **copiar o diretório** `/lib/modules/<kernel version>` para sua máquina e, em seguida, **compilar** o LiME usando-os:
Então, se você tiver uma versão idêntica do Ubuntu, pode usar `apt-get install lime-forensics-dkms`\
Em outros casos, você precisa baixar [**LiME**](https://github.com/504ensicsLabs/LiME) do github e compilá-lo com os cabeçalhos de kernel corretos. Para **obter os cabeçalhos de kernel exatos** da máquina vítima, você pode simplesmente **copiar o diretório** `/lib/modules/<kernel version>` para sua máquina e, em seguida, **compilar** LiME usando-os:
```bash
make -C /lib/modules/<kernel version>/build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
@ -63,8 +63,8 @@ LiME também pode ser usado para **enviar o dump via rede** em vez de armazená-
#### Desligando
Primeiro de tudo, você precisará **desligar o sistema**. Isso nem sempre é uma opção, pois às vezes o sistema será um servidor de produção que a empresa não pode se dar ao luxo de desligar.\
Existem **2 maneiras** de desligar o sistema, um **desligamento normal** e um **desligamento "puxar o plugue"**. O primeiro permitirá que os **processos sejam encerrados normalmente** e o **sistema de arquivos** seja **sincronizado**, mas também permitirá que o possível **malware** **destrua evidências**. A abordagem "puxar o plugue" pode acarretar **alguma perda de informação** (não muita informação será perdida, pois já tiramos uma imagem da memória) e o **malware não terá nenhuma oportunidade** de fazer algo a respeito. Portanto, se você **suspeitar** que pode haver um **malware**, apenas execute o **comando** **`sync`** no sistema e puxe o plugue.
Primeiramente, você precisará **desligar o sistema**. Isso nem sempre é uma opção, pois às vezes o sistema será um servidor de produção que a empresa não pode se dar ao luxo de desligar.\
Existem **2 maneiras** de desligar o sistema, um **desligamento normal** e um **desligamento "desconectar da tomada"**. O primeiro permitirá que os **processos sejam encerrados normalmente** e o **sistema de arquivos** seja **sincronizado**, mas também permitirá que o possível **malware** **destrua evidências**. A abordagem "desconectar da tomada" pode acarretar **alguma perda de informação** (não muita informação será perdida, pois já tiramos uma imagem da memória) e o **malware não terá nenhuma oportunidade** de fazer algo a respeito. Portanto, se você **suspeitar** que pode haver um **malware**, apenas execute o **comando** **`sync`** no sistema e desconecte da tomada.
#### Tirando uma imagem do disco
@ -151,7 +151,7 @@ malware-analysis.md
## Pesquisa de programas instalados
Para pesquisar efetivamente programas instalados em sistemas Debian e RedHat, considere aproveitar logs do sistema e bancos de dados juntamente com verificações manuais em diretórios comuns.
Para pesquisar efetivamente por programas instalados em sistemas Debian e RedHat, considere aproveitar logs do sistema e bancos de dados juntamente com verificações manuais em diretórios comuns.
- Para Debian, inspecione _**`/var/lib/dpkg/status`**_ e _**`/var/log/dpkg.log`**_ para obter detalhes sobre instalações de pacotes, usando `grep` para filtrar informações específicas.
- Usuários do RedHat podem consultar o banco de dados RPM com `rpm -qa --root=/mntpath/var/lib/rpm` para listar pacotes instalados.
@ -196,6 +196,32 @@ cat /var/spool/cron/crontabs/* \
#MacOS
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
```
#### Hunt: Abuso de Cron/Anacron via 0anacron e stubs suspeitos
Os atacantes frequentemente editam o stub 0anacron presente em cada diretório /etc/cron.*/ para garantir a execução periódica.
```bash
# List 0anacron files and their timestamps/sizes
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
# Look for obvious execution of shells or downloaders embedded in cron stubs
grep -R --line-number -E 'curl|wget|/bin/sh|python|bash -c' /etc/cron.*/* 2>/dev/null
```
#### Hunt: SSH hardening rollback and backdoor shells
Mudanças no sshd_config e nas shells de contas do sistema são comuns após a exploração para preservar o acesso.
```bash
# Root login enablement (flag "yes" or lax values)
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# System accounts with interactive shells (e.g., games → /bin/sh)
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
#### Hunt: Marcadores de C2 na Nuvem (Dropbox/Cloudflare Tunnel)
- Os beacons da API do Dropbox geralmente usam api.dropboxapi.com ou content.dropboxapi.com via HTTPS com tokens de Autorização: Bearer.
- Procure no proxy/Zeek/NetFlow por egressos inesperados do Dropbox a partir de servidores.
- O Cloudflare Tunnel (`cloudflared`) fornece C2 de backup sobre a porta 443 de saída.
```bash
ps aux | grep -E '[c]loudflared|trycloudflare'
systemctl list-units | grep -i cloudflared
```
### Serviços
Caminhos onde um malware poderia ser instalado como um serviço:
@ -218,7 +244,7 @@ Módulos do kernel Linux, frequentemente utilizados por malware como componentes
- **/etc/modprobe.d**: Contém arquivos de configuração para controlar o carregamento de módulos.
- **/etc/modprobe** e **/etc/modprobe.conf**: Arquivos para configurações globais de módulos.
### Outros Locais de Autoinicialização
### Outros Locais de Autostart
O Linux emprega vários arquivos para executar automaticamente programas ao fazer login do usuário, potencialmente abrigando malware:
@ -246,7 +272,7 @@ Sistemas Linux rastreiam atividades de usuários e eventos do sistema através d
- **/var/log/xferlog**: Registra transferências de arquivos FTP.
- **/var/log/**: Sempre verifique se há logs inesperados aqui.
> [!NOTE]
> [!TIP]
> Logs do sistema Linux e subsistemas de auditoria podem ser desativados ou excluídos em um incidente de intrusão ou malware. Como os logs em sistemas Linux geralmente contêm algumas das informações mais úteis sobre atividades maliciosas, intrusos rotineiramente os excluem. Portanto, ao examinar os arquivos de log disponíveis, é importante procurar lacunas ou entradas fora de ordem que possam ser uma indicação de exclusão ou adulteração.
**O Linux mantém um histórico de comandos para cada usuário**, armazenado em:
@ -272,7 +298,7 @@ Alguns aplicativos também geram seus próprios logs:
- **Gnome Desktop**: Verifique _\~/.recently-used.xbel_ para arquivos acessados recentemente via aplicativos Gnome.
- **Firefox/Chrome**: Verifique o histórico do navegador e downloads em _\~/.mozilla/firefox_ ou _\~/.config/google-chrome_ para atividades suspeitas.
- **VIM**: Revise _\~/.viminfo_ para detalhes de uso, como caminhos de arquivos acessados e histórico de pesquisa.
- **Open Office**: Verifique o acesso recente a documentos que pode indicar arquivos comprometidos.
- **Open Office**: Verifique o acesso recente a documentos que podem indicar arquivos comprometidos.
- **FTP/SFTP**: Revise logs em _\~/.ftp_history_ ou _\~/.sftp_history_ para transferências de arquivos que podem ser não autorizadas.
- **MySQL**: Investigue _\~/.mysql_history_ para consultas MySQL executadas, potencialmente revelando atividades não autorizadas no banco de dados.
- **Less**: Analise _\~/.lesshst_ para histórico de uso, incluindo arquivos visualizados e comandos executados.
@ -301,8 +327,8 @@ Mais exemplos e informações dentro do github: [https://github.com/snovvcrash/u
## Revisar Contas de Usuário e Atividades de Logon
Examine o _**/etc/passwd**_, _**/etc/shadow**_ e **logs de segurança** em busca de nomes ou contas incomuns criadas e ou usadas em estreita proximidade com eventos não autorizados conhecidos. Além disso, verifique possíveis ataques de força bruta no sudo.\
Além disso, verifique arquivos como _**/etc/sudoers**_ e _**/etc/groups**_ em busca de privilégios inesperados concedidos a usuários.\
Examine o _**/etc/passwd**_, _**/etc/shadow**_ e **logs de segurança** em busca de nomes ou contas incomuns criadas e ou usadas em estreita proximidade com eventos não autorizados conhecidos. Além disso, verifique possíveis ataques de força bruta ao sudo.\
Além disso, verifique arquivos como _**/etc/sudoers**_ e _**/etc/groups**_ para privilégios inesperados concedidos a usuários.\
Finalmente, procure por contas com **sem senhas** ou **senhas facilmente adivinháveis**.
## Examinar Sistema de Arquivos
@ -313,7 +339,7 @@ Ao investigar incidentes de malware, a estrutura do sistema de arquivos é uma f
Para combater esses métodos anti-forenses, é essencial:
- **Realizar uma análise de linha do tempo completa** usando ferramentas como **Autopsy** para visualizar linhas do tempo de eventos ou `mactime` do **Sleuth Kit** para dados detalhados da linha do tempo.
- **Realizar uma análise de linha do tempo completa** usando ferramentas como **Autopsy** para visualizar linhas do tempo de eventos ou `mactime` do **Sleuth Kit** para dados de linha do tempo detalhados.
- **Investigar scripts inesperados** no $PATH do sistema, que podem incluir scripts shell ou PHP usados por atacantes.
- **Examinar `/dev` em busca de arquivos atípicos**, pois tradicionalmente contém arquivos especiais, mas pode abrigar arquivos relacionados a malware.
- **Procurar por arquivos ou diretórios ocultos** com nomes como ".. " (ponto ponto espaço) ou "..^G" (ponto ponto controle-G), que podem ocultar conteúdo malicioso.
@ -328,8 +354,8 @@ ls -laR --sort=time /bin```
# Sort files in a directory by inode:
ls -lai /bin | sort -n```
````
> [!NOTE]
> Note que um **atacante** pode **modificar** o **tempo** para fazer **arquivos parecerem** **legítimos**, mas ele **não pode** modificar o **inode**. Se você descobrir que um **arquivo** indica que foi criado e modificado ao **mesmo tempo** que o restante dos arquivos na mesma pasta, mas o **inode** é **inesperadamente maior**, então os **timestamps desse arquivo foram modificados**.
> [!TIP]
> Note que um **atacante** pode **modificar** o **tempo** para fazer **arquivos parecerem** **legítimos**, mas ele **não pode** modificar o **inode**. Se você descobrir que um **arquivo** indica que foi criado e modificado ao **mesmo tempo** que os demais arquivos na mesma pasta, mas o **inode** é **inesperadamente maior**, então os **timestamps desse arquivo foram modificados**.
## Comparar arquivos de diferentes versões de sistema de arquivos
@ -349,10 +375,10 @@ git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ |
```bash
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
```
- **Opções de filtro** (`--diff-filter`) ajudam a restringir a mudanças específicas, como arquivos adicionados (`A`), deletados (`D`) ou modificados (`M`).
- **Opções de filtro** (`--diff-filter`) ajudam a restringir a mudanças específicas, como arquivos adicionados (`A`), excluídos (`D`) ou modificados (`M`).
- `A`: Arquivos adicionados
- `C`: Arquivos copiados
- `D`: Arquivos deletados
- `D`: Arquivos excluídos
- `M`: Arquivos modificados
- `R`: Arquivos renomeados
- `T`: Mudanças de tipo (por exemplo, arquivo para symlink)
@ -367,4 +393,6 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
- **Livro: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
- [Red Canary Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
{{#include ../../banners/hacktricks-training.md}}