پایتونتست نفوذ

تکنیک مبهم سازی(obfuscation) چیست؟

تکنیک مبهم سازی چیست؟ و نحوه پیاده سازی آن چگونه است؟

با سلام خدمت تمامی کاربران سایت Kaliboys.com , امروز میخواهیم در مورد تکنیک مبهم سازی یا obfuscation صحبت کنیم. قبل از بررسی و پیاده سازی تکنیک obfuscation به یک سری تعاریف و نکات می پردازیم.

obfuscation چیست؟ ساختاری برای مبهم سازی الگوریتم سورس کد یک برنامه است.

مزایای obfuscation

برنامه نویسان و توسعه دهندگان نرم افزار برای جلوگیری از لو رفتن سورس کد اپلیکیشن و دفاع در برابر مهندسی معکوس اپلیکیشن ها از این مزایا استفاده می کنند که این تکنیک obfuscation نام دارد. مبهم سازی در علوم سایبری روز به روز رایج تر می شود و متدهای جدیدی کشف می شوند که این مبحث محبوبیت زیادی بین برنامه نویسان پیدا کرده است.

معایب obfuscation

از دیدگاه بدافزار نویسان این مبحث یک بهره برداری است و از این طریق برای پیاده سازی اپلیکیشن های مخرب خود استفاده می کنند چون در مبحث obfuscation نرم افزارهای انتی ویروس بدلیل مبهم سازی کدهای مخرب، قادر به شناسایی الگوریتم بدافزارها نیستند.

کاربرد تکنیک های obfuscation در تست نفوذ

اگر شما از دسته افرادی که در زمینه Web Application Penetration Testing فعالیت می کنند هستید حتما با مکانیزم دفاعی مثل ids/ips/antisheller/waf مواجه شده اید. زمانی که برای پیاده سازی متدهای Postexploitation اقدام می کنید(مانند اپلود شل یا بکدور تحت وب) مکانیزم های دفاعی بلافاصله جلوگیری می کنند و بکدور شما را حذف می کنند زیرا مکانیزم های امنیتی قادر به خواندن فایل ها و شناسایی بدافزارها هستند، اما زمانی که عمیلیات obfuscation در سورس کد بکدور تحت وب پیاده سازی می شود، میزان شناسایی و جلوگیری از کشف شدن آن کاهش می یابد که بستگی به نوع متد مبهم سازی دارد.

نحوه پیاده سازی متد obfuscation

برای بکار بردن این نوع تکنیک مبهم سازی از گرایش cryptography (رمزنگاری) کمک می گیریم. در هر زبان برنامه نویسی کتابخانه مخصوصی برای cryptography وجود دارد که ما از ان ها استفاده می کنیم. یا حتی می توانیم از سرویس های انلاین استفاده کنیم. در ادامه یک مثال ساده از نحوه پیاده سازی متد مبهم سازی ذکر شده است.

اگر شما از دسته افرادی که در حوزه برنامه ریزی و انالیز بدافزار هستند، می توانید به راحتی از روش های مبهم سازی استفاده کند. در ادامه برای شما یک سورس کد ساده اماده کردیم که به زبان برنامه نویسی پایتون نوشته شده است و می تواند شل کامندهایی را که در پیاده سازی تکنیک های Post Exploitation یک بدافزار کمک کند را به صورت مبهم شده در اختیارمان بگذارد.

#!/usr/bin/python
#power By KaliBoys.com
#obfuscation Shellcommand PostExploitaion

def obfuscation():
code = raw_input(" Encode: ")
sc = "\\x" + "\\x".join("{0:x}".format(ord(code)) for code in code)
print "\n shellcode =('" + sc + "'); exec(shellcode)"; obfuscation();
obfuscation()

خب همانطور که سورس را مشاهده می کنید این یک الگوریتم برای obfuscation است که یک شل کامند پایتونی دریافت می کند و ان را به شکل هگزادسیمال در می اورد. نکته قابل توجه این است که شل کامندی که ساخته می شود قابل اجرا شدن است.

تکنیک مبهم سازی
تکنیک obfuscation

خب همانطور که مشاهده می کنید شل کامند پایتونی تبدیل به یک شلکد اجرایی در پایتون شد. در ادامه، ویدیوی این روند پیاده سازی رو مشاهده می کنید.

امیدوارم از این مطلب خوشتان آمده باشد و نهایت استفاده را برده باشید.

علی محمد پور

Cyber Security Researcher Malware Analysis Security Tools Developer

یک دیدگاه

  1. عالی بود
    دمتون گرم
    همیشه دنبال یک توضیح کوتاه مثل این بودم
    و یک ویدیو که نشون بده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا