کانال بایت امن – Telegram
کانال بایت امن
4.83K subscribers
456 photos
52 videos
37 files
644 links
برگزاری دوره های آموزش برنامه نویسی و امنیت نرم افزار.

https://dword.ir
@YMahmoudnia
Download Telegram
#Article #Exploiting

Introduction to x64 Linux Binary Exploitation Series

1. Basic Buffer Overflow
2. Return into libc
3. RoP Chains
4. Stack Canaries
5. ASLR

در این مجموعه مقالات به برخی تکنیک‌های پایه ایی جهت اکسپلویت کردن باینری‌های x64 لینوکس پرداخته میشود. ابتدا با غیرفعال کردن تمامی مکانیزم‌های حفاظتی مانند ASLR، DEP/NX، Canary Stack و غیره شروع میشود.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥172👍1
#References #ReverseEngineering

Reversing Bits Cheatsheets

مجموعه‌ای جامع از برگه‌های تقلب (Cheatsheets) برای مهندسی معکوس، تحلیل باینری و ابزارهای برنامه‌نویسی اسمبلی. این مخزن به‌عنوان مرجع یکپارچه‌ای برای پژوهشگران امنیت، مهندسی معکوس و برنامه‌نویسان سطح پایین به شمار می آید.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍3🔥1
#Article #Unpacking

Breaking Control Flow Flattening: A Deep Technical Analysis

تکنیک تسطیح جریان کنترل (Control Flow Flattening - CFF) نوعی مبهم‌سازی کد است که به جای پیچیده کردن عملیات‌ها، کل جریان اجرای برنامه (یا حداقل جریان یک تابع) را مخفی می‌کند.

برای دستیابی به این هدف، تمامی بلوک‌های پایه کد منبع مانند بدنه توابع، حلقه‌ها و شاخه‌های شرطی را جدا می‌کند و همه آن‌ها را در یک حلقه بی‌نهایت قرار می‌دهد که جریان برنامه را با استفاده از یک دستور switch کنترل می‌کند.

در این پست نویسنده با ابزاری که برای Ninja Binary مینویسد CFF را شناسایی و آن را از بین میبرد.

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

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥191👍1
#Article #Exploiting #Shellcode

From C to shellcode (simple way)

شل‌کد (Shellcode) در زمینه توسعه بدافزار، به قطعه کدی مستقل از کد ماشین گفته می‌شود که می‌توان آن را به هر نقطه‌ای تزریق کرد و اجرا نمود، بدون اینکه نیازی به نگرانی درباره وابستگی‌ها، DLLها، چیدمان پشته یا سایر متغیرها باشد.

آیا واقعاً می‌توان کدی در زبان C نوشت که به عنوان شل‌کد مستقل استفاده شود؟
این دقیقا موضوع مقاله هست که سعی دارد به روشی ساده پیاده سازی را انجام بده.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥161👍1🤩1
#Article #MalwareAnalysis

Understanding RedLine Stealer: The Trojan Targeting Your Data

در این پست به‌صورت مرحله‌به‌مرحله به آنالیز تروجان RedLine Stealer پرداخته شده است.

این تروجان پس از نصب در سیستم قربانی، شروع به جمع‌آوری اطلاعاتی نظیر Login Credentials، تمامی اطلاعاتی که در فرم‌های مرورگر به‌صورت AutoFill ذخیره شده‌اند، کلیدهای کیف پول‌های ارزهای دیجیتال، اطلاعات مربوط به سیستم‌عامل و سخت‌افزار، و همچنین فایل‌ها و اسناد موجود می‌کند.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍2🔥2
Forwarded from OS Internals (Abolfazl Kazemi)
سرقت توکن پروسه‌ها در ویندوز به کمک WinDbg

توکن یا به صورت کامل‌تر Access Token در ویندوز، یک شی است که شرایط امنیتی که یک پروسه یا نخ تحت آن می‌توانند کار کنند را مشخص می‌کند. توکن با احراز هویت موفق یک کاربر ایجاد شده و هر پروسه‌ای که توسط کاربر ایجاد شود، یک نسخه از آنرا خواهد داشت.

ویندوز از توکن در زمانیکه یک نخ تلاشی برای دسترسی به یک شی می‌کند استفاده می‌کند که کاربر را تشخیص داده و بررسی کند که آیا کاربر مجوز دسترسی به شی مورد نظر را دارد یا خیر. به عنوان مثال فرض کنید که با notepad قصد باز کردن یک فایل را داشته باشید. در این مثال پروسه‌ی notepad‌ توسط کاربر شما ایجاد شده و در نتیجه توکن آنرا خواهد داشت. شی مورد دسترسی نیز فایلی است که برای آن دسترسی خاصی تعریف شده و باید بررسی شود که آیا توکن مورد نظر مجوز دسترسی به فایل را دارد یا باید جلوی این دسترسی توسط ویندوز گرفته شود.

برخی از اطلاعاتی که توسط توکن مشخص می‌شوند عبارتند از: شناسه یا SID‌ کاربر. شناسه‌ی گروه‌هایی که کاربر عضوی از آن‌هاست. شناسه‌ی نشست جاری. لیستی از مجوزهایی که کاربر یا گروه‌های آن دارند.

یکی از کارهایی که با توکن‌ها قابل انجام بوده و در سرویس‌ها کاربرد زیادی دارد impersonation است. در این مدل، یک نخ با توکن متفاوتی از توکن اصلی خود اجرا شده و در نتیجه مجوزهای متفاوتی خواهد داشت. به عنوان مثال فرض کنید یک File Server دارید که فایل‌های آن محدودیت‌های دسترسی متفاوتی دارند. در این مثال، سرور با انجام impersonation درخواست هر کلاینت را با توکن همان کلاینت پاسخ داده و در نتیجه هر کاربر تنها به فایل‌های خود دسترسی خواهد داشت.

یکی از کارهایی که بدافزارها از آن بهره می‌برند همین بحث impersonation و دسترسی به منابع مختلف، مثل dump اطلاعات کاربران، است. در این حالت بدافزار توکن یک پروسه با دسترسی بالا را دزدیده و از آن برای مقاصد خود استفاده می‌کند.

در این ویدئو به کمک WinDbg مفهوم توکن و شیوه‌ی دزدیدن و قرار دادن آن بر روی پروسه‌ی دلخواهی شرح داده می‌شود که هم با موضوع توکن آشنا شده و هم به صورت عملی ببینیم که بدافزارها چطور می‌توانند از impersonation سواستفاده کنند.


لینک ویدئو در یوتیوب:
https://youtu.be/NTPVeauBDe4
لینک ویدئو در آپارات:
https://www.aparat.com/v/cvyprh5

#ShortWinInternals #windows #internals #token #WinDbg #impersonation #kernel
13👍1🔥1
#Article #LOTL #ReverseEngineering

Living Off the Land: Reverse Engineering Methodology + Tips & Tricks (Cmdl32 Case Study)

در این مقاله، نویسنده با استفاده از تکنیک LOTL به بررسی یک باینری خاص به نام Cmdl32.exe پرداخته است که به‌عنوان یکی از دشوارترین اهداف برای مهندسی معکوس شناخته شده (در واقع، به گفته نویسنده، سخت‌ترین موردی که تا به حال تحلیل کرده است).

کلمه LOTL مخفف Living Off The Land است و به تکنیکی اشاره دارد که در آن مهاجم به جای استفاده از ابزارها و بدافزارهای خارجی، از برنامه‌ها و قابلیت‌های از پیش نصب شده در سیستم قربانی برای انجام حملات خود استفاده می‌کند.

این تکنیک به دلیل استفاده از ابزارها و باینری‌های قابل اعتماد سیستم، تشخیص و شناسایی حمله را برای راهکارهای امنیتی مانند آنتی‌ویروس‌ها و EDRها دشوارتر می‌کند.

اگر به این نوع حملات علاقه دارید، چندین پروژه مرتبط وجود دارد که می‌توانید از طریق لینک‌های زیر آن‌ها را بررسی کنید:


➡️ GTFOBins
➡️ LOLBAS
➡️ LOLAPPS
➡️ LOLDRIVERS
➡️ LOLAD
➡️ LOLESXi
➡️ LOOBins

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥4👍2
#Course #ReverseEngineering

Reverse engineering focusing on x64 Windows.

دوره رایگان مهندسی معکوس با تمرکز بر باینری‌های ۶۴ بیتی ویندوز به همراه ابزارها و فایل‌های پروژه

1. Introduction
2. BinaryBasics
3. Assembly
4. Tools
5. BasicReversing
6. DLL
7. Windows
8. Generic Table

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥232👍1
#Tools

انتشار رسمی سیستم عامل ویندوز 11 مختص به ARM64

فایل‌های ISO شامل نسخه 24H2 ویندوز 11 هستند و می‌توان آن‌ها را از وب‌سایت رسمی مایکروسافت دانلود کرد.

حجم این فایل‌ها بسته به زبان انتخابی شما حدود 5 گیگابایت است. به گفته مایکروسافت، این فایل‌های ISO در درجه اول برای اجرای ویندوز 11 در ماشین مجازی بر روی کامپیوترهای Arm64 طراحی شده‌اند. با این حال، همچنین اشاره شده است که می‌توانید از آن‌ها برای نصب (Clean Install) ویندوز 11 به‌طور مستقیم روی سخت‌افزار Arm64 نیز استفاده کنید.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19🤩32👍1😁1
#Article #GameHacking

A Roadmap to Security Game Testing: Finding Exploits in Video Games Introduction

در این مقاله نویسنده شما را قدم به قدم با فرآیندی که برای ساخت ابزارهای پیدا کردن آسیب‌پذیری در بازی‌های ویدیویی استفاده می‌کند، آشنا خواهد کرد.

تمرکز این مقاله بر روی بازی Sword of Convallaria است که هم برای PC و هم برای Mobile قابل دریافت هست و با انجین Unity کد نویسی شده.

هدف نویسنده آشنایی با روش‌های شناسایی آسیب‌پذیری در چارچوب برنامه‌های باگ بانتی است.

🔗سورس کد های مقاله از این ریپو قابل دریافت است.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#Programming

https://benjdd.com/loops/

مقایسه 1 میلیارد حلقه تکرار تو در تو در زبان های برنامه نویسی JS | Python | Go | C و بررسی نتیجه

کد مربوط به Rust رو هم قرار دادم تا خودتون چک کنید.

let array = new Array(10000);
for (let i = 0; i < 10000; i++) {
for (let j = 0; j < 100000; j++) {
array[i] = array[i] + j;
}
}


array = [0] * 10000
for i in range(10000):
for j in range(100000):
array[i] = array[i] + j


package main
func main() {
var array [10000]int
for i := 0; i < 10000; i++ {
for j := 0; j < 100000; j++ {
array[i] = array[i] + j
}
}
}


int main() {
long array[10000];
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 100000; j++) {
array[i] = array[i] + j + i;
}
}
}


fn main() {
let mut array = [0i64; 10000];
for i in 0..10000 {
for j in 0..100000 {
array[i] += j + i as i64;
}
}
}


🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥32
#Article #Debugger

Writing a Linux Debugger

چند روز پیش در گروه بایت‌امن، کتابی با عنوان نوشتن یک دیباگر لینوکس به زبان ++C معرفی کردیم. فصل سوم این کتاب را می‌توانید از لینک زیر دانلود کنید.

همچنین تا زمان انتشار نهایی کتاب Building a Debugger، نویسنده خانم Sy Brand در بلاگ خود مجموعه مقالاتی درباره ساخت دیباگر لینوکسی منتشر کرده است که می‌توانید از آن‌ها استفاده کنید.

کدهای مرتبط در GitHub قرار داده شده‌اند، با این تفاوت که کتاب درباره نوشتن دیباگر ۶۴ بیتی است، در حالی که مقالات بلاگ مربوط به دیباگر ۳۲ بیتی هستند.

1. Setup
2. Breakpoints
3. Registers and memory
4. Elves and dwarves
5. Source and signals
6. Source-level stepping
7. Source-level breakpoints
8. Stack unwinding
9. Handling variables
10. Advanced topics

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍1🎉1
#Article #ProcessInjection

The Definitive Guide to Linux Process Injection

تکنیک‌های تزریق به فرآیند بخش مهمی از ابزارهای مهاجمان محسوب می‌شوند. این تکنیک‌ها به مهاجمان امکان می‌دهند که کد مخرب را در داخل یک فرآیند معتبر اجرا کنند تا از شناسایی توسط ابزارهای امنیتی جلوگیری کنند یا هوک‌هایی را در فرآیندهای راه دور قرار دهند تا رفتار آنها را تغییر دهند.

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

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍3🎉1
#Article #Unpacking

Dotnet String Decryptor

در دومین سری از مقالات آنپکینگ، این‌بار به سراغ تکنیک String Decryptor در برنامه‌ها و بدافزارهای .NET رفته‌ایم.

در این مقاله، سمپل DCRat یا همان DarkCrystal RAT تحلیل می‌شود و با استفاده از کتابخانه dnlib، یک اسکریپت پایتون برای دیکریپت کردن رشته‌ها نوشته خواهد شد.

Step 1 : Importing libs and loading the .NET filePermalink
Step 2 : Finding suspected decryption methods
Step 3 : Finding references to suspected methods
Step 4 : Patching
Step 5 : Saving
Step 6 : Testing and final notes

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍4🔥3
#Article #Unpacking

String Deobfuscation with Invoke

1. Installing Python libraries (and including dnlib.dll)
2. Defining string decryption method as name and MethodInfo
3. Determining string encrypted places and getting decrypted value by using Invoke
4. Placing the received decrypted value
5. Saving

در این مقاله، نویسنده با استفاده از dnlib و Reflection در زبان پایتون اقدام به رمزگشایی یا بازگردانی رشته‌های مبهم‌سازی‌شده کرده است. فایل های استفاده شده در مقاله هم در گیتهاب قرار داده شده.

از رفلکشن برای باز کردن و تحلیل فایل‌های اسمبلی که توسط پروتکتور ها محافظت شده‌اند، استفاده می‌شود.

این فرایند معمولاً شامل کارهای زیر است:
1. شناسایی متدها، کلاس‌ها و اعضای اسمبلی.
2. پیدا کردن متد یا فیلدی که وظیفه رمزگشایی رشته‌های مبهم‌سازی‌شده است.
3. اجرای این متد به‌صورت داینامیک (با استفاده از reflection) در زمان اجرا.


🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍2🔥2
#Tools #IDE

CodeLobster

اگر برنامه‌نویس PHP هستید، محیط کدنویسی CodeLobster IDE به‌صورت رایگان و چندسکویی در دسترس شماست. این IDE از فریم‌ورک‌ها و سیستم‌های مدیریت محتوایی (CMS) که در تصویر مشاهده می‌کنید، پشتیبانی می‌کند.

محیط برنامه نویسیCodeLobster روی سیستم‌عامل‌های Windows 7، Windows 8، Windows 10، Windows 11، macOS و Linux اجرا می‌شود و از زبان فارسی نیز پشتیبانی می‌کند.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥2👍1
#Magazine

شماره پنجم نشریه الکترونیکی Paged Out در 68 صفحه منتشر شد. این شماره نیز، همانند نسخه‌های پیشین، به موضوعات مرتبط با مهندسی معکوس، هک و امنیت، برنامه‌نویسی، سیستم‌های داخلی سیستم‌عامل و دیگر مباحث تخصصی پرداخته است.

📃Paged Out! #5 (web PDF) (23MB)

سایر نسخه ها در این پست قابل دسترس است.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍3🤩1
Media is too big
VIEW IN TELEGRAM
🖥 ویدیو جلسه سی و چهار از فصل دوم | "دوره برنامه نویسی تهاجمی"

مدت زمان : 13 دقیقه

💠فصل دوم : Windows System and Kernel Programming

⬅️بررسی تابع SendMessage و آشنایی با انواع Message ها
⬅️پیاده سازی پروژه عملی

در این جلسه می‌خواهیم با تابع
SendMessage آشنا بشیم و ببینیم چطور میشه پیام‌های مختلفی رو به برنامه خودمون یا حتی برنامه‌های دیگه ارسال کنیم. این رو با چند مثال عملی یاد می‌گیریم که کاملاً کاربردی باشه.

علاوه بر این، قراره یاد بگیریم چطور میشه به منوها یا ریسورس برنامه‌هایی که منابعشون محافظت‌شده است دسترسی پیدا کنیم، مخصوصاً وقتی فایل‌های منابع برنامه با ابزارهایی مثل
Resource Hacker قابل خواندن نیستند و یا با پکر یا پروتکتور محافظت شده اند.

نکته اساسی اینه که این کار رو بدون نیاز به این ابزارها انجام می‌دیم و خودمون دسترسی‌های لازم رو ایجاد می‌کنیم.

این مباحث بهتون کمک می‌کنه بهتر با تعامل برنامه‌ها و سیستم آشنا بشید و کمی هم با مهندسی معکوس درگیر بشید.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥214👍1🤩1