diff --git a/docs/crypto/index.md b/docs/crypto/index.md index 654ca72c..a5e1286f 100644 --- a/docs/crypto/index.md +++ b/docs/crypto/index.md @@ -10,8 +10,8 @@ tags: # رمزنگاری -رمزنگاری به هنر نوشتن رمزها و کدهای مخفی گفته می‌شود. رمزهای عبور، اطلاعات بانکی، ارسال و دریافت پیام در پیام‌رسان‌ها و هر چیزی که شامل انتقال و ذخیره اطلاعات حساس در دنیای اینترنتی امروز باشد نیاز به رمزنگاری دارد. -همان‌طور که هیچ الگوریتم یا سیستمی کاملا امن نیست، رمزنگاری‌های موجود (متقارن، نامتقارن،امضای دیجیتال) نیز ممکن است دارای نقص‌هایی باشند. هدف چالش‌های رمزنگاری در مسابقه‌های CTF ایجاد آشنایی با این نقص‌ها و بالا بردن دانش افراد در زمینه مفاهیم پایه‌ای رمزنگاری یعنی مباحث ریاضی آن‌ها است. +رمزنگاری به هنر نوشتن رمزها و کدهای مخفی گفته می‌شود. رمزهای عبور، اطلاعات بانکی، ارسال و دریافت پیام در پیام‌رسان‌ها و هر چیزی که شامل **انتقال و ذخیره اطلاعات** در دنیای اینترنتی امروز باشد نیاز به **رمزنگاری** دارد. +همان‌طور که هیچ الگوریتم یا سیستمی کاملا امن نیست، رمزنگاری‌های موجود (متقارن، نامتقارن، امضای دیجیتال) نیز ممکن است دارای نقص‌هایی باشند. هدف چالش‌های رمزنگاری در مسابقه‌های CTF ایجاد آشنایی با این نقص‌ها و بالا بردن دانش افراد در زمینه مفاهیم پایه‌ای رمزنگاری یعنی مباحث ریاضی آن‌ها است. این چالش‌ها شامل **شکستن الگوریتم رمزنگاری**، **رمزگشایی متون رمزی** یا **دور زدن الگوریتم‌های رمزنگاری** در سامانه‌ها و پروتکل‌های مختلف است که به درستی پیاده نشده‌اند. با این حال، بسیاری از این چالش‌ها تنها به استفاده نادرست از الگوریتم‌های رمزنگاری می‌پردازند که نیاز به دانش عمیقی از روابط ریاضی آنها ندارد.
@@ -25,7 +25,7 @@ tags: ### ۱- مبتنی بر مفاهیم ریاضی - این چالش‌ها صرفا به مفاهیم پایه‌ای ریاضی متمرکز هستند و نیاز به حل یک مسئله ریاضی برای آن چالش رمزنگاری دارند. برای بدست آوردن پرچم در این نوع چالش‌ها، شما نیاز به داشتن دانش کافی در مباحث ریاضیات رمزنگاری مانند محاسبات پیمانه‌ای، لگاریتم‌های گسسته، معادلات چندجمله‌ای، منحنی‌های بیضوی و ریاضیات مشبک (Lattice) دارید. + این چالش‌ها صرفا به مفاهیم پایه‌ای ریاضی متمرکز هستند و نیاز به حل یک مسئله ریاضی برای آن چالش رمزنگاری دارند. برای بدست آوردن پرچم در این نوع چالش‌ها، شما نیاز به داشتن دانش کافی در مباحث ریاضیات رمزنگاری مانند محاسبات پیمانه‌ای، لگاریتم‌های گسسته، معادلات چندجمله‌ای، منحنی‌های بیضوی و ریاضیات مشبکه (Lattice) دارید. ### ۲- مبتنی بر خطای پیاده‌سازی diff --git a/docs/crypto/source/index.md b/docs/crypto/source/index.md index f3d11827..458032f8 100644 --- a/docs/crypto/source/index.md +++ b/docs/crypto/source/index.md @@ -1,4 +1,4 @@ -# منابع یادگیری رمزنکاری +# منابع یادگیری رمزنگاری ## ## کتاب \ No newline at end of file diff --git a/docs/crypto/writeups/vSCTF/Redundancy.md b/docs/crypto/writeups/vSCTF/Redundancy.md index ef713a5b..5bef8948 100644 --- a/docs/crypto/writeups/vSCTF/Redundancy.md +++ b/docs/crypto/writeups/vSCTF/Redundancy.md @@ -4,10 +4,10 @@ tags: - vSCTF-2023 - Crypto - RSA - - Extended Euclidean - - Fixed-pad - - sage - - Polynomial Ring + - Extended gcd + - Partial known m + - Coppersmith + - Sage --- # چالش Redundancy @@ -48,7 +48,7 @@ c1 = 900306254436146896001421847063640466917373504486634296586966038216626312328 c2 = 2546072448640808612556238065690407010381885201320761372614998667179031247594621466783076820338223816545993779457675793555900878984022886823043416655251600929530018123073858500887780064339665319391244085462799327306580227414809334236098388514789401395708999589289970455742049539846184453090569082144704220108709060216465897683931008575383253420528012257869329475086084346328436404376300397163706384908585243637028839505661432353166021577388901987667955042566919645080401328362001267759995517247132976744463557149680150697522052163536029888394019138507753598600096770531185804183946347241540134230811866880904134661137 ``` - با بررسی اولیه کد می فهمیم که متن فلگ دو بار با استفاده از دو کلید عمومی $e1$ ،e2 و پیمانه یکسان n با الگوریتم رمزنگاری RSA رمز شده اند. با دقت در کد متوجه می شویم که تولید p و q صحیح انجام شده و نمی توان با تجزیه کردن ([factorization](https://en.wikipedia.org/wiki/Integer_factorization)) عدد n کلید خصوصی را بدست آورد. با توجه به اینکه مقادیر رمز یعنی c1 و c2 را در این چالش به ما داده شده، با اندکی جستجو در اینترنت، به این [لینک](https://crypto.stackexchange.com/questions/1614/rsa-cracking-the-same-message-is-sent-to-two-different-people-problem/1616#1616) رسیدیم که به ما کمک کرد. متوجه شدیم در صورت داشتن دو متن رمزشده، شرط $gcd(e1,e2)=1$ و مقدار n و m یکسان می توان با استفاده از الگوریتم تعمیم اقلیدسی [EEA](https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm) به رشته m یعنی فلگ رسید، اما در این چالش مقدار $gcd(e1,e2)=5$ است. با این حال می دانیم که 2 و 3 ضرایبی از e1 و e2 هستند نسبت به هم اول هستند و شرط $gcd(2,3)=1$ در آن صدق می کند. پس می توانیم با روش توضیح داده شده در لینک قبلی حداقل توان های 2 و 3 را با روش زیر حذف و به $c=m^5$ برسیم. + با بررسی اولیه کد می فهمیم که متن فلگ دو بار با استفاده از دو کلید عمومی $e1$ ،e2 و پیمانه یکسان n با الگوریتم رمزنگاری RSA رمز شده اند. با دقت در کد متوجه می شویم که تولید p و q صحیح انجام شده و نمی توان با تجزیه کردن ([factorization](https://en.wikipedia.org/wiki/Integer_factorization)) عدد n کلید خصوصی را بدست آورد. با توجه به اینکه مقادیر رمز یعنی c1 و c2 را در این چالش به ما داده شده، با اندکی جستجو در اینترنت، به این [لینک](https://crypto.stackexchange.com/questions/1614/rsa-cracking-the-same-message-is-sent-to-two-different-people-problem/1616#1616) رسیدیم که به ما کمک کرد. متوجه شدیم در صورت داشتن دو متن رمزشده، شرط $gcd(e1,e2)=1$ و مقدار n و m یکسان می توان با استفاده از الگوریتم تعمیم اقلیدسی [EEA](https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm) به رشته m یعنی فلگ رسید، اما در این چالش مقدار $gcd(e1,e2)=5$ است. با این حال می دانیم که 2 و 3 ضرایبی از e1 و e2 هستند نسبت به هم اول هستند و شرط $gcd(2,3)=1$ در آن صدق می کند. پس می توانیم با روش توضیح داده شده در لینک قبلی حداقل تاثیر توان های 2 و 3 را با روش زیر حذف و به $c=m^5$ برسیم. $$ @@ -74,7 +74,7 @@ assert m.bit_length() == (64*8) == 512 ``` -با اندکی دقت در کد پایتون سوال متوجه شدیم که مقدار پیام m دارای مقداری متن اضافی ثابت قبل از فلگ اصلی است که باعث می شود هنگام تبدیل m به عدد، ارقام آن تا حد زیادی ثابت باقی بماند. بنابراین می توانیم m را به صورت جمع دو عدد m1 و m2 مانند فرمول زیر بنویسیم. در این حالت چون m1 همیشه مقدار ثابتی است، آن را خواهیم داشت. +با اندکی دقت در کد پایتون سوال متوجه شدیم که مقدار پیام ```m``` دارای مقداری متن اضافی ثابت قبل از فلگ اصلی است که باعث می شود هنگام تبدیل ```m```به عدد، ارقام آن تا حد زیادی ثابت باقی بماند. بنابراین می توانیم ```m``` را به صورت جمع دو عدد $m1$ و $m2$ مانند فرمول زیر بنویسیم. در این حالت چون $m1$ همیشه مقدار ثابتی است، آن را خواهیم داشت. $$ C\equiv m^5 \ mod \ n @@ -84,7 +84,8 @@ $$ C\equiv \left (m{1} + m{2} \right)^{5} mod \ n $$ - در این رابطه ریاضی مقادیر C، m1 و n مشخص است. چون طول فلگ اصلی (m2) کمتر از 16 کاراکتر است باید در یک حلقه طول های مختلف (1-15) را برای آن امتحان می کردیم اما چون حدس زدیم که طول آن 15 خواهد بود و یک کارکتر "{" در انتهای آن است، مستقیم مقدار 16 را برای قراردادن در m در نظر گرفتیم. حال برای بدست آوردن مقدار m2 که فلگ چالش است از معادلات حلقه چندجمله ای [(polynomial ring)](https://en.wikipedia.org/wiki/Polynomial_ring) استفاده می کنیم. [sage](https://www.sagemath.org/) یک ابزار توانمند برای حل این معادلات پیشرفته است که به زبان پایتون توسعه یافته است. در نهایت با استفاده از کد زیر در sage یا import کردن کتابخانه آن می توان مقدار فلگ را بدست آورد. + + در این رابطه ریاضی مقادیر $C$ ،$m1$ ،$n$ مشخص است و همچنین **طول** $m2$ داریم که این دقیقا شرایط حمله روش‌های [Coppersmith](https://en.wikipedia.org/wiki/Coppersmith%27s_attack) را به وجود می آورد. چون طول فلگ اصلی ($m2$) کمتر از 16 کاراکتر است باید در یک حلقه طول های مختلف (1-15) را برای آن امتحان می‌کردیم اما چون حدس زدیم که طول آن 15 خواهد بود و یک کارکتر "{" در انتهای آن است، مستقیم مقدار 16 را برای قراردادن در m در نظر گرفتیم. حال برای بدست آوردن مقدار $m2$ که فلگ چالش است از معادلات حلقه چندجمله ای [(polynomial ring)](https://en.wikipedia.org/wiki/Polynomial_ring) استفاده می کنیم (از روش LLL هم می توانیم ریشه‌های این معادله رو بدست بیاریم). [sage](https://www.sagemath.org/) یک ابزار توانمند برای حل این معادلات پیشرفته است که به زبان پایتون توسعه یافته است. در نهایت با استفاده از کد زیر در sage یا import کردن کتابخانه آن می توان مقدار فلگ را بدست آورد. diff --git a/docs/getStarted/contribution.md b/docs/getStarted/contribution.md index 8fa96522..c39a87b3 100644 --- a/docs/getStarted/contribution.md +++ b/docs/getStarted/contribution.md @@ -1,6 +1,6 @@ # نحوه همکاری ما همه از کسانی که بخواهند با ما همکاری داشته باشند به گرمی استقبال می‌کنیم. - این همکاری می‌تواند در قالب مشارکت در بخش‌های خلاصه شود: + این همکاری می‌تواند در قالب مشارکت در بخش‌های زیر خلاصه شود: - **نوشتن رایتاپ:** diff --git a/docs/getStarted/template.md b/docs/getStarted/template.md index 494c8453..03d33cad 100644 --- a/docs/getStarted/template.md +++ b/docs/getStarted/template.md @@ -10,8 +10,8 @@ tags: # نحوه نوشتن با فرمت Markdown -برای نوشتن رایتاپ با فرمت md می‌توانید از نرم‌افزار متن باز [Joplin](https://joplinapp.org) در ویندوز استفاده کنید. این -نرم‌افزار یادداشت برداری فرمت md و زبان فارسی را پشتیبانی می‌کند و نوشته‌ها در آن از راست به چپ نمایش داده می‌شوند. +برای نوشتن رایتاپ با فرمت md می‌توانید از نرم‌افزار یادداشت‌برداری متن باز [Joplin](https://joplinapp.org) در ویندوز استفاده کنید. این +نرم‌افزار، فرمت md و زبان فارسی را پشتیبانی می‌کند و نوشته‌ها در آن از راست به چپ نمایش داده می‌شوند. پس از دانلود و نصب نرم‌افزار Joplin, می‌توانید جهت سهولت در نوشتن رایتاپ‌های خود، از این [نمونه رایتاپ](./Sample-writeup.zip){:download} به عنوان قالبی برای نگارش استفاده کنید. در ادامه این بخش، انواع عناصر نوشتاری Markdown همراه با نمایش آن در سایت در دو تب جداگانه توضیح داده شده که می‌توانید از آن‌ها در نوشته‌های خود استفاده کنید. استفاده از این عناصر می‌تواند باعث ارتقا ساختار و خوانایی رایتاپ شما گردد. diff --git a/docs/getStarted/writing-method.md b/docs/getStarted/writing-method.md index 79f95fd6..bec96638 100644 --- a/docs/getStarted/writing-method.md +++ b/docs/getStarted/writing-method.md @@ -10,7 +10,7 @@ tags: شاید برای شما سوال شود که writeup چیست و نوشتن آن چه تاثیری خواهد داشت. writeup یا معادل فارسی آن "**نگاشته** یا **نوشته**" در دنیای امنیت، **گزارشی از نحوه حل مسئله** است که نویسنده گام به گام رویدادها و آزمایشات خود را برای حل یک چالش امنیتی بیان می‌کند. این گزارش علاوه بر اینکه کمک بسیاری به خوانندگان و افزایش تجربه آن‌ها در حل مسائل جدید می‌کند می‌تواند باعث افزایش درک خود نویسنده از آن چالش نیز شود. - این بخش به عنوان نکات نگارشی در رایتاپ نویسی توسط تیم پیشنهاد می‌شود تا نوشته‌ها به صورت یک شکل، منظم و استاندارد ارائه شوند. برای نگارش، نویسنده باید از فرمت ایجاد متن [Markdown](https://en.wikipedia.org/wiki/Markdown) یا به اختصار md استفاده کند که نحوه نگارش در این فرمت همراه با عناصر آن و مثال در [اینجا](https://flagmotori.github.io/writeups/introduction/template/) توضیح داده شده است. + این بخش به عنوان نکات نگارشی در رایتاپ نویسی توسط تیم پیشنهاد می‌شود تا نوشته‌ها به صورت یک شکل، منظم و استاندارد ارائه شوند. برای نگارش، نویسنده باید از فرمت ایجاد متن [Markdown](https://en.wikipedia.org/wiki/Markdown) یا به اختصار md استفاده کند که نحوه نگارش در این فرمت همراه با عناصر آن و مثال در [اینجا](https://flagmotori.github.io/writeups/getStarted/template/) توضیح داده شده است. البته با خواندن چند رایتاپ قالب نوشتاری مناسب را متوجه خواهید شد. با این حال لازم است که موارد زیر را در هنگام نگارش نوشته‌ی خود لحاظ کنید: diff --git a/docs/index.md b/docs/index.md index 1f539c49..aad1161c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,5 +8,5 @@ icon: fontawesome/regular/flag امروزه بسیاری از رایتاپ‌ها در حوزه امنیت اغلب به زبان انگلیسی نوشته و منتشر می‌شوند. از آنجایی که ممکن است مطالعه محتوای انگلیسی برای بسیاری از افراد دشوار باشد، تصمیم گرفتیم رایتاپ‌ها را به زبان فارسی منتشر کنیم تا مخاطبین فارسی زبان فرایند حل چالش‌های مسابقات CTF را بهتر درک کنند. ما در تیم فلگ موتوری بر این باوریم که ارائه این رایتاپ‌ها و در دسترس قرار دادن آن‌ها برای همگان، می‌تواند کمبود منابع فارسی در زمینه امنیت را تا حدی جبران کند. -علاوه بر این، کوشیدیم تا بستری جذاب را برای خواندن رایتاپ فراهم کنیم. بدین منظور امکان سفارشی‌سازی برخی قسمت‌ها در سایت تعبیه شده تا تجربه متفاوتی از مطالعه رایتاپ بر اساس سلیقه شخصی خود شکل دهید. برای شخصی‌سازی سایت میتوانید به [این صفحه](getStarted/customization.md) بروید. +علاوه بر این، کوشیدیم تا بستری جذاب را برای خواندن رایتاپ فراهم کنیم. بدین منظور امکان سفارشی‌سازی برخی قسمت‌ها در سایت تعبیه شده تا تجربه متفاوتی از مطالعه رایتاپ بر اساس سلیقه شخصی خود شکل دهید. برای شخصی‌سازی سایت می‌توانید به [این صفحه](getStarted/customization.md) بروید. diff --git a/docs/osint/Tools/index.md b/docs/osint/Tools/index.md new file mode 100644 index 00000000..53807c05 --- /dev/null +++ b/docs/osint/Tools/index.md @@ -0,0 +1,10 @@ +# ابزارهای مفید برای حل چالش ها + +سایت های آرشیو : + +archive.ph + +archive.org + + +:triangular_flag_on_post: \ No newline at end of file diff --git a/docs/osint/index.md b/docs/osint/index.md index f5e12a54..8c0865e8 100644 --- a/docs/osint/index.md +++ b/docs/osint/index.md @@ -1,5 +1,21 @@ --- icon: material/incognito + +tags: + - Osint + - اطلاعات منبع‌باز --- -# (open-source intelegense) اطلاعات منابع آشکار +# اطلاعات منبع‌باز(𝙾sint) + +اینترنت امروز به واسطه گسترش شبکه های اجتماعی، رسانه‌ها، سایت‌های سازمانی و شخصی یک منبع اطلاعاتی بزرگ است. اطلاعات منبع‌باز (𝙾𝚂𝙸𝙽𝚃) که سرنام عبارت  𝙾𝚙𝚎𝚗 𝚂𝚘𝚞𝚛𝚌𝚎 𝙸𝚗𝚝𝚎𝚕𝚕𝚒𝚐𝚎𝚗𝚌𝚎 است به اطلاعاتی گفته می‌شود به صورت آشکار و رایگان در فضای وب در دسترس همگان قرار دارد که با اندکی کنکاش می‌توان به آن‌ها دست یافت. + +این اطلاعات مثل نام فرد و شغل آن بخودی خود اطلاعات محرمانه‌ای نیستند، اما می‌توانند به نتیجه‌گیری و به کار بردن آن‌ها برای یک هدف خاص کمک کنند. به عنوان مثال، از روی عکس‌های پروفایل اینستاگرام یک شخص می‌توان نتیجه گرفت که او به گردش در طبیعت علاقه دارد، پس می توان یک بدافزار به شکل یک عکس از طبیعت، شخص را وادار به اجرای آن کرد. با جمع‌آوری و استدلال روی این اطلاعات، یک مهاجم می‌تواند حمله‌های سایبری هدفمندتری را روی یک شخص یا سازمان پیاده کند. + + +
+![osint.jpg](osint.jpg) +
+### Osint در مسابقات CTF: +osint یک دسته‌ از چالش‌های در CTF است که در چند سال اخیر بخاطر گسترش داده‌های موجود در وب و کمک آن به شناسایی (Recon) هدف به این مسابقات اضافه شده است. +در این نوع از چالش‌ها فرد باید مانند یک کاراگاه اطلاعات مختلف در رابطه با یک موضوع را کنار هم بچیند و سرنخ‌های مختلف را دنبال کند تا به هدف چالش یعنی پیدا کردن فلگ برسد. در این راه می‌توان از ابزارهای مختلف مانند موتور‌های جستجو، شبکه‌های اجتماعی، وبسایت‌ها و شواهد موجود در تصاویر بهره ببرد تا فلگ را پیدا کند. \ No newline at end of file diff --git a/docs/osint/osint.jpg b/docs/osint/osint.jpg new file mode 100644 index 00000000..c384ce49 Binary files /dev/null and b/docs/osint/osint.jpg differ diff --git a/docs/osint/writeups/0xL4ughCTF/1.png b/docs/osint/writeups/0xL4ughCTF/1.png new file mode 100644 index 00000000..8b3ee0ce Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/1.png differ diff --git a/docs/osint/writeups/0xL4ughCTF/2.png b/docs/osint/writeups/0xL4ughCTF/2.png new file mode 100644 index 00000000..a8d02518 Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/2.png differ diff --git a/docs/osint/writeups/0xL4ughCTF/3.jpg b/docs/osint/writeups/0xL4ughCTF/3.jpg new file mode 100644 index 00000000..10ae25cb Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/3.jpg differ diff --git a/docs/osint/writeups/0xL4ughCTF/4.png b/docs/osint/writeups/0xL4ughCTF/4.png new file mode 100644 index 00000000..52d14d61 Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/4.png differ diff --git a/docs/osint/writeups/0xL4ughCTF/5.png b/docs/osint/writeups/0xL4ughCTF/5.png new file mode 100644 index 00000000..8d34466e Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/5.png differ diff --git a/docs/osint/writeups/0xL4ughCTF/challenge cover.png b/docs/osint/writeups/0xL4ughCTF/challenge cover.png new file mode 100644 index 00000000..b492ed43 Binary files /dev/null and b/docs/osint/writeups/0xL4ughCTF/challenge cover.png differ diff --git a/docs/osint/writeups/0xL4ughCTF/cheater.md b/docs/osint/writeups/0xL4ughCTF/cheater.md new file mode 100644 index 00000000..900f8f0f --- /dev/null +++ b/docs/osint/writeups/0xL4ughCTF/cheater.md @@ -0,0 +1,62 @@ +--- +tags: + - 0xL4ughCTF + - 0xL4ughCTF-2024 + - Osint + - instagram + - archive.ph + - gmail + - Ghunt +--- + +# چالش Cheater + +--- + +
+![challenge cover.png](./challenge cover.png) +
+ +1- اسم Hamdia Eldhkawy در گوگل جستجو کردم که بعد تعدادی صفحه اینستاگرام، به [این](https://www.instagram.com/hamdia_elhob_kolo) آدرس رسیدم. + + +
+![1.png](./1.png) +
+ +2- اسم اکانت hamdia_elhob_kolo در موتور جستجو DuckDuckgo جستجو کردم به یک فروم OpenAI می رسیم که عکس زیر آنجا بود. + +
+![2.png](./2.png) +
+ +3- در متن کنار این عکس یک به نظر یک اکانت spider@ هست که اون رو زیاد جستجو کردم که نتیجه نداشت. بعد، آدرس url موجود در عکس جستجو کردم که فهمیدم این عکس اینستاگرام حذف شده است. توی سایت‌های آرشیو دنبال url گشتم که در سایت [archive.ph](https://www.archive.ph) زیر این صفحه ثبت شده بود. پس تکمیل شده اکانت spidersh4zly@ بدست آوردیم. + + +
+![3.jng](./3.jpg) +
+ + +4- اسم اکانت spidersh4zly@ جستجوکردم که به مارو به صفحه اینستا زیر می بره. + +
+![4.png](./4.png) +
+ +5- آدرس url داخل این صفحه رو که بزنیم به صفحه زیر میریم که اکانت های توییتر، فیس بوک و یک آدرس جی‌میل (spidersh4zly4love@gmail.com) در اونجا هست. + + +
+![5.png](./5.png) +
+ +6- حالا با استفاده از ابزار [Ghunt](https://github.com/mxrch/GHunt) اطلاعات مربوط به این ایمیل را بدست آوردیم که اسم و فامیل صاحب این ایمیل هم بدست آمد. + +--- +??? success "FLAG :triangular_flag_on_post:" +
`0xL4ugh{Abdelfatah_ElCanaway}`
+ + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) \ No newline at end of file diff --git a/docs/osint/writeups/wctf/WOLPHV-I/WOLPHV-I-Reconnaissance.md b/docs/osint/writeups/wctf/WOLPHV-I/WOLPHV-I-Reconnaissance.md new file mode 100644 index 00000000..35f18410 --- /dev/null +++ b/docs/osint/writeups/wctf/WOLPHV-I/WOLPHV-I-Reconnaissance.md @@ -0,0 +1,38 @@ +--- +tags: + - wCTF + - wCTF-2024 + - Osint + - twitter comments +--- + +# چالش WOLPHV-I: Reconnaissance + +--- + +
+![challenge cover.jpg](./challenge cover.jpg) +
+ +توی این چالش با اینکه گفته شده که برای پیدا کردن فلگ نباید دنبال آن در اکانت های توییتر خود گروه Wolphv باشیم ولی با یک جستجو توی اینترنت در مورد این باج‌افزار به یک [توییت](https://twitter.com/FalconFeedsio/status/1706989111414849989) بر میخوریم که در مورد این باج افزار توییتی زده. + + +
+![google search.png](./google search.png) +
+ +بعد از باز کردن و بررسی قسمت نظرات ، پایین ترین کامنت یک کد base64 هست که احتمالا باید فلگ باشه. بعد دیکد کردن آن فلگ بدست میاد. + +
+![twitter comments.jpg](./twitter comments.jpg) +
+ +این سوال ساده‌ای بود اما نکته گمراه کننده این بود که در توضیحات چالش گفته بود که نباید به توییتر توجه کرد. + +--- +??? success "FLAG :triangular_flag_on_post:" +
`wctf{0k_1_d0nT_th1Nk_A1_w1ll_r3Pl4c3_Us_f0R_4_l0ng_t1me}`
+ + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) \ No newline at end of file diff --git a/docs/osint/writeups/wctf/WOLPHV-I/challenge cover.jpg b/docs/osint/writeups/wctf/WOLPHV-I/challenge cover.jpg new file mode 100644 index 00000000..21442d9d Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-I/challenge cover.jpg differ diff --git a/docs/osint/writeups/wctf/WOLPHV-I/google search.png b/docs/osint/writeups/wctf/WOLPHV-I/google search.png new file mode 100644 index 00000000..14477957 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-I/google search.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-I/twitter comments.jpg b/docs/osint/writeups/wctf/WOLPHV-I/twitter comments.jpg new file mode 100644 index 00000000..9cc233a1 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-I/twitter comments.jpg differ diff --git a/docs/osint/writeups/wctf/WOLPHV-III/WOLPHV-III-p1nesh4dow48.md b/docs/osint/writeups/wctf/WOLPHV-III/WOLPHV-III-p1nesh4dow48.md new file mode 100644 index 00000000..191f6a7e --- /dev/null +++ b/docs/osint/writeups/wctf/WOLPHV-III/WOLPHV-III-p1nesh4dow48.md @@ -0,0 +1,43 @@ +--- +tags: + - wctf + - wctf-2024 + - Osint + - image coordinates + - google map +--- + +# چالش WOLPHV-III: p1nesh4dow48 +--- + +
+![challenge cover.png](./challenge cover.png) +
+ +بعد از اینکه تونستیم به سرور دیسکورد گروه در چالش قبلی وارد بشیم برای این سوال مختصات آدرس آپارتمان اکانت p1nesh4dow48 از ما میخواد که داخل سرور این گروه همین شخص عکس آپارتمانش رو گذاشته است. + +
+![discord image.png](./discord image.png) +
+ +خب برای حل این چالش اولین چیزی که به ذهنم رسید این بود که داخل google image دنبال این عکس بگردم که با حالت ها و تکه های مختلف عکس با google lenz جسجو کردم ولی فایده‌ای نداشت و آپارتمان ها هیچکدوم این اپارتمان نبود. + +
+![google image.png](./google image.png) +
+ +با دقت به عکس یک تابلو سمت چپ عکس می‌بینیم که نوشته شده```Pine Ridge visitor parking only``` که ذهنم برد به سمت اینکه ممکنه احتمالا ```Pine ridge```یک مکان دیدنی باید باشه که مردم برای بازدید به اونجا میان و این آپارتمان نزدیک اونه. پس توی اینترنت چند ساعت دنبال این مکان دیدنی گشتم ولی فایده نداشت. بعد از مدتی، داخل google Map کلمات کلیدی ```Pine Ridge apartments michigan``` چون حدس زدم اسم آپارتمان شاید این باشه و چون در رابطه دانشگاه میشگان بودن این افراد که نقاط عکس زیر به ما نشون داد یکی از اون‌ها شباهت به همین آپارتمان موردنظر داشت بعد که وارد [street view](https://www.google.com/maps/@46.546214,-87.388624,3a,75y,99.64h,72.87t/data=!3m6!1e1!3m4!1sYz6AgzjDcR_0Dy8VjBPX4w!2e0!7i16384!8i8192?hl=pt-PT&entry=ttu) شدم دیدم که بله خودشه :hand_with_index_finger_and_thumb_crossed:. + +
+![apartment.png](./apartment.png) +
+ +پس جستجوی **کلمه کلیدی مناسب** خیلی مهمه + +--- +??? success "FLAG :triangular_flag_on_post:" +
`wctf{46.546,-87.388}`
+ + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) \ No newline at end of file diff --git a/docs/osint/writeups/wctf/WOLPHV-III/apartment.png b/docs/osint/writeups/wctf/WOLPHV-III/apartment.png new file mode 100644 index 00000000..50e5a838 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-III/apartment.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-III/challenge cover.png b/docs/osint/writeups/wctf/WOLPHV-III/challenge cover.png new file mode 100644 index 00000000..bd0a017c Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-III/challenge cover.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-III/discord image.png b/docs/osint/writeups/wctf/WOLPHV-III/discord image.png new file mode 100644 index 00000000..df076c5c Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-III/discord image.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-III/google image.png b/docs/osint/writeups/wctf/WOLPHV-III/google image.png new file mode 100644 index 00000000..46bae120 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-III/google image.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/WOLPHV-IV-d4wgbyte262.md b/docs/osint/writeups/wctf/WOLPHV-IV/WOLPHV-IV-d4wgbyte262.md new file mode 100644 index 00000000..a51a23d2 --- /dev/null +++ b/docs/osint/writeups/wctf/WOLPHV-IV/WOLPHV-IV-d4wgbyte262.md @@ -0,0 +1,53 @@ +--- +tags: + - wctf + - wctf-2024 + - Osint + - image location + - flickr + - google map +--- + +# چالش WOLPHV-IV: d4wgbyte262 +--- + +
+![challenge cover.jpg](./challenge cover.jpg) +
+ +در این چالش هم باید مثل قبلی محل سکونت یکی دیگه از اعضای گروه دیسکورد یعنی d4wgbyte262 پیدا کنیم. با توجه به صحبت های که توی گروه داشتن نشون میده که ای شخص سگ دارهو در مورد یک چیزی به اسم flick می‌کنند. + +
+![discord chats.png](./discord chats.png) +
+ +با این اطلاعات اولین کاری که کردم این بود که ببینم آیا اکانت دیگه‌ای با این اسم داخل شبکه های اجتماعی دیگه هست یا نه. پس در سایت [discoverprofile](https://discoverprofile.com/) اکانت این شخص جستجو کردم که نتیجه بدرد بخوری نداشت. بعد توی موتور [DuckDuckgo](https://duckduckgo.com/) هم گشتم که یک سایت به اسم [flickr](https://www.flickr.com/photos/200261418@N03/) نظرم جلب کرد و بعد که داخلش رفتم عکس‌های زیاد از یک سگ به اشتراک گذاشته شده بود. +پس فهمیدم که تا این جا درسته و این اکانت یک ربطی به داستان داره.:hand_with_index_finger_and_thumb_crossed: + +
+![flickr account.png](./flickr account.png) +
+ +عکس ها رو بررسی کردیم که شاید نشانه‌ای از خانه این شخص باشه ولی چیزی دستگیرم نشد. بعد چنتا از عکس‌ها رو دانلود کردم و با ابزار exiftool اطلاعات داخل عکس نگاه کردم که دیدم یک موقعیت جغرافیایی داخل هر عکس هست. + +ولی متاسفانه هر عکس یک موقعیت جغرافیایی متفاوت از نقطههای مختلف شهر داشت و نمیشد موقعیت دقیق خانه بدست آورد. +یک مدتی درگیر همین بودم که دوباره دیسکورد نگاه کردم و از صحبت هاشون متوجه شدم که خانه‌اش نزدیک‌ترین موقعیت به یک ایستگاه آتش‌نشانی باید باشه. + + +
+![discord chats 2.png](./discord chats 2.png) +
+ +پس با نگاه کردن به موقعیت هر عکس نزدیک‌ترین مکان به ایستگاه آتش‌نشانی رو بدست آوردیم. + +
+![house coordinates.png](./house coordinates.png) +
+ +--- +??? success "FLAG :triangular_flag_on_post:" +
`wctf{51.0911, -113.9561}`
+ + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) \ No newline at end of file diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/challenge cover.jpg b/docs/osint/writeups/wctf/WOLPHV-IV/challenge cover.jpg new file mode 100644 index 00000000..8f1fa175 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-IV/challenge cover.jpg differ diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/discord chats 2.png b/docs/osint/writeups/wctf/WOLPHV-IV/discord chats 2.png new file mode 100644 index 00000000..1c8bc9a3 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-IV/discord chats 2.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/discord chats.png b/docs/osint/writeups/wctf/WOLPHV-IV/discord chats.png new file mode 100644 index 00000000..83bc908b Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-IV/discord chats.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/flickr account.png b/docs/osint/writeups/wctf/WOLPHV-IV/flickr account.png new file mode 100644 index 00000000..ecfb0cee Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-IV/flickr account.png differ diff --git a/docs/osint/writeups/wctf/WOLPHV-IV/house coordinates.png b/docs/osint/writeups/wctf/WOLPHV-IV/house coordinates.png new file mode 100644 index 00000000..7c7e12c8 Binary files /dev/null and b/docs/osint/writeups/wctf/WOLPHV-IV/house coordinates.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 7e4ab571..bb2b01bb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -59,6 +59,10 @@ plugins: fallback_to_build_date: false enable_creation_date: true - blog + #- mk2pdf-export + #- page-to-pdf + # disableOnServe: false # should be last + # Customization @@ -183,12 +187,12 @@ nav: - crypto/writeups/SnappCTF/mascot.md - Bombastic: crypto/writeups/SnappCTF/Bombastic.md - رایتاپ‌های ۲۰۲۳: - - vsCTF: - - crypto/writeups/vSCTF/Redundancy.md - - TCP1P-CTF: - - crypto/writeups/TCP1PCTF/Final_Consensus.md - - CakeCTF: - - crypto/writeups/CakeCTF/simple-signature.md + - "vsCTF": + - Redundancy: crypto/writeups/vSCTF/Redundancy.md + - "TCP1P-CTF": + - Final Consensus: crypto/writeups/TCP1PCTF/Final_Consensus.md + - "CakeCTF": + - simple signature: crypto/writeups/CakeCTF/simple-signature.md - جرم‌شناسی: @@ -212,9 +216,17 @@ nav: # - blockchain/index.md - #- Osint: - # - osint/index.md - + - Osint: + - osint/index.md + - معرفی ابزار: + - osint/Tools/index.md + - رایتاپ‌های ۲۰۲۴: + - "0xL4ughCTF": + - cheater: osint/writeups/0xL4ughCTF/cheater.md + - "wCTF": + - WOLPHV-I: osint/writeups/wctf/WOLPHV-I/WOLPHV-I-Reconnaissance.md + - WOLPHV-III: osint/writeups/wctf/WOLPHV-III/WOLPHV-III-p1nesh4dow48.md + - WOLPHV-IV: osint/writeups/wctf/WOLPHV-IV/WOLPHV-IV-d4wgbyte262.md #- پنهان نگاری: