Skip to content

ONHEXGROUP

اخبار دنیای امنیت سایبری

  • اخبار
    • آسیب پذیری امنیتی
    • آنالیز بدافزار
    • کنفرانس ،دوره ، وبینار ، لایو ، CTF
    • بازیگران تهدید
    • توسعه اکسپلویت
    • افشای اطلاعات
    • باگ بانتی
    • تیم آبی
    • تیم قرمز
    • امنیت وب
  • دوره های آموزشی
    • دوره رایگان مهندسی معکوس نرم افزار
  • لیست های ویژه
    • موتورهای جستجو برای امنیت سایبری
    • کاتالوگ KEV آژانس CISA
    • آسیب پذیری های وردپرس
      • آسیب پذیری پلاگین ها
      • آسیب پذیری های هسته
      • آسیب پذیری تم ها
    • محصولات خارج از پشتیبانی مایکروسافت
      • محصولات مایکروسافتی که در سال 2022 پشتیبانی نمیشن
      • محصولات مایکروسافتی که در سال 2023 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2024 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2025 پشتیبانی نمیشن
    • معرفی فیلم ها و سریالهای مرتبط با هک و امنیت
  • آموزش های ویدیویی
  • انتشارات
    • مجله
    • مقالات
    • پادکست
  • پروژه ها
    • ماشین آسیب پذیر
      • وردپرس آسیب پذیر
  • حمایت مالی ( Donate)
  • تماس با ما
 
  • Home
  • اخبار
  • تکنیک و آسیب پذیری Password Shucking
  • آسیب پذیری امنیتی
  • اخبار
  • افشای اطلاعات
  • باگ بانتی
  • تیم قرمز
  • مقالات
  • مهندسی معکوس نرم افزار

تکنیک و آسیب پذیری Password Shucking

On مهر 24, 1402
seyyid
Share
زمان مطالعه: 3 دقیقه

یکی از متدهایی که توسط توسعه دهندگان، در امن سازی پسوردها استفاده میشه، اینه که اونارو بصورت امن در دیتابیس ذخیره کنیم. یعنی بجای اینکه پسورد رو بصورت واضح در دیتابیس ذخیره کنیم، اونو با الگوریتم های مختلف هش کنیم. اینجوری وقتی سایت هک بشه و دیتابیس دست مهاجمین بیافته، استفاده از پسوردها چالش برانگیز میشه . در این شرایط مهاجمین نیاز به زمان و ابزار مناسب دارن تا بتونن پسوردهارو کرک کنن و پسورد واضح رو استخراج کنن.

یکی از راهنماهایی که برای ایمن کردن پسوردها استفاده میشه، استفاده از OWASP Password Storage Cheat Sheet هستش . در این برگه تقلب ، راهنماهایی برای ذخیره امن پسوردها معرفی و لیست شده.

یکی از مواردی که برای هش کردن در این راهنما بهش اشاره شده، تابع Bcrypt هستش. این تابع دارای محدودیتهایی هم هستش از جمله اینکه حداکثر طول ورودی برای اغلب پیاده سازیها 72 بایت هستش. برای دور زدن این محدودیتها، روشی که پیشنهاد شده استفاده از یه الگوریتم هش سریع دیگه مثله SHA-256 روی ورودی هستش، که بهش Pre-Hashing میگن. یعنی به جای اینکه از bcrypt(password) استفاده کنیم، از bcrypt(sha256(password)) استفاده کنیم.

البته گاهی اوقات ، روی الگوریتم هش ضعیفی مانند MD5 بدون salt هم میان و از این تکنیک استفاده میکنن، یعنی به جای اینکه از md5(password) استفاده کنن از bcrypt(md5(password)) استفاده میکنن، که بهش Rehashing میگن.

اینا یه روش معقول هستش که برای محافظت از پسوردها انجام میشه. مهاجم خیلی ساده میتونه الگوریتم های Md5 و SHA-256 رو بشکنه، اما وقتی با bcrypt روبرو میشه شرایط سختتر میشه.

اما نکته ای که وجود داره، اگه شما از Pre-Hashing و Rehashing استفاده کنید اما الگوریتم هش داخلی شما از salt استفاده نکنه یا از الگوریتم های هش سریع اما ضعیف مانند MD5 ، SHA-1 ، SHA-256 و … استفاده کنه، در برابر تکنیکی بنام Password Shucking آسیب پذیر هستش.

Password shucking یا Hash Shucking ، متدی هستش که لایه ی جدید الگوریتم هش رو حذف میکنه و اونو به یه الگوریتم هش ضعیفتر برمیگردونه که کرک اون ساده تر هستش. این متد روی Pre-Hashing و Rehashing کار میکنه .

 

 

فرض کنید، یه دیتابیسی دارید که از الگوریتم هش SHA-1 بدون salt برای هش کردن پسوردها استفاده میکنه. شما برای امن تر کردن میایین و از تابع bcrypt استفاده میکنید. یعنی الان الگوریتم شما bcrypt(sha1($password)) هستش. اما چون الگوریتم داخلیتون یه الگوریتم ضعیف هستش، بنابراین تحت تاثیر حمله Password shucking هستید.

برای Password shucking ، مهاجم نیاز به دو چیز داره :

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

برای مثال خودمون، مهاجم میاد نشت های قدیمی که حاوی sha1($password) هستن رو جستجو میکنه و کاربر مد نظرش مثلا target،  رو در اونا پیدا میکنه و به چندین پسورد هش با SHA1 میرسه. مثلا تو چندتا نشت به این داده ها میرسه :

 

1
2
3
target:breachedHash1
target:breachedHash2
target:breachedHash3

 

در ادامه میاد این پسورد های هش قدیمی رو دونه دونه با bcrypt هش میکنه یعنی :

 

1
bcrypt($breachedHash)

 

1
2
3
target:bcryptbreachedHash1
target:bcryptbreachedHash2
target:bcryptbreachedHash3

 

حالا اگه یکی از این هش ها، خروجیش با خروجی bcrypt(sha1($password)) مدنظر یکی باشه، مهاجم به مراد دلش رسیده، یعنی میدونه که کدوم sha1($password) رو باید کرک کنه. با این روش مهاجم اون لایه اضافی و امن بیرونی رو حذف کرده. در حقیقت مهندسی معکوس میکنه و بجای اینکه وقتش روی کرک bcrypt بزاره، روی گزینه ساده تر میزاره.

Sam Croley که به Chick3nman هم معروفه، در کنفرانس DEFCON 2020 این قضیه رو روی bcrypt  و MD5 بررسی کرده و نشون داده که اگه با hashcat بطور مستقیم به bcrypt حمله کنیم، 2000 حدس در ثانیه داریم اما اگه از تکنیک Password Shucking استفاده کنیم و به MD5 برسیم، 64,000,000,000 حدس در ثانیه رو داریم.

البته یه نکته ای هم که هست، ممکنه مهاجم اصلا نیاز به کرک پسورد هم نداشته باشه، این زمانی اتفاق می افته که پسورد یه چیز تابلو باشه مثلا 1234 ، که هشش مشخصه.

خب حالا این در نظر بگیرید که یه سرویس بنام shuck.sh بالا اومده که بصورت آنلاین میتونه این کار بکنه.

با توجه به اینکه در ایران نشت داده یکی از مواردی هستش که هر ماه اتفاق می افته، خطر این تکنیک خیلی زیاد و موثر میتونه باشه. برای همین، تا جایی که میتونید از پسوردهای منحصر به فرد ، طول زیاد و کاراکترهای خاص استفاده کنید.

اگه از هش های ضعیفی مانند MD5 استفاده میکنید و میخوایید Rehashing کنید، به یه الگوریتم قویتر مهاجرت کنید بعدش این کار بکنید.

هش های قدیمی رو در دیتابیس نگه داری نکنید و اگه Rehashing انجام بدید، حداکثر سه ماه از هش های قدیمی استفاده کنید و اونارو حذف کنید و اینکه کاربران برای احرازهویت باید پسوردشون رو ریست کنن نترسید.

نکته نهایی اینکه، Password Shucking خودش بعنوان آسیب پذیری هم حساب میشه و میتونید در برنامه های مختلف جستجو و گزارش کنید. مثلا آسیب پذیری به شناسه CVE-2023-27580 که نسخه های Shield v1.0.0-beta.3 رو تحت تاثیر میزاره، آسیب پذیری Password Shucking داره.

 

 

منابع

scottbrady91

neilmadden

 

اشتراک در شبکه های اجتماعی :

Facebook
Twitter
Pinterest
LinkedIn
In آسیب پذیری امنیتی اخبار افشای اطلاعات باگ بانتی تیم قرمز مقالات مهندسی معکوس نرم افزارIn Bcrypt , Hash Shucking , hashcat , Password Shucking , Pre-Hashing , Rehashing

راهبری نوشته

اقدامات امنیتی بعد از آلوده شدن بازی های Steam
آسیب پذیری بحرانی و زیرودی، افزایش امتیاز در Cisco IOS XE

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌ها

  • Osint
  • آسیب پذیری امنیتی
  • آموزش های ویدیویی
  • آنالیز بدافزار
  • اخبار
  • افشای اطلاعات
  • امنیت وب
  • انتشارات
  • اینترنت اشیاء
  • بازیگران تهدید
  • باگ بانتی
  • پادکست
  • پروژه ها
  • توسعه اکسپلویت
  • تیم آبی
  • تیم قرمز
  • دوره های آموزشی
  • فازینگ
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • لیست های ویژه
  • ماشین آسیب پذیر
  • مجله
  • مقالات
  • مهندسی معکوس نرم افزار

پست های مرتبط

  • اخبار
  • باگ بانتی
seyyid
On بهمن 10, 1401فروردین 28, 1402

گزارش سالانه برنامه باگ بانتی متا در 2022

  • اخبار
  • مقالات
seyyid
On دی 2, 1401دی 19, 1401

چگونه یه نوشته فنی برای امنیت سایبری تولید کنیم

  • اخبار
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • مهندسی معکوس نرم افزار
seyyid
On بهمن 8, 1401فروردین 28, 1402

مفاهیم مقدماتی مهندسی معکوس

  • آسیب پذیری امنیتی
  • اخبار
  • توسعه اکسپلویت
  • تیم آبی
  • تیم قرمز
  • مقالات
seyyid
On دی 2, 1401تیر 23, 1402

بررسی CVEهای پر سر و صدای این هفته (30 مهر تا 6 آبان 1401)

درباره ما

بعد از چندین سال فعالیت تو حوزه امنیت سایبری و تولید محتوا در شبکه های اجتماعی ، بالاخره تصمیم گرفتیم تا یه سایت راه اندازی کنیم و مطالب رو ساده تر ، در یک محیط منسجم و طبقه بندی شده به دست مخاطب برسونیم. امیدوارم که قدمی در راستای رشد امنیت سایبری کشورمون برداشته باشیم.

تگ ها

0day APT command injection Deserialization of Untrusted Data Directory Traversal FBI Fortinet Heap buffer overflow integer overflow kali LockBit Memory Corruption nuclei out-of-bounds write Out of bounds read Patch Tuesday PWN2OWN Stack Buffer overflow type confusion use after free vulnerable wordpress XSS ZDI vulnerability آموزش اکسپلویت نویسی ارز دیجیتال اندروید اپل اکسپلویت باج افزار تلگرام زیرودی سیسکو فارنزیک فورتی نت فیشینگ لاک بیت لینوکس مایکروسافت هوش مصنوعی وردپرس وردپرس آسیب پذیر ویندوز پلاگین کروم گوگل

شبکه های اجتماعی

    • Instagram
    • Telegram
    • Twitter
    • GitHub
    • YouTube
    • LinkedIn
      کپی مطالب با ذکر منبع بلامانع است | 1401-1404