Birdwatcher é uma análise de dados e framework OSINT para o Twitter.
Estrutura OSINT do Twitter
Birdwatcher é uma análise de dados e framework OSINT para o Twitter. Birdwatcher suporta a criação de vários espaços de trabalho onde usuários arbitrários do Twitter podem ser adicionados e seus Tweets colhidos através da API do Twitter para armazenamento e análise off-line.
O Birdwatcher vem com vários módulos que podem ser invocados para enriquecer os dados coletados ou trabalhar com ele, por exemplo, Recuperando a pontuação do usuário, gerando gráficos sociais entre usuários e nuvens de palavras ponderadas com base em seus Tweets.
Instalação
1. Ruby
Birdwatcher está escrito em Ruby e requer pelo menos versão 1.9.3 ou superior. Para verificar qual versão do Ruby você instalou, basta executar
ruby --version
em um terminal.Se você tiver uma versão antiga instalada, é muito fácil atualizar e gerenciar diferentes versões com o Ruby Version Manager ( RVM ). Consulte o site RVM para obter instruções de instalação.
2. RubyGems
Birdwatcher é embalado como uma jóia Ruby para facilitar a instalação e atualização. Para instalar gemas Ruby, você precisará da ferramenta RubyGems instalada. Para verificar se você já possui, digite
gem
um Terminal. Se você já conseguiu isso, recomenda-se fazer um rápido gem update --system
para garantir que você tenha a versão mais recente e melhor. Caso não o tenha instalado, baixe-o daqui e siga as instruções de instalação simples.3. PostgreSQL
Birdwatcher usa um banco de dados PostgreSQL para armazenar todos os seus dados. Se você estiver configurando o Birdwatcher na distribuição Kali linux, você já o instalou, basta certificar-se de que ele está sendo executado executando
service postgresql start
e talvez instale uma dependência com apt-get install libpq-dev
um terminal. Aqui está um excelente guia sobre como instalar o PostgreSQL em um sistema Linux baseado em Debian. Se você estiver configurando o Birdwatcher em um Mac, a maneira mais fácil de instalar o PostgreSQL é com Homebrew . Aqui está um guia sobre como instalar o PostgreSQL com Homebrew.3.1 Usuário e banco de dados do PostgreSQL
Você precisa configurar um usuário e um banco de dados no PostgreSQL para Birdwatcher. Execute os seguintes comandos em um terminal:
sudo su postgres # Not necessary on Mac OS X
createuser -s birdwatcher --pwprompt
createdb -O birdwatcher birdwatcher
Agora você tem um novo usuário do PostgreSQL com o nome
birdwatcher
e com a senha que você digitou no prompt. Você também criou um banco de dados com o nome birdwatcher
que pertence ao birdwatcher
usuário.4. Graphviz
Alguns módulos Birdwatcher usam Graphviz para gerar gráficos visuais e outras coisas. Em um Mac você pode instalar Graphviz com homebrew , digitando
brew update && brew install graphviz
em um terminal. Em uma distribuição baseada em Linux baseada em Debian, o Graphviz pode ser instalado digitando sudo apt-get update && sudo apt-get install graphviz
um terminal.5. ImageMagick
Alguns módulos do Birdwatcher usam o ImageMagick para gerar imagens. Em um Mac você pode instalar Imagemagick com homebrew , digitando
brew update && brew install imagemagick
em um terminal. Em uma distribuição do Linux baseada em Debian, o ImageMagick pode ser instalado digitando sudo apt-get update && sudo apt-get install libmagickwand-dev imagemagick
um terminal.6. Birdwatcher
Finalmente, com todas as dependências instaladas, o Birdwatcher agora pode ser instalado com um comando simples em um terminal:
$ gem install birdwatcher
Isso irá baixar e configurar o Birdwatcher e instalar todas as suas dependências de código.
Uso
Birdwatcher é construído como um console e se você tem alguma experiência com outras estruturas, como Metasploit ou Recon-ng , você deve se sentir em casa como birdwatcher tem muitos dos mesmos conceitos e comandos.
Birdwatcher, como Metasploit e Recon-ng, trabalha com o conceito de espaços de trabalho. As áreas de trabalho permitem segmentar e gerenciar usuários e dados armazenados no banco de dados. Você pode usar espaços de trabalho para criar separação lógica entre diferentes usuários. Por exemplo, você pode querer criar um espaço de trabalho para uma empresa, um departamento ou para um tópico específico.
O núcleo da estrutura Birdwatcher é, naturalmente, seus comandos. Você já recebeu uma introdução ao
workspace
comando na seção anterior, mas há muitos mais. Um dos comandos mais importantes é help
:birdwatcher[top5]> help
[+] Available commands:
back Unloads current module
exit Exit Birdwatcher
help [COMMAND] Show help and detailed command usage
irb Start an interactive Ruby shell
module ACTION Show modules
query QUERY Execute SQL query
query_csv QUERY Execute SQL query and return result as CSV
resource FILE Execute commands from a resource file
run Run current module
schema [TABLE_NAME] Show schema for database table
set OPTION VALUE Set module option
shell COMMAND Execute shell command
show DETAILS Show module details and options
status [ACTION] Manage statuses
unset OPTION Unset module option
use MODULE_PATH Load specified module
user [ACTION] Manage users
workspace [ACTION] Manage workspaces
birdwatcher[top5]>
Módulos
Ser capaz de buscar usuários do Twitter e os status da API é legal e tudo, mas se isso fosse tudo Birdwatcher seria apenas um cliente do Twitter offline. Os módulos são onde a diversão começa. Os módulos também enriqueceram os dados coletados com mais dados ou fazem algum tipo de trabalho nos dados coletados.
Aqui estão algumas das coisas que os módulos podem fazer:
- Gerar nuvens de palavras ponderadas com base em status
- Listando os URLs mais compartilhados em um determinado período de tempo
- Gerar gráficos sociais visuais entre usuários
- Rastrear URLs compartilhados para buscar códigos de status, tipos de conteúdo e títulos de páginas
- Gere arquivos KML com status habilitado para visualização geográfica no Google Earth
- Gerar parcelas estilo Punchard de quando os usuários estão mais envolvidos com o Twitter
Para ver todos os módulos disponíveis, use o
module list
comando:birdwatcher[top5]> module list
[+] Available Modules:
Name: KML Document
Description: Creates a KML document of statuses with Geo locations
Path: statuses/kml
================================================================================
Name: Status Sentiment Analysis
Description: Enrich statuses with sentiment score
Path: statuses/sentiment
================================================================================
Name: Social Graph
Description: Graphs the social relations between users
Path: users/social_graph
================================================================================
birdwatcher[top5]>
O nome, descrição e caminho estão listados para cada módulo disponível. O caminho do módulo é como os módulos são divididos em pastas no sistema de arquivos. As pastas podem ser vistas como espaços de nomes e dão uma pista sobre o tipo de objetos em que trabalham . O caminho é usado para selecionar módulos com o
use
comando. O use
comando simplesmente carrega um módulo fornecendo o caminho dos módulos como um argumento. Isso também altera o prompt de comando para exibir o módulo atualmente carregado entre colchetes ao lado do espaço de trabalho atualmente ativo.