SlideShare a Scribd company logo
1 of 18
PYTHON PENTESTING
Análise de Redes Usando Python
Marcelo Rodrigues – marcelorodriguesss@gmail.com
Faculdade Evolução – Maio 2016
IX Semana de Gestão e Tecnologia
About.me
 Marcelo Rodrigues
 Graduado em Redes de Computadores
 Mestrado em Ciências
 Analista de Sistemas
 Prof. Faculdade Evolução
 Certificação Linux – LPIC 2
 Entusiata Software Livre
O QUE É PENTESTING?
 Pentesting é um teste que mede a
segurança da informação de um empresa.
Verifica-se a segurança da informação na
rede da empresa, nos bancos de dados,
nos servidores de rede e tudo que seja
especificado pela empresa.
 No final do Pentesting deve-se apresentar
um relatório detalhado das fraquezas
encontradas, vulnerabilidades e os riscos
associados, assim como as soluções para
os problemas.
PENTESTER X HACKER
 Pentester e Hacker são termos similares;
 Pentesters trabalham em empresas ou organizações e usam seus
conhecimentos para evitar tentativas de invasão ou ataques hackers;
 Hackers usam seus conhecimentos para
outros propósitos como fama, venda de
vulnerabilidades por dinheiro ou por simples
inimizade;
O QUE É PYTHON?
 Python é uma linguagem de programação de alto nível,
interpretada, usa scripts e é orientada a objetos;
 Foi lançada por Guido van Rossum em 1991;
 Prioriza a legibilidade do código sobre a velocidade ou
expressividade.
 Combina uma sintaxe concisa e clara com os recursos
poderosos de sua biblioteca padrão e por módulos e
frameworks desenvolvidos por terceiros.
POR QUE PYTHON?
 Simplicidade;
 Vasta documentação (pt-br);
 Várias bibliotecas;
 Comunidade ativa;
PYTHON – SIMPLICIDADE
SOFTWARES
 Python2.7
 scapy (pip install scapy)
 tcpdump (aptitude install tcpdump)
 Linux Debian 8 – 64 bits
AMBIENTE DE TESTES
IP SCANNER E PORT SCANNER
 IP Scanner: Usado para identificar se um host está ativo
atráves de seu endereço IP usando o ECHO REQUEST e o
ECHO REPLY (PING).
 Script: ping_sweep.py
 Port Scanner: Usado quando o firewall bloqueia o protocolo
icmp. Além de verificar se o host está ativo na rede, identifica
também as portas abertas no host.
 Script: portsc.py
HALF-OPEN SCANNER
 Half-Open Scanner é um tipo especial de scanner. Esta
técnica é usada para bular as regras do firewall e sistemas de
detecção de por logs.
 Está técnica utiliza crafting, que consiste na criação de
pacotes personalizados.
 Usamos um pacote Python chamada Scapy. O Scapy permite
a customização de pacotes de rede.
HALF-OPEN SCANNER
 O cliente envia um pacote SYN para o servidor em uma porta
específica;
 Se a porta está aberta, o servidor responde com um pacote
SYN/ACK;
 Se um servidor responde com um pacote RST, a porta está
fechada;
 Script: halfopen.py
FIN SCANNER
 Algumas vezes Firewalls ou Sistemas de Detecção de Intrusão
(IDS) são configurados para detectar SYN scans. Neste caso,
usamos um FIN Scanner.
 O FIN Scanner envia um pacote TCP com somente a flag FIN
configurada.
 Se não houver resposta, isso significa que a porta está aberta;
 Se houver resposta, isso significa que a porta está fechada;
 Script: fin.py
ACK FLAG SCANNER
 O método ACK Scanner é usado para determinar se um host
está ou não protegido por um firewall ou algum tipo de
filtragem de pacotes.
 Neste método o cliente envia um pacote ACK ao servidor;
 Se não houver respostas, a porta está sendo filtrada;
 Se houver reposta, com a Flag 04, a porta não está sendo
filtrada;
 Scripts: sniffer1.py e ack.py
PING OF DEATH
 O ping da morte (ping of death) é um tipo de negação de serviço
onde o atacante deliberadamente envia pacotes do typo ping
request com tamanho maior que 65.536 bytes;
 Nesse caso, o TCP fragmenta os pacotes ao enviar pela rede;
 Normalmente o IP do atacante é trocado por um IP falso para não
ser rastreado;
 Em Python é possível criar um script para enviar vários ping
requests silmutâneamentes;
 Scripts: pingofd.py
COLETA DE INFORMAÇÕES -
WEB
 Do ponto de vista para os pentesters, a técnica de coleta de
informações é importante para a manipulação de erros;
 Esses erros podem ser incluídos em relatórios para eventuais
correções;
 Informações coletados:
 Sistema operacional;
 Software Web;
 Aplicações Web;
 Script: info.py
VERIFICAÇÃO CABEÇALHO HTTP
 Uma outra maneira de se obter informações é verificando o
cabeçalho de páginas web;
 O cabeçalho http provê muitas informações sobre o servidor;
 O script é bem menor que o anterior;
 Script: header.py
OBRIGADO
LIVRO
MUITO BOM!

More Related Content

Viewers also liked

Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...
Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...
Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...riseagrant
 
Millward Brown digital & media predictions 2016 : tendance n°4 Programmatique
Millward Brown digital & media predictions 2016 : tendance n°4 ProgrammatiqueMillward Brown digital & media predictions 2016 : tendance n°4 Programmatique
Millward Brown digital & media predictions 2016 : tendance n°4 ProgrammatiqueKantar Millward Brown France
 
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016OpinionWay
 
The responsive consumer experience
The responsive consumer experienceThe responsive consumer experience
The responsive consumer experienceluchendo
 
Digital Day - Meet the connected reader et Benefit Matrix
Digital Day - Meet the connected reader et Benefit MatrixDigital Day - Meet the connected reader et Benefit Matrix
Digital Day - Meet the connected reader et Benefit MatrixMEDIA.figaro
 
Opinionway / PLUGR : Digital Trust Index - Janvier 2016
Opinionway / PLUGR : Digital Trust Index - Janvier 2016Opinionway / PLUGR : Digital Trust Index - Janvier 2016
Opinionway / PLUGR : Digital Trust Index - Janvier 2016contactOpinionWay
 
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...MONA
 
Réussir à l'international grâce au digital en 2016
Réussir à l'international grâce au digital en 2016Réussir à l'international grâce au digital en 2016
Réussir à l'international grâce au digital en 2016Technofutur TIC
 
Most Influential Brands
Most Influential BrandsMost Influential Brands
Most Influential BrandsIpsos France
 
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017contactOpinionWay
 
Bringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusBringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusCTruncer
 
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des Marques
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des MarquesMarques préférées des Français en 2014 - Etude Toluna/Grand Livre des Marques
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des MarquesMagazineLSA
 
Observatoire des loisirs des Français (avril 2015)
Observatoire des loisirs des Français (avril 2015)Observatoire des loisirs des Français (avril 2015)
Observatoire des loisirs des Français (avril 2015)Kantar
 
Médiaplanning in store slideshare
Médiaplanning in store slideshareMédiaplanning in store slideshare
Médiaplanning in store slideshareMEDIA.figaro
 
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013Lise Déchamps
 
BRAND PREFERENCE
BRAND PREFERENCEBRAND PREFERENCE
BRAND PREFERENCE366
 
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017MEDIA.figaro
 
Pour que les marques comptent !
Pour que les marques comptent !Pour que les marques comptent !
Pour que les marques comptent !Dagobert
 

Viewers also liked (20)

Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...
Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...
Shifting the Paradigm: Developing Tools for Evaluating Renewable Energy Pote...
 
Millward Brown digital & media predictions 2016 : tendance n°4 Programmatique
Millward Brown digital & media predictions 2016 : tendance n°4 ProgrammatiqueMillward Brown digital & media predictions 2016 : tendance n°4 Programmatique
Millward Brown digital & media predictions 2016 : tendance n°4 Programmatique
 
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016
OpinionWay pour Solocal - Baromètre des avis en ligne - novembre 2016
 
The responsive consumer experience
The responsive consumer experienceThe responsive consumer experience
The responsive consumer experience
 
le Trade marketing
le Trade marketingle Trade marketing
le Trade marketing
 
Digital Day - Meet the connected reader et Benefit Matrix
Digital Day - Meet the connected reader et Benefit MatrixDigital Day - Meet the connected reader et Benefit Matrix
Digital Day - Meet the connected reader et Benefit Matrix
 
Opinionway / PLUGR : Digital Trust Index - Janvier 2016
Opinionway / PLUGR : Digital Trust Index - Janvier 2016Opinionway / PLUGR : Digital Trust Index - Janvier 2016
Opinionway / PLUGR : Digital Trust Index - Janvier 2016
 
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...
L'importance des avis en ligne dans le processus d'achat jb soubaigne mopa 27...
 
Réussir à l'international grâce au digital en 2016
Réussir à l'international grâce au digital en 2016Réussir à l'international grâce au digital en 2016
Réussir à l'international grâce au digital en 2016
 
Most Influential Brands
Most Influential BrandsMost Influential Brands
Most Influential Brands
 
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017
OpinionWay pour Groupama - Devenir le parent de ses parents - Janvier 2017
 
Classement BrandZ Top 100 2016
Classement BrandZ Top 100 2016Classement BrandZ Top 100 2016
Classement BrandZ Top 100 2016
 
Bringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusBringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirus
 
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des Marques
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des MarquesMarques préférées des Français en 2014 - Etude Toluna/Grand Livre des Marques
Marques préférées des Français en 2014 - Etude Toluna/Grand Livre des Marques
 
Observatoire des loisirs des Français (avril 2015)
Observatoire des loisirs des Français (avril 2015)Observatoire des loisirs des Français (avril 2015)
Observatoire des loisirs des Français (avril 2015)
 
Médiaplanning in store slideshare
Médiaplanning in store slideshareMédiaplanning in store slideshare
Médiaplanning in store slideshare
 
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013
Réinventer le parcours client multicanal - Fevad McKinsey - Juin 2013
 
BRAND PREFERENCE
BRAND PREFERENCEBRAND PREFERENCE
BRAND PREFERENCE
 
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017
LuxBox MEDIA.figaro LuxLiberty 17 janvier 2017
 
Pour que les marques comptent !
Pour que les marques comptent !Pour que les marques comptent !
Pour que les marques comptent !
 

Similar to Python pentesting: Análise de redes usando Python

Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de RedesDisciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de RedesRogério Almeida
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesBruno Alexandre
 
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linuxguest4e5ab
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Redes -aula_8_-_seguranca_2_
Redes  -aula_8_-_seguranca_2_Redes  -aula_8_-_seguranca_2_
Redes -aula_8_-_seguranca_2_cleitonfcsantos
 
Nota de aula seguranca da informacao - redes de computadores
Nota de aula   seguranca da informacao - redes de computadoresNota de aula   seguranca da informacao - redes de computadores
Nota de aula seguranca da informacao - redes de computadoresfelipetsi
 
P3nte5t w1th Arm1t4ge - Lucas Oliveira Dantas
P3nte5t w1th Arm1t4ge - Lucas Oliveira DantasP3nte5t w1th Arm1t4ge - Lucas Oliveira Dantas
P3nte5t w1th Arm1t4ge - Lucas Oliveira DantasPotiLivre Sobrenome
 
Estimação dos parâmetros de uma fila de espera M/M/1 usando Python
Estimação dos parâmetros de uma fila de espera M/M/1 usando PythonEstimação dos parâmetros de uma fila de espera M/M/1 usando Python
Estimação dos parâmetros de uma fila de espera M/M/1 usando Pythoneurosigdoc acm
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosRaphael Queiroz
 

Similar to Python pentesting: Análise de redes usando Python (20)

Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de RedesDisciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Aula 8.0 - Segurança
Aula 8.0 - SegurançaAula 8.0 - Segurança
Aula 8.0 - Segurança
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
 
Netfilter + Iptables
Netfilter + IptablesNetfilter + Iptables
Netfilter + Iptables
 
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linux
 
Artigo cientifico
Artigo cientifico Artigo cientifico
Artigo cientifico
 
Snort
SnortSnort
Snort
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Firewall
FirewallFirewall
Firewall
 
ping.pptx
ping.pptxping.pptx
ping.pptx
 
Redes -aula_8_-_seguranca_2_
Redes  -aula_8_-_seguranca_2_Redes  -aula_8_-_seguranca_2_
Redes -aula_8_-_seguranca_2_
 
Nota de aula seguranca da informacao - redes de computadores
Nota de aula   seguranca da informacao - redes de computadoresNota de aula   seguranca da informacao - redes de computadores
Nota de aula seguranca da informacao - redes de computadores
 
P3nte5t w1th Arm1t4ge - Lucas Oliveira Dantas
P3nte5t w1th Arm1t4ge - Lucas Oliveira DantasP3nte5t w1th Arm1t4ge - Lucas Oliveira Dantas
P3nte5t w1th Arm1t4ge - Lucas Oliveira Dantas
 
Estimação dos parâmetros de uma fila de espera M/M/1 usando Python
Estimação dos parâmetros de uma fila de espera M/M/1 usando PythonEstimação dos parâmetros de uma fila de espera M/M/1 usando Python
Estimação dos parâmetros de uma fila de espera M/M/1 usando Python
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores Instantâneos
 
Snort "O sniffer"
Snort "O sniffer"Snort "O sniffer"
Snort "O sniffer"
 

Python pentesting: Análise de redes usando Python

  • 1. PYTHON PENTESTING Análise de Redes Usando Python Marcelo Rodrigues – marcelorodriguesss@gmail.com Faculdade Evolução – Maio 2016 IX Semana de Gestão e Tecnologia
  • 2. About.me  Marcelo Rodrigues  Graduado em Redes de Computadores  Mestrado em Ciências  Analista de Sistemas  Prof. Faculdade Evolução  Certificação Linux – LPIC 2  Entusiata Software Livre
  • 3. O QUE É PENTESTING?  Pentesting é um teste que mede a segurança da informação de um empresa. Verifica-se a segurança da informação na rede da empresa, nos bancos de dados, nos servidores de rede e tudo que seja especificado pela empresa.  No final do Pentesting deve-se apresentar um relatório detalhado das fraquezas encontradas, vulnerabilidades e os riscos associados, assim como as soluções para os problemas.
  • 4. PENTESTER X HACKER  Pentester e Hacker são termos similares;  Pentesters trabalham em empresas ou organizações e usam seus conhecimentos para evitar tentativas de invasão ou ataques hackers;  Hackers usam seus conhecimentos para outros propósitos como fama, venda de vulnerabilidades por dinheiro ou por simples inimizade;
  • 5. O QUE É PYTHON?  Python é uma linguagem de programação de alto nível, interpretada, usa scripts e é orientada a objetos;  Foi lançada por Guido van Rossum em 1991;  Prioriza a legibilidade do código sobre a velocidade ou expressividade.  Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros.
  • 6. POR QUE PYTHON?  Simplicidade;  Vasta documentação (pt-br);  Várias bibliotecas;  Comunidade ativa;
  • 8. SOFTWARES  Python2.7  scapy (pip install scapy)  tcpdump (aptitude install tcpdump)  Linux Debian 8 – 64 bits
  • 10. IP SCANNER E PORT SCANNER  IP Scanner: Usado para identificar se um host está ativo atráves de seu endereço IP usando o ECHO REQUEST e o ECHO REPLY (PING).  Script: ping_sweep.py  Port Scanner: Usado quando o firewall bloqueia o protocolo icmp. Além de verificar se o host está ativo na rede, identifica também as portas abertas no host.  Script: portsc.py
  • 11. HALF-OPEN SCANNER  Half-Open Scanner é um tipo especial de scanner. Esta técnica é usada para bular as regras do firewall e sistemas de detecção de por logs.  Está técnica utiliza crafting, que consiste na criação de pacotes personalizados.  Usamos um pacote Python chamada Scapy. O Scapy permite a customização de pacotes de rede.
  • 12. HALF-OPEN SCANNER  O cliente envia um pacote SYN para o servidor em uma porta específica;  Se a porta está aberta, o servidor responde com um pacote SYN/ACK;  Se um servidor responde com um pacote RST, a porta está fechada;  Script: halfopen.py
  • 13. FIN SCANNER  Algumas vezes Firewalls ou Sistemas de Detecção de Intrusão (IDS) são configurados para detectar SYN scans. Neste caso, usamos um FIN Scanner.  O FIN Scanner envia um pacote TCP com somente a flag FIN configurada.  Se não houver resposta, isso significa que a porta está aberta;  Se houver resposta, isso significa que a porta está fechada;  Script: fin.py
  • 14. ACK FLAG SCANNER  O método ACK Scanner é usado para determinar se um host está ou não protegido por um firewall ou algum tipo de filtragem de pacotes.  Neste método o cliente envia um pacote ACK ao servidor;  Se não houver respostas, a porta está sendo filtrada;  Se houver reposta, com a Flag 04, a porta não está sendo filtrada;  Scripts: sniffer1.py e ack.py
  • 15. PING OF DEATH  O ping da morte (ping of death) é um tipo de negação de serviço onde o atacante deliberadamente envia pacotes do typo ping request com tamanho maior que 65.536 bytes;  Nesse caso, o TCP fragmenta os pacotes ao enviar pela rede;  Normalmente o IP do atacante é trocado por um IP falso para não ser rastreado;  Em Python é possível criar um script para enviar vários ping requests silmutâneamentes;  Scripts: pingofd.py
  • 16. COLETA DE INFORMAÇÕES - WEB  Do ponto de vista para os pentesters, a técnica de coleta de informações é importante para a manipulação de erros;  Esses erros podem ser incluídos em relatórios para eventuais correções;  Informações coletados:  Sistema operacional;  Software Web;  Aplicações Web;  Script: info.py
  • 17. VERIFICAÇÃO CABEÇALHO HTTP  Uma outra maneira de se obter informações é verificando o cabeçalho de páginas web;  O cabeçalho http provê muitas informações sobre o servidor;  O script é bem menor que o anterior;  Script: header.py