Python para Hackers
Introduo
Python uma das linguagens mais usadas no mundo, uma linguagem interpretada de uso geral,
a programao em Python muito simples e poderosa ao mesmo tempo.
A linguagem Python cresceu bastante por ser uma linguagem de alto nvel, interpretada,
orientada a objetos, tipagem dinmica e forte
Em linhas gerais Python uma linguagem completa que pode ser usada nos mais variados
cenrios.
Python na segurana
O Python um grande aliado na segurana computacional, se tratando de segurana sempre
precisamos desenvolver de forma rpida e efetiva as nossas ferramentas.
Quase 50% das ferramentas de Pentest so desenvolvidas em Python.
O que Pentest?
Pentest vem de Penetration Test um teste de invaso em sistemas computacionais que
garante a segurana 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.
Programao Hacker com Python
A base de tudo na programao de ferramentas para Pentest em Python conhecer tanto a
linguagem quanto os conceitos do Pentest.
Os princpios do Pentest so 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 disposio 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.
Instalao do Scapy
Para instalar o Scapy voc j devera ter o Python instalado, nesse caso vamos usar a verso 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
tcp = TCP(dport=80, flags=S) #Porta de destino e Flag-tcp
pkt = ip/tcp
#Assembly TCP/IP
send(pkt)
#Envio do pacote
Nesse simples Script criamos e enviamos um pacote TCP com a Flag Syn pedindo uma conexo
ao host de destino.
No script acima enviamos o pacote com a funo send() nela o pacote apenas enviado sem
nenhuma resposta:
Para obter uma resposta do pacote podemos usar as funes 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 necessrio colocar a funo de envio dentro das
variveis reservados do Scapy: ans,unans
#!/usr/bin/python3
from scapy.all import *
ip = IP(dst=192.168.0.1)
tcp = TCP(dport=80, flags=S)
pkt = ip/tcp
ans,unans = sr(pkt)
ans.summary()
Dessa forma vamos obter a seguinte resposta:
IP / TCP 192.168.0.100:ftp_data > 192.168.0.1:http S ==> IP / TCP
192.168.0.1:http > 192.168.0.100:ftp_data SA
Criar ferramentas para Network Hacking
Se voc quer aprender a criar suas prprias ferramentas de Network Hacking ns
temos um curso que ensina como de forma bastante simples:
Curso Python para Hackers
Um curso que ensina desde o bsico da programao em Python ate a criao de
suas prprias ferramentas Para Hacking, conceitos bsicos de Pentest so
abordados.
Aulas: 43
Instrutores: Marcos Castro e Weidsom Nascimento.
https://www.udemy.com/python-hackers/?couponCode=ebook
Referncias:
Cursos de Programao: http://cursosdeprogramacao.com/
The Cracker Technology: http://www.thecrackertechnology.com/