Questo repository contiene il materiale utilizzato per il corso accelerato di Python SOC il 14/11/2024.
Warning
Questo non deve in alcun modo essere preso come un approccio serio alla CyberSecurity, ma piuttosto come un'introduzione per principianti al potenziale rappresentato dal conoscere Python in un contesto SOC.
Note
Programma Modulo 6 - Automazione con Python
Giorno 23: Automazione di Task Ripetitivi con Python
- Mattina:
- Introduzione a Python per l'Automazione:
- Panoramica sulla sintassi di base di Python.
- Introduzione ai tipi di dati fondamentali (stringhe, numeri, liste, dizionari).
- Configurazione dell'ambiente di sviluppo (IDE) e installazione delle librerie necessarie.
- Lettura e Manipolazione di File:
- Lettura di file CSV, JSON e log.
- Utilizzo delle librerie csv, json e os per estrarre e manipolare dati.
- Esercitazioni pratiche sulla lettura e la scrittura di file.
- Introduzione a Python per l'Automazione:
- Pomeriggio:
- Automazione di Task Ripetitivi:
- Utilizzo delle librerie os, sys e subprocess per automatizzare task come l'esecuzione di comandi di sistema e la gestione di file.
- Creazione di script per il monitoraggio dei log di sistema.
- Automazione di task comuni come il backup di file, l'invio di email con risultati di script e la gestione di processi.
- Esempi Pratici di Automazione:
- Sviluppo di uno script per automatizzare il controllo e il monitoraggio di cartelle specifiche in un ambiente SOC.
- Utilizzo di script per automatizzare operazioni ripetitive come la scansione di file di log e l'invio di alert.
- Automazione di Task Ripetitivi:
Obiettivi del Modulo: Il modulo "Automazione con Python" fornisce ai partecipanti le competenze base per automatizzare task ripetitivi utilizzando Python. Verranno trattati i concetti fondamentali di lettura e manipolazione dei file e la gestione dei processi di sistema, permettendo ai partecipanti di sviluppare script utili in un contesto SOC per ottimizzare le operazioni quotidiane.
- Analizza e genera un report per le seguenti vulnerabilità:
- porte aperte (
lsof -i
) - troppi tentativi di accesso (
lastb --fullnames --time-format iso --dns
) - utenze bloccate/scadute
- porte aperte (
- Lettura di un file CSV contenente una lista di hostname/porta e controllare che siano aperte
-
Installa le estensioni consigliate, in particolare:
-
Installa un client OpenSSH:
-
Aggiungi il server alla lista di host:
- Apri il "Riquadro Comandi" (Ctrl+Shift+A o Ctrl+Shift+P a seconda dei binding)
- Digita "Remote-SSH: Add new SSH Host" e dai Invio
- Quando richiesto inserisci la seguente stringa sostituendo a
SERVER_USERNAME
eSERVER_IP
i valori corretti:ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no {SERVER_USERNAME}@{SERVER_IP} -p 2222
- Seleziona il file di configurazione nella tua home:
-
Connettiti all'host remoto:
- Apri il "Riquadro Comandi" (Ctrl+Shift+A o Ctrl+Shift+P a seconda dei binding)
- Digita "Remote-SSH: Connetti la finestra corrente all'host..." e dai Invio
- Seleziona l'host creato al punto 3 (con il nome corrispondente a
SERVER_IP
) - Inserisci la password
-
Installa nell'host remoto le estensioni locali:
-
Seleziona l'interprete Python remoto:
-
Sei pronto!