Ottenere un TTY in un Connettore Shell

Sono spesso chiesto agli amici di aiutarmi con i piccoli problemi di Linux e, più spesso, non mi impone di accedere al sistema remoto. Di solito ci sono molti problemi con la creazione di un account e l'accesso (a volte la casella è dietro a un dispositivo NAT, a volte SSHD non è installato, ecc.) Quindi di solito chiedo loro di fare una shell di connessione con netcat ( nc -e / bin / bash). Se non hanno netcat posso solo chiedere loro di afferrare una copia di un binario staticamente compilato che non è così difficile o che richiede tempo per scaricare e eseguire.

Anche se questo funziona abbastanza bene per me per inserire semplici comandi, non posso eseguire alcuna applicazione che richiede un tty (vi, per esempio) e non può utilizzare alcuna function di controllo del lavoro. Sono riuscito a bypassare questo problema eseguendo in.telnetd con alcuni argomenti all'interno della shell di connessione che mi assegnerebbe un terminal e mi avrebbe lasciato una shell. Purtroppo in.telnetd non è di solito installato per impostazione predefinita nella maggior parte dei sisthemes.

  • Qual è il significato di "Treason Uncloaked" in Linux?
  • Accedi localmente e in remoto con rsyslogd
  • Linux LVM: partizioni singole o multiple su disco rigido?
  • Collegamento a un terminal PSTN di chiamata analogica senza linea PSTN
  • Come afferrare la storia del bash o le ultime righe di numero x dal process di shell eseguito su altri tty
  • Come ripristinare / scorrere un MediaWiki?
  • Qual è il modo più semplice per get una shell completamente terminal di connessione senza richiedere pacchetti non standard?

    (Un piccolo programma C che funziona anche bene, non riesco a trovare una grande documentazione su come è assegnato / assegnato un TTY. Una soluzione che non richiede di spingere il codice sorgente per SSHD e TELNETD sarebbe bello :))

  • impostare il nome host del chef in nodo del nome su / dopo il bootstrap
  • Router Linux con 4 NIC non funzionanti
  • Utente di Linux per accedere e eseguire solo in una posizione
  • Capire la cattura wireshark per la scambio di chiavi ssh
  • Distriggers TCP-Offload {completamente, genericamente e facilmente}
  • La dichiarazione della sezione di configuration personalizzata di ASP.NET interrompe l'editor di configuration di IIS Manager
  • 2 Solutions collect form web for “Ottenere un TTY in un Connettore Shell”

    Con il caveat che le conchiglie non crittografate su Internet sono una cosa negativa, questo post di pentestmonkey ha alcune tecniche che possono essere utilizzate per get un TTY su una session di shell esistente. Il più probabile che funziona in qualsiasi sistema utilizza Python:

    python -c 'import pty; pty.spawn("/bin/sh")' 

    Sostituite la copertina con una delle tue preferenze.

    Non è un programma standard, ma "socat tcp: your-host: 1234 exec: bash, pty" farà il lavoro.

    È anche ansible assicurare la comunicazione con OpenSSL con socat:

     # Il vostro lato:
     openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem
     socat `tty`, crudo, echo = 0 openssl-listen: 1237, reuseaddr, cert = cert.pem, verifica = 0
    
     # Il loro lato:
     socat openssl-connect: 127.0.0.1: 1237, verifica = 0 exec: bash, pty, stderr, setsid
    

    Questo fornirà un piacevole terminal di connessione con la crittografia.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.