ch
Feedback
Try Hack Box

Try Hack Box

前往频道在 Telegram

1 Nov 2020 1399/08/11 آموزش تست نفوذ و ردتیم https://linkedin.com/company/tryhackbox-org/ یوتیوب https://youtube.com/@tryhackbox کانال ها : @TryHackBoxOfficial ( نقشه راه ) @TryHackBoxStory ( اخبار و داستانهای هک ) پشتیبانی : @ThbxSupport

显示更多
6 215
订阅者
-724 小时
+47
+5730
帖子存档
فصل اول: بخش صفرم: بعضی از اصطلاحات مهم و کاربردی به صورت خلاصه ——————————————————————————————— 🔹 Shell در دنیای هک و مدیریت سیستم، وقتی میگیم "شل" منظورمون یک رابط خط فرمان (Command Line) روی یک سیستم است که به ما اجازه می‌دهد دستورات رو اجرا کنیم. Local Shell → شلی که روی سیستم خودت داری. Remote Shell → شلی که روی یک سیستم از راه دور داری. ——————————————————————————————— 🔹 Bind Shell در Bind Shell، سیستم هدف یک پورت رو باز می‌کنه و منتظر می‌مونه تا ما بهش وصل بشیم. مزیت: ساده و مستقیم. عیب: نیاز داره پورت روی هدف باز باشه و فایروال اجازه بده. 📌 مثال ساده: هدف روی پورت 4444 یک bash یا cmd اجرا می‌کنه، ما به اون پورت وصل میشیم و شل می‌گیریم. ——————————————————————————————— 🔹 Reverse Shell در Reverse Shell، برعکس Bind Shell، سیستم هدف به ما وصل میشه. * **مزیت: معمولا راحت‌تر عبور می‌کنه چون فایروال‌ها خروجی رو کمتر محدود می‌کنند. * عیب: نیاز داریم ما یک listener داشته باشیم که منتظر اتصال باشه. 📌 مثال: ما روی سیستم خودمون پورت 4444 رو باز می‌کنیم، هدف به اون وصل میشه و یک شل به ما میده. ——————————————————————————————— 🔹 Listener Mode Listener یعنی برنامه‌ای که روی یک پورت گوش میده و منتظر اتصال می‌مونه. * تو Netcat و Socat، این حالت با گزینه‌هایی مثل -l یا LISTEN: فعال میشه. * استفاده در Bind Shell، Reverse Shell، دریافت فایل و… ——————————————————————————————— 🔹 Client Mode در Client Mode ما به یک آدرس و پورت وصل میشیم تا داده دریافت یا ارسال کنیم. * مثال: وقتی با Netcat یا Socat میریم به IP:PORT، ما کلاینت هستیم. ——————————————————————————————— 🔹 Port Forwarding پورت فورواردینگ یعنی هدایت ترافیک یک پورت (یا آدرس) به پورت (یا آدرس) دیگه. * کاربرد: دسترسی به سرویس‌هایی که مستقیم بهشون دسترسی نداریم. * مثال: ارسال ترافیک پورت 8080 سیستم ما به پورت 80 یک سرور دیگه. ——————————————————————————————— 🔹 Tunneling تونل‌سازی یعنی انتقال داده از یک پروتکل یا مسیر به یک مسیر امن یا متفاوت. * میتونه SSH Tunnel باشه، VPN، یا حتی Socat که UDP رو به TCP تبدیل میکنه. * کاربرد: عبور از محدودیت‌های شبکه، رمزگذاری ترافیک، مخفی‌کردن مسیر ارتباط. ——————————————————————————————— 🔹 Port Scanning اسکن پورت یعنی بررسی لیستی از پورت‌ها برای فهمیدن اینکه باز هستن یا بسته. * با Netcat، Nmap یا ابزارهای مشابه انجام میشه. * برای تست امنیت و پیدا کردن سرویس‌ها. ——————————————————————————————— 🔹 TCP vs UDP TCP: ارتباط مطمئن و دارای چک‌کردن ارسال و دریافت (مانند HTTP, FTP). UDP: سریع‌تر ولی بدون تضمین تحویل (مانند DNS, VoIP). ——————————————————————————————— 🔹 SSL/TLS پروتکل‌هایی هستند که ارتباط رو رمزگذاری می‌کنند تا داده‌ها وسط راه قابل خواندن نباشند. * کاربرد: HTTPS، ایمیل امن، شل امن (Bind یا Reverse). * در Socat و OpenSSL برای ساخت شل یا تونل امن استفاده میشه. ✍️نویسنده @TryHackBox| احسان آخوندی #pwk #CyberSecurity

مهندسی اجتماعی چیست ؟ مهندسی اجتماعی هر حمله یا روشی هست که از روانشناسی استفاده میکنه تا فرد هدف رو تحت تاثیر قرار بده و اون رو وادار به انجام یک عمل خاص (مثل کلیک روی لینک) یا دادن اطلاعات محرمانه کنه. این روش‌ها معمولاً در امنیت اطلاعات و هکینگ استفاده میشن، اما در زندگی روزمره هم دیده می‌شن (مثل تبلیغات یا متقاعد کردن دیگران). برخلاف هکینگ فنی که روی کامپیوترها تمرکز داره، مهندسی اجتماعی روی "انسان" تمرکز داره، چون انسان ضعیف‌ترین حلقه در زنجیره امنیت هست. چرا مهمه؟ بخوانید در کانال زیر : @PfkSecurity آموزش مهندسی اجتماعی وقت محدود است مطالب از دست نده !

🔖 پارت اول دامپ های حافظه LSASS از همیشه مخفیانه تر هستند. 💢 فایل های Dump Memory LSASS چیستند و مهاجمان چگونه از آن ها استفاده می کنند؟ 💢 روش های شناخته شده برای Dump کردن LSASS 💢 ابزار Dump کاستومایز : نحوه انجام یک Dump LSASS دستی @TryHackBox | Github | YouTube | Group

📢 انواع VLAN و کاربردهای امنیتی آنها 🛡 🔹 1. Default VLAN - کاربرد: همه پورت‌ها به‌صورت پیش‌فرض در این VLAN قرار می‌گیرند. - امنیت: تغییر آن از VLAN 1 برای جلوگیری از حملات ساده ضروری است. 🔹 2. Data VLAN (User VLAN) - کاربرد: انتقال ترافیک عادی کاربران (مثل PC و لپ‌تاپ). - امنیت: جداسازی ترافیک داده از مدیریت و صدا برای کاهش خطرات. 🔹 3. Voice VLAN - کاربرد: اولویت‌دهی به ترافیک VoIP برای مکالمات با کیفیت. - امنیت: QoS (کیفیت سرویس) برای جلوگیری از اختلال در تماس‌ها. 🔹 4. Management VLAN - کاربرد: مدیریت تجهیزات شبکه (مانند سوئیچ و روتر). - امنیت: محدود کردن دسترسی با ACL و فایروال برای جلوگیری از نفوذ. 🔹 5. Native VLAN - کاربرد: حمل ترافیک بدون تگ (Untagged) در لینک‌های ترانک. - امنیت: تغییر از VLAN 1 و غیرفعال کردن DTP برای جلوگیری از VLAN Hopping. 🔹 6. Trunk VLAN - کاربرد: انتقال چندین VLAN بین سوئیچ‌ها و روترها. - امنیت: فیلتر کردن VLANهای غیرضروری و استفاده از VLAN اختصاصی برای ترانک. 🔹 7. Private VLAN (PVLAN) - کاربرد: افزایش امنیت در محیط‌های اشتراکی (مثل هاستینگ). - امنیت: جداسازی میزبان‌ها از یکدیگر حتی در یک VLAN. 🔹 8. Static VLAN - کاربرد: تنظیم دستی پورت‌ها برای VLANهای مشخص. - امنیت: کنترل دقیق دسترسی و کاهش خطر جابجایی غیرمجاز دستگاه‌ها. 🔹 9. Dynamic VLAN - کاربرد: اختصاص خودکار VLAN بر اساس MAC Address. - امنیت: نیاز به احراز هویت (مانند 802.1X) برای جلوگیری از سوءاستفاده. 🔐 نکته امنیتی: - همیشه VLAN 1 را غیرفعال کنید. - از VLANهای جدا برای مدیریت، داده و صدا استفاده کنید. - ترافیک ترانک را با فیلترینگ محدود کنید. ✍️نویسنده @TryHackBox | The Chaos #NetworkSecurity #VLAN #Cybersecurity #Networking

🖥انواع VLAN 1️⃣ Default VLAN – پورتی که به‌صورت پیش‌فرض تمام پورت‌ها در آن قرار می‌گیرند. 2️⃣ Data VLAN (User VLAN) – ترافیک
🖥انواع VLAN 1️⃣ Default VLAN – پورتی که به‌صورت پیش‌فرض تمام پورت‌ها در آن قرار می‌گیرند. 2️⃣ Data VLAN (User VLAN) – ترافیک کاربران نهایی مانند رایانه‌های شخصی و لپ‌تاپ‌ها را مدیریت می‌کند. 3️⃣ Voice VLAN – ترافیک VoIP را اولویت‌دهی می‌کند تا مکالمات با وضوح بالا انجام شوند. 4️⃣ Management VLAN – ترافیک مدیریتی دستگاه‌های شبکه را جدا می‌کند. 5️⃣ Native VLAN – ترافیک بدون تگ (untagged) در لینک‌های ترانک را مدیریت می‌کند. 6️⃣ Trunk VLAN – چندین VLAN را بین دستگاه‌های شبکه منتقل می‌کند. 7️⃣ Private VLAN (PVLAN) – امنیت را در محیط‌های اشتراکی مانند دیتاسنترها افزایش می‌دهد. 8️⃣ Static VLAN – به‌صورت دستی تنظیم می‌شود و کنترل دقیقی ارائه می‌دهد. 9️⃣ Dynamic VLAN – به‌صورت خودکار با استفاده از آدرس‌های MAC، VLANها را اختصاص می‌دهد. ✍️نویسنده @TryHackBox | The Chaos #VLAN #Network #CyberSecurity

Repost from
مقدمه‌ای بر AD CS: زیرساخت کلید عمومی در اکتیو دایرکتوری AD CS یا Active Directory Certificate Services یکی از نقش‌های کلیدی ویندوز سرور است که به سازمان‌ ها امکان میدهد تا زیرساخت کلید عمومی (PKI) را پیاده‌سازی و مدیریت کنند. این سرویس برای صدور، مدیریت و اعتبارسنجی گواهی‌ های دیجیتال استفاده می‌شود که در پروتکل‌ های امنیتی مانند SSL/TLS، احراز هویت و رمزنگاری کاربرد دارند. گواهی‌های دیجیتال، جایگزینی امن‌ تر و قابل‌ اعتمادتر برای احراز هویت مبتنی بر پسورد هستند و از رمزنگاری نامتقارن (کلید عمومی و خصوصی) به همراه امضاهای دیجیتال بهره می‌برند. 💢 چرا AD CS مهم است؟ به سازمان‌ها کمک می‌ کند تا امنیت ارتباطات و احراز هویت را در سطح بالاتری مدیریت کنند. گواهی‌های دیجیتال صادره توسط AD CS در سناریوهای مختلفی کاربرد دارند، از جمله: - رمزنگاری ایمیل‌ها: برای اطمینان از محرمانگی و اصالت ایمیل‌ها. - امضای دیجیتال: برای امضای اسناد یا کد های نرم‌افزاری جهت تضمین یکپارچگی و اصالت. - احراز هویت مبتنی بر گواهی: برای کاربران، کامپیوترها یا دستگاه‌ها (مثلاً در Kerberos با پروتکل PKINIT). - پروتکل‌های امن: مانند VPN، SSH یا سیستم فایل رمزنگاری‌شده (EFS). این قابلیت‌ها باعث می‌شوند AD CS به یکی از اجزای حیاتی زیرساخت امنیتی سازمان‌ها تبدیل شود. 💢 چرا AD CS برای تیم قرمز جذاب است؟ از منظر تیم قرمز (Red Team)، AD CS یک هدف طلایی است، چون اغلب به‌درستی درک یا پیکربندی نمی‌شود. تنظیمات نادرست (misconfiguration) مثل قالب‌های گواهی آسیب‌پذیر (vulnerable certificate templates) می‌توانند راه را برای نفوذ به دامنه (domain) بدون نیاز به اکسپلویت‌ های پیچیده باز کنند. برای مثال، اگر مهاجم بتواند گواهی‌ ای با Extended Key Usage (EKU) مربوط به Client Authentication را سرقت کند، می‌تواند یک TGT (Ticket Granting Ticket) از Kerberos بگیرد و به‌ راحتی هویت یک کاربر یا سیستم را جعل (impersonate) کند. این تکنیک که به Pass-the-Cert معروف است، یکی از روش‌های قدرتمند سوءاستفاده از AD CS است. آموزش عملی: بررسی وجود AD CS برای شروع، باید بررسی کنید که آیا AD CS در محیط تارگت فعال است یا خیر. می‌توانید از PowerShell استفاده کنید:
Get-ADObject -LDAPFilter '(objectclass=certificationAuthority)' -SearchBase 'CN=Configuration,DC=yourdomain,DC=com'
اگر این دستور خروجی برگرداند، یعنی AD CS در دامنه فعال است. حالا می‌توانید از ابزارهایی مثل Certify برای لیست کردن Certification Authorities (CAs) و بررسی تنظیمات آن‌ها استفاده کنید. نکته برای Evasion: برای جلوگیری از شناسایی توسط آنتی‌ویروس‌هایی مثل Windows Defender، ابزار Certify را با استفاده از ConfuserEx مبهم‌ سازی (obfuscate) کنید تا احتمال تشخیص آن کاهش یابد. نکته : سوءاستفاده از PKI برای پایداری (Persistence) یکی از بزرگ‌ترین مزیت‌های سوءاستفاده از AD CS برای مهاجمان، امکان ایجاد پایداری (persistence) در محیط است. برخلاف پسوردها که ممکن است تغییر کنند، گواهی‌ های دیجیتال معمولاً تاریخ انقضای طولانی‌ مدت دارند و تغییر پسورد کاربر تأثیری بر اعتبار آن‌ها ندارد. این ویژگی، PKI را به ابزاری ایده‌ آل برای حفظ دسترسی غیرمجاز تبدیل می‌کند. جمع‌بندی AD CS: یکی از ستون‌های اصلی امنیت در محیط‌ های مبتنی بر اکتیو دایرکتوری است، اما تنظیمات نادرست آن می‌تواند به پاشنه آشیل سازمان تبدیل شود. برای تیم‌های امنیتی (Blue Team)، درک عمیق این سرویس و ایمن‌سازی آن ضروری است. برای تیم‌های قرمز، AD CS دریچه‌ای به سوءاستفاده‌های پیشرفته و پایداری طولانی‌مدت در شبکه است. با ابزارهای مناسب و دانش کافی، این سرویس می‌تواند نقطه شروعی برای حملات پیچیده باشد. #ADCS #PKI @KavehAPT

آشنایی با کالی لینوکس: قسمت دهم: کار با متن و ابزارهای متنی،مدیریت فرآیندها، مانیتورینگ و Netcat جستجو و دستکاری متن (Text Searching and Manipulation) grep: برای جستجوی عبارت‌های منظم در فایل‌های متنی و نمایش خطوط مطابق با الگو   - آپشن‌های رایج:   - -r: جستجوی بازگشتی   - -i: نادیده گرفتن حروف کوچک و بزرگ   - مثال:

grep "href=" index.html
🔸 grep: جستجوی کلمه یا الگو در فایل. در اینجا به دنبال رشته "href=" در فایل index.html می‌گردد. - مثال پیشرفته:

grep -o '[^/]*\.megacorpone\.com' index.html | sort -u > list.txt
🔸 -o: فقط خود متن مطابق را چاپ می‌کند.   🔸 [ ^/ ]*: هر چیزی قبل از / را می‌گیرد.   🔸 sort -u: مرتب‌سازی و حذف تکراری‌ها.   🔸 >: خروجی را داخل فایل list.txt ذخیره می‌کند. sed: ویرایشگر جریان (stream editor) قدرتمند برای دستکاری متن   - مثال:
echo "I need to try hard" | sed 's/hard/harder/'
🔸 sed 's/hard/harder/': کلمه "hard" را با "harder" در رشته جایگزین می‌کند. cut: برای استخراج فیلدهایی از یک خط متن   - گزینه‌های رایج:   - -f: شماره فیلد   - -d: جداکننده فیلد   - مثال:
echo "I hack binaries,web apps,mobile apps, and just about anything else" | cut -f 2 -d ","
🔸 -d ",": جداکننده فیلدها را کاما قرار می‌دهد.   🔸 -f 2: فیلد دوم یعنی "web apps" را جدا می‌کند. awk: زبان برنامه‌نویسی خط فرمان برای پردازش متن، انعطاف‌پذیرتر از cut   - مثال:

echo "hello::there::friend" | awk -F "::" '{print $1, $3}'
🔸 -F "::": جداکننده فیلدها را :: قرار می‌دهد.   🔸 {print $1, $3}: فیلدهای اول و سوم را چاپ می‌کند. ✍️ ویرایش فایل‌ها از خط فرمان nano: ویرایشگر متنی ساده.  
nano filename.txt
🔸 باز کردن فایل برای ویرایش در محیط nano. vi: ویرایشگر پیشرفته با حالت‌های مختلف و قابلیت‌های بیشتر.  
vi filename.txt
🔸 باز کردن فایل در محیط vi. --- 🧾 مقایسه فایل‌ها comm: مقایسه خط به خط دو فایل مرتب‌شده.  
comm file1.txt file2.txt
🔸 ستون‌های مقایسه: فقط در اولی، فقط در دومی، در هر دو.
comm -12 file1.txt file2.txt
🔸 -12: فقط نمایش خطوط مشترک. diff: نمایش تفاوت‌ها بین دو فایل.  
diff -u file1 file2
🔸 -u: فرمت یکنواخت (unified) برای نمایش تفاوت‌ها. vimdiff: نمایش گرافیکی تفاوت فایل‌ها در محیط vim.  
vimdiff file1 file2
--- ⚙️ مدیریت فرآیندها اجرا در پس‌زمینه:
command &
🔸 اجرای دستور در پس‌زمینه. تعلیق با Ctrl+Z: 🔸 متوقف کردن موقت اجرای برنامه. bg:
bg
🔸 ادامه اجرای فرآیند متوقف‌شده در پس‌زمینه. jobs:
jobs
🔸 نمایش لیست فرآیندهای در حال اجرا یا متوقف در ترمینال. fg:
fg %1
🔸 بازگرداندن job شماره 1 به پیش‌زمینه. ps:
ps aux
🔸 نمایش لیست تمام فرآیندها با اطلاعات کامل. Ctrl+C: 🔸 توقف اجرای فرآیند جاری. 🖥 ابزارهای مانیتورینگ tail:
sudo tail -f -n 10 /var/log/syslog
🔸 -f: نمایش زنده.   🔸 -n 10: نمایش ۱۰ خط آخر. watch:
watch -n 5 w
🔸 -n 5: اجرای دستور w هر ۵ ثانیه برای نمایش کاربران فعال. --- 📤 انتقال فایل‌ها wget:
wget https://example.com/file.pdf
🔸 دانلود فایل از URL مشخص. curl:
curl -o file.pdf https://example.com/file.pdf
🔸 -o: ذخیره فایل با نام مشخص. axel:
axel -a -n 10 -o file.pdf https://example.com/file.pdf
🔸 -a: نمایش پیشرفت   🔸 -n: تعداد اتصالات   🔸 -o: تعیین نام خروجی --- ⚙️ محیط Bash HISTIGNORE:
export HISTIGNORE="ls:exit"
🔸 نادیده گرفتن دستورهای خاص از history. HISTTIMEFORMAT:
export HISTTIMEFORMAT='%F %T '
🔸 نمایش تاریخ/زمان در خروجی history. alias:
alias ll='ls -la'
🔸 تعریف میانبر برای دستورات.   🔸 برای دائمی شدن به .bashrc اضافه شود. --- 🕵️ Netcat و socat اتصال به پورت:
nc -nv 10.0.0.1 80
🔸 -n: عدم استفاده از DNS   🔸 -v: نمایش جزئیات اتصال شنود پورت:
sudo nc -lvp 443
🔸 -l: حالت شنونده   🔸 -v: حالت verbose   🔸 -p: شماره پورت socat:
sudo socat TCP4-LISTEN:443 STDOUT
🔸 شنود بر روی TCP و ارسال داده به خروجی. ✍️نویسنده @TryHackBox| احسان آخوندی #pwk #CyberSecurity

🚀 پارت 2 (B) شناسایی کاربران با آدرس IP 2️⃣ تخصیص پویا (Dynamic IP) اکثر سرویس‌دهنده‌های اینترنت (ISP) به کاربران خود هر بار که به اینترنت متصل می‌شوند، یک IP جدید اختصاص می‌دهند. بنابراین: * امروز یک کاربر با IP A متصل می‌شود، * فردا همان کاربر با IP B. 🔁 این یعنی IP نمی‌تواند به‌تنهایی برای شناسایی کاربران در جلسات مختلف قابل اعتماد باشد. 3️⃣ استفاده از NAT (ترجمه آدرس شبکه) در بسیاری از شبکه‌های خانگی یا سازمانی، ده‌ها دستگاه از طریق یک مودم و با استفاده از تکنولوژی NAT به اینترنت متصل می‌شوند. در نتیجه: * همه دستگاه‌ها از نظر بیرونی یک IP مشترک دارند، * اما در پشت صحنه، IP داخلی آن‌ها متفاوت است مانند زیر 192.168.x.x 📌 از دید سرور، همه آن کاربران یکی دیده می‌شوند! 4️⃣ پنهان‌سازی IP با پروکسی یا گیت‌وی بسیاری از کاربران از پروکسی‌ها، گیت‌وی‌ها یا VPN استفاده می‌کنند که ارتباط را از طرف آن‌ها ارسال می‌کند. در این حالت، سرور فقط آدرس IP واسطه را می‌بیند نه آدرس واقعی کلاینت را. ✅ برخی پراکسی‌ها برای شفاف‌سازی، هدرهایی مثل: X-Forwarded-For Client-IP اضافه می‌کنند که ممکن است آدرس IP واقعی کاربر را نشان دهند. ولی این هدرها به راحتی قابل جعل (Spoof) هستند و قابل اعتماد صددرصدی نیستند. 💡 آیا هنوز از IP در امنیت استفاده می‌شود؟ بله! با وجود تمام محدودیت‌ها، بسیاری از وب‌سایت‌ها هنوز از IP برای: * بررسی ناهنجاری‌ها (مثلاً تغییر ناگهانی IP در نشست) * اعمال محدودیت‌های جغرافیایی (Geo-blocking) * کنترل دسترسی‌های خاص در اینترانت‌ها استفاده می‌کنند. اما باید توجه داشت که IP باید فقط بخشی از یک مکانیزم ترکیبی شناسایی باشد، نه ابزار اصلی. 📌 جمع‌بندی: آدرس IP به‌تنهایی برای شناسایی دقیق کاربر کافی نیست، و اگرچه در بعضی کاربردها مفید است، اما در شبکه‌های مدرن، استفاده صرف از آن یک نقطه ضعف امنیتی و شناختی خواهد بود. ✍️نویسنده @TryHackBox | The Chaos #HTTP #Cookies #CyberSecurity

🚀 پارت 2 (A) شناسایی کاربران با آدرس IP یکی از ساده‌ترین و قدیمی‌ترین روش‌ها برای شناسایی کاربران در وب، استفاده از آدرس IP
🚀 پارت 2 (A) شناسایی کاربران با آدرس IP یکی از ساده‌ترین و قدیمی‌ترین روش‌ها برای شناسایی کاربران در وب، استفاده از آدرس IP کلاینت است. زمانی طراحان اولیه وب تصور می‌کردند که IP می‌تواند نشان‌دهنده هویت یک کاربر باشد؛ چون فرض بر این بود که هر کاربر یک IP منحصر‌به‌فرد دارد. اما در دنیای واقعی، این فرض بسیار ناپایدار و پرایراد است. چرا؟ ⚠️ محدودیت‌های جدی در استفاده از IP برای شناسایی کاربران: 1️⃣ اشتراک‌گذاری IP توسط چند کاربر اگر چند کاربر از یک کامپیوتر یا شبکه (مثلاً کافی‌نت یا دانشگاه) استفاده کنند، همگی از یک آدرس IP بیرونی دیده می‌شوند. بنابراین شما کاربر را نمی‌شناسید، بلکه فقط دستگاه یا شبکه‌ را تشخیص می‌دهید. ✍️نویسنده @TryHackBox | The Chaos #HTTP #Cookies #CyberSecurity

برای اطلاع رسانی از ویس چت در کانال @RadioZeroPod ما عضو باشید .

⭕ قسمت چهارم زیرو تاک 🔶 مهندس رضا شریف زاده  - با محوریت تست نفوذ وب و باگ بانتی 💢 بخش اول: تعریف مفاهیم پایه 💢 بخش دوم: مسیر شخصی و تجربیات مهمان 💢 بخش سوم: وضعیت بازار کار، چالش‌ها و اشتباهات رایج 💢 بخش چهارم: نقد و بررسی وضعیت آموزش امنیت در ایران 💢 بخش پنجم: آینده‌نگری و توصیه‌ها به علاقه‌مندان برای دیدن سوالات هر بخش کلیک کنید . 🎤 راهبر گفتگوی امنیتی : حسین نائیجی 🆔 @RadioZeroPod 🆔 @TryHackBox

📌یک مثال جامع: دستور نشان داده‌شده در زیر یک خط فرمان ترکیبی در بش است که از چند ابزار لینوکسی برای آنالیز فایل لاگ استفاده می‌کند(شناساندن مهاجم ها با بیشترین فرکانس لاگ):
cat access.log | cut -d " " -f 1 | sort | uniq -c | sort -urn
——————————————————————————————— 1. cat access.log * این دستور محتوای کامل فایل access.log را نمایش می‌دهد و آن را به مرحله بعدی از طریق pipe (|) منتقل می‌کند. * فایل access.log معمولاً یک فایل گزارش (log) سرور وب است که شامل اطلاعاتی مانند IP کاربران، زمان درخواست، نوع درخواست و... می‌باشد. ——————————————————————————————— 2. cut -d " " -f 1 * دستور cut برای برش زدن (استخراج) فیلدهایی از متن استفاده می‌شود. * -d " " مشخص می‌کند که جداکننده فیلدها اسپیس است. * -f 1 به این معناست که فقط فیلد اول (ستون اول) استخراج شود. در فایل‌های لاگ وب، فیلد اول معمولاً آدرس IP کاربر است، بنابراین این دستور فقط IPها را جدا می‌کند. ——————————————————————————————— 3. sort * این دستور لیست IPها را به‌صورت مرتب‌شده (حروفی) در می‌آورد. * مرتب‌سازی برای این است که دستور uniq بتواند تعداد تکرارهای هر IP را درست بشمارد (چون uniq فقط موارد تکراری پشت‌سرهم را تشخیص می‌دهد). ——————————————————————————————— 4. uniq -c * دستور uniq لیست مرتب‌شده را گرفته و مقادیر تکراری را یکی می‌کند. * گزینه -c باعث می‌شود که تعداد تکرار هر مقدار نیز نمایش داده شود. مثال خروجی:    15 192.168.1.5    23 10.0.0.1 ——————————————————————————————— 5. sort -urn * خروجی uniq -c را می‌گیرد و دوباره مرتب می‌کند. * گزینه‌ها:   * -u:  uniq   * -r: مرتب‌سازی نزولی (بیشترین تعداد اول)   * -n: مرتب‌سازی عددی (براساس تعداد درخواست‌ها) نتیجه نهایی: لیستی از IPهایی که بیشترین درخواست را به سرور داشته‌اند، به ترتیب از بیشترین به کمترین. ——————————————————————————————— 🎯 کاربرد کلی دستور این خط فرمان به شما نشان می‌دهد: کدام آدرس‌های IP بیشترین تعداد درخواست را به سرور فرستاده‌اند (برای مثال جهت شناسایی کاربران فعال یا حملات احتمالی مثل brute force یا DOS) ——————————————————————————————— ✍️نویسنده @TryHackBox| احسان آخوندی #pwk #CyberSecurity

مقدمه: آشنایی با کالی لینوکس: قسمت نهم: Text Searching & Manipulation grep، sed، cut و awk این ۴ ابزار خط فرمان برای پردازش م
مقدمه: آشنایی با کالی لینوکس: قسمت نهم: Text Searching & Manipulation grep، sed، cut و awk این ۴ ابزار خط فرمان برای پردازش متن هستن، ولی هرکدوم کاربرد خاص خودشونو دارن: ——————————————————————————————— 🔹 grep – جستجوی الگو در متن 📌 مثال:
grep "error" logfile.txt
نمایش همه خطوطی که توشون کلمه‌ی "error" اومده. ——————————————————————————————— 🔹 sed – ویرایش متن با الگو 📌 مثال:
sed 's/old/new/g' file.txt
همه‌ی "old"ها رو با "new" جایگزین می‌کنه. ——————————————————————————————— 🔹 cut – جدا کردن ستون‌ها یا فیلدها 📌 مثال:
cut -d ":" -f 1 /etc/passwd
فقط ستون اول رو (مثلاً نام کاربر) از هر خط نشون می‌ده. ——————————————————————————————— 🔹 awk – فیلتر و پردازش پیشرفته متن 📌 مثال:
awk '{print $1}' file.txt
فقط ستون اول (مثلاً کلمه اول هر خط) رو چاپ می‌کنه. ✍️نویسنده @TryHackBox| احسان آخوندی #pwk #CyberSecurity

🔹 3. Piping pipe (`|`) خروجی یک دستور را به ورودی دستور دیگر می‌فرستد مثال: cat file.txt | grep "error" * cat محتویات فایل ر
🔹 3. Piping pipe (`|`) خروجی یک دستور را به ورودی دستور دیگر می‌فرستد مثال:
cat file.txt | grep "error"
* cat محتویات فایل را می‌دهد * خروجی cat با | به عنوان ورودی به grep داده می‌شود * grep فقط خط‌هایی که شامل "error" هستند را نمایش می‌دهد ——————————————————————————————— 🔹 مثال ترکیبی ذخیره خروجی در فایل، خطا در فایل دیگر:
command > out.txt 2> err.txt
——————————————————————————————— ✍️نویسنده @TryHackBox| احسان آخوندی #pwk #CyberSecurity

مقدمه: آشنایی با کالی لینوکس:  قسمت هشتم: Redirection & Piping در لینوکس و محیط بش، 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

photo content

دوستانی که از جلسه امشب جا موندید فایل به زودی در کانال @RadioZeroPod قرار میگیره استفاده کنید .

مقدمه: آشنایی با کالی لینوکس: قسمت هفتم: 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. تکمیل پارامترهای دستورات: در دستورات خاص مانند 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

مقدمه: آشنایی با کالی لینوکس: قسمت هفتم: 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. تکمیل پارامترهای دستورات: در دستورات خاص مانند 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

برگزاری جلسه ویس چت :  مهندس رضا شریف زاده با سلام خدمت دوستان و همراهان عزیز،  در راستای ارتقای سطح دانش فنی و آشنایی بیشتر با مباحث امنیت سایبری، قصد داریم جلسه‌ای تخصصی و آموزشی در خصوص تست نفوذ وب و باگ بانتی به صورت ویس چت برگزار کنیم. 🎙️ مهمان ویژه:  مهندس رضا شریف زاده – کارشناس تست نفوذ وب 📅 زمان برگزاری: جمعه (فرداشب) 📍 پلتفرم: تلگرام (ویس چت) 🕗 ساعت : 20:00 💬 سوالات خود را درباره تست نفوذ و باگ بانتی در کامنت‌هاارسال کنید تا در جلسه به آن‌ها پرداخته شود. 🔔 نکته مهم:  جهت شرکت به موقع جلسه، حتماً کانال تلگرام را چک کنید تا از این جلسه جا نمونید . @TryHackBox