MASTG-TECH-0027: Obter Arquivos Abertos

Você pode usar o comando lsof com a flag -p <pid> para retornar a lista de arquivos abertos pelo processo especificado. Consulte a página do manual para mais opções.

# lsof -p 6233
COMMAND     PID       USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
.foobar.c  6233     u0_a97  cwd       DIR                0,1         0          1 /
.foobar.c  6233     u0_a97  rtd       DIR                0,1         0          1 /
.foobar.c  6233     u0_a97  txt       REG             259,11     23968        399 /system/bin/app_process64
.foobar.c  6233     u0_a97  mem   unknown                                         /dev/ashmem/dalvik-main space (region space) (deleted)
.foobar.c  6233     u0_a97  mem       REG              253,0   2797568    1146914 /data/dalvik-cache/arm64/system@framework@boot.art
.foobar.c  6233     u0_a97  mem       REG              253,0   1081344    1146915 /data/dalvik-cache/arm64/system@framework@boot-core-libart.art
...

Na saída acima, os campos mais relevantes para nós são:

  • NAME: caminho do arquivo.
  • TYPE: tipo do arquivo, por exemplo, se é um diretório ou um arquivo regular.

Isso pode ser extremamente útil para detectar arquivos incomuns ao monitorar aplicativos que usam ofuscação ou outras técnicas anti-engenharia reversa, sem precisar fazer engenharia reversa do código. Por exemplo, um aplicativo pode estar realizando criptografia e descriptografia de dados e armazenando-os temporariamente em um arquivo.