Deleted Account
سالم دوستان امیدوارم حالتون خوب باشه ، تو این پست قراره به یکی از تکنیک های حملات سمت کلاینت بپردازیم. تو این سناریو قراره یکی از قابلیت های قدیمی ویندوز(WebDAV) استفاده کنیم با چند تا چیز کوچیک ترکیبش کنیم تا بتونیم از کاربر دسترسی بگیریم امیدوارم که از…
From_Windows_Library_to_Reverse_Shell_A_WebDAV_Attack_Scenario.pdf
3.9 MB
❤9
Deleted Account
Photo
❗️تیم CERT Polska شش اسیب پذیری روی میکروتیک پیدا کرده با دوتا از این اسیب پذیری ها بدون احراز هویت فقط با داشتن دسترسی به پورت SSH کنترل کامل تجهیزات Mikrotik RouterOS رو به دست گرفت و سطح دسترسی خودمون رو به Full admin برسونیم،ادمین ها و مهندس های شبکه به شدت جدی بگیرنش چون به شدت در حال بهره برداری هستش .(CVE-2026-67276 / CVE-2026-86060)
اقدامات فوری هم برای ایمن سازی :
1-به روز رسانی سریع به یکی از نسخه ها امن شده (
2-دسترسی به سرویس های SSH، WebFig (WWW) و Bandwidth-test تا زمانی که به روزرسانی بکنید از سمت اینترنت مسدود کنید
3-IOCs لاگ هارو برسی کنید دنبال خطاهای مشکوک باشید
login failure for user -2 from <IP> via ssh
user <name> added by ssh:-2@<IP>
بررسی وضعیت Flagged: اجرای دستور
ایپی مهاجم هایی که تا الان دیتکت شده :
82.192.72.4
103.102.31.18
POC :https://github.com/dinosn/mikrotrick-poc
فعلا برسی نکردم که ایا فقط یه اسیب پذیری هستش یا Chain شده تا دسترسی full admin بگیره
Sources
https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/
https://cybersecuritynews.com/mikrotik-routeros-vulnerability/
https://thehackernews.com/2026/09/attackers-hijack-mikrotik-routers.html
https://github.com/dinosn/mikrotrick-poc
➖➖➖➖➖
CHANNEL
اقدامات فوری هم برای ایمن سازی :
1-به روز رسانی سریع به یکی از نسخه ها امن شده (
7.25beta3 | 7.24.2 | 7.23.4 | 6.49.21)2-دسترسی به سرویس های SSH، WebFig (WWW) و Bandwidth-test تا زمانی که به روزرسانی بکنید از سمت اینترنت مسدود کنید
3-IOCs لاگ هارو برسی کنید دنبال خطاهای مشکوک باشید
login failure for user -2 from <IP> via ssh
user <name> added by ssh:-2@<IP>
بررسی وضعیت Flagged: اجرای دستور
/system/device-mode/print در ترمینال؛ مشاهده مارکر Flagged نشاندهنده نفوذ قبلی و تغییر کانفیگ توسط سیستمعامل است. (توجه: عدم وجود این مارکر به معنی امن بودن مطلق نیست!)ایپی مهاجم هایی که تا الان دیتکت شده :
82.192.72.4
103.102.31.18
POC :https://github.com/dinosn/mikrotrick-poc
فعلا برسی نکردم که ایا فقط یه اسیب پذیری هستش یا Chain شده تا دسترسی full admin بگیره
Sources
https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/
https://cybersecuritynews.com/mikrotik-routeros-vulnerability/
https://thehackernews.com/2026/09/attackers-hijack-mikrotik-routers.html
https://github.com/dinosn/mikrotrick-poc
➖➖➖➖➖
CHANNEL
GitHub
GitHub - dinosn/mikrotrick-poc: CVE-2026-67276 RouterOS SSH public-key authentication bypass lab PoC
CVE-2026-67276 RouterOS SSH public-key authentication bypass lab PoC - dinosn/mikrotrick-poc
🔥9
سلام دوستان امیدوارم که حالتون خوب باشه .
تو این پست قراره بریم سراغ یه ابزاری که هم برای افنس کار ها هم دفنس کار ها مفیده ،اسم ابزار یا بهتره بگم اسکریپتی که ما باهاش سرکار دارم ADeleginator هستش که توسط https://x.com/techspence نوشته شده کارش پیدا کردن Trustee Delegationها و Resource Delegation ناامن تو AD هستش اما نکته اینجاست که ADeleginator یک Wrapper برای یه ابزار دیگه به اسم ADeleg هستش که جفتشون در کنار هم کار میکنن در واقع ADeleg کارش جمع اوری اطلاعات Delegation و Permissionهای Active Directory هستش و اسکریپت ADeleginator خروجی رو تحلیل میکنه و موارد خطرناک/مشکوک یا به عبارت دیگه میس کانفیگ هارو برای ما فیلتر میکنه که حالا ما بسته به کارمون ازش بخوایم تو حمله مون استفاده کنیم یا برای امن کردن شبکمون .
https://github.com/mtth-bfft/adeleg/releases ——->ADeleg
https://github.com/techspence/ADeleginator ———>ADeleginator
جفتشون رو دانلود میکنید و تو یه پوشه قرار بدید از ریپازتوری ADeleginator نیاز نیستش کل ریپو رو clone کنید فقط فایل پاورشل رو بردارید کافیه استفادش هم خیلی راحته هم داخل هم داخل ریپو مشخص شده توضیح داده که چطور میتونید استفاده کنید یبار هم من اینجا براتون استپ به استپ مینویسم چیکار کنید .
1- پاورشل رو تو پوشه ای که هم ADeleginator و ADeleg رو دانلود کردید بازش کنید یا به مسیرش برید .
2- پالیسی ران کردن اسکریپت های پاورشلی رو غیر فعال کنید
3-با استفاده از دستور زیر آن را Dot Source کنید
4- ران کنیدش
Example:Invoke-ADeleginator -Server dc01.acme.com
این کلیات استفاده از ابزار بودش اما یه نکته ای رو باید اضافه کنم این ابزار ADeleginator یه مشکلی که داره حتما باید روی ماشین قربانی که داخل دامین عضو هستش نصب و اجرا بشه و خب این میتونه تو حملات کار مارو سخت تر کنه یا حتی مشکلاتی به وجود بیاره ،برای همین من با کمک Ai سورس ADeleginator رو تغییرش دادم که شما بتونید روی ماشین اتکر با دادن کردنشیال یوزر اکانتی که تو دامین ازش دسترسی دارید با دامین ارتباط برقرار کنید و ابزار رو از روی سیستم خودتون ران کنید و Enum تون رو با موفقیت انجام بدید سورسی که تغییرش دادم رو براتون میزارم اینجا اگه خواستید از رو سیستمی که عضو دامین نیستش اجرا بگیرید به مشکل نخورید
تو نسخه اصلی شما فقط سرور رو مشخص میکردید -server ولی تو نسخه ای که من تغییرش دادم باید به این صورت ازش استفاده کنید:
که دوتا خروجی بهتون میده یکی برای ابزار ADeleg هستش (ADelegReportxxxx) اونی که برای ابزار ADeleginator هستش فرمتش به این صورته (ADeleg_InsecureTrusteeDelegationReportXXXXX)
نسخه اپدیت شده توسط ما ——->https://t.me/NetSecZ/1005
امیدوارم به دردتون بخوره .
➖➖➖➖➖
CHANNEL
تو این پست قراره بریم سراغ یه ابزاری که هم برای افنس کار ها هم دفنس کار ها مفیده ،اسم ابزار یا بهتره بگم اسکریپتی که ما باهاش سرکار دارم ADeleginator هستش که توسط https://x.com/techspence نوشته شده کارش پیدا کردن Trustee Delegationها و Resource Delegation ناامن تو AD هستش اما نکته اینجاست که ADeleginator یک Wrapper برای یه ابزار دیگه به اسم ADeleg هستش که جفتشون در کنار هم کار میکنن در واقع ADeleg کارش جمع اوری اطلاعات Delegation و Permissionهای Active Directory هستش و اسکریپت ADeleginator خروجی رو تحلیل میکنه و موارد خطرناک/مشکوک یا به عبارت دیگه میس کانفیگ هارو برای ما فیلتر میکنه که حالا ما بسته به کارمون ازش بخوایم تو حمله مون استفاده کنیم یا برای امن کردن شبکمون .
https://github.com/mtth-bfft/adeleg/releases ——->ADeleg
https://github.com/techspence/ADeleginator ———>ADeleginator
جفتشون رو دانلود میکنید و تو یه پوشه قرار بدید از ریپازتوری ADeleginator نیاز نیستش کل ریپو رو clone کنید فقط فایل پاورشل رو بردارید کافیه استفادش هم خیلی راحته هم داخل هم داخل ریپو مشخص شده توضیح داده که چطور میتونید استفاده کنید یبار هم من اینجا براتون استپ به استپ مینویسم چیکار کنید .
1- پاورشل رو تو پوشه ای که هم ADeleginator و ADeleg رو دانلود کردید بازش کنید یا به مسیرش برید .
2- پالیسی ران کردن اسکریپت های پاورشلی رو غیر فعال کنید
set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
3-با استفاده از دستور زیر آن را Dot Source کنید
. .\Invoke-ADeleginator.ps1
4- ران کنیدش
Invoke-ADeleginator
Example:Invoke-ADeleginator -Server dc01.acme.com
این کلیات استفاده از ابزار بودش اما یه نکته ای رو باید اضافه کنم این ابزار ADeleginator یه مشکلی که داره حتما باید روی ماشین قربانی که داخل دامین عضو هستش نصب و اجرا بشه و خب این میتونه تو حملات کار مارو سخت تر کنه یا حتی مشکلاتی به وجود بیاره ،برای همین من با کمک Ai سورس ADeleginator رو تغییرش دادم که شما بتونید روی ماشین اتکر با دادن کردنشیال یوزر اکانتی که تو دامین ازش دسترسی دارید با دامین ارتباط برقرار کنید و ابزار رو از روی سیستم خودتون ران کنید و Enum تون رو با موفقیت انجام بدید سورسی که تغییرش دادم رو براتون میزارم اینجا اگه خواستید از رو سیستمی که عضو دامین نیستش اجرا بگیرید به مشکل نخورید
تو نسخه اصلی شما فقط سرور رو مشخص میکردید -server ولی تو نسخه ای که من تغییرش دادم باید به این صورت ازش استفاده کنید:
Invoke-ADeleginator -Server "" -Domain "" -User "" -Password ""
Example: Invoke-ADeleginator -Server "192.168.239.8" -Domain "target.local" -User "administrator" -Password "Netsecz#SX1"
که دوتا خروجی بهتون میده یکی برای ابزار ADeleg هستش (ADelegReportxxxx) اونی که برای ابزار ADeleginator هستش فرمتش به این صورته (ADeleg_InsecureTrusteeDelegationReportXXXXX)
نسخه اپدیت شده توسط ما ——->https://t.me/NetSecZ/1005
امیدوارم به دردتون بخوره .
➖➖➖➖➖
CHANNEL
X (formerly Twitter)
spencer (@techspence) on X
🛠️ Former Sysadmin, now Pentester | Microsoft MVP | Helping IT teams make their environment harder to attack | @SecurIT360 & @CyberThreatPOV
❤7🔥1
NSEs
سلام دوستان امیدوارم حالتون خوب باشه همینجور که معلومه فعالیتمون رو از سر گرفتیم و میخواستم در مورد یه برنامه ای صحبت کنم NSEs قبلا یه گروه هم داشتش که اخر پستامون لینکش رو میزاشتیم ،گپمون نزدیک ۵۰۰ تا ممبر داشتش مثل خیلی گپ های دیگه امنیت صحبت هایی که هیچ…
با عرض تأسف باید بگم که این پلن شکست خوردش و نتونستیم دیگه ادامش بدیم.
واقعیتش کامیونیتی فارسی امنیت فعلا پتانسیل این رو نداشتش که همچین برنامه ای پیاده سازی بشه همه در کنار هم یه چیزی یاد بگیریم ،تو شروع در هفته ما دوبار پست میزاشتیم به جنگ و قطعی برخوردیم قطعش کردیم فاصله افتاد بعدش کردیم یبار در هفته ولی رفته رفته تعداد کسایی که به صورت اصولی پست میزاشتن سروقت کمتر شد و دوستان همکاری نداشتن در نتیجه رسیدیم به دوتا ممبر که مطمعن بشیم عملی نمیشه ،شاید در سال های اینده جور دیگه ای باز بریم سراغش ولی الان بهمون ثابت شدش که فعلا شدنی نیس
به درخواست از دوستان بخاطر منابعی که تو گروه هستش گپ رو پابلیک میکنیم که همه بتونن ازش استفاده بکنن
https://t.me/+1pHCh5bs1AwzOWI8
واقعیتش کامیونیتی فارسی امنیت فعلا پتانسیل این رو نداشتش که همچین برنامه ای پیاده سازی بشه همه در کنار هم یه چیزی یاد بگیریم ،تو شروع در هفته ما دوبار پست میزاشتیم به جنگ و قطعی برخوردیم قطعش کردیم فاصله افتاد بعدش کردیم یبار در هفته ولی رفته رفته تعداد کسایی که به صورت اصولی پست میزاشتن سروقت کمتر شد و دوستان همکاری نداشتن در نتیجه رسیدیم به دوتا ممبر که مطمعن بشیم عملی نمیشه ،شاید در سال های اینده جور دیگه ای باز بریم سراغش ولی الان بهمون ثابت شدش که فعلا شدنی نیس
به درخواست از دوستان بخاطر منابعی که تو گروه هستش گپ رو پابلیک میکنیم که همه بتونن ازش استفاده بکنن
https://t.me/+1pHCh5bs1AwzOWI8
💔10❤3😁2
Forwarded from # | Just My Logs
توی این پست میخوایم با یکی از مفاهیم قدیمی ولی مهم در لینوکس آشنا بشیم:
Chroot Jail
کلمهی chroot مخفف عبارت زیر است:
در لینوکس، هر پردازش یک مسیر ریشه (Root Directory) دارد که معمولاً با
این مسیر تعیین میکند یک برنامه از کجا شروع به دیدن فایلها و دایرکتوریهای سیستم کند.
در حالت عادی، یک پردازش میتواند ساختار اصلی سیستم را ببیند:
اما با استفاده از Chroot میتوان Root یک پردازش را تغییر داد.
مثلاً:
بعد از اجرای برنامه داخل این محیط، مسیر
یعنی برنامه فکر میکند در یک سیستم جدا اجرا میشود، در حالی که همچنان روی همان سیستم اصلی قرار دارد.
چرا به آن Jail میگویند؟
Jail یعنی «زندان».
چون یک کاربر یا سرویس داخل یک محدوده مشخص قرار میگیرد و فقط همان محیط را مشاهده میکند.
مثلاً یک کاربر FTP:
بدون Chroot:
با Chroot:
در این حالت کاربر دیگر به مسیرهایی مثل:
سیستم اصلی دسترسی ندارد.
اجرای Chroot
ساختار کلی دستور:
مثلاً:
با این دستور، محیط Bash داخل Jail اجرا میشود و فقط فایلهای موجود در همان محیط را مشاهده میکند.
کاربردهای Chroot Jail
1) محدود کردن سرویسها
یکی از رایجترین استفادههای Chroot، محدود کردن سرویسهایی مثل FTP است تا در صورت وجود مشکل، دسترسی آنها به کل سیستم محدود شود.
2) تعمیر سیستم لینوکس
یکی از کاربردهای حرفهای Chroot، تعمیر سیستمهایی است که دیگر بوت نمیشوند.
با استفاده از Live Linux:
بعد میتوان کارهایی مثل:
را انجام داد.
3) ساخت محیط تست
با Chroot میتوان یک محیط لینوکسی آزمایشی ساخت، بدون اینکه سیستم اصلی تغییر کند.
مثلاً:
نکته امنیتی مهم
Chroot یک Sandbox کامل نیست.
Chroot فقط دید پردازش نسبت به فایلسیستم را تغییر میدهد.
اما:
❌ Kernel جدا ایجاد نمیکند
❌ Processها را کاملاً جدا نمیکند
❌ منابع سیستم را محدود نمیکند
به همین دلیل نباید آن را با Container یا Virtual Machine اشتباه گرفت.
Escape از Chroot
یکی از موضوعات مهم امنیتی، بررسی امکان خروج از محیط Chroot است.
دلیل اصلی این است که Chroot همچنان از همان Kernel سیستم اصلی استفاده میکند:
همچنین مدیریت Deviceها در مسیر:
بسیار مهم است.
چون قرار دادن Deviceهای حساس مثل:
میتواند امنیت محیط را کاهش دهد.
@JustMyLogss
Chroot Jail
کلمهی chroot مخفف عبارت زیر است:
Change Root
در لینوکس، هر پردازش یک مسیر ریشه (Root Directory) دارد که معمولاً با
/ مشخص میشود.این مسیر تعیین میکند یک برنامه از کجا شروع به دیدن فایلها و دایرکتوریهای سیستم کند.
در حالت عادی، یک پردازش میتواند ساختار اصلی سیستم را ببیند:
/
├── bin
├── etc
├── home
├── usr
├── var
└── root
اما با استفاده از Chroot میتوان Root یک پردازش را تغییر داد.
مثلاً:
/var/jail
├── bin
├── etc
├── lib
└── home
بعد از اجرای برنامه داخل این محیط، مسیر
/var/jail برای آن برنامه تبدیل به / میشود.یعنی برنامه فکر میکند در یک سیستم جدا اجرا میشود، در حالی که همچنان روی همان سیستم اصلی قرار دارد.
چرا به آن Jail میگویند؟
Jail یعنی «زندان».
چون یک کاربر یا سرویس داخل یک محدوده مشخص قرار میگیرد و فقط همان محیط را مشاهده میکند.
مثلاً یک کاربر FTP:
بدون Chroot:
FTP User
|
+-- کل فایل سیستم
با Chroot:
FTP User
|
+-- /home/user
|
+-- فایلهای خودش
در این حالت کاربر دیگر به مسیرهایی مثل:
/etc
/usr
/root
سیستم اصلی دسترسی ندارد.
اجرای Chroot
ساختار کلی دستور:
chroot /path/to/new/root command
مثلاً:
sudo chroot /var/jail /bin/bash
با این دستور، محیط Bash داخل Jail اجرا میشود و فقط فایلهای موجود در همان محیط را مشاهده میکند.
کاربردهای Chroot Jail
1) محدود کردن سرویسها
یکی از رایجترین استفادههای Chroot، محدود کردن سرویسهایی مثل FTP است تا در صورت وجود مشکل، دسترسی آنها به کل سیستم محدود شود.
2) تعمیر سیستم لینوکس
یکی از کاربردهای حرفهای Chroot، تعمیر سیستمهایی است که دیگر بوت نمیشوند.
با استفاده از Live Linux:
mount /dev/sda2 /mnt
chroot /mnt
بعد میتوان کارهایی مثل:
update-grub
passwd
apt update
را انجام داد.
3) ساخت محیط تست
با Chroot میتوان یک محیط لینوکسی آزمایشی ساخت، بدون اینکه سیستم اصلی تغییر کند.
مثلاً:
Ubuntu Host
|
+---- Debian Chroot
نکته امنیتی مهم
Chroot یک Sandbox کامل نیست.
Chroot فقط دید پردازش نسبت به فایلسیستم را تغییر میدهد.
اما:
❌ Kernel جدا ایجاد نمیکند
❌ Processها را کاملاً جدا نمیکند
❌ منابع سیستم را محدود نمیکند
به همین دلیل نباید آن را با Container یا Virtual Machine اشتباه گرفت.
Escape از Chroot
یکی از موضوعات مهم امنیتی، بررسی امکان خروج از محیط Chroot است.
دلیل اصلی این است که Chroot همچنان از همان Kernel سیستم اصلی استفاده میکند:
Host Kernel
|
+-- Normal Process
|
+-- Chroot Process
همچنین مدیریت Deviceها در مسیر:
/dev
بسیار مهم است.
چون قرار دادن Deviceهای حساس مثل:
/dev/mem
/dev/sda
میتواند امنیت محیط را کاهش دهد.
@JustMyLogss
❤8👍1🔥1
Forwarded from # | Just My Logs
Deleted Account
توی این پست میخوایم با یکی از مفاهیم قدیمی ولی مهم در لینوکس آشنا بشیم: Chroot Jail کلمهی chroot مخفف عبارت زیر است: Change Root در لینوکس، هر پردازش یک مسیر ریشه (Root Directory) دارد که معمولاً با / مشخص میشود. این مسیر تعیین میکند یک برنامه از کجا شروع…
In Chroot Jail in Linux.pdf
478.8 KB
Eng version
@JustMyLogss
@JustMyLogss
👏9
bluCTF Announcements
🚩 پرچم بالاست، پس مسابقه آغاز میشود مسابقه فتح پرچم بلو bluCTF 🗓️ ۲۵شهریور ۱۴۰۵ 🏆 جایزهها: 🥇 ۱۳۳۳۷ میلیگرم طلا 🥈 ۷۷۷۰ میلیگرم طلا 🥉 ۴۴۴۰ میلیگرم طلا برای ثبتنام وارد شوید: https://ctf.blubank.com
کسب مقام چهارم تو مسابقات امنیت بلو سی تی اف (بلو بانک).
جا داشت بهتر باشیم ولی با مشکلاتی که پیش اومد تونستیم به همینجا برسیم امیدوارم دفعات بعدی رتبه بهتری بیاریم ،تجربه خوبی بود .
جا داشت بهتر باشیم ولی با مشکلاتی که پیش اومد تونستیم به همینجا برسیم امیدوارم دفعات بعدی رتبه بهتری بیاریم ،تجربه خوبی بود .
❤🔥28❤3🔥3😭1
خب سلام اومدیم یه مقدار درباره execve یه توضیح بدیم که احتمالا همتون وقتی یکم با strace کار میکنین این syscall میبینید . کارش بخوام خیلی کوتاه بگم اینه که میاد یه image پروسه فعلی رو با یه برنامه جدید جایگزین میکنه . شاید بگی عین fork هست ولی نه توی این عمل process جدید درست نمیشه بلکه همونه ولی فقط اون برنامه ای که درحال اجرا بود جایگزین میشه و یه برنامه جدید اجرا میشه .
سینتکسش هم به صورت زیره:
pathname خب مربوط به مسیر اون فایل اجرایی هست که میخوایم توی پراسس فعلی اجرا بشه /bin/ls
argv هم مربوط به آرگومان هایی هست که اون فایل اجرایی ما میگیره مثلا ss -t
envp هم مربوط به اون متغیر های Environment هستش.
بخوایم الان با توجه به توضیحایی که بالا دادیم این بخشا رو پر کنیم به صورت زیر در میاد
حالا برای مثال اگه بخوایم ls -la بگیریم متغیر args باید به صورت زیر پر کنیم :
اینم یادتون باشه آخر آرایه هم باید با NULL پر بشه که سیستم بفهمه آرگومان ها کجا به اتمام میرسند .
در واقع اینطوریه :
./main_program:
./program2:
خب توی این بخش میاد آرگومان های داده شده توی برنامه اول رو در برنامه دوم به نمایش میزاره و میشه گفت تمام کاری که میکنه همینه .یه نکته دیگه هم اینه که pid این برنامه اگه 100 بار این وسط برنامه جدید با execve بیاد وسط عوض نمیشه و جدا از اون وقتی یه برنامه جدید با execve اجرا میشه ادامه کدی که توی برنامه اول داریم اجرا نمیشه مگر اینکه به خطا بخوریم توی اجرا کردن برنامه دوم .
و در آخر، کنار execve چندین تابع کتابخانهای هم وجود داره که همگی wrapper هستن و execve رو صدا میزنن execl، execlp، execle، execv و execvp که خب یه سری تفاوت دارن و زیاد توشون دیپ نمیشیم .
➖➖➖➖➖
CHANNEL
سینتکسش هم به صورت زیره:
int execve(
const char *pathname,
char *const argv[],
char *const envp[]
);
pathname خب مربوط به مسیر اون فایل اجرایی هست که میخوایم توی پراسس فعلی اجرا بشه /bin/ls
argv هم مربوط به آرگومان هایی هست که اون فایل اجرایی ما میگیره مثلا ss -t
envp هم مربوط به اون متغیر های Environment هستش.
بخوایم الان با توجه به توضیحایی که بالا دادیم این بخشا رو پر کنیم به صورت زیر در میاد
execve("/bin/ls", args, env);حالا برای مثال اگه بخوایم ls -la بگیریم متغیر args باید به صورت زیر پر کنیم :
char *args[] = {
"ls",
"-l",
"/home",
NULL
};اینم یادتون باشه آخر آرایه هم باید با NULL پر بشه که سیستم بفهمه آرگومان ها کجا به اتمام میرسند .
در واقع اینطوریه :
./main_program:
#include <stdio.h>
#include <unistd.h>
int main()
{
char *args[] = {
"program2",
"hello",
"world",
NULL
};
printf("Before execve\n");
execve("./program2", args, NULL);
printf("After execve\n");
return 0;
}
./program2:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("I am program2\n");
printf("argc = %d\n", argc);
for (int i = 0; i < argc; i++)
{
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
خب توی این بخش میاد آرگومان های داده شده توی برنامه اول رو در برنامه دوم به نمایش میزاره و میشه گفت تمام کاری که میکنه همینه .یه نکته دیگه هم اینه که pid این برنامه اگه 100 بار این وسط برنامه جدید با execve بیاد وسط عوض نمیشه و جدا از اون وقتی یه برنامه جدید با execve اجرا میشه ادامه کدی که توی برنامه اول داریم اجرا نمیشه مگر اینکه به خطا بخوریم توی اجرا کردن برنامه دوم .
و در آخر، کنار execve چندین تابع کتابخانهای هم وجود داره که همگی wrapper هستن و execve رو صدا میزنن execl، execlp، execle، execv و execvp که خب یه سری تفاوت دارن و زیاد توشون دیپ نمیشیم .
➖➖➖➖➖
CHANNEL
❤10💔1
Forwarded from 𝙊𝙥𝙚𝙧𝙖𝙩𝙤𝙧 𝙇𝙤𝙜𝙨 (radiant moon)
Domain Fronting Technique in C2 Architectures has Been Explained
read below👇👇👇
read below👇👇👇
❤8