Construindo security tools em python
4.9 (7 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
20 students enrolled

Construindo security tools em python

Aprenda usar python para desenvolver ferramentas de segurança RedTeam e testes de penetração
4.9 (7 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
20 students enrolled
Created by Marcos Bomfim
Last updated 3/2020
Portuguese
Price: $89.99
30-Day Money-Back Guarantee
This course includes
  • 17.5 hours on-demand video
  • 14 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Criar software de segurança ofencisava python
  • Como desenvolver software para security red team
  • Usar python para programar protocolos e redes de computadores
  • Técnicas utilizadas em ferramentas para pentests
  • Construir e modelar RAT ( Remote Access Control) em python
  • Construir ferramentas para reconhecimento de rede
Requirements
  • Básico da linguagem de programação em python
  • Básico do sistema operacional linux
  • Básico de redes de computadores
Description

Aprenda usar  linguagem de programação python para desenvolver ferramentas de segurança RedTeam e testes de penetração.

Grandes nomes de sucesso na área de segurança da informação diz que, "Uma fase importante para todo hacker: O momento onde todo conhecimento adquirido é colocado em prática ".

Escrever o seu próprio código/ferramenta faz de você entender realmente o que está por trás da falha ou até mesmo descobrir novas vulnerabilidades. O maior ganhador de CTF de bugbounty (HackerOne) vem se destacando por automatizar  e desenvolver suas próprias ferramentas. 

O conhecimento que você aprenderá com este curso é literalmente uma arma, saber desenvolver suas próprias ferramentas da forma correta, irá ti levar para outro nível na área segurança da informação Red Team. Meu objetivo é fazer de você um verdadeiro Coder, com uma base sólida para assim ajuda-lo melhor nos pentests.

O curso é dirigido aos profissionais de segurança da informação e a pessoas que têm interesse entender como as ferramentas funcionam por baixo dos panos, seus modelos de uso e de segurança, assim como conhecer (ou aprimorar o conhecimento) dos métodos de segurança, suas características e fragilidades, bem como as técnicas utilizadas  por varias ferramentas conhecida no mundo cibernético.


Apaixone-se por Python, vá além e comece a escrever suas próprias armas!

Te espero nas aulas! HACKTHEPLANET

Who this course is for:
  • Profissionais da segurança da informação
  • Desenvolvedores que estão migrando para segurança
  • Curiosos sobre hacking
  • Hackers éticos e pentesters
  • Administradores de segurança de sistemas e redes
Course content
Expand all 104 lectures 17:30:03
+ Módulo 00 - Introdução
5 lectures 38:12

Introdução

Preview 00:59

Apresentação das ferramentas que iremos  utilizar no desenvolvimento e apresentação do módulo de apoio.

Introdução - Instalação das ferramentas
09:02

É importe configurar o ambiente de desenvolvimento para que você consiga replicar os códigos.

Instalação: Nettools e Openssh
08:17

Instalar o  python2 e python3 no linux, como também o gerenciador de pacotes do python para ambas versões.

Instalacao do python 2 e python 3
08:58

Criar uma conta no Github para versionamento dos projetos que serão desenvolvidos durante o curso.

Trabalhando com git
10:56
+ Módulo 01 - Programação Orientada a Objetos (POO)
9 lectures 01:22:32

saber classificar, organizar e abstrair conceitos da vida era para a programação. 

Teórica 01 - Programação orientada a objetos
09:26

Saber implementar encapsulamento de dados para objetos, poder usar recursos importante como herança, polimorfismo e métodos abstratos em python.

Teórica 02 - Programação orientada a objetos
09:53

usar encapsulamento da forma correta para classes em python

Prática 01 - Métodos e atributos
10:01

métodos estáticos e construtor padrão do python

Prática 02 - Init e métodos estáticos
08:21

aplicar o conceito de POO para utilizar reaproveitamento de código.

Prática 03 - Herança
09:28

implementar o conceito de herança de duas ou mais classes

Prãtica 04 - Herança múltipla
09:50

implementar o polimorfismo para permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam

Prática 05 - Polimorfismo
11:30

método estáticos em python

Prática 06 - Métodos estatísticos
06:55

usar o super vai chamar o construtor da classe pai

Prática 07 - Método super
07:08
+ Módulo 02 - Manipulando recursos do Sistema Operacional
17 lectures 02:51:39

manipular algumas API do sistema operacional utilizando o modulo os.

Teórica 01 - Interfaces de sistema operacional
07:46

Implementar threads (execução paralela) para determinada atividade que requer muito processamento.

Teórica 02 - Thread execução paralela
12:21

Usar as funções providas do módulo os do python

Prática 01 - Módulo os
11:16

Criar, remover, editar arquivos usando a linguagem de programação python

Prática 02 - Manipulação de arquivos
11:20

Manipular comandos Linux com Python

Prática 03 - Executando comandos
11:03

Manipular comandos Linux  e filtrar a saída

Prática 03 - Executando comandos subprocess
10:19

implementar algumas funções úteis nos nomes de caminho. Para ler ou gravar arquivos open(), consulte e, para acessar o sistema de arquivos.

Prática 03 - Sistema de arquivos os.path
11:30

Saber criar scripts para fazer busca por arquivos em um determinada arvore de diretórios no sistema.

Prática 04 - Buscando diretórios
09:36

Saber Parâmetros e funções específicos do sistema

Prática 05 - Módulo sys
12:29

Entender o conceito de threads ou encadeamento de execução, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executada.

Prática 06- Iniciando com threads
06:55

Implementar comunicação entre Threads, Usando o módulo Queue podemos fazer uma Thread, que está sendo executada

Prática 06- Comunicação entre threads
07:09

Trabalhar com versionamento de código usando o github

Prática 06- Upload código no github 1
06:12

Trabalhar com versionamento de código usando o github

Prática 06- Upload código no github 2
08:05

Comunicar entre threads para extrair dados

Prática 07- Comunicação entre threads
13:24

Saber implementar e criar processos paralelos para executar tarefas pesada no software.

Prática 08- Módulo multiprocessing
12:25

Saber usar objetos específicos do multiprocessing para estabelecer uma comunicação efetiva entre processos.

Prática 09- Comunicação entre processos usando multiprocessing
09:04

Implementar multi processos em qualquer sistema operacional usando o módulo multiprocessing

Prática 10- Examplo usando multiprocessing
10:45
+ Módulo 03 - Padrões de ferramentas e métodos de organização
8 lectures 01:20:27

Usar corretamente a função format do objecto str() do python

Prática 01 - Tempates com string
10:43

Usar corretamente a função format do objecto str() do python

Prática 01 - Exemplos de string com format
08:25

Usar cores para modelar ferramentas organizadas

Prática 01 - Imprimindo cores no terminal Python
08:56

Usar o módulo argparser para implementar sistema de command line bem organizado

Prática 02 - Argumentos no terminal ( argparse )
11:07

Usar o formato json object para armazenar dados em objetos iteráveis.

Prática 03 - Armazenamento de Dados (json)
10:16

Implementar arquitetura de arquivos para um determinado software de segurança

Prática 04 - Arquivos de configurações
07:58

Criar ou abstrair o conceito de modulação de ferramentas para que outros contribuidores possam contribuir de forma simples e rápida.

Prática 05 - Modulação em python
09:34

Criar ou abstrair o conceito de modulação de ferramentas para que outros contribuidores possam contribuir de forma simples e rápida.

Prática 06 - Criando plugins em python
13:28
+ Módulo 04 - Teórica -Programação de redes com Python
18 lectures 03:12:16

Conhecer o modelo de rede OSI (acrônimo do inglês Open System Interconnection) que tem como objetivo de ser um padrão, para protocolos de comunicação entre os mais diversos sistemas em uma rede local (Ethernet)

Teórica - Modelo OSI
10:57

Conhecer a teoria por trás de cada camada implementada no modelo OSI.

Teórica - Camadas de software OSI
11:23

Saber implementar comunicação entre redes de computações usando o modulo padrão do python socket no protocolo TCP

Teórica - Programação de socket TCP
07:12
  • Saber como funciona Camada de Rede, protocolos de internet

  • Conhecer as RFC  de cada protocolo

  • Conhecer como funciona o modelo TCP IP

Camada de Rede, protocolo de internet
10:14
  • Conhecer o que é roteamento

  • Saber como funciona a tabela de roteamento

  • Implementar Endereços IP

  • Implementar comunicação em rede local

  • Implementar comunicação em rede externa

  • Funcionamento do protocolo ARP

Roteamento
11:22
  • Saber estabelecer uma comunicação direta ou reversa

Conexão direta e reversa usando protocolo TCP
11:39


  • Saber como funciona descoberta de máquinas em redes local usando o protocolo ARP

  • Implementar ataques como ARP spoof ou ARP cache poison

Protocolo ARP
12:44
  • Como usar o módulo scapy para capturar pacotes do protocolo ARP

  • Saber os campos de frame packet de uma requisição e resposta do ARP


Preview 13:14
  • Implementar pacotes usando o protocolo HTTP

  • Estabelecer comunicação HTTP usando os conceitos abordados

Protocolo HTTP (Hypertext Transfer Protocol )
08:03
  • Saber distinguir quais são as diferença entre o HTTP 1.1 e HTTP 2.0


Alterações do HTTP 1.1 para HTTP 2.0
09:44
  • Implementar, Analisar pacotes e requisições http

Demo: Protocolo HTTP na prática
05:39
  • Entender como funciona o HTTPS

  • Conhecer a importância da encriptação de dados no protocolo HTTP

  • Saber a teoria por trás dos protocolo de segurança

Preview 10:30
  • Conhecer a camada de proteção SSL e TLS 

  • Conhecer ferramentas que foram desenvolvidas para fazer bypass

  • Conhecer o que há de mais atual para contornar essas proteções

SSL/TLS - Sistema de proteção de dados
08:44
  • Ser capaz de implementar e manipular pacotes na rede

  • Ser capaz de replicar ferramentas famosas para segurança

  • Ser capaz de usar técnicas como spoof e poison usando scapy

  • Saber implementar frames do protocolo ICMP

Manipulação de pacotes com Scapy - Introdução
10:13

Conhecer ferramentas do scapy e porque utiliza-las

Conhecendo o módulo scapy e suas ferramentas
11:33
  • Enviar pacotes para um determinado tipo de protocolo

  • Enviar pacotes para um camada de rede específica

  • Usar o módulo scapy para scannear redes locais

Eviando pacotes com scapy
13:31

Conhecer funções extra do scapy para diferentes tipos de implementação

Funções extras do módulo scapy
11:09
  • Implementar scanner usando funções assíncronas usando o módulo do scapy

  • Desenvolver ferramentas para redes captura em redes locais e externas

Farejamento assíncrono com scapy
14:25
+ Módulo 04 - Prática -Programação de redes com Python
15 lectures 02:49:33
  • Implementar comunicação com sockets em python

Servidor: Comunicação socket TCP m python
09:42
  • Implementar comunicação com sockets em python

Preview 09:05
  • Desenvolver um chat para conectar várias pessoas no mesmo canal.

  • Aplicar os conceitos obtidos no módulo 03 para implementar um chat do zero

Criando um chat TCP multi clientes com sockets parte 1
12:39
  • Desenvolver um chat para conectar várias pessoas no mesmo canal.

  • Aplicar os conceitos obtidos no módulo 03 para implementar um chat do zero

Criando um chat TCP multi clientes com sockets parte 2
13:18
  • Desenvolver um RAT (remote access control) para entender como funciona

  • Aplicar os conceitos obtidos no módulo 03 para implementar um RAT

  • Saber qual a diferença fundamental entre um Chat e Rat

Transformando chat em um RAT (Remote Access Control)
11:24
  • Desenvolver um RAT (Remote Access Control) do zero

Codificando a classe Sevidor RAT (Remote Access Control)
11:41
  • Desenvolver um RAT (Remote Access Control) do zero

Codificando Cliente RAT (Remote Access Control)
05:15
  • Desenvolver um RAT (Remote Access Control) do zero

Iniciando testes do software RAT( Remote Access Control)
10:16
  • Desenvolver um scanner ICMP para fazer discovery de machina em LAN ou WLAN.

Construindo um scanner usando ICMP protocol PING parte 1
11:40
  • Utilizar os conceitos obtidos no modulo 03 para criação de Threads no Scanner.

Thread: Construindo um scanner usando ICMP protocol PING parte 2
10:45
  • Utilizar os conceitos obtidos no modulo 03 para criação de Threads no Scanner.

Testes: Construindo um scanner usando ICMP protocol PING
17:09
  • Implementar arquitetura de plugins

  • Definir prototipo de funções abstratas

Preview 10:13
  • Extrair campos do protocolo HTTP

  • Filtrar dados de string usando o módulo re

  • Implementar sistema de logger

  • Filtrar pacotes por tipo de camada do scapy

  • Usar o módulo scapy_http para parsers do protocolo

Captura de campos do protocolo HTTP
10:14
  • Aplicar os conceitos utilizado no módulo 3 sobre Threads

  • Modular sistema de plugins para diferentes situações

  • Usar o módulo Queue para manipulação de pacotes

Implementação de threads assíncrona com scapy
11:26
  • Entender o conceito do ataque "homem no meio " corretamente

  • Entender sobre ataque de ARP poison ou ARP spoof

  • Entender como funciona as requisições POST e GET na prática

Capturando credências HTTP com Sniffer
14:46
+ Módulo 05 - Ps_backdoor Tool : RAT usando Python e Powershell
9 lectures 01:44:03
Conhecendo o HTTPserver do python
12:14
Lógica do ps_backdoor (RAT)
09:31
Teste unitário HTTPserver
12:34
Implementação do método get e post HTTPServer
08:57
Teste conexão reversa com powershell
10:15
Modulando o ps_backdoor
11:17
Finalizando a modulação de plugins
13:13
Testando plugins e rodando a ferramenta
14:32
+ Módulo 05 - Tool sniffer : Ferramenta modular para captura de pacotes na rede
6 lectures 55:04
Estrutura do projeto
08:14
Módulo CMD - Estrutura para escrever intérpretes de comando orientados a linhas
11:12
Estrutura de documentação e configurações de plugins
08:24
Alterando configurações dinamaicamente na UI
12:53
Capturando requsições HTTP
11:03
+ Módulo 05 - SubDomains Tool : modular reconhecimento sub domínios
7 lectures 58:51
Arquitetura de arquivo e service API
09:25
Implementação da classe base de requisição web
05:58
Implementação e uso do multiprocessamento
05:54
Criando sistema de plugins
09:55
Extraindo dados da API
08:14
ArgParser, carregando módulos e testes
13:16