Jump to content
  • News

    • Leandro Fróes
      Vivemos em um mundo onde quase todos os tipos de autenticação digital são baseados em senhas, método já considerado inseguro por vários especialistas. Tendo isto em mente, a Microsoft investiu num projeto que já está em testes nas últimas versões do Windows onde o usuário autentica no sistema sem o uso de senhas.
      No fim do ano passado, a Microsoft relatou as diversas desvantagens de se utilizar senhas, dentre elas: a quebra de senhas fáceis (cracking), difícil memorização, necessidade de troca constante e complexidade exigida. No artigo em que anuncia novas funcionalidades nesta direção, Suzanne Choney, storytelling da empresa, nos conta que a solução para o problema das senhas, segundo a Microsoft, é: você. ?
      Dentre as funcionalidades recém lançadas com o Windows 10 há a autenticação por reconhecimento facial utilizando o Windows Hello, seja para logar no computador ou para acessar algum aplicativo. Vale a pena assistir o vídeo abaixo para entender como o Windows Hello funciona:
       
      Outra funcionalidade bem interessante é a autenticação pelo smartphone utilizando biometria ou PIN através de um recurso chamado Microsoft Authenticator App.
      Estes e outros recursos estarão disponíveis para qualquer usuário (podendo utilizar também 2FA) sem precisar de senhas convencionais.
      A Microsoft deixou claro que irá utilizar as vantagens providas pelas senhas e eliminará as desvantagens, tendo como principal objetivo o compromisso com o usuário final e com a segurança. Será que finalmente veremos o fim das senhas? ?

    • No dia 25/04 a Google anunciou grandes atualizações em relação ao novo Gmail e sua segurança, integração com seus serviços em Cloud e funcionalidades de sua I.A.
      Uma funcionalidade bem interessante é o novo Confidential Mode. Resumindo a funcionalidade permite você a colocar data de expiração  para seus emails e até anular mensagens já enviadas. Como você pode exigir autenticação adicional via mensagem de texto  para visualizar um e-mail, também é possível proteger os dados, mesmo que a conta de e-mail de um destinatário tenha sido invadida enquanto a mensagem está ativa.
       

       
      Alguns recursos foram melhorados, como a verificação se um email é ou não malicioso e o fato de poder ver os anexos enviados por um email sem ter que abri-lo:
       

       
      Infelizmente nem todas estas funcionalidades estão disponíveis para todos os usuários, mas as que estão disponíveis podem ser encontradas no novo gmail. Para isto, basta ir do lado direito em cima e trocar para a nova versão (e retorne para a antiga quando quiser):
       

       
      Todas as funcionalidades estão disponíveis apenas para aqueles que pagam pelo G Suite, mas quem sabe mais pra frente não estejam disponíveis para todos, não é mesmo?

    • No dia primeiro de Abril de 2018 a Cloudflare, respeitada empresa fornecedora de serviços para quem mantém servidores na Internet, lançou um novo servidor DNS público acessível mundialmente, o 1.1.1.1 e isso tem dado o que falar.
      Desempenho
      Na lista do DNSPerf o servidor já consta em primeiro lugar, desde seu lançamento. Claro que ainda é cedo para dizer pois o número de usuários deve aumentar nos próximos dias, o que deve exigir cada vez mais da infraestrutura deste novo servidor DNS.
      O pesquisador Nykolas Z publicou alguns testes, que apontaram diferentes resultados dependendo da região de origem das requisições DNS.  Da única cidade brasileira testada, São Paulo, o tempo de resposta do 1.1.1.1 foi de apenas 2.71 milissegundos, aproximadamente 75% mais rápido que o segundo colocado no teste. Veja os resultados:
      CloudFlare 2.71 ms CleanBrowsing 12.00 ms Google_DNS (o famoso 8.8.8.8) 29.71 ms Norton_DNS 114.71 ms Quad9 114.71 ms Comodo_DNS 129.85 ms OpenDNS 213.14 ms Yandex_DNS 238.14 ms No Brasil os usuários utilizam por padrão o servidor DNS fornecido por seus provedores (NET Virtua, Oi Velox, Speedy, BRT Telecom, etc), que são hospedados tem território nacional e, em teoria, deveriam fornecer uma resposta mais rápida. No entanto, não foi o que encontrei nos meus testes com o DNS da NET 181.213.132.2, que se mostrou quase 5 vezes mais lento que o novo 1.1.1.1 da Cloudflare, como mostra a imagem abaixo:

      Claro que o meu teste foi muito simples, mas o repeti várias vezes com domínios diferentes e os resultados foram similares. Se você é cliente de outro provedor, faz o teste e comenta aqui o que achou.
      Configuração
      Já bateu a vontade de configurá-lo no seu ambiente? Calma, vamos analisar as opções: se você utiliza um modem ADSL ou à cabo, pode querer configurar diretamente lá. Neste caso você vai precisar buscar no manual do seu modem a configuração normalmente chamada de WAN (Wide Area Network) e fixar os seguintes endereços DNS (se houver os campos abaixo):
      Servidor DNS primário (IPv4): 1.1.1.1
      Servidor DNS secundário (IPv4): 1.0.0.1
      Servidor DNS primário (IPv6): 2606:4700:4700::1111
      Servidor DNS secundário (IPv6): 2606:4700:4700::1001
      Você também pode configurar o DNS do Google por exemplo (8.8.8.8) para ser o secundário. Assim, se houver algum problema com a infraestrutura do 1.1.1.1, você tem uma redundância de um servidor de outra empresa completamente diferente. Fica a seu critério.
      Pode ser que você encontre um desafio na configuração do modem. No meu caso aqui com um modem vagabundo da HUMAX fornecido pela NET eu só consigo fixar o DNS se fixar também o IP da rede WAN, o que naturalmente não posso fazer, já que meu plano não contempla um IP fixo. 

      Infelizmente fiquei sem opção e tive que configurar o DNS em todos os meus dispositivos manualmente (as instruções variam para cada sistema operacional mas você está convidado a pedir ajuda em nosso fórum se precisar).
      Segurança
      DNS em si nunca foi seguro, mas o 1.1.1.1 oferece duas opções para encriptar as consultas e respostas: DNS sobre HTTPS ou sobre TLS, apesar de poucos clientes suportarem tais recursos por enquanto. Quanto à privacidade, a Cloudflare garante que as consultas DNS nunca são registradas e os outros logs do servidor são excluídos a cada 24 horas. Num blogpost sobre o assunto, o fundador e CEO da Cloudflare Matthew Prince disse inclusive que contratou a KPMG, uma das maiores empresas de auditoria do mundo, para auditar os servidores afim de garantir que nenhuma informação fica registrada em seus servidores.
      O 1.1.1.1 protege contra sites maliciosos?
      Não. Diferentemente de servidores DNS como o OpenDNS (208.67.222.222 e 208.67.220.220) ou o Norton ConnectSafe, que oferece até modalidades de bloqueio que incluem pornografia, o 1.1.1.1 da Cloudflare não faz nenhum tipo de bloqueio, assim como o famoso 8.8.8.8 do Google.
      Recomendação
      Minha recomendação varia de acordo com o tipo de usuário.
      Para técnicos e analistas que precisam acessar sites maliciosos, recomendo testar o 1.1.1.1.
      Para usuários finais, recomendo escolher entre OpenDNS ou Norton ConnectSafe. Não são tão rápidos quando o 1.1.1.1, mas oferecem um nível básico de proteção contra ameaças.
      Para administradores de rede, uma solução interessante é o projeto brasileiro CleanDNS, que dá maior controle do que bloquear para os usuários, oferece cache e tudo mais.
      Não recomendo a ninguém utilizar os DNS nativos das operadoras. Além de lentos em sua maioria, há casos de comprometimento que levaram clientes a acessarem sites maliciosos. Todo cuidado é pouco! 

    • O famoso site alemão de crakmes (programas feitos especialmente para treinarmos engenharia reversa) saiu do ar há algum tempo. Alguns arquivos foram salvos e um espelho foi criado em crackmes.cf, mas não satisfeito, s4r criou o crackmes.one com a mesma ideia. O site já reúne aproximadamente 50 crackmes novos além de milhares importados do crackmes.de. Há crackmes escritos em várias linguagens como Java, C++, Delphi e VB. É diversão garantida.
       
      Vale lembrar que oferecemos aqui gratuitamente, bancado por nossos apoiadores, o CERO (Curso de Engenharia Reversa Online) totalmente do zero, que pode te ajudar caso você seja iniciante em engenharia reversa e em crackmes. Boa sorte e happy hacking!

    • Uma engenheira de software de Reykjavík, na Islândia, não curtiu muito quando o Twitter encerrou o suporte ao app oficial para macOS. O limite de caracteres dos posts na plataforma foi dobrado, de 140 para 280 caracteres em Setembro do ano passado, mas o app para macOS não recebeu essa atualização. Foi então que Alva fez engenharia reversa no aplicativo do Twitter e simplesmente mudou o limite imposto pelo software de 140 caracteres para 240. Como a plataforma já aceitava os tweets maiores, ela só precisava contornar este limite no software mesmo. O patch foi feito com um disassembler chamado Hopper, que Alva diz ser seu preferido para disassemblar binários escritos em Objective C, a linguagem padrão para aplicativos Apple. Mais detalhes você encontra no blogpost dela, em Inglês: Reclaim your abandonware.
      Nós aqui do Mente Binária ficamos muito felizes de ver a engenharia reversa sendo utilizada com fins criativos. Parabéns, Alva! 

    • No dia 26 de fevereiro o usuário de nick Sai Lay publicou em seu Twitter um cheat sheet sobre segmentação de memória para o Linux :

       
      Afinal, o que é um cheat sheet? Basicamente um “guia rápido”, uma “folha de consulta” para possíveis dúvidas que você possa ter sobre o assunto abordado. Este tipo de guia pode abordar diversos assuntos, desde comandos/scripts específicos para pentest até definições rápidas sobre registradores e alinhamento de memória (que é o nosso caso).
      A quantidade de informações disponíveis em um cheat sheet é enorme, mas não há sentido em ter tanta informação se não entendermos de fato o que é aquilo. Tendo em vista isto detalharemos um pouco mais um ponto em específico deste guia, deixando o resto para a sua curiosidade
      Que tal darmos uma breve olhada em uma seção? Considere o código abaixo:
      #include <stdio.h> int main(void){ printf("Isto eh um teste\n"); return 0; } Se utilizarmos o comando readelf --sections test veremos que a seção .data(seção de dados inicializados), por exemplo, tem apenas 16 bytes (em hexa):
      ... [22] .got PROGBITS 0000000000200fd8 00000fd8 0000000000000028 0000000000000008 WA 0 0 8 [23] .got.plt PROGBITS 0000000000201000 00001000 0000000000000020 0000000000000008 WA 0 0 8 [24] .data PROGBITS 0000000000201020 00001020 0000000000000010 0000000000000000 WA 0 0 8 [25] .bss NOBITS 0000000000201030 00001030 0000000000000008 0000000000000000 WA 0 0 1 … Podemos verificar o que tem nestes bytes com objdump -d -j .data test:
      test: file format elf64-x86-64 Disassembly of section .data: 0000000000201020 <__data_start>: ... 0000000000201028 <__dso_handle>: 201028: 28 10 20 00 00 00 00 00 (. ..... Mas e se nosso código fosse da seguinte forma:
      #include <stdio.h> int a = 10; int main(void){ printf("Isto eh um teste\n"); return 0; } Note que o tamanho da seção aumentou em 4 bytes, que “coinscidentemente” é o tamanho de uma variável do tipo inteiro na arquitetura onde os testes foram feitos :
      ... [23] .got.plt PROGBITS 0000000000201000 00001000 0000000000000020 0000000000000008 WA 0 0 8 [24] .data PROGBITS 0000000000201020 00001020 0000000000000014 0000000000000000 WA 0 0 8 [25] .bss NOBITS 0000000000201034 00001034 0000000000000004 0000000000000000 WA 0 0 1 [26] .comment PROGBITS 0000000000000000 00001034 … Se olharmos o que há na seção veremos o seguinte resultado:
      test: file format elf64-x86-64 Disassembly of section .data: 0000000000201020 <__data_start>: ... 0000000000201028 <__dso_handle>: 201028: 28 10 20 00 00 00 00 00 (. ..... 0000000000201030 <a>: 201030: 0a 00 00 00 .... Agora temos um valor de 4 bytes disponível para nossa variável a que possui o valor 0a em hexa (ou seja, 10 como declarado anteriormente).
       
      Caso a variável fosse, por exemplo, long long a = 10 o resultado seria:
      est: file format elf64-x86-64 Disassembly of section .data: 0000000000201020 <__data_start>: ... 0000000000201028 <__dso_handle>: 201028: 28 10 20 00 00 00 00 00 (. ..... 0000000000201030 <a>: 201030: 0a 00 00 00 00 00 00 00 .....… 8 bytes disponíveis, exatamente o valor que sizeof(long long) representa nesta arquitetura. Não ficou satisfeito ainda? Você também pode olhar as seções com o gdb(GNU Debugger) utilizando o comando maintenance info sections:
      ... [22] 0x00201000->0x00201020 at 0x00001000: .got.plt ALLOC LOAD DATA HAS_CONTE---Type <return> to continue, or q <return> to quit--- NTS [23] 0x00201020->0x00201038 at 0x00001020: .data ALLOC LOAD DATA HAS_CONTENTS [24] 0x00201038->0x00201040 at 0x00001038: .bss ALLOC [25] 0x00000000->0x0000001c at 0x00001038: .comment READONLY HAS_CONTENTS ... É extremamente interessante ir a fundo em cheat sheets como este, mais interessante ainda é montar um você mesmo, seja para uso particular ou para disponibilizar para todos. Espera, não entendeu direito os comandos, ordenação dos bytes ou algo desta notícia? Que tal assistir ao curso do CERO? A última aula fala justamente sobre o formato ELF (executáveis Linux) e sua especificação.
      Agora que sua curiosidade foi instigada, que tal aplicar seus conhecimentos sobre arquitetura de computadores e mostrar pra gente?

    • Em março do ano passado, pesquisadores da Trend Micro descobriram que o malware Winnti utilizava o Github para baixar um arquivo de configuração de seu servidor de Comando & Controle (C&C, ou C2). Mais para o fim do ano, a empresa Sucuri analisou um caso onde um minerador de criptomoeadas foi encontrado na plataforma. Agora é a vez de malware brasileiro entrar na brincadeira.
      Disfarçado seu malware de "notafiscal" como muitos outros criadores de malware brasileiros, o usuário w3afkli1001 hospedou um .rar e um .exe num repositório chamado nfiscal. Ironicamente, foi escolhida uma licença livre Apache.

      Usando a ferramenta repoget, que fiz exatamente para casos como esse, baixei todo o conteúdo de todos os repositórios deste usuário (mas só havia um mesmo):
      $ python2.7 repoget.py w3afkli1001 Creating ./w3afkli1001 directory... Cloning repositories... w3afkli1001/nfiscal Cloning gists repositories... $ cd w3afkli1001/nfiscal $ md5 * MD5 (ET78G4B6GTY8H6GFB5XCSRY846HGFB15XRHTYD46HGFB5X1HDY468HDFGB15DHY46HFB51HYD846HDBFG5.PDF.exe) = 778351a3953ed0cc081fef0a5da53358 MD5 (ET78G4B6GTY8H6GFB5XCSRY846HGFB15XRHTYD46HGFB5X1HDY468HDFGB15DHY46HFB51HYD846HDBFG5.PDF.rar) = b97861be214d9a4643571090ee8740e9 MD5 (LICENSE) = 86d3f3a95c324c9479bd8986968f4327 MD5 (Nota_Fiscal.exe) = 679dd0f68e9f25b4c57bd5bc332fb952 Olhando o log dos commits, percebe-se que o autor utilizou a interface web do Github para fazer uploads dos arquivos. Mais fácil que aprender a usar o git né? 
      $ git log commit 5e0d647a5356b861102b8fe4eacbf13d3f9c1eef (HEAD -> master, origin/master, origin/HEAD) Author: w3afkli1001 <35973712+w3afkli1001@users.noreply.github.com> Date: Thu Feb 15 14:28:19 2018 -0200 Add files via upload commit 61792bc7a8591291d2467333a5cecfc6d9505c5e Author: w3afkli1001 <35973712+w3afkli1001@users.noreply.github.com> Date: Mon Feb 5 20:14:25 2018 -0200 Add files via upload commit f03d7491f2c5369d4d6be9353d04faa8564c60dc Author: w3afkli1001 <35973712+w3afkli1001@users.noreply.github.com> Date: Mon Feb 5 20:13:00 2018 -0200 Delete ET78G4B6GTY8H6GFB5XCSRY846HGFB15XRHTYD46HGFB5X1HDY468HDFGB15DHY46HFB51HYD846HDBFG5.PDF.exe Mas por que afinal, é perigoso hospedar malware em sites como Github, Google Drive, Dropbox, etc? Acontece que muitas soluções de segurança não bloqueiam as requisições para estes sites, pois são conhecidamente sites benignos. A responsabilidade da segurança é deles, mas reconheço que é um desafio.

×
×
  • Create New...