Penetration Testing – Ottenere Shell e TTY su Linux

Cosa accomuna Super Mario ai Penetration Test? Se pensiamo a Super Mario, i tubi e i loro terminali (pipe / terminali) e i gusci di tartaruga (shell) e la Nintendo (console) sono all’ordine del giorno. A cosa servono invece terminali, shell e console in un Penetration Test? Durante un attacco, quando siamo in Post-Exploitation e possiamo eseguire i comandi sulla macchina bersaglio attraverso una vulnerabilità web (normalmente delle Remote Code Execution – RCE) o tramite un exploit, solitamente necessitiamo di: una shell e un terminale/console. Inoltre (ma ne parleremo in un altro post) la possibilità di trasferire file. Questi elementi ci permettono di eseguire i passi successivi come Privilege Escalation, Persistenza e Pivoting.

Molto dipende dallo scopo del test e dalle regole di ingaggio, ma di norma presa una macchina con accesso locale non privilegiato si esegue una fase di enumeration per avere abbastanza informazioni per alzare i propri privilegi (Privilege Escalation), quindi poi si lavora su persistenza e pivoting (i celeberrimi movimenti laterali). In questo articolo ci focalizzeremo su come ottenere una shell interattiva su Linux.

Continue reading