Python violento -
Procurando expandir seus conhecimentos em Python ou apenas aprender mais sobre o incrível potencial da linguagem de programação? Uma das leituras mais recomendadas para você seria 'Violent Python'. Como sugere o slogan, o python violento é um livro de receitas para hackers, testadores de penetração, analistas forenses e engenheiros de segurança.
Como você pode esperar, o livro tem um escopo muito amplo, dada sua base de leitores direcionados. Ele demonstrou como o idioma pode ser usado para auxiliar e automatizar tarefas em várias disciplinas de segurança da informação. O livro também não sacrifica a profundidade por uma questão de amplitude. Embora envolva uma ampla variedade de assuntos, ele também é bastante aprofundado com exercícios de nível avançado para cada assunto.
Violent Python Book
Os autores
O livro foi de autoria principal de TJ O'Connor, com Mark Baggett como editor técnico e Rob Frost como autor de um capítulo no Web Reconnaissance. Aqui está uma olhada no histórico que cada colaborador / autor traz:
- TJ O'Connor
Um ex-pára-quedista do Exército dos EUA e especialista em segurança da informação do Departamento de Defesa. Lecionou cursos de graduação em exploração, análise forense e garantia de informações enquanto professor assistente na Academia Militar dos EUA. Ele também co-treinou a equipe vencedora duas vezes no exercício anual de defesa cibernética da Agência de Segurança Nacional. Ele se formou em Ciência da Computação pela North Carolina State University e em Engenharia de Segurança da Informação pelo Instituto Técnico SANS.
- Rob Frost
Robert Frost foi contratado pelo Army Signal Corps depois de se formar na Academia Militar dos EUA em 2011. Ele é bacharel em ciências da computação com honras e sua tese focou na coleta de informações de código aberto. No exercício de defesa cibernética de 2011, ele foi um membro reconhecido individualmente da equipe do campeonato nacional por sua capacidade de burlar as regras.
- Mark Baggett
Um instrutor certificado da SANS, Mark Baggett ministra vários cursos no currículo de testes de penetração. Ele é consultor principal e fundador da In Depth Defense, que fornece serviços de teste de penetração e resposta a incidentes. Ele também é consultor técnico do SANS no Departamento de Defesa, com foco na aplicação prática dos recursos do SANS para o desenvolvimento de capacidades militares.
Python violento - o plano de fundo
Python é uma linguagem de alto nível e, para os autores e para muitos programadores, também é uma linguagem de hackers. Oferece maior eficiência, menor complexidade, bibliotecas ilimitadas de terceiros e uma barra de entrada baixa. Isso o torna uma excelente plataforma de desenvolvimento para a construção de ferramentas ofensivas. Se você executa o Linux ou o Mac OS X, é provável que já o tenha instalado no seu sistema. Aprender Python através deste livro pode ajudá-lo a obter sucesso quando outras ferramentas ofensivas falham.
O livro Violent Python tem como alvo programadores de todas as idades e níveis de proficiência e até mesmo não-programadores que desejam começar a escrever Python. O Python violento pode até se aplicar a programadores avançados que desejam aprender a aplicar suas habilidades no teste de penetração. Como o título Violent Python pode sugerir, o livro se concentra em como explorar os aspectos ofensivos do Python para melhorar a defesa. Ele abrange 'receitas' para testes de penetração, análise de rede, análise da Web e exploração de dispositivos sem fio.
Para aqueles que não estão familiarizados com os recursos do tipo livro de receitas, o conteúdo deste Violent Python, um livro de receitas para hackers, é composto por vários scripts curtos e individualizados, focados em tarefas específicas. Em última análise, mostra o quão poderosas algumas linhas de Python podem ser. Sério, as receitas mais longas deste livro sobre Violent Python dificilmente ultrapassam 100 linhas.
Lembre-se de que o livro é muito focado nas 'artes sombrias' do Python e você não encontrará material direto para programação geral com a linguagem. No entanto, você pode definitivamente aprender alguns truques e dicas trabalhando nos exercícios. As receitas foram feitas em um design modular para reutilização de código e os códigos podem ser usados para projetos maiores.
Um olhar mais atento ao livro Violent Python
Antes de examinarmos mais de perto o Violent Python, deve-se notar que os arquivos de código-fonte das receitas estão localizados na página inicial do Syngress. No entanto, é recomendável que você escreva o código desde o início para melhor aprendizado e retenção. De qualquer forma, se você deseja o código de maneira rápida e fácil, sabe onde encontrá-lo.
Cursos recomendados
- Programa em AJAX
- Curso Profissional Online de Teste Rápido
- Programa ExtJS
- Programa CISSP
Aqui está uma olhada em cada capítulo do livro Violent Python:
-
Introdução
O primeiro capítulo fornece uma introdução ao Python em geral, começando com informações básicas sobre a própria linguagem. Ele salta rapidamente para a carne, apresentando variáveis, tipos de dados, iteração, seleção, funções e muito mais. Ele também mostra como trabalhar com módulos e leva você a alguns programas simples.
Se você já conhece os conceitos básicos do Python e é um programador intermediário ou experiente, pode pular o capítulo inteiro. Uma das melhores coisas do livro Violent Python é que a maioria dos capítulos é bastante independente um do outro. Portanto, você pode simplesmente escolher o capítulo que deseja e aprender sozinho, em vez de passar por todos os capítulos anteriores.
-
Teste de penetração com Python
Este capítulo apresenta a idéia de usar o Python para ataques de script para teste de penetração. Os exemplos incluem a construção de uma botnet SSH, a construção de um scanner de portas, a criação de uma exploração, a replicação do Conficker e o comprometimento em massa via FTP.
-
Investigações forenses com Python
Este capítulo se concentra no uso do Python para investigações forenses digitais. Ele fornece exemplos para recuperar itens excluídos, localizar geograficamente indivíduos, extrair artefatos do registro do Windows, examinar metadados de documentos e investigar artefatos de dispositivos móveis e aplicativos.
-
Análise de tráfego de rede com Python
Este capítulo ensina você a usar o Python para analisar o tráfego de rede. Os scripts apresentados aqui se concentram na localização geográfica de endereços IP a partir de capturas de pacotes, analisando o tráfego de botnets, investigando kits de ferramentas DDoS populares, descobrindo varreduras de chamariz e frustrando sistemas de detecção de intrusão.
-
Desordem sem fio com Python
Este capítulo se concentra em dispositivos Bluetooth e sem fio. Ele fornece exemplos de como analisar e farejar o tráfego sem fio, identifica redes sem fio ocultas, constrói um keylogger sem fio, comanda remotamente veículos aéreos não tripulados, identifica kits de ferramentas sem fio maliciosos em uso, explora as vulnerabilidades do Bluetooth e persegue os rádios Bluetooth.
-
Recon na Web com Python
Este capítulo examina o uso do Python para descartar informações na Internet, com exemplos que incluem como navegar anonimamente na Web pelo Python, raspar sites populares de mídia social, trabalhar com APIs de desenvolvedores e criar um email de spear-phishing.
-
Evasão de antivírus com Python
Este capítulo final mostra como criar um malware que evita programas antivírus. Também mostra como criar um script para carregar o malware em um antivírus online. Ele usa código malicioso da estrutura Metasploit para gerar algum código de shell no estilo C. Um simples shell de banda do Windows é usado para vincular o processo cmd.exe a uma porta TCP que você escolher, permitindo conectar-se remotamente a uma máquina e emitir comandos interagindo com o processo cmd.exe.
Mais sobre o livro Violent Python
Como você pode ver, o Violent Python cobre alguns assuntos bastante interessantes para hackers e interessados em segurança da informação. Ele tem dezenas de receitas empacotadas em suas 288 páginas, e você provavelmente ficaria surpreso com o tipo de resultados facilmente alcançados com o Python.
Infelizmente, as receitas são enumeradas em detalhes, então você deve fazer uma pesquisa por conta própria para descobrir como e por que algumas codificações funcionam. No entanto, este é um excelente ponto de partida para aprender mais sobre as habilidades de segurança da informação do Python e se surpreender com a profundidade da linguagem. Aqui estão algumas das receitas mais interessantes que o livro do Violent Python cobre:
- Desenvolvendo crackers de senha offline e online
- Recriando Conficker
- Interagindo com o Metasploit e o Nmap
- Fornecendo uma exploração para um estouro de buffer baseado em pilha
- Explorando bancos de dados SQLite, o registro do Windows e backups do iTunes
- Correlacionando o tráfego de rede para locais físicos e desenvolvendo mapas baseados no Google Earth
- Construindo um botnet SSH
- Evasão de sistemas antivírus e IDS
- Analisando sites, Tweets e metadados
- Criando campanhas de email de engenharia social
- Seqüestro de um drone
- Executando ataques baseados em Bluetooth
- Analisando e registrando tráfego sem fio
A introdução em si mostra como você pode configurar um ambiente de desenvolvimento Python e atua como um ótimo curso intensivo para a linguagem. Ele ajuda a colocar seu ambiente de desenvolvimento em funcionamento e pode até servir como uma atualização, se você já aprendeu o idioma, mas perdeu o contato recentemente. No entanto, para aqueles que são completamente novos no Python e nunca tocaram na linguagem antes, isso pode passar por sua cabeça. Obviamente, seria difícil para qualquer livro abordar o Python desde o básico e depois entrar em algo como drones de hackers e explorar redes sem fio usando a linguagem, tudo em menos de 300 páginas.
Além disso, várias explorações fornecidas no livro discutem as possíveis ações que um código específico bloqueia, em vez de fornecer uma explicação linha a linha do código. Para quem pode ler declarações comuns em Python, será mais fácil entender e implementar mais rapidamente o material principal. No entanto, se você tiver pouca ou nenhuma experiência com o idioma, poderá achar o livro Violent Python um pouco esmagador. Se você deseja ter uma experiência melhor, é melhor fazer o curso gratuito de dois dias do Google ou optar por outros cursos práticos (geralmente gratuitos) sobre os fundamentos do Python.
Agora, você pode pensar no que foi dado até agora que o Violent Python é para programadores de nível superior, mas é importante observar que você não precisa de habilidades linguísticas no nível de especialista para apreciar o material do livro. Se você gosta de aprender e aprender com a tentativa e erro e sujar as mãos, isso é algo que definitivamente vale a pena tentar. De fato, você pode aprender usos gerais do Python e também aprender o material de segurança da informação fornecido neste livro ao mesmo tempo. Quanto ao código, é o mais simples e limpo possível. O código é bem escrito e bem estruturado, e a narrativa é mantida informal para facilitar as coisas, com o uso de jargões reduzido ao mínimo.
A maior parte do conteúdo deve ser acessível, mesmo para iniciantes, com um entendimento fraco do jargão e com pouca experiência. Ao mesmo tempo, o tipo de material presente neste livro é único e interessante demais para ser ignorado, mesmo para desenvolvedores experientes em Python.
Os autores também dedicaram bastante atenção e cuidado às receitas para torná-las significativas, em vez de apenas torná-las excessivamente chamativas. Além disso, enquanto os scripts foram estruturados em módulos, este livro não é apenas uma coleção de scripts copiados e colados. Em vez disso, a maioria das receitas é precedida por informações básicas interessantes e muitas vezes divertidas, o que torna o livro ainda mais divertido.
O livro Violent Python também foi escrito para configurar cenários e objetivos claros, desde a solução de problemas de investigação até a recriação de ataques maliciosos e até a execução de ataques apenas por causa disso. As curiosidades históricas apresentadas também podem rivalizar com o valor das próprias receitas.
Embora todas as receitas sejam muito interessantes, há algumas que podem parecer impraticáveis no valor da superfície. Por exemplo, a maioria dos profissionais de segurança da informação provavelmente não precisa derrubar um drone ou executar uma botnet SSN. Ainda assim, essas receitas têm, na raiz, conceitos fundamentais que podem ser muito úteis, como poder interagir com vários hosts por meio do SSH e injetar pacotes no tráfego sem fio. Esses conceitos podem ser aplicados a atividades de segurança da informação, como testes de penetração.
O foco exclusivo no Python também pode ser uma desvantagem para o leitor, já que algumas receitas exigem conhecimento externo para realmente saber o que está acontecendo nos bastidores. Vejamos a receita de exploração, que mostra como oferecer uma exploração através do Python. Por si só, esta receita pode ser um excelente modelo para o desenvolvimento de explorações de prova de conceito baseadas em rede. O capítulo também começa com uma breve olhada nos estouros de buffer baseados em pilha. No entanto, ele não discute a identificação da vulnerabilidade, criando o código de shell, o gerenciamento de memória x86 ou a linguagem assembly, todos fora do escopo do livro, mas relevantes para a própria exploração.
Uma conclusão do Violent Python Book
Como você pode entender, o livro faz muito, além de omitir muito, e é compreensível. Pode ser difícil atender às necessidades de todos os leitores e a todos os níveis de conhecimento e habilidade. As barras laterais têm erros e truques comuns, dicas e outras informações para ajudar a solucionar algumas das lacunas no conhecimento. Cada capítulo também possui várias referências para estudos adicionais, o que é altamente recomendado se você ler este livro sobre Violent Python.
Artigos recomendados
Aqui estão alguns artigos que ajudarão você a obter mais detalhes sobre a Violent Python Book Review, basta acessar o link.
- Quais são os benefícios e as limitações das perguntas da entrevista do AJAX?
- 25 perguntas e respostas TOP da entrevista em Python
- Introdução ao Python e Django para desenvolvimento Web
- Quais são os benefícios e limitações do uso de Python?
- Desempenho de Python x Ruby Qual é a melhor tecnologia?