Ir para conteúdo
    • Fernando Mercês
      Existem vários frameworks para emulação de binários. No livro introdutório de Engenharia Reversa que escrevi, há um apêndice só de ferramentas onde alguns deles são listados. Confesso que quando vi "mais emulador" pensei: "ok, mais um emulador..." mas a FireEye não costuma lançar coisa inútil, então resolvi dar uma olhada ao invés de só julgar e ignorar.
      E, cá entre nós, foi a melhor coisa que fiz. Rodei o Speakeay no macOS e curti bastante a quantidade de recursos e possibilidades que ele traz. Vou contar aqui rapidinho o que rolou. ?
       
      Instalação
      O processo de instalação foi bem fácil:
      git clone https://github.com/fireeye/speakeasy.git cd speakeasy python3 -m pip install -r requirements.txt python3 setup.py install  
      Uso
      Invocando o script principal sem nenhum argumento, damos de cara com o help do programa:
      $ python3 run_speakeasy.py usage: run_speakeasy.py [-h] [-t TARGET] [-o OUTPUT] [-p [PARAMS [PARAMS ...]]] [-c CONFIG] [-m] [-r] [-a ARCH] [-d DUMP_PATH] [-q TIMEOUT] [-z DROP_FILES_PATH] [-l MODULE_DIR] Emulate a Windows binary with speakeasy optional arguments: -h, --help show this help message and exit -t TARGET, --target TARGET Path to input file to emulate -o OUTPUT, --output OUTPUT Path to output file to save report -p [PARAMS [PARAMS ...]], --params [PARAMS [PARAMS ...]] Commandline parameters to supply to emulated process (e.g. main(argv)) -c CONFIG, --config CONFIG Path to emulator config file -m, --mem-tracing Enables memory tracing. This will log all memory access by the sample but will impact speed -r, --raw Attempt to emulate file as-is with no parsing (e.g. shellcode) -a ARCH, --arch ARCH Force architecture to use during emulation (for multi-architecture files or shellcode). Supported archs: [ x86 | amd64 ] -d DUMP_PATH, --dump DUMP_PATH Path to store compressed memory dump package -q TIMEOUT, --timeout TIMEOUT Emulation timeout in seconds (default 60 sec) -z DROP_FILES_PATH, --dropped-files DROP_FILES_PATH Path to store files created during emulation -l MODULE_DIR, --module-dir MODULE_DIR Path to directory containing loadable PE modules. When modules are parsed or loaded by samples, PEs from this directory will be loaded into the emulated address space [-] No target file supplied Destaque para as opções -z e -d que prometem salvar os arquivos criados pelo programa e um dump de memória do processo, respectivamente.
       
      Emulando um executável PE
      O Speakeasy ainda não é perfeito. Emulei vários binários, mas a maioria tinha uma ou outra função da API do Windows ainda não suportada pelo programa. Um exemplo é o nosso desafio AnalyseMe-03, que gerou a seguinte saída:
      $ python3 run_speakeasy.py -t ~/Downloads/AnalyseMe-03.exe 0x40101e: 'KERNEL32.GetCommandLineA()' -> 0x40b0 0x40105c: 'KERNEL32.GetStartupInfoA(0x1211fa0)' -> None 0x401102: 'KERNEL32.GetProcessHeap()' -> 0x4120 0x401109: 'KERNEL32.HeapAlloc(0x4120, 0x8, 0x80)' -> 0x4140 0x40108d: 'KERNEL32.GetModuleHandleA(0x0)' -> 0x400000 0x40135e: 'KERNEL32.CreateFileA("C:\\Program Files\\Oracle\\VirtualBox Guest Additions\\DIFxAPI.dll", "GENERIC_READ", 0x1, 0x0, "OPEN_EXISTING", 0x80, 0x0)' -> 0xffffffff 0x40138f: 'KERNEL32.CreateFileA("C:\\windows\\System32\\Drivers\\Vmmouse.sys", "GENERIC_READ", 0x1, 0x0, "OPEN_EXISTING", 0x80, 0x0)' -> 0xffffffff 0x4011fe: 'wininet.InternetOpenA("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)", 0x1, 0x0, 0x0, 0x0)' -> 0x20 Caught error: unsupported_api Invalid memory read (UC_ERR_READ_UNMAPPED) Unsupported API: wininet.InternetOpenUrlA * Finished emulating Tudo bem. O software é livre, então eu posso ir lá e adicionar suporte à InternetOpenUrlA da wininet.dll, caso eu realmente precise. E mesmo assim, o Speakeasy foi capaz de emular várias outras funções, que já me dizem o que o binário faz. Achei que os seguintes recursos valem o destaque:
      Fácil instalação. Multiplataforma. Pode ser usada como biblioteca em Python. Exemplos. Suporta shellcode. Emula drivers em ring0. Por ser emulador, dispensa SO e virtualizador. Cria um dump de memória. Salva os arquivos criados. Sem dúvida um software impressionante, principalmente se o utilizamos com foco em famílias de malware em específico. Pode salvar muitas horas de análise.  ?

      Pontaço para a FireEye de novo, que mês passado, diga-se de passagem, lançou o capa, que cobri no canal. Já são duas ferramentas que entraram pro meu dia a dia na análise de binários de Windows.
       

    • Muito antes de violações de dados, malware e ataques de engenharia social, ou até mesmo antes dos computadores existirem, na França de 1790 ocorreu o primeiro "ataque cibernético" do mundo. A NordVPN conta que, quando o país estava à beira de uma revolução, o governo precisava de uma maneira de transmitir mensagens rapidamente, mas naquela época, a maneira mais confiável de se comunicar era usando carruagens de correio ou um mensageiro a cavalo, o que poderia levar dias para chegar ao destinatário. 
       
      O inventor francês, Claude Chappe, apresentou o primeiro sistema de telecomunicações do mundo nessa época, o telégrafo semáforo, que consistia em um grupo de torres que se avistavam por até 20 milhas uma da outra. Cada torre tinha um poste segurando dois braços indicadores móveis, e cada posição do braço era correlacionada a diferentes caracteres do alfabeto. Um operador em cada torre observava os movimentos do semáforo anterior por meio de um telescópio, copiando a mensagem e retransmitindo-a.
       
      A rede de semáforos poderia cobrir a distância de quase 5 mil quilômetros e tinha 566 estações em todo o país, fornecendo inteligência governamental com rapidez e segurança. Os dados transmitidos eram criptografados, em certo sentido, pois apenas altos funcionários nas principais cidades tinham os livros de código para descriptografar os sinais do semáforo.
       

      Como funcionava o telégrafo semáforo (Crédito: NordVPN)
       
      Mas dois irmãos em Bordeaux planejaram o primeiro ataque cibernético de telecomunicações do mundo. Os banqueiros negociavam títulos do governo e tinham que monitorar de perto as mudanças na bolsa de valores de Paris, que definia o ritmo das negociações de ações em todo o país. 
      Como as carruagens do correio demoravam dias para chegar a Bordeaux, os irmãos se voltaram para o canal de comunicação mais rápido disponível: a rede de telégrafo semáforo. Assim, François e Joseph Blanc contrataram uma pessoa em Paris para monitorar de perto a bolsa de valores e, se houvesse alguma mudança significativa, essa pessoa enviaria pacotes de roupas para a cidade de Tours, que ficava a meio caminho entre Paris e Bordeaux. As cores das roupas significaram mudanças específicas no mercado. 
      Os irmãos subornaram um operador de telégrafo em Tours, que recebia os pacotes codificados. A partir de então, ocorreu um ataque man-in-the-middle: o operador introduziria caracteres defeituosos com informações do mercado de ações nas comunicações telegráficas oficiais do governo, e os caracteres defeituosos chegavam em Bordeaux junto com as mensagens oficiais. Outro cúmplice, um ex-operador que podia ver a penúltima torre de sua casa nos arredores de Bordeaux, transcrevia os caracteres defeituosos com as informações da bolsa de valores e os passava aos irmãos. 
      Como um dos sinais do semáforo incluía um sinal de retrocesso, que notificava ao transcritor para ignorar o caractere anterior, o operador em Tours introduzia esse caractere errado e imediatamente usaria o sinal de retrocesso. Assim, a mensagem com as informações da bolsa ainda chegava a Bordeaux, mas não aparecia nas transcrições oficiais pois eram ignoradas. O esquema funcionou e deu muito dinheiro aos irmãos na época, mas dois anos depois do primeiro ataque man-in-the-middle do mundo à rede de telecomunicações, o operador em Tours adoeceu e, em seu leito de morte, tentou recrutar seu amigo para ocupar seu lugar, mas ao invés disso, ele denunciou os banqueiros às autoridades.
      Na época não havia leis na época que pudessem condenar François e Joseph Blanc, sendo criadas pelo governo logo depois para evitar que algo assim volte a acontecer. Porém, este definitivamente não foi o último ataque contra redes privadas. ?‍♀️ ?
       

    • O Application Guard da Microsoft passou a ser público para os usuários testarem. A tecnologia permite que documentos sejam abertos em um ambiente isolado do sistema operacional do usuário através de virtualização baseada em hardware. Assim, arquivos da Internet e outros locais potencialmente inseguros são abertos nesse contêiner seguro. Quando o Office abre arquivos no Application Guard, os usuários podem ler, editar, imprimir e salvar com segurança esses arquivos sem ter que reabri-los fora do contêiner. 
      Aqui a Microsoft fornece informações sobre os requisitos do sistema e as etapas de instalação para habilitar o Application Guard para Office em um dispositivo. Para funcionar, o processador utilizado deve ter extensões de virtualização, como Intel VT-x ou AMD-V. Os requisitos mínimos de hardware também incluem CPU 64 bits, com 4 núcleos (físico ou virtual), e Core i5 equivalente ou superior recomendado. A memória física utilizada deve ser de 8GB de RAM, e o disco rígido com 10GB de espaço livre na unidade do sistema, sendo recomendado o SSD.
      Já os requisitos mínimos de software são Windows 10 Enterprise edition, Client Build versão 2004 (20H1) build 19041, Office Beta Channel Build versão 2008 16.0.13212 ou posterior, e atualizações de segurança mensais cumulativas do Windows 10 KB4566782. Para obter os requisitos de sistema detalhados, consulte os requisitos do sistema para o Microsoft Defender Application Guard. Já sobre as compilações do Office Insider Preview, consulte a introdução à implantação de compilações do Office Insider.

    • A empresa de cibersegurança Group-IB, sediada em Cingapura, detectou ataques com motivação financeira realizados por criminosos no Irã em junho. Os invasores, que foram classificados pela empresa como novatos, usaram o ransomware Dharma e uma mistura de ferramentas publicamente disponíveis visando empresas na Rússia, Japão, China e Índia. Todas as organizações afetadas tinham hosts com RDP (Remote Desktop Protocol) voltado para a Internet e credenciais fracas. Os hackers normalmente exigiam um resgate entre 1 e 5 bitcoins. 
      Os pesquisadores observaram recentemente um aumento nas atividades em torno da distribuição de ransomware Dharma, que também é conhecido como Crysis e foi distribuído sob um modelo de ransomware-as-a-service (RaaS) pelo menos desde 2016. Seu código-fonte apareceu à venda em março de 2020, tornando-o disponível para um público mais amplo. Os hackers novatos supostamente estavam por trás de uma nova onda de distribuição de Dharma na Rússia e, embora o número exato de vítimas seja desconhecido, foi estabelecida a geografia das campanhas e o conjunto de ferramentas, que estão muito aquém do nível de sofisticação das grandes ameaças persistentes avançadas (APTs) iranianas.
      Os operadores do ataque utilizaram softwares populares para executar alguns passos do ataque, como entrar no sistema com força bruta e verificar a validade das credenciais obtidas em outros hosts acessíveis na rede; tentar elevar os privilégios; desabilitar o software antivírus integrado; etc. Algumas ferramentas foram baixadas pelos atacantes dos canais do Telegram em língua persa quando eles já estavam presentes na rede. Depois que as atividades de reconhecimento de rede foram concluídas, as informações coletadas foram utilizadas por eles para se moverem lateralmente pela rede usando o protocolo RDP. O objetivo final era derrubar e executar uma variante do ransomware Dharma.

    • Uma grande solução para a botnet Emotet foi distribuída por mais de seis meses. O ZDNet publicou a história da ferramenta EmoCrash, que funciona essencialmente como um killswitch, impedindo o malware de se propagar e monitorando se redes foram infectadas pelo Emotet. O malware foi visto pela primeira vez em 2014, e evoluiu de um trojan bancário para um canivete suíço que, uma vez que infecta as vítimas, se espalha lateralmente por toda a sua rede, rouba todos os dados confidenciais e aluga acesso aos hospedeiros infectados para outros grupos.
      Mas o malware possui um bug que foi explorado e que veio à tona no início deste ano, descoberto por James Quinn, um analista de malware que trabalhava para a Binary Defense. Nos últimos anos, o trabalho principal de Quinn tem sido caçar o Emotet e ficar de olho em suas operações, e enquanto vasculhava as atualizações diárias do malware em fevereiro, ele percebeu uma mudança no código do Emotet – em uma das cargas úteis recentes, a rede de bots Emotet estava fazendo spam em massa pela Internet.
      A mudança foi no "mecanismo de persistência" do Emotet, a parte do código que permite que o malware sobreviva às reinicializações do PC. Quinn percebeu que o Emotet estava criando uma chave de registro do Windows e salvando uma chave de criptografia XOR dentro dela. Mas essa chave de registro não foi usada apenas para persistência; ela também fazia parte de outras verificações de código Emotet, incluindo sua rotina de pré-infecção.
      Quinn conseguiu montar um minúsculo script do PowerShell que explorou o mecanismo de chave do registro para travar o próprio Emotet. O script, denominado EmoCrash, efetivamente escaneia o computador de um usuário e gera uma chave de registro Emotet correta, mas mal formada. Quando Quinn tentou infectar propositalmente um computador limpo com o Emotet, a chave de registro mal formada disparou um estouro de buffer no código do Emotet, travando o malware, impedindo efetivamente que os usuários fossem infectados.
      Quando o Quinn executou o EmoCrash em computadores já infectados, o script substituía a chave de registro boa por uma mal formada e, quando o Emotet verificava novamente a chave de registro, o malware também travava, evitando que hosts infectados se comunicassem com o servidor de comando e controle do Emotet. A equipe da Binary Defense manteve essa descoberta em sigilo total para evitar que a gangue Emotet corrigisse o bug, mas o EmoCrash também precisava chegar às mãos de empresas em todo o mundo.
      Assim, a Binary Defense trabalhou com o Team CYMRU, uma empresa com experiência em organização e participação na remoção de botnets e que garantiu que o EmoCrash chegasse às mãos de Centros de Estudos para Resposta e Tratamento de Incidentes em Computadores (CERTs) nacionais, que então o espalharam para as empresas em suas respectivas jurisdições.

      Seis meses depois da descoberta, a gangue Emotet mudou todo o seu mecanismo de persistência e o EmoCrash não é mais útil. Mas por seis meses, o script ajudou as organizações a se manterem à frente das operações de malware. ?

    • Nesta quinta-feira, 20 de agosto, o Google sofreu uma interrupção que afetou usuários em todo o mundo. Segundo o ZDNet, usuários relataram problemas ao enviar e receber e-mails por volta das 01h no horário de Brasília. Logo em seguida, o Google forneceu uma atualização dizendo que estava investigando relatos de um problema com o Gmail. 
      Cerca de 40 minutos depois, o Google disse que os problemas continuavam e as investigações continuavam. Gmail, Google Drive, Google Docs, Google Meet e Google Voice foram sinalizados pela empresa como tendo interrupções de serviço. Em seu pico, o Downdetector recebeu mais de 2,8 mil relatórios de usuários que tiveram problemas com o pacote de serviços do Google.
      O Google já corrigiu a falha.

    • A China proibiu o uso do mais famoso software substituto ao Bloco de Notas, o Notepad++, devido aos protestos do desenvolvedor contra a política de Hong Kong e as violações dos direitos humanos do povo Uyghur. Segundo o BleepingComputer, o próprio desenvolvedor do Notepad++ afirmou que o bloqueio provavelmente está sendo feito devido ao lançamento de suas edições 'Stand with Hong Kong' e 'Free Uyghur', que foram nomeadas desta forma para mostrar a situação dos povos de Hong Kong e Uyghur.
      Ao tentar fazer download do Notepad++ com navegadores de origem na China, como o Tencent, os usuários recebem uma mensagens dizendo que o site foi bloqueado. A mensagem do navegador é traduzida como: 
      "A Central de Segurança do Site Tencent lembra que este site pode conter conteúdo ilegal".
      "Este site foi denunciado por um grande número de usuários e pode ter publicado conteúdo que é proibido pelo Estado. Para proteger sua segurança pessoal e patrimonial, é recomendável que você o visite com cuidado".
      Os bloqueios não são exclusivos do navegador e também são encontrados em outros navegadores com base na China, como o 360 Chrome, que exibiu a seguinte mensagem:
      "O site que você está visitando contém informações ilegais. Feche a página".
      Até o momento, a página inicial do Notepad++ ainda pode ser acessada em navegadores chineses, estando apenas as páginas de download bloqueadas.

×
×
  • Criar Novo...