+ ۱۳۸۹/۰۸/۲۷

موضوع: RootKit چيست؟

برنامه هايي هستند که از نظر ساختار کاري بسيار شبيه Trojan ها و Backdoor ها هستند ولي با اين تفاوت که شناسايي RootKit بسيار مشکلتر از درب هاي پشتي است زيرا RootKit ها علاوه بر اينکه به عنوان يک برنامه کاربردي خارجي مثل شنونده Netcat و ابزارهاي درب پشتي مثل Sub7 بر روي سيستم اجرا مي شوند بلکه جايگزين برنامه هاي اجرايي مهم سيستم عامل و در گاهي مواقع جايگزين خود هسته کرنل مي شوند و به هکرها اين اجازه را مي دهند که از طريق درب پشتي و پنهان شدن در عمق سيستم عامل به آن نفوذ کنند و مدت زيادي با خيال راحت با نصب رديابها ( Sniffer ) و ديگر برنامه هاي مانيتورينگ بر روي سيستم اطلاعاتي را که نياز دارند بدست آورند.

در دنياي هکرها دو نوع RootKit اصلي وجود دارد که هر کدام تعريف جداگانه اي دارند.

1- RootKit سنتي: RootKit هاي سنتي با شناسايي اولين RootKit بسيار قدرتمند در اويل سال 1990 در طول يک دهه گسترش پيدا کردند و تا آنجا پيش رفتند که امروزه انواع مختلفي از RootKit هاي سنتي وجود دارند که به طور عملي خودشان نصب شده و به هکرها اجازه مي دهند که به سرعت سيستم قرباني را فتح کنند.

RootKit هاي سنتي براي سيستم عامل هاي مختلف نوشته شده اند ولي به طور سنتي بر روي سيستم هاي يونيکس مثلHP-UX - AIX - Linux - Solaris - SunOS و از اين قبيل تمرکز کرده اند.

ولي براي ويندوزهاي سرور مثل NT/2000 نيز RootKit هايي نوشته شده اند که جايگزين کتابخانه هاي پيوند پويا ( DLL ) شده و يا سيستم را تغيير مي دهند ولي تعداد زيادي از RootKit ها براي سيستم هاي يونيکس نوشته شده اند.

RootKit ها اجازه دسترسي Root يا Administrator را به ما نمي دهند و ما هنگامي قادر به نصب آْنها بر روي يک سيستم هستيم که دسترسي ريشه اي و مدير يک سيستم را توسط روش هاي ديگري مثل سرريز بافر ... به دست آورده باشيم. بنابراين يک RootKit يک سري ابزارهايي است که با پياده سازي يک درب پشتي ( Backdoor ) و پنهان کردن مدارک استفاده از سيستم و ردپاها به هکر اجازه نگهداري دسترسي سطح ريشه را مي دهد.

ساختار کار تروجن ها به اين صورت است که فايلي را در داخل هسته سيستم مثل پوشه System32 اضافه مي کند و اين فايل تمامي پسوردهاي قرباني را Log کرده و براي هکر مي فرستد و يا با باز کردن پورتي اجازه ورود هکر را از طريق پورت باز شده مي دهد ولي RootKit هاي سنتي به جاي اينکه فايلي در هسته سيستم قرباني اضافه کنند، سرويسها و فايل هاي اصلي و مهم سيستم عامل قرباني را با يک نسخه تغيير يافته آن که عملياتي مخرب انجام مي دهد جايگزين مي کنند.

براي مثال RootKit هاي معروف در سيستم هاي يونيکس برنامه /bin/loginرا که يکي از اساسي ترين ابزارهاي امنيتي در Unix است را با يک نسخه تغيير يافته که شامل يک کلمه عبور درب پشتي براي دسترسي سطح ريشه مي باشد عوض مي کنند.

سيستم هاي يونيکس از برنامه /bin/login براي جمع آوري و تست UserID هاي کلمات عبور استفاده مي کند.

/bin/login شناسه کاربري و پسورد تايپ شده توسط کاربر را با فايل پسوردها مقايسه مي کند تا تعيين کند که پسورد داده شده توسط کاربر صحيح است يا خير. اگر پسورد داده شده درست باشد روتين /bin/loginبه آن User اجازه ورود به سيستم را مي دهد.

خب با اين توضيحي که داديم فرض کنيد که يک RootKit اين برنامه را با برنامه نوشته شده خود عوض کند.

اگر هکر از پسورد ريشه درب پشتي استفاده کند، برنامه /bin/login تغيير يافته و اجازه دسترسي به سيستم را مي دهد.

حتي اگر مدير سيستم پسورد ريشه اصلي را عوض کند، هکر هنوز مي تواند با استفاده از کلمه عبور ريشه درب پشتي به سيستم وارد شود.

بنابراين يک روتين RootKit ، /bin/login يک درب پشتي است زيرا مي تواند براي دور زدن کنترل هاي امنيتي نرمال سيستم مورد استفاده قرار گيرد.

علاوه بر آن يک اسب تروا هم هست زيرا فقط چهره آن يک برنامه نرمال و زيباي Login است ولي در اصل يک Backdoor است. اکثر RootKit ها سرويس ها و برنامه هايي مثل DU - Find - Ifconfig - Login - ls - Netstat - ps را با RootKit خود جابه جا مي کنند.

هر يک از اين برنامه هاي سيستمي با يک اسب ترواي منحصر به فرد جايگزين مي شود که عملکرد آنها شبيه به برنامه عادي است. همه اين برنامه هاي Unix مانند چشم و گوش هاي مديران سيستم مي باشد که تعيين مي کنند چه فايل ها و سرويس هايي در حال اجرا هستند.

هکرها با پوشاندن چشم و گوشهاي مديران سيستم که توسط RootKit انجام مي شود مي توانند به صورت موثري حضورشان را در يک سيستم مخفي نگه دارند.

linux RootKit 5 ( lrk5 ) و Tornkit دو نمونه از RootKit هاي سنتي هستند که براي سيستم هاي Linux و Solaris نوشته شده اند و در سايت آشيانه مي توانيد اين RootKit ها را پيدا کنيد.

اين RootKit ها به محض نصب شدن در سيستم قرباني خود را با سرويس هاي حياتي و مهم سيستم عامل که در بالا ذکر شد جايگزين مي کنند.

2- RootKit سطح هسته : اين نوع از RootKit ها نسبت به نوع سنتي بسيار حرفه اي تر هستند و از نظر سطح پنهان سازي بسيار پا را فراتر از نوع سنتي گذاشته اند زيرا اين RootKit ها در سطح ريشه پياده سازي مي شوند و اين کار شناسايي و کنترل کردن آنها را بسيار مشکل تر کرده است. RootKit هاي سطح هسته به ما کنترل کاملي از سيستم اصلي و يک امکان قدرتمند براي جايگيري مي دهد.

يک هکر با ايجاد تغييرات اساسي در خود هسته، مي تواند سيستم را در سطحي بسيار اساسي کنترل کرده و قدرت زيادي براي دسترسي به درب پشتي و پنهان شدن در ماشين را به دست آورد.

خود هسته در حالي که يک کرنل زيبا و کارآمد به نظر مي رسد تبديل به يک اسب تروا مي شود و در حقيقت Kernel فاسد مي شود ولي صاحب سيستم از اين موضوع بي خبر مي ماند.

درحالي که يک RootKit سنتي جايگزين برنامه هاي سيستمي حياتي مثل برنامه هاي ifconfig - ls ... مي شود ، يک RootKit سطح هسته در حقيقت جايگزين هسته مي شود و يا آن را تغيير مي دهد.

تمامي فايل ها - دستورها - پردازشها و فعاليت هاي شبکه اي در سيستم آلوده به RootKit هسته پنهان مي شوند و تمامي اعمال به سود هکر ضبط مي شود.

اغلب RootKit هاي سطح ريشه توسطLKM ها پياده سازي مي شوند.

نصب RootKit هاي سطح هسته اي که توسطLKM ها پياده سازي شده باشد، بسيار راحت است. براي مثال براي نصبKnrak Rootkit که براي هسته لينوکس نوشته شده است، يک هکر که با Account سطح ريشه يا همان Root به آن سيستم وصل است تنها کافي است insmod knark.o, را تايپ کند و ماژول نصب مي شود و منتظر دستورات هکر مي ماند و حتي نيازي به بوت کردن دوباره سيستم هم ندارد.

RootKit هاي سطح هسته براي ويندوز NT هم وجود دارند که يک Patch را بر روي خود هسته اجرايي ويندوز NT بدون استفاده ازLKM ها اعمال مي کند.

چند تا از معروف ترين RootKit هاي سطح هسته Knrak و Adore براي سيستم هاي لينوکس ، Plasmoid براي سيستم هاي Solaris و RootKit سطح هسته ويندوز NT براي سيستم هاي سرور ويندوز نام دارند که همگي در لينک RootKit در سايت آشيانه براي اعضاي سايت قرار داده شده اند.

راه هاي مقابله با RootKit هاي سنتي و RootKit هاي سطح هسته مهمترين راه دفاع در برابر RootKit ها اجازه ندادن به هکرها در دسترسي به حساب مدير است. همانطور که در بالا ذکر شد يک هکر براي نصب يک RootKit بايد دسترسي سطح ريشه داشته باشد و اگر ما بتوانيم هميشه راه هاي نفوذ و آسيب هاي جديد سيستم عاملمان را شناسايي و آنها را از بين ببريم شانس دستيابي هکر به حساب ريشه سيستم خود را تقريباً به صفر رسانده ايم. در مرحله بعد اگر فرض کنيم که با بي احتياطي ما ، هکري توانست بر روي سيستم ما RootKit نصب کند، يکي از راه هاي تست اين که سيستم ما RootKit شده است يا خير استفاده از دستورEcho است. تعداد بسيار کمي از RootKit ها ، دستور echo را که براي ليست کردن محتويات يک دايرکتوري مي باشد تروا مي کنند و اکثر RootKit ها بر روي تروا کردن ls تمرکز کرده اند.

به همين دليل echo يک ليست قانوني از محتويات يک دايرکتوري را برمي گرداند و اگر نتيجه اي که echo بر مي گرداند با چيزي که دستور ls براي دايرکتوري داده شده نشان مي دهد متفاوت باشد ممکن است چيزي در آن دايرکتوري پنهان شده باشد که اين نتيجه را مي رساند که سيستم شما RootKit شده است. ولي در کل اين روش زياد موثر نيست چون جستجوي تمام سيستم فايل براي يافتن هر اختلافي بين فايل هاي ليست شده در خروجي Echo و ls وقت زيادي را صرف مي کند.

امروزه ابزارهاي مختلفي براي آناليز برنامه Rootkit/bin/login وجود دارد که مشخص مي کنند آيا RootKit شناخته شده اي نصب شده است يا خير. اين ابزارها وقتي که بر روي سيستم نصب مي شوند به صورت دوره اي فايل هاي مهم بر روي سيستم را مثل /bin/login چک مي کنند تا از وجود RootKit باخبر شوند که برنامه ChRootkit ابزاري جالب در اين زمينه است ولي درکل بهترين راه دفاع در برابر RootKit ها استفاده از تکنولوژي اثر انگشت ديجيتالي قوي مي باشد تا به صورت دوره اي درستي فايل هاي سيستم بحراني را تحقيق نمايد.

MD5 ( يک تابع درهم ساز يک طرفه ) يک الگوريتم بسيار مناسب براي محاسبه اين نوع اثر انگشتهاي قوي مي باشد.

با محاسبه يک اثر انگشت Encrypt شده قوي براي فايل هاي سيستمي مهم يک هکر قادر نخواهد بود که فايلي را تغيير داده و با همان اثر انگشت وارد شود.

TripWire يک ابزار قوي براي تست صحت است که در سايت آشيانه براي دانلود قرار داده شده است. TripWire درهم سازي MD5 اي از فايل هاي بحراني مثل/etc/passwd/bin/login - ls - ps و ... ساخته و به صورت دوره اي اين درهم سازي را با يک پايگاه داده اي امن مقايسه مي کند.

در صورت تغيير در MD5 يک سرويس سريع به مدير سيستم اطلاع مي دهد.

همچنين در RootKit هاي سطح هسته Scan پورت ها در شبکه که با استفاده از ابزارهايي مثل Nmap صورت گيرد پورت هاي شنونده را به مدير امنيتي سيستم نشان خواهد دد.

به همين دليل پويش دوره اي سيستم در طول شبکه براي پيدا کردن رد RootKit بسيار مفيد است. در آخر ذکر اين نکته لازم است که اگر سيستم شما با تمام اين ملاحظات آلوده به RootKit شد بهترين راه از بين بردن آن فرمت هسته و نصب مجدد سيستم عامل است.


موضوع: چگونه سايتهاي خبري هک شدند؟ چندي پيش چند سايت خبري همچون ايسنا، پيک ايران ، جام جم و بازتاب هک شدند . در ماه اخير نيز سايتهاي خبري ديگري مانند CHNو ايلنا نيز به اين گروه پيوستند . هکر يا هکرهاي سايتهاي فوق خود را با نامهايي چون هويچ يا افشين معرفي کرده بودند.

بنا بر درخواست دوستي به دنبال دليل و چگونگي اين هک ها بودم.سايتهاي بالا در سرورهاي متعددي وجود داشتند و از همين رو کمتر به نظر ميرسيد که سرورها داراي مشکل امنيتي باشند.

پس از بررسي روشهاي ممکن نتيجه مشخص شد که بدين شرح است. در حقيقت هکر يا هکرهاي فوق در اکثر مواقع تنها از يک اشکال SQL INJECTION استفاده ميکرند و با آنکه برخي از سايتهاي فوق مواردي همچون قيد کوتيشن را در اطلاعات ورودي بررسي ميکردند اما کاراکتر ديگر نيز وجود دارد که تنها در موارد خاص ميتواند مشکل ساز باشد و آن سمي کالن (;) است.در اکثر اين سايتها صفحه اي مثلا با دريافت کد خبر آنرا نمايش ميدهد و اما در اکثر موارد عدد بودن اين کد بررسي نمي شود و درج کاراکتر سمي کالن بعد از عدد و سپس تزريق برخي دستورات خاص SQL ميتواند باعث اجرا دستورات مخرب در ديتابيس سرور شود.

شاهد آنکه در تمامي موارد فوق تنها جداول بانکهاي اطلاعاتي آسيب ديده بودند.

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

موضوع: آموزش هك (بخش اول) ترمينولوژي (اصطلاح شناسي) - Hacker کيست ؟ هکر کسي است که با سيستم هاي کامپيوتري آشناست و مي تواند با روش هايي خاص (بدون اجازه) وارد آنها شود.

.. اين انسان مي تواند خوب يا بد باشد ( در هر حال هکر است ) - سوال: يک هکر از چه راهي وارد يک سيستم مي شود؟ از راه شبکه (نه بابا ! ) بايد توجه کنيد که هر سيستم کامپيوتري (به عبارت بهتر هر سيستم عامل) به هر حال محصول کار تعدادي انسان است و حتما داراي تعدادي bug (خطاهايي که بعد از ارائه محصول به بازار به تدريج کشف مي شوند) خواهد بود.

بعد از اينکه يک باگ مشخص شد، شرکت ها نرم افزارهايي را به سرعت (در عرض چند ساعت ) ايجاد مي کنند تا مشکل رفع شود اين ها را patch مي گويند.

و بعد مديران شبکه (Wbemasters) در عرض چند روز تا چند سال (آين آخري در مورد ايرانه) آنها را download کرده و مشکل را حل مي کنند.

در اين فاصله هکرها دمار از روزگار اين سايت ها در مي اورند.

.. - تعريف چند اصطلاح: *** Hacker واقعي = سامورايي : کسي که هدفش از نفوذ به سيستم ها نشان دادن ضعف سيستم هاي کامپيوتري است نه سوءاستفاده ... *** Wacker (واکر): کسي که هدفش از نفوذ به سيستم ها، استفاده از اطلاعات آن سيستم هاست (جرو هکر هاي کلاه سياه ) *** Cracker (کراکر): کسي که هدفش از نفوذ به سيستم ها، خرابکاري و ايجاد اختلال در سيستم هاي کامپيوتري است. (جرو هکر هاي کلاه سياه ) *** Preaker : از قديمي ترين هکرها هستند که براي کارشان نياز (و دسترسي) به کامپيوتر نداشتند و کارشان نفوذ به خطوط تلفن براي تماس مجاني، استراق سمع و ... بود.

اين جزو آموزش من نيست چون کار خيلي بديه (-; ? تقسيم بندي - انواع کامپيوتر هاي شبکه: => کامپيوترهاي Server : کامپيوترهايي که کارشان تامين اطلاعات در شبکه است، مثلآ کامپيوترهايي که سايت ها را نگه مي دارند.

=> کامپبوتر هاي Client : کامپيوترهايي که استفاده کننده هستند مثل همين کامپيوتر خودتان که داريد ازش کار مي کشيد.

- انواع سيستم عامل هايي که Server ها از آن استفاده مي کنند: => سيستم هاي فعلي: * خانواده Unix (مثل FreeBSD , Linux ) * خانواده Windows (مثل WinNT, Win2000 ) * Sun Solaris * OsMac => سيستم هاي قديمي (منقرض شده - آخيش ! ): AIX, IRIS, DEC10, DEC20 , ... - سوال: کدام ها را بايد ياد گرفت؟ Win2000, Unix(Linux) را بايد ياد بگيريد.

پيشنهاد من اين است که Win2000و RedHat Linux را روي کامپيوتر خود همزمان داشته باشيد.

? زنگ تفريح - تقسيم بندي من براي هکر ها: ?- جوجه هکرها (احمق کوچولوها): توانايي ها: بلدند از Sub 7 , 187 استفاده کنند و فکر کنند ديگه همه چي رو ياد گرفته اند ! ?- خروس هکر ها يا مرغ هکرها (احمق هاي بزرگتر): توانايي ها: Mail Box را هم مي توانند Bomb کنند ... ماشاءالله ! ?- هکرهاي قابل احترام ( مثل خود شما): دارند ياد مي گيرند و هنوز ?،? سال کار دارند.

?- هکرهاي پيش کسوت (مثل من): ديگه آفتاب لبه بومه ... هکرهاي قابل احترام را دوس دارند ... ? FAQ - چه چيزهايي را بايد داشته باشم تا شروع کنم؟ ?- Win2000 , Linux را روي کامپيوتر خود نصب کرده و شروع به يادگيري کنيد.

?- شروع به يادگيري زبان C کنيد.

?- شروع به يادگيري TCP/IP کنيد.

(يک کتاب بخريد ) ?- مهمترين چيز علاقه به طي کردن يک را بسيار طولاني




   برچسب‌ها: آموزش هک و حفاظت
   

درباره وبلاگ

کافه فان / Cafefun.ir
سایت اطلاعات عمومی و دانستنی ها

موضوعات

تبليغات

.:: This Template By : web93.ir ::.

برچسب ها: اطلاعات عمومی ، آموزش ، موفقیت ، ازدواج ، دانستنی ، گیاهان دارویی ، تعبیر خواب ، خانه داری ، سخن بزرگان ، دانلود ، بازیگران ، روانشناسی ، فال ، اس ام اس جدید ، دکتر شریعتی ، شاعران ، آموزش یوگا ، کودکان ، تکنولوژی و فن آوری ، دانلود ، تحقیق ، مقاله ، پایان نامه ، احادیث ، شعر ، رمان ، عکس ، قرآن ، ادعیه ، دکوراسیون ، سرگرمی ، اعتیاد ، کامپیوتر ، ترفند ، ورزش ، کد آهنگ ، مقالات مهندسی ، طنز ، دانلود کتاب ، پزشکی ، سلامت ، برنامه اندروید ، زنان ، آشپزی ، تاریخ ، داستان کوتاه ، مدل لباس ، مدل مانتو ، مدل آرایش