Pastebot - Monitorando sites de pastes
Uma das atividades mais trabalhosas da minha pesquisa de senhas e hashes é, sem dúvida, coletar dumps de sites como o pastebin. Além da dificuldade natural de extrair informações – que surgem nos mais diversos formatos, variando desde saídas do sqlmap a senhas em texto claro e diferentes hashes no mesmo arquivo –, a organização e captura dos dados é um trabalho quase artesanal.
Para economizar tempo, fiz um pequeno script que monitora alguns desses sites atrás de possíveis informações interessantes. Parcialmente inspirado no Dumpmon, ele faz o seguinte:
Monitora usuários que frequentemente postam dumps de hashes e senhas;
Monitora os trends do Pastebin;
Monitora atualizações gerais, usando a própria busca do Pastebin.
De forma geral o script funciona como um job agendado executando de hora em hora as funções acima e armazenando os dados que preciso. Pastes são guardados em arquivos de texto, enquanto paste IDs, usuários e outros dados ficam em uma base de dados.
Ainda assim senti a necessidade de ter mais um recurso para me ajudar a gerenciar um volume grande de pastes (separando conteúdo útil de dados desnecessários, marcando os pastes já tratados, etc). Resolvi então arriscar um pouco e criar uma interface web que me ajudasse na organização e no monitoramento do funcionamento do script. Eis aqui alguns screenshots:
A tela de pastes me mostra uma lista dos pastes obtidos. No canto superior esquerdo (1) posso ver quando ocorreu a última adição no banco, com a ideia de me ajudar a identificar rapidamente um paste interessante ou um problema de execução no script. Eu posso também adicionar um paste novo à lista (2); caso o usuário não exista, ele é automaticamente adicionado aos usuários monitorados e seus pastes são importados. Na lixeira (3), posso remover pastes que não são uteis para o trabalho. Apenas o arquivo é removido – o paste ID é mantido para evitar que um paste desnecessário seja novamente adicionado à lista. O botão de “Tratado” (4) talvez seja uma das funcionalidades mais simples da aplicação, apesar de útil: ele serve simplesmente para me ajudar a marcar um paste que já teve hashes e senhas extraídos e armazenados.
A tela de usuários é bem simples também. Além do mesmo menu, posso adicionar usuários (1) que serão monitorados e os pastes são automaticamente importados. Clicando no “X”, um usuário deixa de ser monitorado. Para usuários que não estão ativos, basta clicar no ícone do “olho” e ele passa novamente para a lista de monitorados.
A ideia é manter as coisas tão simples quanto possível, mas ainda estou trabalhando em algumas estatísticas para a página inicial.
Como não sou desenvolvedor em tempo integral - faço algumas poucas ferramentas ou scripts para atender alguma necessidade que eu tenho – aproveitei a oportunidade para aprender algumas coisas novas. Para desenvolver a parte web usei o micro framework Flask com Bootstrap e Flat UI para a interface. O Bootstrap é bem simples e há uma variedade grande de templates disponíveis gratuitamente. Quanto ao Flask, também não há muito mistério. A principal vantagem é poder investir o tempo maior na lógica da aplicação: as views recebem os requests e fazem o tratamento dos dados. As páginas são geradas no esquema de tempaltes usando Jinja2, o que facilita para quem não é um webdesigner habilidoso.
É isso que eu tenho por hora. Assim que o código estiver em uma versão mais apresentável compartilho no meu repositório do GitHub.










