Jump to content

Leandro Fróes

Mente Binária
  • Posts

    183
  • Joined

  • Last visited

  • Country

    Brazil

Everything posted by Leandro Fróes

  1. Recentemente, no canal Papo Binário, falamos sobre o VPNFilter, um malware extremamente avançado e modular (que possui várias funcionalidades) que visa atacar roteadores. O número de roteadores afetados já passa da casa dos 500 mil, tornando assim a análise de quais marcas de roteadores foram afetados difícil de ser listada, mas para a felicidade de alguns e infelicidade de outros, esta lista foi aumentada para mais 56, tais quais incluem: D-Link, ASUS, Huawei, Ubiquiti, UPVEL e ZTE. Segundo o laboratório da Talos (grupo de inteligência de ameaças da Cisco) também foi descoberto um terceiro estágio do malware que possui a capacidade de espalhar exploits pela rede utilizando a técnica de Man-In-The-Middle. A dica passada anteriormente era para reiniciar os roteadores, mas aparentemente isto não é mais o suficiente, devido ao módulo de persistência do malware. Cabe a nós ficarmos sempre atentos às novas atualizações dos times de pesquisa (e até mesmo contribuir, por que não?!) para melhorar a forma com que lidamos com ameaças deste nível ?
  2. Todos nós ouvimos falar recentemente do lançamento do novo servidor DNS público, o 1.1.1.1, provido pela Cloudflare com a promessa de ser mais rápido e seguro. O servidor atende de fato ao que é prometido e tem agradado a maioria de seus usuários, mas mesmo com toda essa tecnologia não há como escapar do maior inimigo da máquina: o ser humano. ? Com o intuito de saber quais IPs são confiáveis ou não, a empresa possui uma lista hard-coded de IPs que pertencem a ela e queria eliminar isto, criando então uma API que faria este trabalho e chamando-a de Provision API. Junto a isto há também uma grande funcionalidade de segurança presente neste servidor chamada de Gatebot, que se resume a uma série de técnicas de mitigação de ataques. Alguns disseram que foi um ataque de DDoS, mas a Cloudflare publicou em seu blog no dia 31 de maio que foi um erro cometido por eles, e não por algo externo. O erro de certa forma é simples, mas de grande impacto para todos os usuários do servidor DNS. A questão é que, quando o Gatebot foi implementado junto da API esta não sabia que os intervalos de IP 1.1.1.0/24 e 1.0.0.0/24 eram especiais (da própria Cloudflare), com isto, já podemos imaginar no que deu, não é mesmo? Sim... um falso positivo. Esta falta de atenção por assim dizer causou impacto em todos os usuários do servidor por 17 minutos (os deixando sem resolução de nomes) pelo fato do Gatebot pensar que este range de IP era malicioso, levantando várias dúvidas sobre o funcionamento do serviço entregue pela Cloudflare. Mesmo com tudo isto a empresa não se abalou e, além de resolver o problema rapidamente também pediu desculpas aos seus usuários e listou as lições aprendidas com o incidente. ?
  3. Boa tarde @AdrianoLima, tudo bem? Interessante a ideia do blog, inclusive esse é o foco aqui do Mente Binária como um todo: trazer conhecimento para todos, dar espaço para todos escreverem artigos, tutoriais, dicas, perguntar, debater etc... Sabemos que isso da uma trabalheira e tanto. Tendo em vista isto, não acha mais interessante usar uma plataforma já existente (o próprio Mente Binária, por exemplo) para isto? Para seus artigos é interessante sim ter seu próprio blog (se quiser colocar aqui também seria ótimo), mas para a galera interagir e tal fica bem mais fácil por aqui, onde já temos tudo preparado (vídeos, portal, discord) para a comunidade e para quem quer aprender/ensinar ? Só uma dica mesmo, mas se não achar viável só mandar bala com o blog, qualquer fonte de conhecimento é sempre bem vinda. Abs!!!
  4. Olá @gnoo!! Tudo ótimo, espero que com você também. Concordo plenamente, eu só acrescentaria uma coisa: a versão do interpretador. Segundo a PEP 394 não devemos utilizar apenas o nome python a não ser que nosso código rode tanto na versão 2 quanto na 3. Do contrário, é interessante especificar a versão (e.g python3). Valeu pela dica mano, abs!!
  5. Saquei, o que estava errado além do exemplo da instrução então? Até onde eu sei os 3 pontos levantados foram relacionados ao exemplo errado que dei da instrução (endianness etc), mas não aos outros detalhes. Gostaria muito de saber =D
  6. Felipe, minha intenção com o exemplo foi meramente ilustrativa, até porque o Luciano está aparentemente começando a estudar sobre o assunto agora. Tendo em vista isto eu não me preocupei com tantos detalhes e os omiti, até porque tem trilhões ai nesse meio que o Loader executa, como GetProcAddress, preencher a IAT e por ai vai ? . Sobre o opcode, sim, verdade, o exemplo foi ruim e errado. Valeu de qualquer forma!!!
  7. Vou falar como um executável roda no Windows de forma resumida, mas creio que já ajude a entender melhor... Quando temos um .exe, por exemplo, aquilo é um arquivo e este está no DISCO (todos os bytes bonitinhos, um do lado do outro etc). Este arquivo tem um padrão, uma especificação para o Sistema Operacional entender o que de fato ele é, no caso de binários windows este formato se chama PE. Quando executamos este programa quem entra em ação é o Loader. Este carinha lê os cabeçalhos do arquivo em disco para recolher informações de como irá rodar este binário, informações como quanto de mem´ória tem pra Stack, Heap, número de seções etc etc. Depois disso ele pega todas as seções do arquivo em disco e as mapeia para a memória. Só pra deixar claro, quando executamos um programa, ou seja, um processo passa a rodar etc, estamos trabalhando com endereços VIRTUAIS e não físicos (quem traduz de um pro outro é o próprio sistema operacional). Cada seção possui um tipo de dado diferente, com permissões diferentes etc. A que contém código executável, por padrão na maioria das vezes, se chama .text. Nela estão os opcodes, ou seja, as INTRUÇÕES própriamente ditas que irão executar no processador, resumindo, bytes ? . Quando dizemos opcodes estamos dizendo as intruções em si, por exemplo, estes opcodes indicam uma chamada de função para o endereço 12345678: E8 12 34 56 78 Note que a instrução e o endereço já estão nos opcodes dentro da seção em disco, o loader apenas as carrega em memória e depois o processador as executa, sem mágica ?. A mesma coisa acontece com os registradores, quando movemos algo de um registrador para o outro esta instrução já foi "decodificada" pelo compilador. Espero ter ajudado, se quiser mais detalhes só pedir pra galera ou mandar uma msg no discord, vc que manda. Aconselho também a continuar acompanhando o CERO, lá está sendo passada toda a base necessária pra você entender tudo isso. Abs!!!
  8. Você já utilizou algum programa que precisasse de argumentos em linha de comando para executar alguma ação em específico? Algum programa como: ping, wget, curl, valgrind, etc? Estes são só alguns dos milhares de programas que exigem no mínimo um argumento para serem executados (sem falar de suas opções adicionais). Com isto em mente, o programador Zack Akil criou em seu blog um tutorial simples e muito rico sobre como criar um programa de linha de comando em Python, utilizando um módulo nativo chamado argparse. A intenção de ensinar como programas de linha de comando funcionam através da criação de um. ? A ideia do argparse é simples: parsear argumentos passados via linha de comando para um script e executar uma ação de acordo. Mesmo sendo uma tarefa aparentemente simples, ler a documentação ou entender como de fato fazer isto de forma correta pode ser difícil para iniciantes. Até mesmo para quem já programa pode ser uma tarefa difícil, tendo em vista que nem todos utilizam a linha de comando no seu dia a dia. Neste ponto, o tutorial do Zack ajuda muito! O módulo pode ser utilizado tanto no Python 2 quanto no 3, basta incluí-lo em seu script. O tutorial dá uma introdução extremamente interessante, mas as possibilidades de uso são enormes, não se limite à ele!!! ?
  9. Quando utilizamos o Modo de Endereçamento direto o acesso é "direto" à memória, não? É utilizado um registrador de Segmento junto do Offset (que pode ser de 16 ou 32 bits) ou endereço linear do operando. Outra coisa é que um registrador pode sim conter um endereço de memória para ser lido e/ou escrito, a própria instrução MOV lê para depois escrever em algum lugar ?
  10. Recentemente a equipe de desenvolvimento do Chromium relatou em seu blog que está mudando a maneira como avalia a segurança de páginas HTTP e HTTPS. Trata-se dos avisos de site "Seguro" ou "Inseguro" que o navegador emite quando um usuário acessa um site, como na imagem a seguir: Várias vezes nos deparamos com o um cadeado verde como este da imagem acima, indicando que um site utiliza HTTPS e é "seguro". Ou com um aviso em vermelho, indicando que não é seguro já que o certificado SSL pode ser inválido, o que significa que o usuário pode ser vítima de um ataque do tipo man-in-the-middle. Ainda há os sites que utilizam HTTP puro, caso em que o Chrome os rotula de "Não seguros", como no exemplo abaixo: Outros navegadores possuem abordagens similares, o que pode gerar confusão usuários. ? O relato diz que a partir da versão 69 do Google Chrome não haverá mais cadeado verde indicando segurança, tendo em vista que a utilização de HTTPS não é mais algo diferenciado, mas sim essencial, com a imagem abaixo ilustra: Fonte: Chromium Blog Os sites HTTP continuam marcados como "Não seguros" e para a versão 70, o plano é enfatizar o risco com um aviso em vermelho quando houver entrada de dados no site (via HTTP POST por exemplo), similar ao aviso atual de certificado inválido: Fonte: badssl.com E você, acha que HTTPS é um requisito mínimo? Um diferencial? Nosso canal Papo Binário tem um vídeo que aborda esta velha discussão. Confere lá! ?
  11. Bacana mano, só presencial mesmo? =(
  12. Dois meses atrás o pesquisador de nick landave descobriu uma vulnerabilidade no compactador 7-zip. Dentre todos os compactadores o 7-zip é um dos mais complexos, não só por sua leveza e portabilidade, mas também pelo fato de entender como descompactar vários outros formatos, tais como gzip, rar, zip etc. Como diria tio Ben: “Com grandes poderes vem grandes responsabilidades”. O código do 7-Zip é baseado principalmente em uma versão recente do UnRAR. Especialmente as partes de alto nível do código foram fortemente modificadas e com elas uma falha, devido à fragilidade do código. A falha se resume a um membro de uma estrutura (uma classe para ser mais exato) inicializado de forma indevida, ou seja, sem a devida verificação quanto aos dados inicializados. Esta falta de verificação assume que as coisas vão sempre acontecer de um jeito e, se não acontecerem, iniciará uma área não utilizada de memória, possibilitando corrupção de memória, RCE e por ai vai. A CVE (Common Vulnerabilities and Exposures) registrada foi a CVE-2018-10115 e, após a 7-Zip lançar a correção, landave publicou em seu blog não só sobre a falha, mas também como ele a encontrou, como ela pode ser explorada e como corrigi-la. Um verdadeiro trabalho de pesquisa, não é mesmo?
  13. 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? ?
  14. Que isso rapaz, com ctz você é capaz de conversar com todos, assim como qualquer um é. Não se menospreza não, o mais importante é sua vontade de aprender. Manda um salve lá sem medo ?
  15. Interessante, ta ai uma coisa que eu quero tentar um dia, engenharia reversa em jogos, mas no momento eu realmente não sei sobre ? Seguindo mais ou menos o que você mostrou: ela não ta mexendo nos endereços e sim diretamente nas instruções. Eu realmente não sei como ela acha tal funcionalidade em tal parte do código(você disse que não rola bp, né?!), mas se achar ela pode mudar tanto em um debugger quanto em um editor hexa (tomando cuidado com o número de bytes que ela tem pra cada instrução etc). Tenha em mente que todas as seções estão em disco, ou seja, estão no arquivo e quando o programa é executado o Loader as mapeia em memória. Todas as intruções do código executável (da seção .text, por exemplo) estão no arquivo e podem sim ser vistas por um editor hexa, basta saber procurar hehe. Se você não entendeu bulhufas do que falei manda uma msg lá no discord qqc que a gente troca uma ideia, mas também aconselho a ver o curso de engenharia reversa do CERO. Sobre descobrir o que os opcodes fazem, da uma olhadinha aqui qqc http://ref.x86asm.net/ Abraço!!
  16. Boa tarde! Não sei se entendi, ela achava no editor como habilitar certa funcionalidade de um jogo?
  17. 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?
  18. Opa, tudo bem mano? Então.. falar de forma específica ´é meio complicado, mas eu resumiria (de forma geral) em: Sistemas Operacionais (mais de um mesmo), programação, redes e arquitetura de computadores. Tem um artigo bem legal falando sobre como iniciar na área aqui no portal e ele fala também várias referências, este aqui. É bem difícil conciliar tudo isso, pois é MUITA coisa e você nunca para, mas se você organizar certinho e fazer uma linha você vai aprender MUITO ? Qualquer dúvida só falar, abs!
  19. Leandro Fróes

    duvida

    Bom dia mano! Antes de qualquer coisa, por que você não testa e caso dê algum erro (ou até mesmo se der certo) você coloca aqui pra galera? abs
  20. Boa noite mano, tudo bem? Bacana o post, mas posso dar uma sugestão? Acho que além de postar o link é interessante dar uma breve explicação sobre o que se trata. As vezes quem lê não quer clicar, só simplesmente saber o que é ou algo assim (além do post ficar mais completo). Abraço!!
  21. Da uma olhada nas suas configurações de firewall então cara. Se for linux pode abrir uma porta com nc -lvp 8080 por exemplo e depois testar seu port scan, mas isso depois de verificar o firewall.
  22. Pera, resolveu o outro erro e agora ta com timeout? Poderia postar a saída?
  23. Para um conhecimento adicional tem também o vídeo do CERO fresquinho de hoje sobre Windows API:
  24. Leia sim, redes é muito importante saber. Entendi, mas quando deu o problema você colocou qual IP?
×
×
  • Create New...