Sumário
Aviso legal .............................................................................................................. 5
Agradecimentos ..................................................................................................... 7
Sobre o autor .......................................................................................................... 9
Sumário ................................................................................................................. 11
MÓDULO I – CRIANDO UM AMBIENTE DE TRABALHO, CONCEITOS
E DEFINIÇÕES.................................................................................................... 19
1. Montagem do ambiente virtual ............................................................... 20
Ambiente virtualizado .................................................................................... 20
Vamos mudar o shell padrão de nosso sistema ........................................... 27
Mudar o idioma de nosso Kali....................................................................... 29
Editor de texto Nano ....................................................................................... 30
Como usar o Nano ...................................................................................... 30
Criação de uma API no Telegram ................................................................. 31
Introdução ao web crawler ............................................................................... 33
Web crawler ................................................................................................... 33
Web scraping .................................................................................................. 34
2. Falando de OSINT ..................................................................................... 36
Fontes comuns de OSINT ............................................................................... 36
Exemplos de uso de OSINT ........................................................................... 36
12 Sumário
Ferramentas de OSINT ................................................................................... 37
Benefícios e desafios da OSINT ..................................................................... 40
Conceitos importantes deste autor................................................................ 40
3. Fundamentos de programação em Bash ................................................ 43
Comandos importantes I ................................................................................ 43
ls ..................................................................................................................... 43
pwd................................................................................................................ 44
cd.................................................................................................................... 44
touch .............................................................................................................. 44
echo................................................................................................................ 45
cat ................................................................................................................... 46
cp.................................................................................................................... 46
mv .................................................................................................................. 46
rm................................................................................................................... 47
mkdir ............................................................................................................. 47
grep................................................................................................................ 47
egrep .............................................................................................................. 48
fgrep .............................................................................................................. 48
cut .................................................................................................................. 48
sed .................................................................................................................. 49
sort ................................................................................................................. 49
uniq................................................................................................................ 50
wc................................................................................................................... 50
sleep............................................................................................................... 50
tail .................................................................................................................. 51
head ............................................................................................................... 51
tr ..................................................................................................................... 51
Shell Script para OSINT 13
date ................................................................................................................ 52
printf.............................................................................................................. 53
rev .................................................................................................................. 53
seq .................................................................................................................. 54
diff ................................................................................................................. 54
od ................................................................................................................... 56
paste .............................................................................................................. 56
tee................................................................................................................... 56
xargs .............................................................................................................. 57
Comandos importantes II ............................................................................... 58
sudo ............................................................................................................... 58
sudo su .......................................................................................................... 58
adduser ......................................................................................................... 59
useradd ......................................................................................................... 59
apt (update, search, install) ........................................................................ 60
dpkg .............................................................................................................. 61
ifconfig .......................................................................................................... 61
netstat ............................................................................................................ 62
service ........................................................................................................... 62
dhclient ......................................................................................................... 63
route .............................................................................................................. 63
Comandos para pesquisar (locate, whereis, which, type, find) ........... 64
wget e curl .................................................................................................... 65
4. Expressões regulares .................................................................................. 67
O circunflexo ^ ................................................................................................. 68
O cifrão $ ........................................................................................................... 71
A lista [] ............................................................................................................. 72
14 Sumário
O ponto ............................................................................................................. 75
As chaves {} ....................................................................................................... 77
O ou | (OR) ....................................................................................................... 77
Outros *+? ......................................................................................................... 79
O asterisco * .................................................................................................. 79
O sinal de adição + ...................................................................................... 80
A interrogação ?........................................................................................... 80
Classes de caracteres POSIX........................................................................... 80
Programas on-line para estudar REGEX ....................................................... 82
5. Variáveis e estruturas ................................................................................ 84
Tipos de variáveis ............................................................................................ 86
Variáveis predefinidas .................................................................................... 88
Excluindo variável local ou global ................................................................ 89
Palavras reservadas ......................................................................................... 89
6. Arrays ........................................................................................................... 90
O que são arrays em Shell Script? .................................................................. 90
Criando um array......................................................................................... 90
Acessando elementos do array .................................................................. 91
Adicionando itens ao array ........................................................................ 91
Removendo itens do array.......................................................................... 91
Percorrendo um array ................................................................................. 91
Tamanho do array........................................................................................ 92
Expressões aritméticas ................................................................................ 92
7. Comandos de repetição e comandos condicionais............................... 94
O comando test ................................................................................................ 94
If, while, for e case ........................................................................................... 97
If ..................................................................................................................... 97
Shell Script para OSINT 15
while .............................................................................................................. 98
for ................................................................................................................. 101
case .............................................................................................................. 102
MÓDULO II – COLETA NA PRÁTICA ....................................................... 105
8. Shell Script, o início................................................................................. 106
Shell Script ...................................................................................................... 107
Antes de começar........................................................................................... 108
O primeiro Shell Script ................................................................................. 108
Passos para criar um Shell Script ................................................................ 109
Recebimento de opções e parâmetros......................................................... 110
9. Identificando erros na execução do script ........................................... 111
“Comando não encontrado” ........................................................................ 111
“Permissão negada” ...................................................................................... 111
“Erro de sintaxe” ........................................................................................... 112
10. Melhorando meu primeiro script ..................................................... 113
Melhorar a saída na tela................................................................................ 113
Interagir com o usuário................................................................................. 114
11. Comentários .......................................................................................... 116
Comentários de linha única ......................................................................... 116
Comentários multilinha ................................................................................ 117
12. Cabeçalho .............................................................................................. 121
13. Verificação de sintaxe ......................................................................... 124
-x ....................................................................................................................... 124
-v ...................................................................................................................... 125
14. Cores na tela .......................................................................................... 126
15. Funções .................................................................................................. 133
Estrutura básica de uma função .................................................................. 133
16 Sumário
Funções com parâmetros .............................................................................. 134
Retornando valores de funções ............................................................... 135
Retornando valores strings de funções ................................................... 136
Gerador de scripts ...................................................................................... 138
16. Técnicas de crawler e scraping com Shell Script ........................... 143
Parsing de código HTML e semelhantes .................................................... 143
Extraindo todos os links (<a href>) ......................................................... 144
Extraindo conteúdo dentro de tags <b> .................................................. 145
Extraindo conteúdo dentro de tags <i> ................................................... 146
Extraindo o título da página (<title>) ..................................................... 146
Extraindo os dados da tabela................................................................... 147
O navegador em modo texto Lynx ............................................................. 148
Extrair links de sites com wget e REGEX ................................................... 151
MÓDULO III – PROJETOS ............................................................................ 155
17. Projeto 01 – Extrair links de site ........................................................ 156
18. Projeto 02 – The Hacker News ............................................................ 159
Verificando o código-fonte ........................................................................... 160
1. Pelo navegador ...................................................................................... 160
2. Ver código-fonte pelo terminal ........................................................... 160
Inspecionar código-fonte .............................................................................. 161
1. Usando o navegador (método visual) ................................................ 161
2. Usando atalhos no teclado ................................................................... 161
3. Usando as ferramentas do desenvolvedor (DevTools) ..................... 161
19. Projeto 03 – Notícias GE ..................................................................... 167
Integração com o Telegram .......................................................................... 170
20. Projeto 04 – Dorks Searches ................................................................ 174
Dorks ................................................................................................................ 174
Shell Script para OSINT 17
21. Projeto 05 – Redes sociais ................................................................... 183
Site mirror ........................................................................................................ 183
Extrair informações de perfil do Instagram ............................................... 185
Validar perfil do Spotify ............................................................................... 192
Extraindo ID de perfil do Facebook ............................................................ 195
Validar existência de contas do Telegram ................................................. 198
22. Projeto 06 – Email-Leaks ..................................................................... 203
Uso de APIs .................................................................................................... 203
Adquirindo a API do Portal da Transparência brasileiro........................ 207
jq – Tratar JSON ............................................................................................. 210
Usando o jq: sintaxe básica ........................................................................... 211
Consultando e filtrando dados ................................................................ 211
Operadores e funções básicas .................................................................. 212
Filtragem e transformação com jq em APIs........................................... 214
Criando um script com a API do Portal da Transparência ...................... 216
23. Projeto 07 – GEO-WIFI ....................................................................... 220
24. Projeto 08 – Old File ............................................................................. 227
25. Projeto 09 – Informações da web I .................................................... 233
26. Projeto 10 – Informações da web II .................................................. 241
27. Orientações finais ................................................................................ 253
28. Anexos .................................................................................................... 254
Comandos para redirecionamento.............................................................. 254
Parâmetros posicionais ................................................................................. 254
Blocos e agrupamentos para operações e expressões............................... 255
Principais comandos de escapes para uso com o comando echo ........... 255
Formas de uso para o comando date .......................................................... 256
Opções para o comando ls -l ........................................................................ 256
18 Sumário
Opções curingas para o comando case ....................................................... 257
Metacaracteres para expressões regulares ................................................. 257
Sites para obter API gratuitas ...................................................................... 258
29. Índice remissivo ................................................................................... 259