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ı) ile!
- 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'u takip edin.
- Hacking püf noktalarınızı paylaşarak PR'lar göndererek hacktricks repo ve hacktricks-cloud repo ile paylaşın.
Uzaktan Sömürüde FD'ler
Örneğin, system('/bin/sh')
çağıran bir uzak sunucuya bir saldırı gönderildiğinde, 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ıyor. Ancak, pty
modu DELETE karakterlerini içerir. Bu nedenle, bir \x7f
( DELETE
-) gönderirseniz, exploitinizin önceki karakterini silecektir.
Bunu atlatmak için, herhangi bir gönderilen \x7f
'den önce \x16
kaçış karakterinin eklenmesi gerekir.
Burada bu davranışın bir örneğini bulabilirsiniz.