:: چرت و پرت های یک هکر ::

!!! دست نوشته های یه هکر از جهنم برگشته !!!

Encryption in SQL Server

مهر۱۶

با سلام …
امیدوارم همیشه سلامت و شاد باشید …
چند روزه پیش دوباره اومد فصل پاییز …. باز آمد بوی ماه مدرسه ، بوی بازی های راه مدرسه !!! … ما هم که طبق معمول باید بریم به مرکز علم و دانش اندوزی و نشاط !!! به نام دانشگاه … البته اینجا رو غلط به خدمتدون رسوندن … تا اونجایی که ما تو این ۴ سال دیدیم ، بیشتر مرکز تفریحات سالم و غیر سالم !!! ، مرکز انواع کارهای خیر و غیر خیر !!! ، مرکز انواع عملکردهای تحقیقاتی و غیر تحقیقاتی !!! و همچنین مرکز بهترین لحظه های زندگی منفرد و مشترک !!! همراه با مشتقات جانبی که خودتون بهتر می دونین چی میگم !!! … آره دیگه ، ما دوباره بعد از ماه ها رفتیم دانشگاه . بعد از گذر از سردر دانشگاه و بعد از گذشتن ۱۰ تا ۱۵ دقیقه پیاده روی رسیدیم به دانشکده فنی – مهندسی …. اون روز کلاس پایگاه داده داشتم که البته این برای بار دوم هست گرفتمش … چونکه ترم قبل به خاطر اینکه استاد پروژه ما رو نفهمیده بود ، خیلی بدش اومد که مطالب پروژه ما یه کمی بالا بود و زد ما رو انداخت … حالا دوباره رفتیم سر همون کلاس و با همون استاد … خدایی کلی خندم گرفته بود به خودم که چقدر بدبخت شدم من که نشستم اینجا و دوباره همون کلاس در حد جلبک !!! … یه دفعه یکی از دوستان قدیم رو دیدم که اومد سر کلاس و من رو دید و بعد از احوال پرسی ، بهش گفتم : تو اینجا چیکار می کنی ؟ مگه تو این درس رو پاس نکردی ؟ گفت : چرا ، پاس کردم ، ولی اومدم احوالت رو بپرسم داداش وحید !!! … من که پسر هفت خط رو خوب می شناسم ، یه نگاه به بچه های کلاس انداختم ، دیدم که بله ، آقا تشریف آوردن دنبال خانوم خانوما … پیش خودم گفتم بزار یه ضده حال حسابی بهش بزنم . بهش گفتم : مرسی ، آره ، خودمم می دونم امروز خیلی خوشگل شدم !!!! … بیچاره قفل کرده بود چی بگه ، فقط گفت : چشمات خوب می بینه داش وحید ، چیکار کنیم کاره دله ، گناه من نیست !!! … بعد از کمی صحبت های این طرف و اون طرف و شمالی و جنوبی و نه شرقی و نه غربی ، بهم گفت دارم یه پروژه می نویسم که پایگاه داده مهمی داره ، می خوام اطلاعاتش اگه لو رفت فقط خودم بتونم بخونمشون ، شنیدم یه روش هست که اگه برنامه باگ داشته باشه ، میشه اطلاعات پایگاه داده رو با Error ها کشید بیرون ( بیچاره منظورش همون SQL Injection خودمون بود ، ولی زبونش نمی چرخید اینو بگه !!! ) … من هم یه کمی مغر پوسیدمو راه انداختم ، یاد اون قضیه رمزنگاری اطلاعات پایگاه داده افتادم .. گفتم حالا پایگاه داده رو با چی می نویسی ؟ گفت : با SQL Server … من هم گفتم : به به … راه های خوب زیاد داره … خوده SQL Server روش های قوی واسه رمزنگاری تو خودش داره که هر کسی نمیتونه بهش نفوذ کنه .. این جوجه هکر ها کاری ازشون بر نمی آد چونکه گنده لات های هکرشم می دونن با این Encryption ها نمیشه سر و کله زد … آره دیگه ، جونم براتون بگه که ما هم کلی دردسر کشیدیم تا به این بابا یاد بدیم که : مرغ دوتا پا داره !!! .. به خدا ۲ تا پا داره !!! … بلا نصبت شما که می خونین ،  خودم خر شدم تا بهش اینو یاد دادم !!! … حالا گفتیم برای شما دوستان عزیز هم بزاریم که انشاالله ، اگه روزی روزگاری یه اطلاعت خیلی مهم داشتین توی پایگاه داده تون ، اینجوری میشه رمزش کرد ، خیلی هم خفن هستش … خوب بریم سر اصل جنس …
در وحله ی اول شما باید یه کلید اصلی بسازید که این کلید به صورت خودکار در sys.database در جدول master و ستون is_master_key_encrypted_by_server قرار می گیره … حالا برای رمزنگاری کردن همین کلید ، شما باید یه پسورد اختیاری بهش بدین . پس کار ما به صورت زیر میشه :

USE MyDatabase
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ’84%2gjk*34^45j*2dc$56h*!ze4′
go

حالا ما باید یه Certificate بسازیم.این سیستم ، یکی از قویترین محافظان اطلاعات شما به حساب می آد.این سیستم از یک کلید Private برای تایید کردن استفاده می کنه.حالا ما اون کلید بود که در قسمت قبل ، خیلی خفنی آماده کردیم ، می آد به صورت خودکار از اون استفاده می کنه .پس کار ما به این صورت میشه : ( البته میشه این Certifiction ها رو از فایل هم load کرد ، و یا در یک حالت خفن تر ، از یک فایل اجرایی که Certifiction های علامت گذاری شده ، مثلا یه dll خوندش )

USE MyDatabase
CREATE CERTIFICATE MyCert WITH SUBJECT = ‘MySub’
go

خوب حالا باید یه کلید متقارن بسازیم واسه ی رمزنگاری داده ها که این کلید از سیستم تایید کننده ای که در بالا ساختیم استفاده می کنه … به صورت زیر :

USE MyDtabase
CREATE SYMMETRIC KEY MySyKey WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICTION MyCert
go

همونطور که می بینین ، این سلسله مراتبی بودن کلید ها ، خیلی امنیت رو بالا می بره … خوب ، حالا من می خوام یه ستون از جدول مورد نظرم رو رمز کنم . به این صورت عمل می کنم :

USE MyDatabase
UPDATE T1 SET col2 = ENCRYPTBYKEY(KEY_GUID(‘MySyKey’) , ‘No Comment’)
go

در اینجا ، در دیتابیس MyDatabase خودم ، در جدول T1 ، ستون دوم با نام col2 رو رمز نگاری کردم خفن !!! … حالا اون No Comment چیه ؟؟ اگه یکی بیاد و از دستور زیر استفاده کنه برای Decrypt کردن ، تنها چیزی که می بینه ، No Comment هست ،

USE MyDatabase
OPEN SYMMETRIC KEY MySyKey DECRYPTION BY CERTIFICATE MyCert
go

چرا که دستورت فوق در SQL Server دارای Permition های خاص اجرایی هستن و در ضمن ، اون پسورد اولیه برای باز کردن کلید اصلی ، دسته کیه ؟ دست اون خانوم خوشگل که بالا گفتم که نیست !!! … دست اون دوست عزیزمون هم که کلی زحمت میکشه و SQL Injection میکنه هم که نیست !!! .. فقط دست خودشه …تازه ، اسم Certifiction و اسم کلید Symmetric رو کی می دونه هاااا؟ به عبارت دیگه ، اگه همون ستون دوم که من رمزنگاری کردم  ، یکی از مقادیرش به صورت عادی به صورت مثلا عبارت : “چرت و پرت های یک هکر” باشه ، به صورت رمز میشه : “|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||” …. حال کردین ، حالا هی بیا SQL Injection بزن ، ببینم کجای دنیا رو می خوای باهاش بگیری !!! … هر چقدر هم مقادیر جدول رو بیرون بکشی ، ستونهای مهمش این شکلیه !!! … حالا اگه کلی زحمت کشیدی ، بعدش این رو دیدی ، می دونم که یه جاییت می سوزه !!! … تشت آب سرد توی حمام رو برای این مواقع گذاشتن دیگه !!! …

خوب دوستان عزیزم ، ببخشید اگه من گنده گویی زیاد می کنم … دست خودم نیست ، از وقتی اون تصادف رو کردم ، کلی چرت و پرت گفتنام زیاد شده … اگه دستورات بالا رو زدین و دیدین هیچی نشد ، زیاد ناراحت نشین ، چونکه به احتمال ۹۹% این دستورات غلطه !!! … اگر هم که دستورات اجرا شد و اطلاعات رمز شد ، ولی دیگه از رمز برنگشت ، بنده هیچ مسئولیتی رو به عهده نمی گیرم … اصلا می دونین چیه ، من همه چیز رو تکذیب می کنم !!! … خوب دیگه ، ما باید کم کم رفع زحمت کنیم .. انشاالله که همیشه شاد و همیشه خوش باشین … کوچیک همه ی دوستان … وحید
==========================
!! پاورقی !! : آقا من چند روزه پیش داشتم توی اون DVD های خاک خورده خودمان یه چرخی می زدیم ، یه دفعه یه چیزی دیدیم از این تیم هایی که خیلی UnderGround هستن و خیلی ادعا و خیلی فیس کردن و خیلی جنگ و دعوا و خیلی … !!! این چیزی که ما داشتیم رو یکی از دوستان بهمون داده بود که مجموعه ای از اطلاعات PRIV8 فلان گروه بوده …. من هم داشتم نگاه می کردم ، یکی از اون مطالب نوشته بود : Microsoft Windoes Kernel Exploiting … یه کد کامپایل شده بود با یه کد کامپایل شده دیگه و یه فیلم آموزشی … آقا ما فیلم رو دیدیم که داره از یک Exploit استفاده می کنه  .. اسم و نام اکسپلوت رو نوشتیم و زدیم تو گوگل که ببینیم این رو واسه ی چی نوشتن و کجا کاربرد داره … دیدیم که ماله ویندوز سرور ۲۰۰۰ هستش … ماله یه باگه که البته در یک حالت خاص ، رو سرور ۲۰۰۳ هم جواب میده و Full Access میده به هکر … ولی جای جالبش این بود که این باگ اصلا روی Win-XP کار نمیکنه .. حالا فیلم آموزشی توی Win-XP بود !!! … من نمی دونم شاگردای اون تیم چطوری می خوان از این باگ استفاده کنن !!! … بابا به جونه خودم باگ Local بود ، نه Remote !!!! … اصلا اونی که فیلم رو آماده کرده بود ، چیکار کرد ؟؟ به خدا من خودم هم نفهمیدم !!! .. فیلم در حد ۳۰ ثانیه بود …. اصلا یه چیزی بود خفن چاخان … باید بفرستمش واسه ی این Hack in The Box ازش فیلم درست کنن … به خدا ما یه چیزایی می بینیم که نگو و نپرس … عجایب … به قول کتاب ” قلعه حیوانات ” که نویسنده اون آقای ” جرج اورول ” هست ، اینا باید همون ” چهارپا خوب ، دوپا بد ” باشن !!!!!!!!! ….

برگه ها

پیوندها

دسته ها

آخرین دیدگاه ها

بیا دنبال ما دیگه !!!

ورق ما در کتاب چهره ها !!!