Logo de l'organisme de formation

ENTREZ DANS L'UNIVERS ESIC

Représentation de la formation : Python pour tests d'intrusion

Python pour tests d'intrusion

Formation mixte
Accessible
Durée : 21 heures (3 jours)
Durée :21 heures (3 jours)
HT
Se préinscrire
Durée :21 heures (3 jours)
HT
Se préinscrire
Durée :21 heures (3 jours)
HT
Se préinscrire

Besoin d’adapter cette formation à vos besoins ?

N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !

Formation créée le 30/06/2021. Dernière mise à jour le 13/07/2022.

Version du programme : 1

Programme de la formation

La formation Langage Python pour tests d'intrusion vous permettra de maîtriser les fondamentaux, de développer des scripts d'exploitation, d'adapter les outils existants et d'utiliser Python pour réaliser des tests d'intrusion.

Objectifs de la formation

  • Mettre en pratique les compétences nécessaires en scripting pour créer vos propres outils en Python pour un test d'intrusion.

Profil des bénéficiaires

Pour qui
  • Pentesters, développeurs et administrateurs.
Prérequis
  • Avoir des connaissances généralistes en programmation.

Contenu de la formation

  • Langage
    • Appel de fonctions aspects avancés : *args, **argk
    • Lambda, filter et map
    • Utilisation avancée des modèles de données : list, dic, stack, queue
    • Utilisation avancée des fonctions : passages d'arguments
    • Aspects avancés de la Programmation Orientée Objets (POO)
    • Travaux pratiques : Création d'un programme avec exploitation avancée des collections de Python, Changement des types de passage d'argument
  • Programmation multithread
    • Concepts de bases : programme, thread, synchronisation
    • Gestion de threads : modules thread, threading
    • Threads et la Programmation Orientée Objets
    • Gestion des aspects concurrentiels : lock, mutex, sémaphores...
    • Threads et échanges de données
    • Notion de pool de threads
    • Travaux pratiques : Création d'un programme lançant plusieurs threads, Synchronisation de ces threads pour obtenir un résultat dépendant de traitements parallèles, Protection des données globales du programme écrit grâce aux mutex et lock, Ajout d'un sémaphore pour l'accès à des ressources en nombre restreint, Echange de données entre threads lancés, Travail sur la notion de pool de threads disponibles
  • Programmation réseau avec les sockets
    • Rappels sur le TCP/IP et concepts de base de l'API socket
    • Utilisation du module socket
    • Socket en mode connecté : TCP ou stream
    • Socket en mode non connecté : UDP ou datagram
    • Les sockets et la Programmation Orientée Objets
    • Combinaison des sockets et des threads
    • Travaux pratiques : Création d'un programme serveur puis client échangeant des données via les sockets en TCP puis UDP, Démonstration de l'avantage du multi-threading dans ce cas pour les serveurs
  • Python et XML
    • Concepts de base : DOM (Document Object Model), SAX (Simple API for XML), Parser...
    • Gestion de fichiers XML selon SAX et selon DOM
    • Requêtage Xpath et transformation avec XSL
    • Travaux pratiques : Création d'un programme de lecture d'un flux de données de taille importante via SAX, Mise à jour d'une structure via DOM
  • Programmation graphique
    • Différentes API : Tkinter, wxPython, Qt/UI API
    • Tkinter : présentation et mise en oeuvre
    • Présentation et mise en œuvre : API wxPython, API Qt/UI
    • Travaux pratiques : Ecriture d'un programme utilisant Qt/UI d'échange utilisateur avec l'interfac
  • Persistance de données
    • Concepts de base : sérialisation / désérialisation
    • Différents modèles de persistance : Pickle...
    • Persistance texte avec JSON et XML
  • Les bases de données
    • Concepts de base : SQL, NoSQL, tables, curseur
    • Création d'une base avec les modules Gadfly
    • Gestion de la base de données SQLite et MySQL
    • Travaux pratiques : Création d'un programme qui sérialise un flux JSON, Ecriture d'un programme d'accès à une base de données MySQL, Mise au point de requêtes de lecture, inertion, mise à jour depuis Python
  • Développement Web avec Django
    • Architecture d'applications Web et les concepts de bases
    • Présentation du Framework MVC Django
    • Installation et configuration minimale de Django
    • Modèle de l'application Django et publication
    • Eléments de MVC : vue, modèle et échanges HTTP
    • Echanges HTTP et formulaires
    • Bases de données, modèle et ORM
    • Travaux pratiques : Création d'une application avec Django, Configuration de l'application, Ecriture des modèles, mappés via un ORM sur une base de données, Ecriture des vues avec données extraites des modèles
  • Intégration Python/C et Python/Java
    • Présentation générale et mise en oeuvre de SWIG
    • Python/C et les packages : Natifs C, Natifs Java
    • Travaux pratiques : Création d'un programme interfaçant avec des API écrites en C et en Java
  • Mise au point de programme
    • Débogage : exécution pas à pas
    • Modes : verbose et trace
    • Analyse des performances et profiling
Équipe pédagogique

Nos formations dont animées par des experts reconnus dans leur domaine possédant une expérience sur le terrain significative et des compétences pédagogiques reconnues.

Suivi de l'exécution et évaluation des résultats
  • Entretien permettant l’analyse des besoins des participants et/ou questionnaire de positionnement
  • L’évaluation des compétences est réalisée : Par des exercices pratiques et/ou mises en situation, tout au long de la formation Par un exercice de synthèse et/ou un questionnaire d’auto-évaluation et/ou une certification, en fin de formation
  • Questionnaire de satisfaction à chaud en fin de formation, et à froid à 3 mois
  • Feuille de présence émargée par demi-journée par les stagiaires et le formateur
  • Certificat de réalisation de l’action de formation.
Ressources techniques et pédagogiques
  • Méthode participative
  • Étude de cas / Mise en situation.
  • Exposé et réflexion sur ses propres projets
  • Exposés, aides visuelles, support de cours, exercices pratiques d’utilisation
  • Questions/réponses entre les stagiaires et le formateur

Qualité et satisfaction

https://esic-online.com/qualite/

Lieu

ESIC MALAKOFF 36-38 avenue Pierre Brosolette 92240 MALAKOFF

Délai d'accès

2 semaines

Accessibilité

Les personnes atteintes de handicap souhaitant suivre cette formation sont invitées à nous contacter directement, afin d’étudier ensemble les possibilités de suivre la formation.