Conferência DEFCON 27. Beneficiando-se de produtos de hackers para o macOS. Parte 1

Discursos de informação . Sempre que uma nova amostra de malware para o macOS é descoberta, ela nos oferece a oportunidade de avaliar novas oportunidades de hackers que podemos usar para nosso próprio benefício. Quero dizer, a vida é curta, por que gastá-lo escrevendo seu próprio malware?

Iniciamos esta discussão discutindo uma metodologia para adaptação ao "uso pessoal" de malware existente, destacando as desvantagens e vantagens dessa abordagem. Em seguida, analisaremos o armamento de várias amostras de malware para o macOS, incluindo um backdoor interativo, um implante para exfiltração de arquivos, ransomware e, sim, até adware. Nossas configurações incluem várias modificações binárias do tempo de execução que forçam esses programas maliciosos a aceitar tarefas de nossos próprios servidores C&C e / ou executar ações automaticamente em nosso nome.



Obviamente, agora em seu estado original, essas amostras são detectadas por produtos antivírus. Portanto, consideraremos modificações que garantirão a invisibilidade de nossas ferramentas "hackers" para programas antivírus tradicionais.

Em conclusão, analisamos novos métodos heurísticos que ainda podem detectar essas ameaças, a fim de proteger os usuários de Mac, mesmo contra essas ameaças modificadas. Por que isso é necessário? Porque este é um ciclo normal de desenvolvimento humano, e simplesmente não percebemos que a destruição que vemos significa a introdução de novas tecnologias que, antes de criar novos empregos, destroem as antigas.
Saudações a todos, hoje discutiremos o tópico de criação de "armas de destruição em massa" com base nos produtos de hackers do macOS. Meu nome é Patrick, sou analista da Synack na Digital Security e também sou o criador do site de segurança do Mac e do pacote de segurança Objective-See gratuito para macOS.

Falaremos sobre refazer o malware de outras pessoas para fins secretos e explicarei por que essa é uma ótima idéia. Em seguida, mostrarei como exatamente várias amostras de malware para Mac são refeitas e, como queremos que nossas explorações permaneçam invisíveis aos serviços antivírus integrados da Apple e ao software antivírus de terceiros. No final, examinaremos várias técnicas comuns para detectar esse produto de software refeito, porque, na verdade, nosso objetivo final é garantir que os usuários de Mac estejam protegidos contra essas ameaças.

Vamos começar com um esquema que explica conceitualmente o processo de redirecionar malware para suas próprias necessidades.



Imagine que o hacker A desenvolveu cuidadosamente um malware sofisticado e com todos os recursos e o infectou com vários sistemas de computadores ao redor do mundo. O Hacker B conseguiu se apossar desse malware por acidente ou extraindo-o de algum sistema infectado. Esse hacker coloca uma amostra deste produto em seu laboratório e reproduz perfis. Quando falamos em re-criação de perfil, queremos dizer redesenhar ou reconfigurar alguns dos malwares existentes de acordo com suas necessidades.

O slide mostra que, após a alteração, o hacker B pode usar esse software contra novos objetivos, contra uma infraestrutura diferente daquela para a qual foi desenvolvido pelo hacker A. Essa é uma ideia bastante razoável. Você pode perguntar por que isso é necessário, mas podemos citar pelo menos duas razões pelas quais vale a pena fazer isso.



Em primeiro lugar, existem organizações bem financiadas, grupos altamente motivados e tecnicamente armados, hackers trabalhando para agências governamentais como a CIA e laboratórios científicos inteiros desenvolvendo software incrivelmente malicioso. Além disso, este software completo foi testado repetidamente em campo.

Como sou muito preguiçoso e, em vez de codificar, prefiro mergulhar na praia, fazer surf ou ioga, pensei: como esses caras criam um software hacker tão eficaz, por que não usá-lo e refazê-lo para suas necessidades? Que aqueles que têm mais tempo e dinheiro façam todo o trabalho duro por mim.

Em segundo lugar, se alguém encontrar nossos programas convertidos, sua autoria ainda será atribuída aos desenvolvedores originais, e não a nós, e isso é muito bom. Você pode perguntar: "OK, Patrick, se essa é uma ideia tão legal, por que as pessoas ainda não fizeram isso?" Eu vou responder: "Eles estão fazendo isso!" Não posso comentar especificamente nada, mas os slides disponibilizados ao público demonstram que a NSA usou a re-criação de perfis de malware para testar vulnerabilidades de programas antivírus populares. O New York Times informou que hackers chineses também usam uma técnica semelhante.

O uso de software hacker refeito oferece a essas agências bem-sucedidas uma vantagem dupla. Em primeiro lugar, eles usam spywares desenvolvidos em outros países contra os objetivos de que outra agência, outro país ou um grupo de APT de espionagem cibernética já está trabalhando com pouco risco. Por exemplo, se você trabalha na NSA e vai invadir um objeto que outros hackers já estão fazendo, mas não deseja injetar seu próprio código lá, poderá usar com segurança o software de terceiros refeito. Ao mesmo tempo, sua atividade permanecerá em segredo, pois já existem pessoas suspeitas disso.



Como essas agências preferem trabalhar secretamente, elas não estão interessadas em alguém descobrir sua participação em tais assuntos, e o software refeito contribui para isso. Obviamente, surgem problemas com a alteração dos programas de hackers, sobre os quais falaremos hoje.



Mas veremos que esses problemas não são intransponíveis. Suponha que assumimos o controle de um pedaço do malware de outra pessoa para refazer. Primeiramente, não temos código fonte, existe apenas uma amostra de código binário, portanto teremos que usar engenharia reversa. Eu chamo isso de estágio de análise quando tentamos entender o que esse software faz, como é implementado, como é instalado, quais recursos ele possui e, é claro, descobrimos com qual servidor C&C ele se comunica.

Depois de lidarmos com tudo isso, o segundo estágio começa - descobrindo como você pode corrigir esse malware. Como não temos uma fonte, estamos desenvolvendo um patch no nível binário.

Como na maioria dos casos, esse software interage com seu próprio servidor C&C, descobrimos como ele descobre onde obter o endereço desse servidor e qual protocolo é usado para a troca de dados. Somente depois disso, você poderá criar seu próprio servidor C&C, no qual o software refeito será implantado, para interagir com o novo sistema infectado a partir daí.

Como usamos malware conhecido, a Apple ou outros sistemas de segurança antivírus provavelmente têm assinaturas dessa ameaça. Portanto, no estágio final de re-criação de perfil, precisamos descobrir como impedir a detecção de software refeito.

O novo perfil precisa ser abordado com muita responsabilidade se não queremos que coisas realmente ruins aconteçam.



Deixe-me dar um exemplo de como tentamos refazer um pedaço de malware para o macOS. Durante o processo de correção, esquecemos de alterar o endereço de backup para o servidor C&C do hacker. Estávamos certos de que estávamos usando uma parte completamente refeita do malware, mas em algum momento enviamos um backup para o servidor hacker original, fornecendo acesso à infraestrutura que estávamos atacando. Portanto, a alteração do software de outras pessoas deve ser abordada com muito cuidado.

Agora, vamos falar especificamente sobre refazer malware para Mac, cujo objetivo é criar o software hacker de outra pessoa.



O primeiro passo é selecionar uma amostra de malware para a conversão com base em 2 critérios. A primeira é descobrir que esse malware deve lhe dar uma idéia de se você precisa de um backdoor interativo ou de um minerador de criptografia etc.



Talvez a atribuição de spyware seja importante para você - se será atribuída à CIA ou a hackers russos. No objetivo-see.com, reunimos uma impressionante coleção de malwares para o macOS. Todas as amostras de software refeito que falaremos hoje podem ser baixadas deste site.

Depois de selecionar uma amostra para alteração, chega a hora da análise. Seu principal objetivo é descobrir coisas como acesso remoto. Se o malware acessa um servidor C&C remoto, você precisa descobrir que tipo de servidor é e se é possível modificar o software para que ele não possa entrar em contato conosco.



Se o malware não se comunicar com o servidor remoto, ainda precisamos lidar com o protocolo para saber como decifrar este programa quando ele se conectar a nós novamente. E, é claro, você deve entender completamente os recursos desse malware - como ele funciona, como interage com o sistema, inclusive remotamente, para saber quais comandos você pode usar para controlar remotamente o malware.

Assim que você descobrir tudo, é hora de reconfigurar ou redefinir o perfil. Isso geralmente significa que você deve corrigir o malware no nível binário.



Este slide mostra que encontramos o endereço do servidor C&C original incorporado no código e podemos substituí-lo pelo endereço que precisamos no editor HEX. Isso significa que, após a alteração, este software poderá se comunicar com nosso próprio servidor e receber tarefas a partir daí.

Como eu disse, se o malware for um backdoor ou implante e for controlado a partir do servidor C&C original, teremos que escrever nosso próprio servidor de gerenciamento e garantir que o programa esteja conectado e conectado a ele, para que possamos usar todos os seus recursos remotamente.



Um servidor C&C personalizado não deve ser muito complicado, basta escrever um script Python competente, mas se você planeja usar seu software contra muitos objetivos, pode precisar de algo mais sério. O DefCon anterior falou sobre como criar um desses servidores C&C para analisar amostras de software. É provável que cada uma das amostras que você analisará seja diferente das outras usando um protocolo diferente; portanto, você precisará de um servidor C&C separado para cada uma das amostras do software convertido.

Remaking FruitFly backdoor


Vejamos uma amostra real de redesenho de malware para Mac. Criado há 15 anos pelos especialistas em segurança do Mac, esse backdoor é chamado FruitFly, ou Fruit Fly.

Esse backdoor completo com suporte a multitarefa remota nos serviu como um candidato ideal para a re-criação de perfil. Ele tem a capacidade de infectar arquivos e processos do sistema, controlar uma webcam, linha de comando, serve como keylogger, pode tirar remotamente capturas de tela da área de trabalho da vítima e coletar informações sobre computadores infectados executando o macOS. Pretendemos usar todas essas funções para resolver nossos próprios problemas.



O backdoor do FruitFly era um script Perl muito confuso, mas se você o observar com cuidado, poderá ver que sua lógica processa argumentos de linha de comando. Podemos dizer que esse script verifica se certas opções ou sinalizadores da linha de comando estão causando alguma ação.



Acontece que ele está procurando uma porta ou combinação de portas para conectar seu computador ao servidor C&C. Isso significa que, se pudermos criar uma direção para nosso próprio servidor através da linha de comando, não precisaremos refazer o script Perl original ou um binário malicioso.

Começamos a descobrir se é possível salvar esse script do FruitFly como lançador. Conforme mostrado no slide, podemos incorporar o endereço de nosso próprio servidor C&C. Isso significa que podemos re-perfilar facilmente esse backdoor para conectar-se ao nosso servidor, ignorando a conexão com o servidor hacker original.



No entanto, para usar esse backdoor, ele deve ser instalado no computador do usuário. A boa notícia é que eu já escrevi esse instalador, disponível em pastebin.com. São algumas linhas de código que instalam malware exatamente da mesma maneira que o backdoor original. Como também escrevi anteriormente um servidor C&C para analisar esta amostra, podemos começar a demonstrar sua operação.

Manifestações em tempo real como essa são sempre um risco; portanto, executarei esse malware no meu próprio laptop de pesquisa, não em uma máquina virtual. Repito - pretendo mostrar a você todo o poder do malware convertido, e a demonstração em condições reais é mais credível, então vamos ver esse software em ação em um hardware real.

A primeira coisa a fazer é iniciar o servidor C&C. Você vê que agora o sistema está aguardando uma conexão com ele. Então você precisa executar o malware através do instalador, passando o endereço IP deste servidor. Após o início, vemos no lado direito da janela que o malware foi conectado com sucesso ao nosso servidor C&C. Também vemos várias tarefas de hackers que esse malware pode usar contra processos em execução no meu laptop pessoal.



A execução do comando nº 13 mostra onde esse malware está instalado no diretório / Users / Patrick / fpsaud. Usando o comando nº 2, você pode capturar uma captura de tela e o parâmetro 0 permite capturar uma captura de tela em tela cheia.



Agora vou tentar tirar uma captura de tela e enviá-la para o nosso servidor C&C. Como você pode ver, tudo funciona como deveria. É assim que o backdoor redesenhado do FruitFly funciona.

Alteração do mineiro CreativeUpdate


Em seguida, falaremos sobre refazer o minerador de criptomoeda CreativeUpdate para nossos propósitos. É útil se você deseja usar os computadores de outras pessoas para mineração de criptografia, mas, ao mesmo tempo, não possui tempo, habilidades e recursos.



Esse minerador de criptografia se integra aos cavalos de Troia e é distribuído por aplicativos populares de terceiros no MacUpdate.com. O slide mostra um exemplo de instalação do navegador Firefox Quantum, que não possui a assinatura do desenvolvedor original do Mozila e baixa um minerador de criptografia de um dos servidores da Adobe Creative Cloud para o computador do usuário.



Se montarmos uma imagem de disco infectada contendo um cavalo de Troia e aplicarmos engenharia reversa ao binário principal, descobriremos que ele usa um método chamado “executar script com impressões” - “executar script com impressões”. Se você observar o que ele faz com um descompilador ou desmontador, poderá ver que ele simplesmente executa um arquivo chamado "script" fora do diretório de recursos do aplicativo. Primeiro, ele lança um programa Trojan sob o disfarce de uma cópia de um produto popular que o usuário baixou em seu computador, por exemplo, o navegador Firefox, para que ele não suspeite de nada de ruim.



Em seguida, vemos neste script que ele se comunica com o servidor atacante, de onde faz o download do arquivo mdworker.zip. Durante a descompactação, esse arquivo instala algo chamado mdworker no sistema. Se você observar o arquivo MacOS.plist extraído do arquivo, poderá ver que ele salva esse binário mdworker muito malicioso no computador do usuário.



Também vemos argumentos de linha de comando que são passados ​​para este binário. Se você executar esse arquivo binário mdworker, poderá ver que é um minerador de criptomoeda completamente legal, de propriedade da empresa de mineração Miner Gate.

Os argumentos da linha de comando também indicam a conta do minerador para a qual os resultados da mineração e o tipo de criptomoeda para mineração serão enviados.

Como os parâmetros correspondentes são passados ​​pela linha de comando e não são incorporados a um arquivo binário, nós, como no caso do Fruit Fly, podemos substituir os argumentos da linha de comando para redirecionar esse malware para nossos propósitos. Portanto, primeiro modificamos o arquivo da lista de propriedades da lista de propriedades ou .plist do malware para que ele aponte para nossa própria conta de minerador e, em seguida, empacotamos todos os componentes do malware no arquivo morto. Além disso, em vez de baixar o arquivo do servidor, basta adicioná-lo ao aplicativo de malware. Isso é muito mais simples e mais autônomo, pois não precisamos configurar um servidor remoto para inicializar.

Em seguida, reconfiguramos o script para que funcione com o arquivo que adicionamos. Finalmente, reembalamos tudo em uma imagem do Firefox.dmg e podemos começar a trabalhar.



Trago a sua atenção a segunda demonstração. Na janela do arquivo, você vê os componentes do aplicativo, incluindo um script malicioso, o arquivo mdworker.zip, o arquivo de configurações do aplicativo AppSettings.plist e o navegador Firefox original.



Na janela principal, vemos como está o lançamento do conteúdo baixado pelo usuário.



Eu executo esse aplicativo no meu laptop para usá-lo em minha própria mineração de criptomoeda. Clico no ícone do navegador, a janela do navegador Firefox aparece na tela e, externamente, tudo parece bem.

Para ver o que realmente acontece no sistema após iniciar este aplicativo, chamo a janela do terminal do macOS na tela. , mdworker, , patrick@objective-see.com.

- ransomware


, , , - ransomware, .



, KeRanger. , macOS. Bit-Torrent, -. , , .

, General.rtf. , , macOS. , C&C- .



, , , «» . -.

. -, , .



, , HEX- , «», C&C-, 127.0.0.1. RSA , RSA- , NetCat.

. , , KeRanger. NetCat , .



, .



README_FOR_DECRIPT.txt. , : « wardle@objective-see.com!».



Windtall


Windtall. , , APT-. , .



malware. macOS, , URL-.

, . , , , macOS Custom URL, , .

, , , - URL, macOS .

Java . , URL, Mac. Java-, URL, .
, , , , .



, , . , , , , C&C- .

. SPF, , C&C-, , , C&C-.



24:00

DEFCON 27. macOS. Parte 2


Um pouco de publicidade :)


Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando aos seus amigos o VPS na nuvem para desenvolvedores a partir de US $ 4,99 , um desconto de 30% para os usuários do Habr em um analógico exclusivo de servidores de nível básico que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6) Núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como compartilhar um servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

Dell R730xd 2 vezes mais barato? Somente temos 2 TVs Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV a partir de US $ 199 na Holanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - a partir de US $ 99! Leia sobre Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?

Source: https://habr.com/ru/post/pt474418/


All Articles