Python para Hackers Introdução Python é uma das linguagens mais usadas no mundo, é uma linguagem interpretada de uso geral, a programação em Python é muito simples e poderosa ao mesmo tempo. A linguagem Python cresceu bastante por ser uma linguagem de alto nível, interpretada, orientada a objetos, tipagem dinâmica e forte… Em linhas gerais Python é uma linguagem completa que pode ser usada nos mais variados cenários.
Python na segurança O Python é um grande aliado na segurança computacional, se tratando de segurança sempre precisamos desenvolver de forma rápida e efetiva as nossas ferramentas. Quase 50% das ferramentas de Pentest são desenvolvidas em Python.
O que é Pentest? Pentest vem de “Penetration Test” é um teste de invasão em sistemas computacionais que garante a segurança dos mesmos, no Pentest o profissional deve atacar o sistema como um Cracker faria na vida real. O Pentest é a arte do Hacking pois um “Pentester” é treinado para invadir sistemas.
Programação Hacker com Python A base de tudo na programação de ferramentas para Pentest em Python é conhecer tanto a linguagem quanto os conceitos do Pentest.
Os princípios do Pentest são baseados em Network Hacking, se você consegue programar a rede você consegue manipular todos os dispositivos conectados a ela! Quando você consegue invadir uma rede tudo dentro dela estará a sua disposição pois agora você controla o trafego.
Vamos aprender a desenvolver ferramentas com Python que possam manipular a rede.
Network Hacking com Python No Python temos o modulo “Scapy” desenvolvido pela “SecDev” o modulo Scapy permite um profissional configurar qualquer rede da maneira que ele quiser.
Instalação do Scapy Para instalar o Scapy você já devera ter o Python instalado, nesse caso vamos usar a versão 3.5
Linux: Execute em terminal: sudo pip3 install scapy-python3 Windows: https://github.com/phaethon/scapy
Usando o Scapy Primeiro de tudo temos que importar o scapy: from scapy.all import *
Agora podemos criar o nosso primeiro pacote:
#!/usr/bin/python3 from scapy.all import * ip = IP(dst=”192.168.0.1”)
#Camada IP e dados do destino
t = T(dport=80, flags=”S”) #Porta de destino e Flag-t pkt = ip/t
#Assembly T/IP
send(pkt)
#Envio do pacote
Nesse simples Script criamos e enviamos um pacote T com a Flag “Syn” pedindo uma conexão ao host de destino.
No script acima enviamos o pacote com a função send() nela o pacote é apenas enviado sem nenhuma resposta:
Para obter uma resposta do pacote podemos usar as funções sr() e sr1():
sr() = envia o pacote e recebe as respostas. sr1() = envia o pacote e recebe apenas a primeira resposta.
sr():
sr1():
Respostas detalhadas Para fazer a leitura detalhada das respostas é necessário colocar a função de envio dentro das variáveis reservados do Scapy: “ans,unans”
#!/usr/bin/python3 from scapy.all import * ip = IP(dst=”192.168.0.1”) t = T(dport=80, flags=”S”) pkt = ip/t ans,unans = sr(pkt) ans.summary()
Dessa forma vamos obter a seguinte resposta: IP / T 192.168.0.100:ftp_data > 192.168.0.1:http S ==> IP / T 192.168.0.1:http > 192.168.0.100:ftp_data SA
Criar ferramentas para Network Hacking Se você quer aprender a criar suas próprias ferramentas de Network Hacking nós temos um curso que ensina como de forma bastante simples:
Curso Python para Hackers
Um curso que ensina desde o básico da programação em Python ate a criação de suas próprias ferramentas Para Hacking, conceitos básicos de Pentest são abordados.
Aulas: 43 Instrutores: Marcos Castro e Weidsom Nascimento.
https://www.udemy.com/python-hackers/?couponCode=ebook
Referências: Cursos de Programação: http://cursosdeprogramacao.com/ The Cracker Technology: http://www.thecrackertechnology.com/