M2 UD2 - Ferramentas e Técnicas de OSINT
M2 UD2 - Ferramentas e Técnicas de OSINT
M2 UD2 - Ferramentas e Técnicas de OSINT
1. Introdução
Nesta Unidade Didática focamos algumas técnicas e ferramentas de OSINT, utilizadas nas diferentes
ações de reconhecimento passivo que podemos conduzir durante um pentest. Inclui coisas como
perceber a importância e as técnicas que tiram partido do serviço de resolução de nomes (DNS), os
rastreadores Web, as redes sociais, a visualização do próprio website da organização alvo, a utilização
de informação diversa e publicamente disponível para obter o máximo de informação possível sobre a
organização alvo. Conforme já referido, neste módulo do curso, concentramo-nos no Reconhecimento
Passivo, que é apenas uma parte do conjunto maior de objetivos dentro da Recolha de Informação.
Nas diversas ferramentas que vemos ao longo desta unidade didática, poderá ser necessário fazer o
registo com um email. Atentem à seguinte nota.
Nota - para esta e outras situações em que temos que dar um email para uso pontual (e.g., fazer
download de relatórios, instalar ferramentas, entre outras), devem ter uma conta de email
especifica, e que não usem para fins pessoais. Não é obrigatório, mas é uma boa prática
criarem uma conta para esse efeito, caso não a tenham já. No caso concreto das pesquisas de
OSINT e especialmente no uso de ferramentas para reconhecimento ativo, é recomendado
mesmo a utilização de contas falsas descartáveis conforme veremos mais à frente no curso,
claro que, isso é necessário apenas em casos concretos e sempre dentro da legalidade e
legitimidade para o efeito.
Imaginem que o pentester quer ter acesso a um conjunto de emails de uma organização para poder
enviar vários emails de phishing, ou até para tentar forçar o acesso ao email com técnicas de
dicionário ou bruteforce (ambas eficazes quando não existe uma política de passwords ou multifator de
autenticação, pois a top password continua a ser algo como 123456 [1]).
Alguma ideia de como fazer para obter esses mails? A resposta mais fácil e rápida é: pesquisar no
Google!
Conforme vimos anteriormente, o pentester pode tentar explorar os sistemas através de utilizadores
vulneráveis (e.g., phishing, drive-by-download), ou pode tentar explorar sistemas vulneráveis
diretamente. É importante recolher o máximo de informação, quer sobre a organização, colaboradores,
quer sobre aspetos técnicos. Neste documento, vamos ver mais em detalhe cada uma das técnicas já
referidas na Unidade Didática anterior, incluindo com exemplos de ferramentas (as ferramentas nesta
área estão sempre a mudar.. mas o que interessa é o método!).
2. Google Dorks
O Google permite fazermos pesquisas muito refinadas e filtradas. A este tipo de pesquisas chamamos
Google Hacking ou Google Dorks. Estas técnicas podem ser usadas para fazer pesquisas OSINT, para
localizar documentos, pesquisar informação sobre pessoas, ou até sobre servidores e aplicações web
vulneráveis. Basicamente, podemos fazer pesquisas avançadas usando o Google para encontrar todo
o tipo de informação.
Há muitas coisas diferentes que podemos fazer quando estamos a fazer estas operações avançadas.
Podemos usar operadores como NOT , AND , OR , ou restringir o âmbito (scope) com palavras-chave.
Em primeiro lugar, importa referir que quando utilizamos aspas, estamos considerar a pesquisa dos
caracteres contidos entre aspas por inteiro.
Por exemplo, se pesquisarmos "Luis Dias" , estamos interessados apenas nos resultados em que
obtemos os dois nomes tal como estão. Se não usarmos as aspas, podemos obter resultados onde
aparece a palavra Luís ou a palavra Dias ou ambos.
O operador NOT utiliza-se com um sinal de menos antes da palavra (ou palavras entre aspas), e serve
para retirar os resultados que contém essas palavras da pesquisa. Por exemplo, se pretendermos
encontrar todos os resultados relativos a uma organização menos os que têm a referência ao website
da mesma poderemos fazer a pesquisa seguinte: organização -"organização.pt" (serve para
obtermos referências à organização mas que não referenciem o nome do endereço).
O operador AND é usado para exigir ambos os termos de pesquisa. Por exemplo, se pretendesse
procurar os nomes Luís e Dias mas que obrigatoriamente aparecessem ambos nos resultados, para
conseguir algo como "Luís ...nomes do meio... Dias". Neste caso, pesquisaria por Luís AND Dias . Se
quisermos, podemos refinar e colocar Luís AND Dias AND exército . O operador OR serve para
obter qualquer um dos termos de pesquisa ou ambos.
Em relação ao âmbito, existem palavras-chave para selecionar o âmbito da pesquisa, alguns exemplos
são site , filetype , related , allintitle , allinurl , ou allinanchor , cache , entre muitas
outras.
Por exemplo, se quisermos pesquisar apenas ficheiros PDF dentro do website da Universidade Aberta,
poderemos utilizar a seguinte pesquisa:
site:www.uab.pt filetype:pdf
site:uab.pt filetype.pt
NMAP filetype:doc
Nota: ao pesquisar no google com recurso a dorks, pode receber um alerta da google a validar
que é um humano e não um bot. Adicionalmente, existem ferramentas que fazem pesquisas ao
google e podem igualmente ser bloqueadas. Nestes casos, uma possibilidade é instalar um
cliente da rede TOR para alterar o IP e deixar de estar bloqueado.
Para aprofundar os conhecimentos sobre estes operadores e palavras-chave para definir o âmbito
deixo algumas referências[2][3][4][5].
Importa agora referir, a base de dados de hacking do Google[6] (normalmente designada GHDB) que
fornece uma conjunto significativo de diferentes métodos de pesquisa que podemos utilizar e que já
estão otimizados para a localização de sítios e serviços vulneráveis. Estas combinações de métodos
de pesquisa, designam-se de Google dorks. Claro que, as pesquisas referidas no GHDB podem ser
adaptadas por nós para o que necessitarmos.
Por exemplo, na Figura 1, pesquisamos por cisco , depois escolhemos um dork que retorna páginas
de login para equipamentos cisco.
Podemos adaptar e adicionar ao dork outras palavras ou palavras-chave para restringir o âmbito ainda
mais.
3. Localização Física
Para apoiar um pentest que implica o acesso físico, podemos usar o Google Maps, incluindo com o
Street View[7]. Devemos estudar a zona, os acessos, e a forma de conseguir ser o mais discreto
possível aquando no local. Contudo, esta atividade carece quase sempre de um reconhecimento no
local para confirmar, claro que, de forma discreta.
A localização física da organização, especialmente no caso de uma grande organização pode ser
importante para combinar as coordenadas de GPS nos filtros de pesquisa do Shodan. Por outro lado,
os eventuais escritórios/lojas ou dependências da organização, que são dispersas geograficamente,
têm quase sempre mecanismos de segurança mais frágeis, e por isso, um bom ponto de entrada (e.g.,
através de uma pen USB infetada colocada no local certo).
Para fazer a geolocalização de endereços IP uma boa referência é a MAXMIND[8], pois permite
pesquisar informação de localização sobre vários endereços IP em simultaneo. Contudo, existem
muitas outras ferramentas (basta pesquisar por "IP locate").
4. Emails
Queremos obter emails de entidades interessantes, do ponto de vista de um pentest. Por exemplo,
para um ataque de spear-phishing será interessante obter emails do CEO (Chief Executive Officer), do
CISO (Chief Information Security Officer), de pessoal que trabalhe no helpdesk, entre outros. Por outro
lado, queremos obter também o máximo número de emails possível, por exemplo, para efetuar um
ataque de phishing mais generalizado.
Algumas ferramentas úteis e que devem experimentar, colocando apenas um nome de domínio na
caixa de pesquisa são:
tools.verifyemailaddress.io
email-checker.net
https://centralops.net/co/
Outros:
Existe uma extensão "clearbit connect"[9] para o chrome que dá muito bons resultados (mas nem
tanto para pequenas empresas portuguesas).
Outras notas:
O Gmail permite validar que uma conta de email existe, ao pedir a password. Na Figura 2 verifica-
se que a conta não existe pois não é solicitada a password.
Figura 2 - Conta não existente no Gmail
Por exemplo, numa conta de Gmail conhecida, se pretendermos confirmar um segundo fator de
autenticação associado à conta, quer seja número de telemóvel ou outra conta de email, podemos
colocar "esqueci a passsword" e observar partes dessa informação (pois o Gmail oculta parte).
As passwords capturadas nas bases de dados de breaches podem ser muito úteis. Mesmo que as
passwords já não estejam válidas, as passwords atuais podem se variações das passwords antigas e
podem ser muito úteis para construir dicionários (combinações de palavras possíveis para passwords).
Por outro lado, o utilizador até pode ter mudado a password no serviço da conta que foi comprometida
(e.g., email do Gmail), mas muito provavelmente utiliza essa mesma password (antiga) noutros
serviços (as pessoas reutilizam passwords)! Outro exemplo é: supondo que encontramos a conta
utilizador@empresa.pt numa base de dados disponível na internet. Podemos testar essa password
comprometida no serviço em questão e talvez tenhamos sucesso. Mas também podemos pesquisar
essa mesma password (em vez de pesquisar pelo username ou conta de email) noutras bases de
dados e podemos obter acessos a outras contas que eram desconhecidas a priori.
Conforme referido várias vezes, os sites que vos mostro aqui e noutras secções, muitas vezes deixam
de funcionar, mas o que interessa é o processo! Pois existem sempre vários sites.
Alguns sites populares, gratuitos, são:
Os sites pagos permitem pesquisar por email, IP, nome, telefone, nome da empresa, etc. A vantagem
é muitas vezes darem melhores resultados que as soluções gratuitas, bem como permitirem
implementar API e automatizar processos através de scripting. Em alguns, podem fazer o registo
gratuito, e conseguirão testar algumas pesquisas, por exemplo o próprio email.
https://www.dehashed.com/
https://weleakinfo.to/
https://leakcheck.net/
https://snusbase.com/
https://intelx.io/
O pentester tem de ser o próprio a "conectar os pontos", pois não há uma ferramenta única que o faça.
Como usar esta informação? A resposta vai para além de encontrar uma password para entrar num
sistema, até porque se houver multifator de autenticação a tarefa será bem mais difícil. Contudo, a
informação pode ser usada em esquemas de engenharia social, por exemplo: "Caro utilizador, deverá
renovar a sua password pass****** pois vai expirar.". Neste simples exemplo, o facto de termos parte
ou a totalidade da password (obtida nas bases de dados anteriores), dá uma maior legitimidade e
aparente veracidade ao email de phishing. Neste caso, podemos enviar ao utilizador, no mesmo email
de phishing, um link para um website controlado por nós, para colocar as novas credenciais ou mesmo
para infetar o computador com malware, ou apenas um script para obter as características do software
no computador.
6. Usernames e contas
Supondo que encontrámos um username de alguma forma, como vamos ligá-lo a outras contas?
Os seguintes sites permitem verificar quais os sites/serviços que estão associados a esses
usernarmes.
https://namechk.com/
https://whatsmyname.app/
Figura 3 - Website Namech_k com retângulos vermelhos a indicar os serviços utilizados pelo
username
Nota - Os sites nunca devem demonstrar que algum utilizador existe ou não, pois se o fizer, já
sabemos se a conta existe ou não. Por exemplo, na Figura 5 podemos observar que o user
test_CCO não existe no snapshat. O modo ideal para output ao utilizador é a referência que
tanto o username como a password podem estar erradas, desta forma, não há divulgação de
informação desnecessária.
Temos agora ainda mais informação para continuar a investigação. Esta informação pode também ser
útil para engenharia social no caso de um hacker blackhat, por exemplo, email a pedir um resgate em
troco da não divulgação do consumo de pornografia, ou algo similar.
Começamos pelo primeiro e último nome na pesquisa em qualquer motor de busca: google.com,
duckduck.go, bing ou yandex (bom para pesquisa de imagens). Refinamos a pesquisa com os google
dorks, utilizando filtros diversificados (e.g., variar as combinações de nomes).
Se tivermos uma fotografia da pessoa e quisermos ver quem é a pessoa correspondente, utilizamos
pesquisa reversa de imagens (e.g., arrastar uma foto para a caixa de pesquisa do google).
Existem diversos websites que fornecem serviços para obter informação sobre pessoas (número de
telefone, email, contas, morada, etc.). Contudo, a maioria desses serviços só funcionam no EUA.
Como se sabe, a informação sobre determinadas pessoas, poderá ser útil para preparar um ataque de
engenharia social.
Vamos falar sobre alguns mecanismos para obter determinadas informações, e que funcionam
também em Portugal.
Se de alguma forma tivermos acesso a um número de telefone, a primeira tentativa para saber de
quem é, é colocar num motor de busca, e.g., no Google, e podemos ter sorte (atenção que a pesquisa
deve usar diferentes formatos e combinações, e.g., "+351", "00351" "número").
Por vezes, determinadas pessoas utilizam serviços de sincronização de contactos (para identificar
remetentes). Estes serviços, expõem os contatos dos utilizadores. Para usar as aplicações é
necessário fazer o registo, relembre que deve usar um email dedicado para o efeito sem partilhas de
contatos. Alguns exemplos são:
https://sync.me/pt/
https://www.truecaller.com/
Figura 5 - Exemplo de resultado com o serviço Syncme
Outra coisa a tentar, se tivermos o email de alguém, é tentar no serviço de mail a recuperação de
password e eventualmente conseguir ver parte do número e confirmar com o número que já temos.
Como encontrar a foto de alguém se tivermos o número de telemóvel? Tendo um número de telemóvel
podemos gravar o contato telefónico no nosso telemóvel e ir aos contatos no Whatsapp para ver a
respetiva foto. Isto pode não ser possível se nas definições de privacidade do Whatsapp a foto de
perfil esteja acessível apenas para os contatos.
Pode-se sempre tentar a sorte e começar por colocar no Google (sempre tentando variantes na
pesquisa), por exemplo:
"Nome" birthday
7.3. Currículos
Os currículos podem ter muita informação pessoal útil, tal como as empresas onde trabalharam (uma
pode ser o nosso alvo), as atividades que desenvolveram (e.g., competências em determinadas
tecnologias usadas na organização), o número de telemóvel, email (normalmente é o pessoal), etc.
Um das formas de ver o currículo é através do Linkedin, onde as pessoas partilham a sua experiência
profissional e as organizações em que trabalharam, incluindo, por vezes, o que fizeram e com que
tecnologias trabalharam (isto é um bom indicador). Se o alvo for uma organização, podemos ir buscar
dados interessantes sobre a mesma não só ao perfil LinkedIn dos atuais colaboradores, mas também
ao perfil de ex-colaboradores.
Podemos tentar a sorte numa pesquisa do Google: "Nome" "curriculo" filetype:pdf , devemos
usar variantes do nome (e.g., primeiro e último, completo), da palavra currículo (e.g., cv, resume,
curriculum), entre outros.
Podemos não encontrar aquilo que queremos, mas pelo menos tentámos, e adicionámos à nossa
checklist!
Nas diversas redes sociais existentes há ferramentas e técnicas específicas de pesquisa que devem
ser aproveitadas, pois a pesquisa manual, percorrendo diversos posts, pode ser morosa e convém
filtrar resultados por data, localização, entre outros.
Por exemplo, o Twitter (apesar de não ser popular em Portugal) permite procurar através de campos
específicos na pesquisa avançada[10]. Inclusivamente permite obter localização dos utilizadores que
fizeram os Tweets[11] (geocode). Refinando a pesquisa é possível ver coisas como o local onde a
pessoa mora (se filtrar pelos posts do utilizador e pela hora, e.g., à noite). Contudo, esta opção de
geolocalização pode estar desabilitada no perfil.
No caso do Twitter mas também no caso do Facebook ou Instagram, existem diversos[12] Websites
que disponibilizam ferramentas de pesquisa avançada, que facilitam a tarefa de pesquisa nestas redes
sociais.
Conforme já foi referido, recordem que as ferramentas e estes Websites vão e vêm, ou seja, o que
funciona hoje amanhã pode não funcionar, mas haverão outras ferramentas, o que interessa é
perceber o método e as possibilidades da informação disponível! Adicionalmente, todos os sites e
ferramentas online são mais ou menos repetitivos, mas por vezes obtemos informação numa que não
há noutra.
Devido a diversos fatores, como o caso Cambridge Analytica ou a legislação imposta pela União
Europeia, é muito mais difícil obter informação útil no Facebook que no Twitter, pois a maioria das
ferramentas deixam rapidamente de funcionar, porque o Facebook aumentou e vem a aumentar as
medidas que garantem a privacidade, o que até é bom para o utilizador, mas não para o investigador.
Para fazer pesquisas "úteis" no Facebook, é quase obrigatório ter uma conta (de preferência criada
para o efeito para não denunciar o investigador) para poder fazer pesquisas no Facebook. A não ser
que o perfil seja público (pouco provável hoje em dia) não veremos grande coisa a não ser se formos
"amigos". Contudo, no caso do Facebook de uma organização, claro que o perfil deverá ser público, e
aí há sempre muita coisa interessante. Não esquecer que uma foto vale mais que 1000 palavras, por
isso, ao ver imagens/fotos pode dar ideias muito interessantes, e.g., ver a matricula do carro numa foto
ou por um espelho, ver um dashboard num pc por descuido, entre outras. Ver Figura abaixo de uma
situação muito falada nas redes sociais (está oculta propositadamente parte da password, mas estava
completa):
Figura 7 - Imagem obtida de uma reportagem da SIC Notícias divulgando inadvertidamente contas e
passwords
Primeiro, podemos pesquisar o nome, mas como normalmente existem vários perfis com o mesmo
nome, devem ser usados outros detalhes como a cidade, escola, entre outros.
Ver quem gosta dos posts, pois eventualmente são amigos ou familiares.
Aceder ao perfil e ver o código fonte da página e pesquisar (ctrl+f) a string "userid". Depois de
termos o "userid" podemos simplesmente pesquisar no google e ver outras associações (e.g., uso
da conta do facebook noutros sites).
No perfil é possível ver no separador "more" várias coisas interessantes.
O Instagram tem as mesmas limitações do facebook, mas ainda assim pode ser útil. O potencial das
imagens partilhadas é grande conforme já foi referido.
Ao pesquisar no próprio Instagram pelo utilizador pode ser difícil se não soubermos o nome exato. O
Instagram permite pesquisar por tags específicas (#"string") que nos levem ao utilizador ou ver quem
partilhou sobre algo ou alguém. Ver os seguidores de alguém serve para procurar amigos, familiares
(através do apelido), etc.
É de referir que o Instagram não permite (por defeito) fazer download das imagens em resolução total.
Existem diversos Websites[13] que permitem obter essas imagens, que podem ser úteis para image
reverse search.
Já foi referido o potencial do LinkedIn. Tal como mencionado anteriormente, para ter sucesso nas
pesquisas sem ser denunciado, é importante ter um perfil dedicado para essas pesquisas.
Procurar o perfil do alvo e ver "Informações de Contacto" pode dar coisas úteis (email, aniversário,
etc.).
Figura 9 - Perfil do LinkedIn
O LinkedIn permite ver a localidade onde alguém reside, o currículo, interesses profissionais (gostos),
colegas da mesma organização, quem nos dá recomendações (indica com quem trabalhou ou quem
conhece diretamente).
No caso dos perfis (páginas) das organizações (ver Figura 10), analisando o separador:
"Pessoas" pode-se ver qual o tipo de colaboradores e qualificações (e.g., se estão treinados).
"Vagas" podem ver-se muitas coisas interessantes relativas às tecnologias usadas (e.g., precisa-se
de especialista em sistemas do fabricante X).
Aplicações online como o TikTok, Snapchat, entre outras, podem ser também úteis. Os conceitos e
técnicas são similares. Novas plataformas aparecem mas o conceitos permanecem.
1. https://nordpass.com/most-common-passwords-list/ ↩︎
2. https://moz.com/learn/seo/search-operators ↩︎
3. https://ahrefs.com/blog/google-advanced-search-operators/ ↩︎
4. https://kinsta.com/blog/google-search-operators/ ↩︎
5. https://securitytrails.com/blog/google-hacking-techniques ↩︎
6. https://www.exploit-db.com/google-hacking-database ↩︎
7. https://pplware.sapo.pt/truques-dicas/dica-como-usar-a-vista-dupla-no-street-view-do-google-maps/
↩︎
8. https://www.maxmind.com/en/geoip-demo ↩︎
9. https://connect.clearbit.com/ ↩︎
10. https://twitter.com/search-advanced ↩︎
11. https://thoughtfaucet.com/search-twitter-by-location/examples/ ↩︎
12. https://www.osintessentials.com/twitter ↩︎
13. https://www.instadp.com/ ↩︎