From 47dc770e34f83f977a7e831c3db4635bcab67417 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 22 Nov 2022 11:24:39 +0100 Subject: Dump network chapter --- docs/chapters/setup.tex | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'docs/chapters/setup.tex') diff --git a/docs/chapters/setup.tex b/docs/chapters/setup.tex index be0ee4a..16c0bc5 100644 --- a/docs/chapters/setup.tex +++ b/docs/chapters/setup.tex @@ -55,27 +55,6 @@ impl Keys { E proprio in questo "errore" nel secret che andremo ad attaccare. Useremo un attacco di bruteforcing all'header Authorization per far sì di avere i dati dell'utente con ID che noi vogliamo. -\subsection{Forcing del secret} -L'Authorization token è qualcosa di pubblico, che possiamo veder ad ogni richiesta HTTP. Il secret no, è usato per fare verificare la firma e rendere valido il token stesso. Quindi useremo un approccio simile a quello impiegato per "forzare" il login di una piattaforma: proveremo per forza bruta tutte le password possibili. -In questo caso proveremo i possibili secret per far sì che la firma sia lo stesso valida. - -Prendendo una lista ben nota di secrets impiegati in servizi in produzione \cite{JWT_SECRETS_LIST:1} useremo il software open-source \textbf{Hashcat} \cite{HASHCAT}. -Per crackare la password usando Hashcat bisogna dare in input il parametro dell'hash type di JWT, il sorgente in cui vi è il token che si vuole crackare e il sorgente in cui vi è la lista dei secrets. - -\begin{lstlisting} -$ hashcat -m 16500 my-secret.dat jwt-secrets-list.dat - -eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxMywiZXhwIjoxNjY2Mjk0Nzk2fQ.ay_RPoeTuV4e -lBFqqCdTzF64GPcoEDOlJN2DUAOqwds:hello - -Session..........: hashcat -Status...........: Cracked -Hash.Type........: JWT (JSON Web Token) -Hash.Target......: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIj...AOqwds -\end{lstlisting} - -Qui vediamo come sia riuscito a trovare il secret, ovvero la stringa \emph{hello}. - \section{App mobile} Il codice dell'app è presente al link \underline{\url{https://git.dcariotti.me/m6-ie/tree/app}}. È una "banale" applicazione scritta usando Ionic \cite{IONIC} con 3 pagine: -- cgit v1.2.3-18-g5258