Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
instaloctrack — Uma ferramenta OSINT para Instagram que coleta todas as localizações georreferenciadas disponíveis em um perfil do Instagram para plotá-las em um mapa e despejá-las em um JSON. | Kitploit
Ferramentas/GitHubGitHub/bernsteining/instaloctrack
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesEngenharia SocialRastreadorArchived
GitHubbernsteining/instaloctrack

instaloctrack

Uma ferramenta OSINT para Instagram que coleta todas as localizações georreferenciadas disponíveis em um perfil do Instagram para plotá-las em um mapa e despejá-las em um JSON.

Ver Repositório
32061há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

instaloctrack

TL;DR : ascineema, video do projeto

Uma ferramenta para extrair localizações georreferenciadas de perfis do Instagram. Saída em JSON e mapa interativo.

requisitos

root@kitploit:~
sudo apt install chromium-chromedriver && chmod a+x /usr/bin/chromedriver

🛠️ instalação

root@kitploit:~
git clone https://github.com/bernsteining/instaloctrack
cd instaloctrack
pip3 install .

Ou use Docker:

root@kitploit:~
sudo docker build -t instaloctrack -f Dockerfile .

Uso

root@kitploit:~
instaloctrack -h
usage: instaloctrack [-h] [-t TARGET_ACCOUNT] [-l LOGIN] [-p PASSWORD] [-v]

Instagram location data gathering tool. Usage: python3 instaloctrack.py -t <target_account>

optional arguments:
  -h, --help            show this help message and exit
  -t TARGET_ACCOUNT, --target TARGET_ACCOUNT
                        Instagram profile to investigate
  -l LOGIN, --login LOGIN
                        Instagram profile to connect to, in order to access
                        the instagram posts of the target account
  -p PASSWORD, --password PASSWORD
                        Password of the Instagram profile to connect to
  -v, --visual          Spawns Chromium GUI, otherwise Chromium is headless

e.g.

root@kitploit:~
instaloctrack -t <target_account>

Se o perfil alvo for privado e você tiver uma conta seguindo o perfil alvo, é possível extrair os dados com uma sessão conectada:

root@kitploit:~
instaloctrack -t <target_account> -l <your_account> -p <your_password>

ou com Docker:

root@kitploit:~
sudo docker run -v /tmp/output:/tmp/output instaloctrack -t <target_account> -o /tmp/output

⚙️ Como funciona

Primeiro, recuperamos todos os links das fotos da conta rolando todo o perfil do Instagram, graças ao webdriver do Selenium.

Em seguida, recuperamos assincronamente (asyncio) cada link de foto, verificamos se contém uma localização na descrição da foto, e recuperamos os dados da localização se houver, e o timestamp.

  • NB: Desde 2018, o Instagram descontinuou sua API de localização e não é mais possível obter as coordenadas GPS de uma foto; tudo o que podemos recuperar é o nome da localização. (Se você puder provar que estou errado, por favor me avise!)

Como o Instagram não fornece coordenadas GPS, e recebemos apenas nomes de lugares, precisamos geocodificá-los (ou seja, obter as coordenadas GPS a partir do nome do lugar).

Para isso, usei a excelente API do Nominatim, que utiliza o OpenStreetMap. Para nosso uso, nenhuma chave de API é necessária, e respeitamos a Política de Uso do Nominatim solicitando coordenadas GPS uma vez por segundo.

Eventualmente, quando temos todas as coordenadas GPS, geramos um HTML (graças ao template jinja2) com Javascript embutido que plota um Open Street Map (graças à biblioteca Leaflet) com todas as nossas localizações marcadas. Novamente, nenhuma chave de API é necessária para esta etapa.

Além disso, os dados coletados pelo script (nomes das localizações, timestamps, coordenadas GPS, erros) são salvos em um arquivo JSON para serem reutilizados.

Exemplo

Como exemplo, aqui está a saída no perfil do Instagram do ex-presidente francês, @fhollande:

Mapa das localizações do @fhollande no Instagram

O mapa de calor:

Mapa de calor das localizações do @fhollande no Instagram

Informações disponíveis ao clicar em um marcador:

Dados disponíveis ao clicar em um marcador

Estatísticas sobre os dados de localização:

Estatísticas sobre os dados de localização

O dump de dados JSON (apenas uma parte para mostrar o formato de uma localização específica):

root@kitploit:~
{
    "link": "https://www.instagram.com/p/-Q_9EvR9eu",
    "place": {
      "id": "290297",
      "name": "Musée du quai Branly - Jacques Chirac",
      "slug": "musee-du-quai-branly-jacques-chirac",
      "street_address": " 37 quai Branly",
      " zip_code": " 75007",
      " city_name": " Paris",
      " region_name": " ",
      " country_code": " FR"
    },
    "timestamp": "2015-11-19",
    "gps": {
      "lat": "48.8566969",
      "lon": "2.3514616"
    }
  }

Melhorias Possíveis

  • Código mais limpo :D
  • Fatorar a função de geocodificação que está muito longa e críptica
  • Usar beautifulsoup em vez de análise com regex
  • Remover espaços em branco estranhos causados pela barra de progresso
  • Usar outras ferramentas de geocodificação (ex.: https://geo.api.gouv.fr/adresse) em vez do Nominatim quando ele falhar? (especificar argumento?)
    • Usar geopy?
    • Usar Overpass em vez do Nominatim?
  • Adicionar um argumento para selecionar apenas um conjunto de fotos (selecionadas por data ou ordem)
  • Informação de tempo sobre a duração do script
Baixar ferramenta