Pular para o conteúdo principal

Compartilhe

Kit de ferramentas do Analista de Perfil Digital

Kit de ferramentas do Analista de Perfil Digital Este conjunto de ferramentas, útil para criação de perfis, pesquisa e investigações digitais, foi desenvolvido para mim e meus estagiários (criadores de perfis, verificadores de fatos, pesquisadores e jornalistas). Ele contém apenas ferramentas funcionais e necessárias. Todas foram testadas em casos reais e são, em sua maioria, gratuitas. As ferramentas de interface gráfica e de linha de comando são separadas. 👁️‍🗨️ Para outras finalidades, utilize   o Kit de Ferramentas de Investigação de Código Aberto Online da Bellingcat  . É incrível! 🖖 Gostaria de receber algum treinamento meu? Sinta-se à vontade para enviar uma solicitação em russo ou inglês na minha   página de serviços do LinkedIn  . Você encontrará treinamentos e webinars gratuitos na seção de Design OSINT deste kit. 🖖 Obtenha mais ferramentas e vídeos educativos em russo no  Patreon do Provereno  . Índice: Pesquisar Identificação de Al...

Investigator Tool

 

// OSINT RECON TOOL — EDUCACIONAL
🔍 Investigator Tool
baseado em abhijithb200.github.io/investigator/ • uso educativo
O que é o Investigator? Ferramenta web de reconhecimento criada por Abhijith B (258 ⭐ GitHub). Usa Google Dorks e APIs open-source para mapear domínios. Não requer instalação.
🎯 Digite o domínio alvo
// aguardando domínio alvo...
🌐 Infraestrutura e Segurança
🎯 Google Dorks
🐍 Python no Replit — Passo a Passo
1
Criar conta gratuita
Acesse replit.com → Sign Up (Google/GitHub) → confirme email. Gratuito.
2
Criar novo Repl Python
Clique em + Create Repl → selecione Python → nomeie "osint-tools" → Create.
3
Instalar bibliotecas
Clique na aba Shell → cole o comando abaixo → Enter.
// Shell do Replit — instalar tudo de uma vez
pip install requests dnspython python-whois rich phonenumbers Pillow piexif
4
Guardar API Keys em Secrets
Ícone 🔒 no painel → Secrets → New Secret. Acesse com os.environ.get('NOME').
5
Cole o código e execute
Cole qualquer script no arquivo main.py → clique no botão verde ▶ Run.
Alternativas ao Replit:
Google Colab (colab.google.com) — gratuito, integra com Drive, ótimo para análise de dados
GitHub Codespaces — VS Code completo no navegador, 60h/mês grátis
Glitch (glitch.com) — mais simples, bom para scripts pequenos
🔎 Google Dorks — Referência Rápida
DORKOBJETIVORISCO
site:alvo.comTodas as páginas indexadas🔵 Recon
site:*.alvo.com -wwwSubdomínios ocultos🔵 Recon
intitle:login site:alvo.comPáginas de autenticação🟡 Sensível
inurl:/admin/ site:alvo.comPainéis administrativos🔴 Crítico
site:alvo.com ext:env OR ext:configArquivos de configuração🔴 Crítico
site:alvo.com ext:bak OR ext:oldBackups expostos🔴 Crítico
site:alvo.com "mysql error"Erros de banco de dados🟡 Sensível
site:alvo.com filetype:pdfDocumentos PDF públicos🟡 Sensível
site:alvo.com intitle:"index of /"Diretórios com listagem aberta🔴 Crítico
site:github.com "alvo.com" passwordCredenciais no GitHub🔴 Crítico
site:pastebin.com "alvo.com"Dados vazados no Pastebin🟡 Sensível
⚙️ Script Python — Investigador de Domínio
Cole no arquivo main.py do Replit e clique em ▶ Run
// main.py — Investigador completo (compatível com Replit)
# pip install requests python-whois dnspython rich
import requests, whois, dns.resolver
from rich.console import Console
from rich import print as rprint

console = Console()

def investigar(dominio):
    console.print(f'\n[bold cyan]INVESTIGANDO: {dominio}[/bold cyan]\n')

    # WHOIS
    console.print('[yellow]WHOIS[/yellow]')
    try:
        w = whois.whois(dominio)
        rprint(f'  Registrar: {w.get("registrar","?")}')
        rprint(f'  Criado:    {w.get("creation_date","?")}')
        rprint(f'  Email:     {w.get("emails","?")}')
    except Exception as e: rprint(f'  [red]{e}[/red]')

    # DNS
    console.print('\n[yellow]DNS Records[/yellow]')
    for t in ['A','MX','NS','TXT']:
        try:
            for r in dns.resolver.resolve(dominio, t):
                rprint(f'  {t}: {r}')
        except: pass

    # Subdominios via crt.sh
    console.print('\n[yellow]Subdominios (crt.sh)[/yellow]')
    try:
        r = requests.get(
            f'https://crt.sh/?q=%.{dominio}&output=json',
            timeout=15)
        subs = set()
        for e in r.json():
            for s in e.get('name_value','').split('\n'):
                if s and '*' not in s: subs.add(s.strip())
        for s in sorted(subs)[:15]:
            rprint(f'  [green]+[/green] {s}')
        rprint(f'  Total: {len(subs)}')
    except Exception as e: rprint(f'  [red]{e}[/red]')

    # Links uteis
    console.print('\n[yellow]Links de Analise[/yellow]')
    links = {
        'Shodan':    f'https://shodan.io/search?query=hostname:{dominio}',
        'Wayback':   f'https://web.archive.org/web/*/{dominio}',
        'SSL Test':  f'https://ssllabs.com/ssltest/analyze.html?d={dominio}',
        'Headers':   f'https://securityheaders.com/?q=https://{dominio}',
        'VirusTotal':f'https://virustotal.com/gui/domain/{dominio}',
        'URLScan':   f'https://urlscan.io/search/#domain:{dominio}',
    }
    for k, v in links.items():
        rprint(f'  [cyan]{k}[/cyan]: {v}')

alvo = input('Dominio para investigar: ')
investigar(alvo)
⚙️ Script — Security Headers
// security_headers.py
# pip install requests rich
import requests
from rich.console import Console
from rich.table import Table

console = Console()

HEADERS = {
    'Strict-Transport-Security': 'A',
    'Content-Security-Policy':   'A',
    'X-Frame-Options':           'B',
    'X-Content-Type-Options':    'B',
    'Referrer-Policy':           'B',
    'Permissions-Policy':        'B',
}

def check_headers(url):
    if not url.startswith('http'): url = 'https://' + url
    r = requests.get(url, timeout=10, allow_redirects=True,
                     headers={'User-Agent':'Mozilla/5.0'})
    tab = Table(title=f'Security Headers: {url}')
    tab.add_column('Header', style='cyan', width=32)
    tab.add_column('Status', width=12)
    tab.add_column('Grau', width=6)
    score = 0
    for h, grau in HEADERS.items():
        ok = h in r.headers
        status = '[green]OK[/green]' if ok else '[red]FALTA[/red]'
        if ok: score += 1
        tab.add_row(h, status, grau)
    console.print(tab)
    pct = int(score / len(HEADERS) * 100)
    console.print(f'\nScore: {score}/{len(HEADERS)} ({pct}%)')

url = input('URL: ')
check_headers(url)

Comentários

Como usar um Agente OSINT IA

Pericia Digital

Ebook

Postagens mais visitadas