12. Auditoria SSH - 2ASIX-2021-22/ProjecteJSD GitHub Wiki

Auditoria SSH

Per realitzar auditories SSH hem escollit SSH-Audit ja què, és una eina senzilla, intuitiva però, a la vegada molt potent per extreure tots els resultats que ens interesen.

Què és SSH-Audit?

SSH-Audit és una eina per a l'auditoria de configuració de client i servidor ssh.

Algunes de les seves característiques són les següents:

  • Suport del servidor de protocols SSH1 i SSH2.
  • Analitzar la configuració del client SSH.
  • Reconèixer dispositius o programari i el seu sistema operatiu, detectar compressió.
  • Recopilar algorismes de codi d'intercanvi de claus, clau d'amfitrió, xifratge i autenticació de missatges.
  • Informació de seguretat de sortida (problemes relacionats, llista de CVE assignada, etc.).
  • Suporta Python 3.6 a 3.9.
  • Sense dependències.
  • ...

Què fa l'script?

El següent script ens permet realitzar una auditoria SSH a l'equip que nosaltres li indiquem. Podem realitzar-la de diferents formes:

  • Auditoria completa: Ens farà l'auditoria completa,

  • Auditoria FAILS: Només ens mostrarà les coses que s'haurien d'arreglar per tal de tenir un S.O. més segur.

  • Auditoria WARNS: Només ens mostrarà possibles warnings (els quals més endavant podríen ser fails).

  • Auditoria INFO: Ens mostrarà informació de les versions del OpenSSH, Dropbear SSH, entre d'altres...

En aquesta primera imatge podem veure el menú de l'script.

ssh_menu

Llibreries importades

Per al correcte funcionament de l'script haurem d'importar les llibreries que veuen a la imatge.

ssh_llibreries

Explicació de les funcions implementades

Auditoria completa

En primer lloc, demanem a l'usuari que introdueixi una IP (ip_host) després, crearem un funció anomenada auditoriaCompleta i amb el subprocess.call cridarem la comanda del sistema python3 ./ssh-audit/ssh-audit.py per tal de que ens faci l'auditoria, passarem els resultats a un fitxer .txt anomenat complet i l'enviarem al bot de Telegram.

ssh_completa

Auditoria FAILS

Demanem a l'usuari que introdueixi una IP (ip_host) després, crearem un funció anomenada auditoriaFails i amb el subprocess.call cridarem la comanda del sistema python3 ./ssh-audit/ssh-audit.py --level fails per tal de que ens faci l'auditoria, passarem els resultats a un fitxer .txt anomenat fails i l'enviarem al bot de Telegram.

ssh_fails

Auditoria WARNS

Demanem a l'usuari que introdueixi una IP (ip_host) després, crearem un funció anomenada auditoriaWarns i amb el subprocess.call cridarem la comanda del sistema python3 ./ssh-audit/ssh-audit.py --level warn per tal de que ens faci l'auditoria, passarem els resultats a un fitxer .txt anomenat warns i l'enviarem al bot de Telegram.

ssh_warn

Auditoria INFO

Demanem a l'usuari que introdueixi una IP (ip_host) després, crearem un funció anomenada auditoriaInfo i amb el subprocess.call cridarem la comanda del sistema python3 ./ssh-audit/ssh-audit.py --level info per tal de que ens faci l'auditoria, passarem els resultats a un fitxer .txt anomenat info i l'enviarem al bot de Telegram.

ssh_info