
Pesquisa por strings, regex, números de cartões de crédito de trilhas de cartões de tarja magnética no espaço de memória de um processo Windows.
Pesquisa por strings, expressões regulares, números de cartão de crédito e trilhas de cartões de banda magnética no espaço de memória de um processo
Scanner de Memória/Processo
Escrito por Matt Lewis, NCC Group 2014
Atualizado por Tom Watson, NCC Group 2015
Agradecimentos a Jesse Bullock por muitas ótimas ideias
Lançado como código aberto pela NCC Group Plc - http://www.nccgroup.com/
Desenvolvido por Matt Lewis e Tom Watson, matt [dot] lewis [at] nccgroup [dot] com & tom [dot] watson [at] nccgroup [dot] com
http://www.github.com/nccgroup/memscan
Lançado sob AGPL, consulte LICENSE para mais informações
Sinopse - fica continuamente escaneando o espaço de memória de um processo em busca de uma string (unicode e ascii), padrão de regex, dados de cartão de crédito ou dados de banda magnética; se encontrar, envia os resultados para stdout, um arquivo ou um socket para um listener remoto
Útil para fazer memory scraping em um processo, um POC de pós-exploração ou ferramenta de instrumentação a ser usada durante fuzzing.
TODO - Muito código duplicado poderia ser refatorado
Código adaptado de http://www.codeproject.com/Articles/716227/Csharp-How-to-Scan-a-Process-Memory
Código original licenciado sob CPOL: http://www.codeproject.com/info/cpol10.aspx
memscan
-string -s [pid] [Remote IP] [Remote Port] [delay] [width] [search term]
-string -f [pid] [filename] [delay] [width] [search term]
-string -o [pid] [delay] [width] [search term]
-regex -s [pid] [Remote IP] [Remote Port] [delay] [width] [regex]
-regex -f [pid] [filename] [delay] [width] [regex]
-regex -o [pid] [delay] [width] [regex]
-ccdata -s [pid] [Remote IP] [Remote Port] [delay]
-ccdata -f [pid] [filename] [delay]
-ccdata -o [pid] [delay]
-msdata -s [pid] [Remote IP] [Remote Port] [delay]
-msdata -f [pid] [filename] [delay]
-msdata -o [pid] [delay]
-proclist
Definições dos flags:
-string procurar por string
-regex procurar por padrão de regex
-ccdata procurar por dados de cartão de crédito
-msdata procurar por dados de banda magnética
-s gravar a saída em um socket
-f gravar a saída em um arquivo
-o gravar a saída no terminal
delay tempo de espera entre cada varredura de bloco de memória
width quantidade de dados a exibir antes e depois do termo de busca
string a procurar na memória (espaços permitidos)
regex a procurar na memória (ex.: 3[47][0-9]{13})