چگونگی تحلیل بدافزار و معرفی ابزارها و منابع امنیتی
اخبار داغ فناوری اطلاعات و امنیت شبکهجای امیدواری است که صنعت امنیت سایبری روشهای مختلفی را برای تجزیهوتحلیل بدافزارها توسعه داده است و البته هرکدام مجموعه نقاط قوت و ضعف خود را دارند. این به این معنی است که درحالیکه استفاده از فقط یک روش تجزیهوتحلیل بدافزار میتواند یک شبکه را در معرض خطر قرار دهد، اجرای روشهای تجزیهوتحلیل متعدد با ترتیب درست، میتواند با احتمال بالاتری از نفوذ بدافزارها به شبکه جلوگیری کند.
یک گروه امنیتی میتواند با اجرای متوالی روش های مختلف تحلیل بدافزار، تقریباً اکثر تهدیدات را بصورت خودکار تشخیص دهد در صورتی که بدون استفاده از مدل های اجرایی موفق و کسب اطلاعات کافی در مورد تهدید، ممکن است تنها به یک بازی حدش و گمان بسنده کنند که در نهایت نیز محکوم به شکست است.در محیط های تحلیل بدافزار ما با 3 نوع تحلیل مواجه هستیم:
1 - تحلیل ایستا (Static Analysis): تجزیهوتحلیل ایستا، خط اول دفاع است که شامل شکستن یک پروندهی ناشناخته به مولفههایی برای بررسی آن و بدون خراب شدن پرونده است و یکراه فوقالعاده سریع و دقیق برای تشخیص بدافزارهای شناختهشده و انواع دیگر است که بخش عمدهای از حملاتی که معمولاً در سازمانها دیدهشده را تشکیل میدهد.
2 - تحلیل با استفاده از یادگیری ماشین (Machine Learning Analysis): یادگیری ماشین شامل ایجاد و خودکارسازی یک سامانه برای طبقهبندی رفتارهای مخرب به گروههای متفاوت است. این گروهها میتوانند برای شناسایی محتوای مخرب در آینده بدون نیاز به ساخت الگوی دستی مورداستفاده قرار گیرند و هرچه نمونه بدافزارهای بیشتری مورد بررسی قرار گیرد و فهرست شود، توانایی سامانه برای تشخیص حملات در طول زمان رشد میکند
3 - تحلیل های پویا (Dynamic Analysis): آنچه عموماً بهعنوان تحلیل پویا شناخته میشود معمولاً شامل ارسال یک نمونه مشکوک به یک محیط مبتنی بر ماشین مجازی و سپس فعال کردن آن در یک محیط کاملاً کنترلشده (بانام مستعار Sand box یا جعبه شنی) است که رفتار آن مشاهده میشود و از آن اطلاعاتی استخراج میشود.
ازآنجا که تجزیهوتحلیل ایستا و یادگیری ماشین هر دو نیاز به درجهای از آشنایی قبلی با بدافزار دارند، برای آنها شناسایی فعالیتهای مخرب کاملاً جدید دشوار است. چالش تجزیهوتحلیل پویا مقیاسپذیری آن است که نیاز به محاسبات عظیم، ذخیرهسازی و خودکارسازی دارد. گفته میشود اگر هر دو تجزیهوتحلیل ایستا و یادگیری ماشین انجامشده باشد آنها به احتمال زیاد بخش عمدهای از بدافزارها را شناسایی کردهاند.
برای اینکه بتوانید اقدامات اصلی را برای تحلیل بدافزار انجام دهید نیاز به ابزارهایی دارید که در اینجا به معرفی برخی از مهمترین ابزارها، کتابها و منابعی پرداخته خواهد شد که در تجزیه و تحلیل بدافزار و مهندسی معکوس مورد استفاده قرار میگیرد.
استفاده از ویراستارهای Hex
یک ویراستار Hex (یا ویراستار فایل باینری یا Byteeditor) نوعی برنامهی کامپیوتری است که به کاربر توانایی دستکاری دادههای باینری اساسی را میدهد و یک فایل کامپیوتری را تشکیل میدهند. نام «Hex» از واژهی «Hexadecimal» میآید، فرمت استاندارد عددی برای نمایش دادههای باینری است. در زیر چند برنامه ویراستار به همراه لینک توضیحات آن ارائه شده است.
- HxD
- 010 Editor
- Hex Workshop
- HexFiend
- Hiew
معرفی Disassemblerها
Disassembler یک برنامهی کامپیوتری است که زبان ماشین را به زبان اسمبلی ترجمه میکند (عملیات معکوس نسبت به Assembler). لازم به ذکر است که Disassembler با Decompiler متفاوت است زیرا هدف Decompiler زبانی در سطح بالا است و نه یک زبان اسمبلی. فرمت Disassembly که خروجی Disassembler است، معمولا برای خواندن توسط انسانها تعیین میشود، نه برای ورودی یک Assembler و این امر باعث میشود که این ابزار اساسا مبتنی بر مهندسی معکوس باشد.
- IDA Pro
- Binary Ninja
- Radare
- Hopper
- Capstone
- objdump
- fREedom
- plasma
ابزارهای شناسایی و طبقهبندی
- Assemblyline: چهارچوبی مقیاسپذیر برای تجزیهوتحلیل فایل توزیعی است.
- BinaryAlert: یک AWS Pipeline متن باز و بدون سرور که براساس مجموعهای از قوانین YARA فایلهای آپلودشده را اسکن کرده و درموردشان هشدار میدهد.
- chkrootkit: ابزاری برای شناسایی Rootkit مربوط به Local Linux است.
- ClamAV: نوعی موتور آنتیویروس متن باز است.
- Detect:It:Easy : برنامهای برای تعیین نوع فایلها است.
- ExifTool: فرادادهی (Metadata) مربوط به خواندن، نوشتن و ویرایش فایل است.
- File Scanning Framework: راهکاری ماژولار و بازگشتی(Recursive) برای اسکن کردن فایلهاست.
- hashdeep: ابزاری برای محاسبهی Hash Digestها با الگوریتمهای مختلف به شمار می رود.
- Loki: نوعی اسکنر مبتنی بر Host برای IOCها است.
- Malfunction: فهرست اطلاعات یا کاتالوگ است و به مقایسهی بدافزار در سطح عملکرد میپردازد.
- MASTIFF: چهارچوب تجزیهوتحلیل استاتیک است.
- MultiScanner: چهارچوبی ماژولار است که برای اسکن و یا تجزیهوتحلیل فایل استفاده می شود.
- nsrllookup: ابزاری برای جستجوی Hashها در دیتابیس National Software Reference Library متعلق به NIST است.
- packerid: یک پلتفرم مبتنی بر پایتون است که جایگزینی برای PEiD محسوب میگردد.
- PEV: یک Multiplatform Toolkit برای کار کردن با فایلهای PE، که ابزارهایی با ویژگیهای متنوع را برای تجزیهوتحلیل باینریهای مشکوک فراهم مینماید.
- Rootkit Hunter: ابزاری است که Rootkitهای Linux را شناسایی مینماید.
- ssdeep: ابزاری که Hashهای مبهم (Fuzzy) را محاسبه میکند.
- TrID: شناسهی (Identifier) فایل.
- YARA: ابزاری برای تطابق الگو (Pattern Matching) برای تحلیلگران است.
- Yara rules generator : ابزاری که بر اساس مجموعهای از نمونههای بدافزار، قواعد Yara را ایجاد میکند. همچنین حاوی یک DB مناسب است که منجر به اجتناب از خطا در اعلام هشدار میگردد.
ابزارهای دقیق Dynamic Binary
در زیر به معرفی ابزارهای باینری داینامیک دقیق یا در اصطلاح Dynamic Binary Instrumentation میپردازیم.
- Pin
- DynamoRio
- frida
- dyninst
ابزارهای رمزگشایی Mac
ابزار Mac Decrypting به شرح زیر می باشند:
- Cerbero Profiler
- AppEncryptor : ابزاری برای رمزگشایی
- Class:Dump : قابلیت استفاده از گزینهی Deprotect
- readmem
معرفی ابزارهای شبیه سازی (Emulator)
- Qemu
- unicorn
معرفی ابزارهای آنالیز مستندات
- Ole Tools
- Didier’s PDF Tools
- Origami
تجزیهوتحلیل داینامیک
این مبحث، توضیحاتِ مقدماتی در زمینهی تجزیهوتحلیل بدافزادها به صورت پویا میباشد و برای کسانی کاربرد دارد که در زمینهی آنالیز بدافزار (Malware) شروع به کار کردهاند و یا میخواهند از مشکلاتی که بدافزارها به جا می گذارند با ابزارهای مختلف مطلع شوند.
- ProcessHacker
- Process Explorer
- Process Monitor
- Autoruns
- Noriben
- API Monitor
- iNetSim
- Wireshark: یکی از قویترین ابزارها برای تجزیه و تحلیل پکت ها
- Fakenet
- Volatility
- Dumpit
- LiME
- Cuckoo
- Objective:See Utilities
- XCode Instruments : ابزارهایی برای مانیتورینگ فایلها و فرایندها.
- fs_usage : فراخوانهای سیستمی و مشکلات صفحات را که مرتبط با فعالیتهای Filesystem بصورت Realtime گزارش میدهد.
- Triton
معرفی ابزارهای XOR معکوس و دیگر روشهای سوء استفاده از کد
- Balbuzard : یک ابزار برای تجزیهوتحلیل بدافزار برای Obfuscation معکوس (XOR، ROLو …) و موارد دیگر.
- de4dot : برای NET deobfuscator. و unpacker
- ex_pe_xor و iheartxor : دو ابزار از سوی Alexander Hanel برای کار کردن با فایلهای رمزنگاری شدهی Single:Byte XOR.
- FLOSS :یا همان FireEye Labs Obfuscated String Solver از تکنیکهای تجزیهوتحلیل استاتیک پیشرفته استفاده میکند تا به طور خودکار Stringها را از باینریهای بدافزار جهت سوء استفاده خارج نماید.
- NoMoreXOR : حدس یک کلیدXOR 256 بایتی با استفاده از تجزیهوتحلیل فرکانس.
- PackerAttacker : یک استخراجکنندهی (Extractor) کد مخفی عمومی برای بدافزارهای ویندوز.
- Unpacker : بدافزار خودکارسازی شده برای بدافزارهای ویندوز مبتنی بر WinAppDbg.
- unxor : ابزاری برای حدس کلیدهای XOR با استفاده از حملات Known:Plaintext.
- VirtualDeobfuscator : ابزار مهندسی معکوس برای ساختارهای مجازیسازی.
- XORBruteForcer : یک اسکریپت پایتون جهت انجام حمله Brute Force روی کلیدهای Single:Byte XOR.
- XORSearch و XORStrings : دو برنامه از Didier Stevens برای یافتن دادههای XORed.
- xortool : حدس طول کلید XOR و همچنین خود کلید.
معرفی ابزارهای Debugging
در این لیست میتوان ابزاری برای Disassemblerها و Debuggerها و همچنین دیگر ابزار تجزیهوتحلیل استاتیک و داینامیک را مشاهده کرد.
ابزار Debugging بصورت پلتفرم
- gdb
- vdb
- lldb
- qira
ابزار Debugging متعلق به ویندوز
- WinDbg
- ImmunityDebugger
- OllyDbg v1.10
- OllyDbg v2.01
- OllySnD
- Olly Shadow
- Olly CiMs
- Olly UST_2bg
- x64dbg
تنها ابزار Debugging متعلق به لینوکس
- DDD
مهندسی معکوس
- angr : چهارچوبی جهت آنالیز باینری پلتفرم Agnostic که در Seclab متعلق به UCSB توسعه داده شده است.
- bamfdetect: اطلاعات را شناسایی کرده و آنها را از Botها و دیگر بدافزارها خارج مینماید.
- BAP : چهارچوبی برای تجزیهوتحلیل باینری چند پلتفرمی و متن باز در Cylab متعلق به CMU.
- BARF : چهارچوبی برای آنالیز باینری و مهندسی معکوس متن باز و Multiplatform.
- Binnavi : تجزیهوتحلیل باینری برای مهندسی معکوس مبتنی بر Graph Visualization.
- Binary ninja : یک پلتفرم مهندسی معکوس که جایگزین IDA است.
- Binwalk : ابزار تجزیهوتحلیل Firmware.
- Bokken : یک GUI برای Pyew و Radare. (Mirror)
- Capstone : چهارچوب Disassembly برای تجزیهوتحلیل باینری و Reversing، با قابلیت پشتیبانی از بسیاری از معماریها.
- codebro : مرورگر کد مبتنی بر وب که برای فراهم کردن تجزیهوتحلیل ابتدایی کد از Clang استفاده میکند.
- Dynamic Executable Code Analysis Framework یا به اختصار DECAF : یک پلتفرم تجزیهوتحلیل باینری مبتنی بر QEMU است و DroidScope اکنون افزونهای برای DECAF است.
- dnSpy: ویراستار Net Assembly.، Decompiler و Debugger.
- Evan’s Debugger) EDB): یک Debugger ماژولار با یک Qt GUI.
- Fibratus: ابزاری برای کاوش و ردیابی هستهی ویندوز.
- FPort: در یک سیستم روی پورتهای TCP/IP و UDP گزارشگیری میکند و آنها را به برنامهی کاربردی مربوطه Map مینماید.
- GDB: یک Debugger مربوط به GNU.
- GEF: قابلیتهای پیشرفتهی GDB برای Exploiterها و مهندسان معکوس.
- hackers:grep: کاربردی برای جستجوی Stringها در فایلهای قابل اجرای PE شامل Importها، Exportها و نشانههای Debug.
- Hopper: یک Disassembler متعلق به macOS و لینوکس.
- IDA Pro: یک Disassembler و Debugger ویندوز، به همراه یک نسخهی رایگان.
- Immunity Debugger :یک Debugger برای تجزیهوتحلیل بدافزارها و موارد دیگر، به همراه یک Python API.
- : ILSpy این ابزار در واقع یک مرورگر و Decompiler مربوط به Net Assembly. متن باز میباشد.
- Kaitai Struct: درواقع یک DSL برای فرمتهای فایل، پروتکلهای شبکه، ساختارهای داده، مهندسی معکوس و Dissection، همراه با ایجاد کد برای ++C، #C، Java، JavaScript، Perl، PHP، Python و Ruby است.
- LIEF : یک Library بین پلتفرمی را برای مجزا نمودن، اصلاح کردن و جداسازی فرمتهای ELF، PE و MachO فراهم مینماید.
- ltrace: ابزاری برای تجزیهوتحلیل دینامیک برای فایلهای قابل اجرای لینوکس میباشد.
- objdump: بخشی از Binutilهای GNU برای تجزیهوتحلیل استاتیک باینریهای لینوکس.
- OllyDbg: یک Debugger در سطح Assembly برای فایلهای قابل اجرای ویندوز است.
- PANDA: پلتفرمی برای معماری: تجزیهوتحلیل دینامیک بصورت بی طرف.
- PEDA یا Python Exploit Development Assistance برای GDB، نمایشگری پیشرفته با دستورات اضافی.
- pestudio: اجرای تجزیهوتحلیل استاتیک برای فایلهای قابل اجرای ویندوز.
- Pharos: میتوان از چهارچوب Pharos برای تجزیهوتحلیل باینری برای اجرای تجزیهوتحلیل استاتیک خودکارسازیشدهی باینریها استفاده کرد.
- Plasma : یک Disassembler تعاملی برای x86، ARM، MIPS.
- (PPEE (Puppy : یک مرورگر فایل PE حرفهای برای Reverserها، پژوهشگران برافزار و کسانی که میخواهند فایلهای PE را به طور استاتیک و به صورت جزئیتر بررسی نمایند.
- Process Explorer : یک Task Manager پیشرفته برای ویندوز.
- Process Hacker : ابزاری که منابع سیستم را مانیتور میکند.
- Process Monitor : یک ابزار مانیتورینگ پیشرفته برای برنامههای ویندوز.
- PSTools : ابزار خط دستور ویندوز که به مدیریت و بررسی سیستمهای زنده کمک میکند.
- Pyew : ابزار پایتون برای تجزیهوتحلیل بدافزار.
- PyREBox :درواقع Sandbox مهندسی معکوس Scriptable متعلق به Python تولید شده توسط تیم Talos در Cisco.
- Radare2 : چهارچوب مهندسی معکوس با پشتیبانی از Debugger.
- RegShot : ابزار مقایسهی Registry که Snapshotها را مقایسه میکند.
- RetDec: یک Machine:Code Decompiler با قابلیت هدفگذاری مجدد (Retargetable) با یک سرویس Decompilation آنلاین و API که کاربر میتواند در ابزارهای خود از آن استفاده کند.
- ROPMEMU : چهارچوبی برای تجزیهوتحلیل، Dissect و Decompile کردن حملات Code:Reuse پیچیده.
- SMRT : یا همان Sublime Malware Research Tool، افزونهای است برای Sublime 3 با هدف کمک به تجزیهوتحلیل بدافزار.
- strace : تجزیهوتحلیل دینامیک برای فایلهای قابل اجرای لینوکس.
- Triton: یک چهارچوب تجزیهوتحلیل باینری دینامیک.
- Udis86: یک Library و ابزار Disassembler برای x86 و x64.
- Vivisect: ابزار Python برای تجزیهوتحلیل بدافزار.
- WinDbg:یک Debugger چندکاربردی برای سیستم عامل ویندوز، از آن برای Debug کردن برنامههای کاربردی User Mode، درایورهای دستگاه و Memory Dumpهای Kernel:Mode استفاده میشود.
- X64dbg : یک Debugger x64/x32 متن باز برای ویندوز است.
فرمت باینری و تجزیهوتحلیل باینری
Compound File Binary Format اصلیترین Container مورد استفاده توسط فرمتهای فایل مختلف مایکروسافت مانند مستندات Microsoft Office و بستههای Microsoft Installer میباشد.
- CFF Explorer
- Detect It Easy
- PeStudio
- PEiD
- MachoView
- nm : نمایش نشانهها
- file : اطلاعات فایل
- codesign : کاربرد اطلاعات Code Signing: dvvv filename
منابع تجزیهوتحلیل باینری
- Mobius Resources
- z3
- bap
- angr
معرفی Decompiler
Decompiler برنامهای کامپیوتری است که یک فایل قابل اجرا را به عنوان ورودی میگیرد و سعی میکند یک سورس فایل سطح بالا بسازد که بتوان آن را به طور موفقیت آمیزی Recompile نمود. در نتیجه نقطهی مقابل Compiler محسوب میشود زیرا Compiler یک فایل منبع را میگیرد و آن را به فایل قابل اجرا تبدیل مینماید.
معرفی Decompiler پرکاربرد
- HexRay
- RetDec
- Boomerang
معرفی Decompilerهای جاوا
- Procyon
- JD:GUI
- JAD
معرفی Decompilerهای NET.
- JustDecompile
- dotPeek
معرفی Decompilerهای زبان دلفی
- IDR
- Revendepro
معرفیDecompilerهای زبان پایتون
- Uncompyle6
- Decompyle++
معرفی ابزار تجزیهوتحلیل Bytecode
- dnSpy
- Bytecode Viewer
- Bytecode Visualizer
- JPEXS Flash Decompiler
معرفی ابزارهای Import Reconstruction
- ImpRec
- Scylla
- LordPE
Sandboxها و اسکنرهای آنلاین
از ابزارهایی که در ادامه معرفی میشوند به عنوان اسکنرهای Multi:AV مبتنی بر وب و Sandboxهای بدافزار برای تجزیهوتحلیل خودکارسازیشده استفاده میگردد.
- io : یک Sandbox آنلاین است.
- AndroTotal : آنالیز آنلاین رایگان برای APKها در مقابل چندین برنامهی آنتیویروس موبایل.
- AVCaesar: اسکنر آنلاین lu و مخزن (Repository) بدافزار.
- Cryptam: تحلیل اسناد مشکوک Office.
- Cuckoo Sandbox: یک Sandbox متن باز و Self Hosted و سیستم تجزیهوتحلیل خودکارسازیشده.
- cuckoo:modified: نسخهی اصلاحشدهی Cuckoo Sandbox که تحت GPL منتشر شده است. به دلایل قانونی و صلاحدید مولف Merged Upstream نیست.
- cuckoo:modified:api: یک Python API که برای کنترل یک Sandbox که Cuckoo:Modified است مورد استفاده قرار میگیرد.
- DeepViz : تحلیلگر فایل چند فرمتی با طبقهبندی Machine:Learning.
- detux : یک Sandbox که توسعه داده شده است تا تجزیهوتحلیل ترافیک بدافزارهای لینوکس و IOCهای Capturing را انجام دهد.
- DRAKVUF : سیستم تجزیهوتحلیل بدافزار دینامیک.
- re : تقریبا هر بستهی Firmwareای را Unpack، اسکن و تجزیهوتحلیل میکند.
- HaboMalHunter : یک ابزار تجزیهوتحلیل بدافزار خودکارسازی شده برای فایلهای ELF لینوکس.
- Hybrid Analysis : ابزار تجزیهوتحلیل بدافزار آنلاین که VxSandbox قدرت موردنیاز آن را تامین میکند.
- IRMA : یک پلتفرم تجزیهوتحلیل Asynchronous و قابل سفارشیسازی برای فایلهای مشکوک.
- Joe Sandbox : تجزیهوتحلیل بدافزار بهصورت عمقی با Joe Sandbox.
- Jotti : اسکنر Multi:AV آنلاین رایگان.
- Limon :یک Sandboxی برای تحلیل بدافزار لینوکس.
- Malheur : ابزاری برای تجزیهوتحلیل خودکار رفتار بدافزار در Sandbox.
- malsub : یک چهارچوب Python RESTful API برای بدافزارهای آنلاین و خدمات تجزیهوتحلیل URL.
- Malware config : ابزاری برای Extract، Decode و نمایش آنلاین تنظیمات پیکربندی از بدافزارهای عادی.
- Malwr : تجزیهوتحلیل رایگان با یک Cuckoo Sandbox Instance آنلاین.
- com : اسکن کردن یک فایل، Hash یا آدرس IP برای بدافزار (رایگان).
- NetworkTotal: سرویسی که فایلهای pcap را آنالیز کرده و شناسایی سریع ویروسها، Wormها، Trojanها و انواع بدافزار را با استفاده از Suricata که با EmergingThreats Pro پیکربندی شده است تسهیل مینماید.
- PDF Examiner : ابزاری برای تجزیهوتحلیل فایلهای PDF مشکوک استفاده میشود.
- ProcDot : یک Toolkit گرافیکی برای تجزیهوتحلیل بدافزار است.
- Recomposer : یک اسکریپت کمککننده برای آپلود ایمن باینریها به سایتهای Sandbox به شمار میرود.
- Sand droid : سیستمی کامل و خودکار برای تجزیهوتحلیل برنامههای کاربردی اندروید است.
- SEE یا Sandboxed Execution Environment چهارچوبی است برای ساختن خودکارسازی تست در محیطهای ایمن است.
- VirusTotal – ابزاری برای تجزیهوتحلیل آنلاین رایگان نمونههای بدافزار و URLها.
- Zeltser’s List : یک Sandboxها و خدمات خودکارسازیشدهی رایگان که توسط Lenny Zeltser جمعآوری شدهاند.
معرفی تجزیهوتحلیل مستندات
- Ole Tools
- Didier’s PDF Tools
- Origami
بررسی ابزارهای Scripting
- IDA Python Src
- IDC Functions Doc
- Using IDAPython to Make your Life Easier
- Introduction to IDA Python
- The Beginner’s Guide to IDA Python
- IDA Plugin Contest
- onehawt IDA Plugin List
- pefile Python Libray
معرفی ابزارهای اندروید
- Android Developer Studio
- AndroGuard
- APKtool
- dex2jar
- Bytecode Viewer
- IDA Pro
بررسی منابع Yara
- Yara docs
- Cheatsheet
- yarGen
- Yara First Presentation
Artifactهای ویندوز
- AChoir : یک اسکریپت پاسخ رویداد، جهت جمعآوری Artifactهای ویندوز است.
- python:evt :کتابخانه متعلق به Python برای مجزا نمودن Event Logهای ویندوز.
- python:registry : کتابخانه متعلق به Python برای مجزا نمودن فایلهای Registry.
- RegRipper : ابزار تجزیهوتحلیل Registry مبتنی بر Plugin.
بررسی ابزارهای Storage و Workflow
- Aleph : سیستم Pipeline تجزیهوتحلیل بدافزار متن باز.
- CRITs : پژوهش مبتنی بر همکاری در مورد تهدیدات، یک بدافزار و مخزن (Repository) تهدید.
- FAME : چهارچوبی برای تجزیهوتحلیل بدافزار، دارای یک Pipeline که میتوان با استفاده از ماژولهای سفارشی آنها را گسترش داد. میتوان این ماژولها را زنجیروار به هم متصل کرد تا با یک دیگر تعامل داشته باشند تا تجزیهوتحلیل بصورت End-to-End اجرا گردد.
- Malwarehouse : ذخیرهسازی، Tag کردن و جستجوی بدافزار.
- Polichombr : یک پلتفرم تجزیهوتحلیل بدافزار که طراحی شده است تا به تحلیلگران کمک کند قابلیت همکاری بدافزارها را برعکس نمایند.
- stoQ : چهارچوبی برای تجزیهوتحلیل محتوای توزیعشده با پشتیبانی گسترده از افزونهها، از ورودی تا خروجی و تمام موارد بین آنها.
- Viper : چهارچوبی برای مدیریت و تجزیهوتحلیل باینری برای تحلیلگران و پژوهشگران.
ابزارهای جمع آوری نمونههایی از بدافزار
- Clean MX : دیتابیس Realtime از بدافزارها و دامینهای مخرب.
- Contagio: مجموعهای از نمونهها و تجزیهوتحلیلهای اخیر مربوط به بدافزارها.
- Exploit Database : نمونههای Exploit و Shellcode.
- Malshare : مجموعه ای بزرگ از بدافزارهایی که فعالانه از سایتهای مخرب گرفته شدهاند.
- MalwareDB : مجموعه ای از نمونههای بدافزار.
- Open Malware Project : اطلاعات و دانلودهای نمونه Offensive Computing.
- Ragpicker : افزونهای مبتنی بر Crawler بدافزار همراه با قابلیتهای Pre:Analysis و گزارشگیری.
- theZoo : نمونههای بدافزار برای تحلیلگران.
- ViruSign : دیتابیس بدافزاری که توسط بسیاری از برنامههای بدافزار به غیر از ClamAV شناسایی شده است.
- VirusShare : مخزن بدافزار، نیازمند ثبتنام.
- VX Vault : مجموعهای فعال از نمونههای بدافزار
- Zeltser’s Sources : لیستی از منابع نمونههای بدافزار که توسط Lenny Zeltser جمعآوری شده است.
- Zeus Source Code : منبع Zeus trojan که در سال 2011 فاش شد.
معرفی دورههای آموزشی مهندسی معکوس
- Lenas Reversing for Newbies
- Open Security Training
- Fu’s Malware Analysis
- Binary Auditing Course
- TiGa’s Video Tutorials
- Legend of Random
- Modern Binary Exploitation
- RPISEC Malware Course
- SANS FOR 610 GREM
- REcon Training
- Blackhat Training
- Offensive Security
- Corelan Training
- Offensive and Defensive Android Reversing
بررسی دامینها و آدرسهای IP
- com : سرویس IP blacklist اجتماعمحور.
- boomerang : ابزاری که برای ثبت مداوم و ایمن از منابع وب شبکه طراحی شده است.
- Cymon : ردیاب هوش تهدیدات، همراه با جستجوی IP، دامین و Hash.
- me : ابزاری نیازمند تنها یک کلیک، با هدف بازیابی Metadata به بیشترین حد ممکن برای یک سایت و همچنین با هدف ارزیابی مناسب آن.
- dnstwist : موتور جایگشت (Permutation) نام دامین برای شناسایی Typo Squatting، Phishing و Corporate Espionage.
- IPinfo : جمعآوری اطلاعات درمورد یک IP یا دامین با جستجو در منابع آنلاین.
- Machinae : ابزار OSINT برای جمعآوری اطلاعات درمورد URLها، IPها و یا Hashها. مشابه Automator.
- MaltegoVT : دگرگونی Maltego برای VirusTotal API. تحقیق در مورد دامین و IP و همچنین جستجو برای File Hashها و گزارشات Scan را ممکن میسازد.
- Multi rbl : چندین DNS Blacklist و Forward Confirmed Reverse DNS برای بیش از 300 RBL.
- NormShield Services : خدمات API رایگان برای شناسایی دامینهای Phishing احتمالی، آدرسهای IP که Blacklist شدهاند و حسابهایی که دچار نقض امنیتی گشتهاند.
- SpamCop : یک Spam Block List مبتنی بر IP است.
- SpamHaus : یک Block List مبتنی بر دامینها و IPها است.
- Sucuri SiteCheck : بدافزار وبسایت رایگان و اسکنر امنیتی.
- Talos Intelligence : ابزاری برای جستجو برای صاحب IP، دامین و شبکه. (در گذشته SenderBase بوده است.)
- TekDefense Automater : ابزار OSINT برای جمعآوری اطلاعات درمورد URLها، IPها و یا Hashها.
- URLQuery : اسکنر URL رایگان.
- Whois : ابزاری برای جستجوی Whois آنلاین رایگان DomainTools.
- Zeltser’s List : ابزار آنلاین رایگان برای تحقیق در مورد وبسایتهای مخرب، جمعآوری شده توسط Lenny Zeltser
- ZScalar Zulu : تحلیلگر ریسک Zulu URL.
اسناد و Shellcode
- AnalyzePDF : ابزاری برای تحلیل PDFها و سعی بر تعیین اینکه آیا مخرب هستند یا خیر.
- box:js : ابزاری برای مطالعهی بدافزار JavaScript، با پشتیبانی از JScript و WScript و شبیهسازی ActiveX.
- diStorm :یک Disassembler برای تحلیل Shellcode مخرب است.
- JS Beautifier :یک Unpacking و Deobfuscation برای جاوا اسکریپت است.
- JS Deobfuscator :یک Deobfuscate کنندهی Javascript ساده است که از Eval یا write برای پنهان کردن کد خود استفاده میکند.
- Libemu : ابزار برای شبیهسازی x86 Shellcode است.
- Malpdfobj : جدا کنندهی PDFهای مخرب در یک نمایش از JSON.
- OfficeMalScanner : اسکن کردن ردهای مخرب در اسناد MS Office.
- olevba : اسکریپتی برای مجزا نمودن اسناد OLE و OpenXML و Extract کردن اطلاعات مفید.
- Origami PDF : ابزاری برای تحلیل PDFهای مخرب و موارد بیشتر.
- PDF X:Ray Lite : ابزاری برای تحلیل PDF، نسخهی Backend:Free از PDF X:RAY.
- peepdf : ابزار Python برای کاوش در PDFهایی که احتمال مخرب بودنشان وجود دارد.
- QuickSand : QuickSand یک چهارچوب Compact C است برای تحلیل اسناد مشکوک بدافزار با هدف شناسایی Exploitها در Streamهایی از Encodingهای متفاوت و همچنین با هدف پیدا کردن و Extract کردن فایلهای قابل اجرای کارگزاریشده.
- Spidermonkey : موتور JavaScript متعلق به Mozilla، برای debug کردن JS مخرب.
معرفی کتابها در زمینه معندسی معکوس
- The IDA Pro Book
- Reverse Engineering for Beginners
- The Art of Assembly Language
- Practical Reverse Engineering
- Reversing: Secrets of Reverse Engineering
- Practical Malware Analysis
- Malware Analyst’s Cookbook
- Gray Hat Hacking
- The Art of Memory Forensics
- Hacking: The Art of Exploitation
- Fuzzing for Software Security
- Art of Software Security Assessment
- The Antivirus Hacker’s Handbook
- The Rootkit Arsenal
- Windows Internals Part 1Part 2
- Inside Windows Debugging
- iOS Reverse Engineering
ابزار هوش تهدیدات متن باز
- AbuseHelper : چهارچوبی متن باز برای دریافت و توزیع دوبارهی Feedهای مزاحم و هوش تهدیدات.
- AlienVault Open Threat Exchange : ابزاری برای به اشتراک گذاری و همکاری در توسعهی هوش تهدیدات.
- Combine : ابزاری برای جمعآوری شاخصهای هوش تهدیدات از منابعی که به طور عمومی در دسترس میباشند.
- Fileintel : ابزاری برای به دست آوردن اطلاعات به ازای File Hash.
- Hostintel : ابزاری برای به دست آوردن اطلاعات به ازای Host.
- IntelMQ : ابزاری برای CERTها به منظور پردازش دادههای مربوط به رخدادها با استفاده از یک Message Queue.
- OC Editor : ویراستاری رایگان برای فایلهای XML IOC.
- ioc_writer : کتابخانه متعلق به پایتون برای کار کردن با Objectهای OpenIOC از Mandiant.
- Massive Octo Spice : در گذشته به عنوان Collective Intelligence Framework یا به اختصار CIF شناخته میشد و در واقع IOCها را از لیستهای مختلف کنار هم جمع میکند.
- Pulsedive : یک پلتفرم هوش تهدیدات رایگان و مبتنی بر جامعه که IOCها را از Feedهای متن باز جمعآوری میکند.
- PyIOCe : یک ویراستار OpenIOC متعلق به زبان پایتون است.
- threataggregator : تهدیدات امنیتی را از منابع مختلف، شامل منابعی که در ادامه در بخش «منابع دیگر» فهرست شدهاند، کنار هم جمع میکند.
- ThreatCrowd : یک موتور جستجو برای تهدیدات، همراه با مصورسازی گرافیکی است.
- ThreatTracker : یک اسکریپت مبتنی بر زبان پایتون است که برای ایجاد و مانیتور کردن هشدارها براساس IOCهایی که توسط مجموعهی از Google Custom Search Engines، ایندکس شدهاند.
- TIQ:test : مصورسازی داده و تجزیهوتحلیل آماری Feedهای هوش تهدیدات.
معرفی منابع دیگر
- APT Notes : مجموعهای از مقالات و یادداشتهای مربوط به تهدیدات مداوم پیشرفته.
- File Formats posters : مصورسازی خوب از فرمتهای فایلی که عموما مورد استفاده قرار میگیرند (از جمله PE و ELF).
- Honeynet Project : ابزار Honeypot، مقالات و دیگر منابع.
- Kernel Mode : انجمن فعال مختص به تجزیهوتحلیل بدافزار و توسعهی Kernel.
- Malicious Software : بلاگ و منابع Malware جمعآوریشده توسط Lenny Zeltser.
- Malware Analysis Search : موتور جستجوی سفارشی Google از Corey Harrell.
- Malware Analysis Tutorials : دورههای آموزشی تجزیهوتحلیل بدافزار توسط Xiang Fu، منبعی عالی برای یادگیری تجزیهوتحلیل کاربردی بدافزار.
- Malware Samples and Traffic : این بلاگ روی ترافیک شبکه مرتبط آلودگیهای بدافزار متمرکز است.
- Practical Malware Analysis Starter Kit : این بسته حاوی اکثر ارجاعات نرمافزاری در کتاب Practical Malware Analysis میباشد.
- Windows Registry specification : مشخصات فرمت فایل Registry ویندوز.
برچسب ها: Rootkit, Fuzzy, Shellcode, نمونههایی از بدافزار, Yara, اسکنرهای آنلاین, Decompilerهای زبان پایتون, Decompilerهای جاوا, مهندسی معکوس, ابزار Debugging, آنالیز بدافزار, تجزیهوتحلیل داینامیک, ابزارهای شبیه سازی, ابزارهای رمزگشایی Mac, ابزارهای شناسایی و طبقهبندی, نحوه شناسایی بدافزار, مقابله با بدافزار, روش کار Malware, حذف بدافزار, بدافزار لینوکسی, جعبه شنی, Sand box, تحلیل بدافزار, تجزیهوتحلیل بدافزار, malware, تهدیدات سایبری, بدافزار