<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Jankid</title>
        <link>https://virgool.io/feed/@l1l_jan</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 09:29:59</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/4233757/avatar/Ujd3eT.jpg?height=120&amp;width=120</url>
            <title>Jankid</title>
            <link>https://virgool.io/@l1l_jan</link>
        </image>

                    <item>
                <title>از چه بگویم؟ قطعی اینترنت؟</title>
                <link>https://virgool.io/@l1l_jan/%D8%A7%D8%B2-%DA%86%D9%87-%D8%A8%DA%AF%D9%88%DB%8C%D9%85-%D9%82%D8%B7%D8%B9%DB%8C-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-kxijqsyh1ade</link>
                <description>از چه بگویم؟سیزده روز است که اینترنت بین‌المللی قطع است و همه‌چیز از دست رفته. یا بهتر بگویم: زندگی آنلاین! نزدیک به ۳۰۰ ساعت است که ما در دنیای مجازی بی‌خبر از اخبار دنیا و همدیگر دست و پا می‌زنیم. انگار نه انگار که در قرن ۲۱ زندگی می‌کنیم. دسترسی به وب‌سایت‌های خارجی، شبکه‌های اجتماعی، و حتی سرویس‌های ضروری مثل ایمیل و اپلیکیشن‌های کاری به طرز عجیبی از دسترس خارج شده است.از کار و تحصیل گرفته تا ارتباطات اجتماعی و حتی خرید آنلاین. این‌ها همه بستگی به اینترنت دارند. وقتی اینترنت قطع می‌شود، کل دنیای مجازی که به نوعی بخش مهمی از زندگی ما شده، سقوط می‌کند. آن وقت همه چیز متوقف می‌شود. همه چیز به حال خود رها می‌شود.چیزی که عذاب‌آور است، این است که همه ما در این آشفتگی گرفتار شده‌ایم، ولی به نظر می‌رسد که برخی از افراد خاص، یا بهتر بگویم دوستان سیم کارت سفیدی ها، هنوز به راحتی به اینترنت بین‌المللی دسترسی دارند. یعنی مشکل قطع اینترنت برایشان اصلاً وجود ندارد. نه، هیچ خطری تهدیدشان نمی‌کند و در دنیای مجازی به راحتی در حال مرور اخبار و تماس‌های کاری خود هستند. این شرایط به نظر خیلی ناعادلانه می‌آید.از چه بگویم؟چه طور باید به آن‌هایی که در خانه‌هایشان راحت می‌نشینند و هیچ چیزی برایشان فرق نمی‌کند توضیح دهم که ما در دنیای واقعی، در حال بی‌خبری از اتفاقات مهم جهانی و حتی زندگی همدیگر هستیم؟ ما با شایعات دست و پنجه نرم می‌کنیم، در حالی که هیچ ابزار درستی برای گرفتن اطلاعات درست نداریم. انگار نه انگار که هنوز در دنیای دیجیتال زندگی می‌کنیم.واقعاً نمی‌دانم از چه باید بگویم. از ضعف زیرساخت‌ها؟ از تصمیمات اشتباه مسئولین؟ از این که نمی‌دانند چطور دنیای دیجیتال به دنیای واقعی وصل است؟ یا از این که به راحتی اینترنت را قطع می‌کنند و تصور می‌کنند که مردم راحت می‌توانند این وضعیت را تحمل کنند؟ما که نمی‌توانیم از این گلوگاه نجات پیدا کنیم، حداقل انتظار داریم که همه با هم برابر باشیم. وقتی اینترنت قطع می‌شود، این یعنی در دسترس نبودن دنیای امروز برای همه. اما به نظر می‌رسد که این مسئله برای برخی اصلاً مهم نباشد. فقط امیدوارم روزی برسد که همه ما به یک اندازه از دسترسی به دنیای دیجیتال بهره‌مند باشیم، نه فقط تعداد خاصی از افراد.به امید روز های بهتر</description>
                <category>Jankid</category>
                <author>Jankid</author>
                <pubDate>Wed, 21 Jan 2026 23:47:36 +0330</pubDate>
            </item>
                    <item>
                <title>کالبدشکافی یک بدافزار چندمرحله‌ای؛ از SHTML تا شل‌کد</title>
                <link>https://virgool.io/@l1l_jan/%DA%A9%D8%A7%D9%84%D8%A8%D8%AF%D8%B4%DA%A9%D8%A7%D9%81%DB%8C-%DB%8C%DA%A9-%D8%A8%D8%AF%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DA%86%D9%86%D8%AF%D9%85%D8%B1%D8%AD%D9%84%D9%87-%D8%A7%DB%8C-%D8%A7%D8%B2-shtml-%D8%AA%D8%A7-%D8%B4%D9%84-%DA%A9%D8%AF-rrgbmxdy2ks1</link>
                <description>یه روز معمولی یه ایمیل رسید دستم همون‌جور که همه‌مون هر روز می‌بینیم: موضوع ساده، متن اسپم شده، و یک پیوست که اولش به چشم نمی‌اومد. اما اسم فایلِ پیوست یه چیزِ عجیب داشت: shtml ، زنگ خطر کوچیکی توی مغزم خورد؛ توی تجربهٔ من، چیزای عجیب همیشه یه چیزی برای گفتن دارن. وقتی سورس فایل رو باز کردم، توی همون خط های اول که یک تگ &lt;video&gt;بود؛ یه رشتهٔ بی‌نهایت طولانی از حروف و اعداد دیدم؛ نه URL، نه مسیر؛ فقط یه رشته طولانی ؛همون لحظه فهمیدم این فقط یه صفحهٔ وب ساده نیست؛ این یه چیزی توش پنهان‌شده بود، یک لایهٔ اول از چیزی که قرار بود دیده نشه تا آنتی ویروس ها بهش گیر ندن.کنجکاوی به عقلم غلبه کرد، ولی عقل حکم کرد که با احتیاط جلو برم — اینجا قرار نیست چیزی اجرا بشه! در ادامهٔ این مقاله، قدم‌به‌قدم شرح می‌دهم که چطور از یک تگ به‌ظاهر معمولی رسیدم به لایه‌های پنهان‌سازی، و چرا هر نشانه‌ای که پیدا شد، خبر از طراحی دقیق و هدفمندِ یک حمله می‌داد — اما ابتدا باید بدانیم کجا و چگونه این ردپاها ظاهر شدند.تحلیلم با فایل به نام sample.shtml آغاز شد. اولین قدم، بررسی محتوای آن برای یافتن ناهنجاری بود.با بررسی کد HTML، متوجه یک تگ &lt;video&gt; شدیم که در بخس بعد src آن، به جای آدرس یک فایل ویدیویی، یک رشته بسیار طولانی از کاراکترها با استفاده از data URI scheme جاسازی شده بود. این رشته، پی‌لود مرحله اول ما بود.برای استخراج دقیق اومدم و تگ داخل فایل shtml رو کپی کردم و در فایل out1.txt سیو کردم و این نتیجه شد:cat out1.txtfile sample.shtmlحالا که رشته‌ی کدگذاری شده را در فایل out1.txt داشتیم، باید نوع انکودینگ آن را شناسایی می‌کردیم. با دستور grep -o &#039;.&#039; out1.txt | sort | uniq -c تمام کاراکترهای موجود در فایل را شمرده و به ما نشان می‌دهد.خروجی این دستور لیستی از تمام کاراکترهای استفاده شده بود. نکته کلیدی این بود که هیچ‌کدام از کاراکترهای + یا = که در Base64 استاندارد وجود دارند، در این لیست نبودند. این مشاهدات ما را به سمت Base62 هدایت کرد.لیست کاراکترهایی که در فایل out1.txt استفاده شده استبرای رمزگشایی، یک اسکریپت ساده پایتون به نام base62_decode.py نوشتیم تا بتونه یه خروجی به ما بده به اسم out.bin بعدش دستور file out.bin زدم و data تشخیص داد و با ابزار ent out.bin رو زدم متوجه شدم آنتروپی 3.16 داشت(بار های اول که زدم روی 7 تشخیص داد) که خب صددرصد این رمزنگاری شده بود.ما حالا یک فایل باینری رمزنگاری شده داشتیم. فرضیه اصلی، رمزنگاری XOR بود.برای بار اول یک اسکریپت بروت‌فورس نوشتم تا تمام ۲۵۶ کلید تک‌بایتی را تست کند. این اسکریپت به دنبال هدرهای فایل شناخته‌شده (مثل MZ برای EXE) در خروجی‌های رمزگشایی شده می‌گشت. نتیجه این بود که هیچ کلید تک‌بایتی موفقی پیدا نشد.فرضیه بعدی، XOR با کلید تکرارشونده بود. برای شکستن آن، ابتدا باید طول کلید را پیدا می‌کردیم. از یک اسکریپت پایتون که Index of Coincidence را محاسبه می‌کرد، استفاده کردیم.و خب خروجی نشون داد که طول کلید به احتمال زیاد 11 بایت هست.در نهایت برای آخرین گام ، پس از کشف طول کلید، با اسکریپت نهایی (solve_final_payload.py)، خود کلید ۱۱ بایتی را بازیابی و فایل out.bin را رمزگشایی کردیم. خروجی با موفقیت کلید را پیدا کرد و در نهایت در فایلی به اسم DECRYPTED_PAYLOAD.bin ذخیره کرد.بعدش دوباره دستور file رو زدم و فایل نهایی همچنان توسط سیستم به عنوان data شناخته می‌شد. این من رو به سمت فرضیه شل‌کد خام هدایت کرد.با استفاده از دیس‌اسمبلر ndisasm، فایل را به زبان اسمبلی ۳۲ بیتی ترجمه کردیم.خروجی شامل دنباله‌ای از دستورات معتبر اسمبلی x86 بود که وجود الگوهای کلاسیک شل‌کدنویسی مانند fnstenv (برای یافتن آدرس در حافظه) و lodsd/stosb (برای عملیات روی حافظه) در آن، فرضیه ما را تأیید کرد.(نتیجه کامل رو توی کامنت های همین پست گذاشتم)برای فهمیدن هدف نهایی شل‌کد، یک آزمایشگاه مجازی امن شامل یک ویندوز ۱۰ و یک ماشین ابزار کالی لینوکس در یک شبکه ایزوله ساختیم. ابتدا شل‌کد را با دستور &quot;xxd -i DECRYPTED_PAYLOAD.bin &gt; shellcode.h&quot; به فرمت C تبدیل کردم. سپس با استفاده از کد loader.c و کامپایلرi686-w64-mingw32-gcc loader.c -o loader.exeفایل اجرایی را در کالی ساختم و به ویندوز ارسال کردم.در کالی، INetSim (برای شبیه‌سازی اینترنت) و Wireshark (برای شنود ترافیک) را اجرا کردم. در ویندوز، Process Monitor (Procmon) رو اماده کردیم و سپس loader.exe را اجرا نمودیم.خروجی Wiresharkکه خب خروجی به خصوص Wireshark نشون میده شل‌کد هیچ اتصالی به اینترنت برقرار نکرد، بلکه شروع به ارسال بسته‌های SSDP برای شناسایی دستگاه‌های دیگر در شبکه محلی نمود. و همچنین شل‌کد یک فایل جدید در سیستم ایجاد کرد و برای ماندگاری (Persistence)، کلیدهایی را در رجیستری ویندوز ثبت کرد. در نهایت از اینکه تا انتهای این مسیر تحلیلی پیچیده با من همراه بودید، صمیمانه سپاسگزارم. این کالبدشکافی، سفری پر از چالش و یادگیری بود و امیدوارم جزئیات آن برای شما نیز مفید واقع شده باشد.</description>
                <category>Jankid</category>
                <author>Jankid</author>
                <pubDate>Mon, 08 Sep 2025 01:10:11 +0330</pubDate>
            </item>
            </channel>
</rss>