Source Byte
الذهاب إلى القناة على Telegram
هشیار کسی باید کز عشق بپرهیزد وین طبع که من دارم با عقل نیامیزد Saadi Shirazi 187
إظهار المزيد8 532
المشتركون
+924 ساعات
+417 أيام
+22630 أيام
أرشيف المشاركات
8 532
Repost from PCSG • Girls in Cybersecurity
درود 👩🏻💻
به علت اهمیت بسیار زیاد فریم ورک Mitre، تلاش کردیم که نسخه فارسی تکنیک ها رو برای شما همراهان علاقهمند به این حوزه آماده کنیم؛ این سری تکنیک Drive-by Compromise رو براتون قرار دادیم، امیدواریم که براتون مفید باشه.
مثل همیشه از همراهیتون ممنونیم 😊🙏
-------------------------
📌 MITTRE ATT&CK - T1189
✨ Sepide Zamani & Azita Zoughi
🔖 #Paper / #Persian
🔗 Related: #MITRE_Series
Technique: Drive-by Compromise
🌍 Channels • Website • Boost
📑 #PCSGCommunity #RedTeam #BlueTeam #Mitre #Technique
8 532
Repost from An Inspired Engineer
کرنل چطور میدونه توی این لحظه کدوم پروسس روی یک هستهی cpu در حال اجراست؟
کرنل تسک(پروسس)هایی که در حال اجرا هستن رو توی یک Linked List به صورت double به اسم task list نگهداری میکنه، ساختمون داده ای که این linked list نگهداری میکنه task_struct هست که نسبتا بزرگه و تمامی اطلاعاتی که کرنل نیاز داره تا بروی پروسس ها context switch انجام بده یا چه فایل هایی توسط این پروسس بازه، وضعیت پروسس چیه، فضای آدرس حافظه کجاست و ... رو توی خودش داره.
نکته:
هر پروسس توی فضای کرنل یک استک داره که کرنل اطلاعات مربوط به این پروسس، ادرس برگشت متد ها، متغیرهای محلی و... رو توش نگهمیداره. و توی معماری x86 کرنل پوینتر ساختمون داده task_struct متعلق به هر پروسس رو توی انتهای استک همون پروسس میزاره، یعنی اگه از انتهای استک یک پروسس به عقب برگردیم به اطلاعات اون پروسس دسترسی داریم(البته که توی فضای کرنل).
خب حالا خود کرنل چطور به تسکی که الان در حال اجراست میرسه تا بتونه اصلا به task_struct دسترسی داشته باشه؟
همونطور که بالاتر گفتم لیست تسک ها توی یک linked list نگهداری میشن و برای اینکه بتونیم تسکی که در حال اجراست رو پیدا کنیم باید کل لیست رو بگردیم، شاید روی ماشین های خونگی به چشم نیاد ولی روی سرورهایی که چندین هزار پروسس میتونن داشته باشن O(n) هزینهی بالایی محسوب میشه. راه حل؟ کرنل میاد برای اینکه تسک درحال اجرا رو پیدا کنه از ماکروی current استفاده میکنه که اون هم متد current_thread_info() رو کال میکنه. حالا با توجه به معماری یا ادرس این ساختمون داده روی یکی از رجیستر های cpu میزاره. یعنی دیگه نیازی نیست کل لیست رو بگردیم.
پیاده سازی این متد به معماری سخت افزار وابسته اس، برای مثال توی ماشین های power pc IBM رو اجرا میکنند کرنل این اطلاعات رو توی رجیستر r2 نگهداری میکنه و از طریق اسمبلی بهش دسترسی داره:
register struct task_struct *current asm ("r2");
حالا شاید بگین که اوکی ما دیگه چه نیازی به لیست داریم وقتی اطلاعات توی رجیستر وجود داره؟
در حقیقت لیست برای اینه که scheduler بدونه تسک بعدی متعلق به کیه و آیا باید اجرا بشه یا نه؟! اینجا برای انتخاب کردن تسک بعدی کرنل پارامترای اون پروسس رو چک میکنه که مهمترینشون state و priority هست، بعد از اینکه تسک بعدی انتخاب شد، اطلاعات تسک فعلی روی استک نوشته میشه و اطلاعات تسک بعدی روی رجیستر بارگیری میشه.
جمع بندی بخوام بکنم میشه:
- زمانی که پروسس جدید با fork یا clone ساخته میشه کرنل کپی task_struct از parent پروسس جدید هست رو توی task list که یک linked list گلوبال توی فضای کرنل هست اضافه میکنه.
- ماژول scheduler میاد و بر اساس اولویت و پارامتر های دیگه بین پروسس ها برای هر هستهی cpu عملیات context-switching رو انجام میده ولی قبلش مقدار جای فعلی استک، رجیسترهای cpu و وضعیت پروسس رو توی task_struct ذخیره کنه و بعد از انتخاب عملیات context swithing رو انجام بده.
- کرنل باید پوینتر ماکروی current رو به روز کنه تا به task_struct تسک جدید اشاره کنه و این ماکرو از طریق رجیسترهای cpu با سرعت بالا به task_struct دسترسی پیدا میکنه.
- وضعیت تسک جدید توی رجیسترهای cpu و از استک بارگیری میشه.
پس جواب ما برای سوال: کرنل چطور میدونه توی این لحظه کدوم پروسس روی یک هستهی cpu در حال اجراست؟ میشه اینکه کرنل اطلاعات رو توی یک لینک لیست نگهداری میکنه و پوینتر تسک فعلی رو هم برای اینکه O(n) هزینه نکنه از رجیستر میخونه.
منبع ۱
منبع ۲
@knowpow8 532
Repost from Infosec Fortress
Zhang Yunhai - BYPASS CONTROL FLOW GUARD COMPREHENSIVELY - Blackhat
#binary
#exploitation
———
🆔 @Infosec_Fortress
8 532
One of the samples checks if the file “C:\users\public\a.txt” exists and if it doesn’t, it creates the file which it later deletes. The purpose of this code is not entirely clear and may be unfinished code inserted by the authors or borrowed from other places without fully understanding what the code does.https://research.checkpoint.com/2024/new-bugsleep-backdoor-deployed-in-recent-muddywater-campaigns/ 🤔
8 532
I created a simple Group Policy (GPO) to automatically fix CrowdStrike BSOD (Blue screen of death) issue.
Credit : Arda Büyükkaya
https://gist.github.com/whichbuffer/7830c73711589dcf9e7a5217797ca617
8 532
Global Windows outage hits computers around the world. This is linked to Crowdstrike update that cripples boot process.
Supposedly deleting “C-00000291*.sys” file in C:\Windows\System32\drivers\CrowdStrike directory fixes the issue. But editing system files you always do on your own risk :)Credit: Lukasz Olejnik #CrowdStrike
8 532
Repost from APT
🖥 Introduction for to Windows kernel exploitation
Explore the Windows Kernel with HEVD, a vulnerable driver. Dive into stack overflow exploits and bypass SMEP/KPTI protections using the sysret approach.
A detailed guide for Windows kernel explotation:
— Part 0: Where do I start?
— Part 1: Will this driver ever crash?
— Part 2: Is there a way to bypass kASLR, SMEP and KVA Shadow?
— Part 3: Can we rop our way into triggering our shellcode?
— Part 4: How do we write a shellcode to elevate privileges and gracefully return to userland?
#windows #kernel #driver #hevd #hacksys
8 532
Repost from N/a
https://engineers.inpyjama.com/learn/ldd-101
Linux device driver development free course
#Linux
#Course
#English
8 532
11 Strategies of a World-Class Cybersecurity Operations Center
by mitre
Strategy 1: Know What You Are Protecting and Why Strategy 2: Give the SOC the Authority to Do Its Job Strategy 3: Build a SOC Structure to Match Your Organizational Needs Strategy 4: Hire AND Grow Quality Staff Strategy 5: Prioritize Incident Response Strategy 6: Illuminate Adversaries with Cyber Threat Intelligence Strategy 7: Select and Collect the Right Data Strategy 8: Leverage Tools to Support Analyst Workflow Strategy 9: Communicate Clearly, Collaborate Often, Share Generously Strategy 10: Measure Performance to Improve Performance Strategy 11: Turn up the Volume by Expanding SOC Functionality
