|
هکرها . کراکرها . واکرها و بوترها
Hacker: به معنای نفوذگر . به شخصی که هدف اصلی او نشان دادن قدرت خود به کامپيوتر و ساير ماشين ها است وارد شدن به سيستم و يا شکست دادن محاسبات , کنجکاوی در اطلاعات محرمانه از خصوصيات يک هکر است . هکر يک برنامه نويس کنجکاو است که صدمه ای وارد نمی کند و حتی باعث تحکيم انتقالات می شود . هکر ها به چند گروه تقصيم می شوند : 1 - گروه نفوذگران کلاه سفيد ( White Hat Hacker Group ) اين گروه از هکرها در واقع همان دانشجويان و اساتيد هستند که هدفشان نشان دادن ضعف سيستم های امنيتی شبکه های کامپيوتری می باشند اين گروه به نام هکرهای خوب معروف هستند . اين دسته نه تنها مضر نيستند بلکه در تحکيم دايواره حفاظتی شبکه ها نقش اساسی دارند کلاه سفيد ها داری خلاقيت عجيبی هستند معمولا هر بار با روش جديدی از ديواره امنيتی عبور می کنند . 2 - گروه نفوذگران کلاه سياه ( Black Hat Hacker Group ) نام ديگر اين گروه Cracker است. کراکرها خرابکار ترين نوع هکرها هستند . اين گروه به طور کاملا پنهانی اقدام به عمليات خراب کارانه می کنند . کلاه سياه ها اولين چيزی که به فکرشان می رسد نفوذ به سيستم قربانی است کلاه سياه ها همه ويروس نويسند و با ارسال ويروس نوشته شده خود بر روی سيستم قربانی به آن سيستم نفوذ پيدا می کند درواقع يک جاسوس بر روی سيستم قربانی می فرستند . هميشه هويت اصلی اين گروه پنهان است . 3 - گروه نفوذگران کلاه خاکستری ( Gray Hat Hacker Group ) نام ديگر اين گروه Whacker می باشد هدف اصلی واکر استفاده از اطلاعات ساير کامپيوترها به مقصود مختلف می باشد و صدمه ای به کامپيوتر ها وارد نمی کنند . اين گروه کدهای ورود به سيستم های امنيتی را پيدا کرده و به داخل آن نفوذ می کنند اما سرقت و خراب کاری جز کارهای کلاه خاکستری نيست . بلکه اطلاعات را در اختيار عموم مردم قرار می دهند . در سال ۱۹۹۴ يک هکر ژاپنی به سايت Nasa امريکا نفوذ پيدا کرد و تمامی اسناد محرمانـه متعلق به اين سازمان را ربود و به طور رايگان بر روی اينترنت در اختيار عموم قرار داد . 4 - گروه نفوذگران کلاه صورتی ( Pink Hat Hacker Group ) نام ديگر اين گروه Booter می باشد . بوتر ها افرادی لوس و بی سودی هستند که فقط قادرند در سيستمها اخلال بوجود آورند و يا مزاحم ساير کاربران در سالنهای چت شوند. کلاه صورتی ها اغلب جوانان عصبانی و جسوری هستند که ازنرم افزارهای ديگران استفاده می کنند و خود سواد برنامه نويسی ندارند. ولی در بعضی مواقع همين هکرهای کم سواد می توانند خطرهای جدی برای امنيت باشند. ... بسياری از هکرها انسانهای هستند که خود را بسيار آزاد می داند و قصد دارند خود را در دنيای ديگر بر تر سازند. هيچ کس نمی تواند قدرت هکرها را در نفوذ به سيستمها ناديده بگيرد... ترمينولوژی (اصطلاحشناسی)
- 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 کنند ... ماشاءالله ! ۳- هکرهای قابلاحترام ( مثل خود شما): دارند ياد میگيرند و هنوز ۲،۳ سال کار دارند. ۴- هکرهای پيشکسوت: ديگه آفتاب لبه بومه ... هکرهای قابل احترام را دوس دارند ... |
|
|
| ◊ Command Prompt چيست؟ |
|
در بسياری از درسهای آينده از Command Prompt (خط فرمان) ويندوز استفاده خواهيم کرد. برای باز کردن آن يکی از روشهای زير را به کار بريد: ۱- مسير زير را در ويندوز طی کنيد: Start > Programs > Accessories > Command Prompt
۲- در قسمت Run بنويسيد: command يا cmd |
| ◊ FAQ |
|
- چه چيزهايی را بايد داشته باشم تا شروع کنم؟ ۱- Win2000 , Linux را روی کامپيوتر خود نصب کرده و شروع به يادگيری کنيد. ۲- شروع به يادگيری زبان C کنيد. ۳- شروع به يادگيری TCP/IP کنيد. (يک کتاب بخريد ) ۴- مهمترين چيز علاقه به طی کردن يک را بسييييييار طوووووولانی |
|
IP :
شماره ايست که به هر کامپيوتر متصل به اينترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی
که معمولا به روشی غير از شمارهگيری (Dial Up) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی
متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل میشويد، عددی جديد
به شما نسبت داده میشود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی بهصورت زير نوشته میشود: xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی
اسمهايی مثل www.yahoo.com که برای اتصال استفاده میکنيد، در نهايت بايد به يک IP تبديل شود،
تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضيح میدهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددی که به عنوان xxx اول میگيريد، مابين 192 تا 223 خواهد بود
.اين توضيح برای تشخيص کامپيوترهای کلاينت از سرور (حداقل در ايران) بسيار میتواند مفيد باشد.
بعد از اتصال به اينترنت برای به دست آوردن IP خود، از دستور IPCONFIG در command prompt استفاده کنيد. (البته يک سری نکات فنی داريم که بعدا میگم)
پورت (Port): در ساده ترين تعريف، محلی است که دادهها وارد با خارج میشوند. در مبحث هک معمولا با پورتهای نرمافزاری سروکار داريم که به هر کدام عددی نسبت میدهيم. اين اعداد بين ۱ و ۶۵۵۳۵ هستند. معمولا
به يک سری از پورتها کار خاصی را نسبت میدهند و بقيه بهصورت پيشفرض برای استفاده شما هستند.
پورتهای که فعال هستند، هرکدام توسط يک نرمافزار خاص مديريت میشوند. مثلا پورت ۲۵ برای ارسال
Email است، بنابراين بايد توسط يک نرمافزار اين کار انجام شود و اين نرمافزار بر روی پورت ۲۵ منتظر
(فالگوش) میماند. اينجا ممکن است شخصی از فلان نرمافزار و ديگری از بهمان نرمافزار استفاده کند
ولی بههر حال پورت ۲۵ هميشه برای ارسال Email است.
در پايين ليستی از مهمترين پورتها و کاربردشان را میبينيد: Port Num Service Why it's phun!
-------- ------- ----------------------------------------
7 echo Host repearts what you type
9 discard Dev/null
11 systat Lots of info on users
13 daytime Time and date at computer's location
15 netstat Tremendous info on networks
19 chargen Pours out a stream of ASCII characters.
21 ftp Transfers files
23 telnet Where you log in.
25 smpt Forge email
37 time Time
39 rlp Resource location
43 whois Info on hosts and networks
53 domain Nameserver
70 gopher Out-of-date info hunter
79 finger Lots of info on users
80 http Web server
110 pop Incoming email
119 nntp Usenet news groups -- forge posts, cancels
443 shttp Another web server
512 biff Mail notification
513 rlogin Remote login
who Remote who and uptime
514 shell Remote command, no password used!
syslog Remote system logging
520 route Routing information protocol
از ميان اين پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و ۱۱۹ فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد. |
| ◊ چگونه به يک پورت Telnet کنيم؟ |
|
برای اينکه عملکرد يک پورت برای شما روشن شود، بايد به آن پورت Telnet کنيد. (البته معمولا تعدادی از پورتهايی را که ممکن است اطلاعاتی مهم را در اختيار هکرها قرار دهند مثل پورت ۷۹ معمولا بسته
است و ارتباط با آنها شايد برقرار نشود.) برای telnet کردن در command prompt دستور زير را تايپ کنيد: telnet hostname portnum در اين دستور بهجای hostname شماره ip و يا نام سايت را وارد میکنيد و بهجای portnum شماره پورت
و يا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاريخ را بهدست میدهد در کامپيوتری
به اسم www.iums.ac.ir مينويسيد: telnet iums.ac.ir 13 telnet iums.ac.ir daytime هر دو اين دستورات معادل هم هستند.
تلنت کردن معمولا اولين کاری است که يک هکر برای هک کردن يک سايت انجام میدهد، زيرا بعضی از پورتها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسيار مهمی هستند.
همين الان شروع کنيد و مثل يک هکر واقعی به کامپبوترهای مختلف و پورتهای گوناگون تلنت کنيد. مخصوصا اگر پورت ۷۹ (finger) روی يک کامپيوتر باز بود، مرا هم خبر کنيد (-; |
| ◊ تقسيمبندی انواع حملاة |
|
اولين نکتهای که لازم است بگويم اينه که وقت خود را برای هک کردن کامپيوترهای کلاينت هدر ندهيد (اگرچه برای افراد مبتدی کار با نرمافزاری مثل Sub7 زياد هم بد نيست ولی نبايد زيادهروی کرد) علت
هم اينه که هربار که به اينترنت وصل میشوند ip جديدی به آنها اختصاص پيدا میکنه و زحماتتون هدر
میره (البته برای جلوگيری از اين امر هم روشهايی هست که در آينده ايشالله ميگم). حالا تقسيمبندی: ۱- حمله به روش Denial of Service Attack) DoS) ۲- حمله به روش Exploit ۳- حمله به روش Info Gathering (تلنت کردن يکی از مثالهای آن است که امروز آموختيد) ۴- حمله به روش Disinformation |
| ◊ 133t Speak چيست؟ |
|
گاهی هکرها در هنگام نوشتن به جای تعدادی از حروف انگليسی معادلهای قراردادی به کار میروند که ليست آنها را در زير میبينيد:
0 <= O
1 <= L; I
2<= Z
3 <= E
4 <= A
5 <= S
6 <= G
7 <= T
8 <= B
| <= L; I
@ <= at (duh)
$ <= S
)( <= H
}{ <= H
/\/ <= N
\/\/ <= W
/\/\ <= M
|> <= P; D
|< <= K
ph <= f
z <= sمثلا he Speaks میشود: }{3 $|>34|< zتوصيه من اينه که از اين معادلها تا جايی که میتونيد استفاده نکنيد. فقط ياد بگيريد که کم نياريد. |
| ◊ ترسيم مسير برای آينده: |
|
۱- اولين و مهمترين تصميم انتخاب نوع کامپيوتری است که میخواهيد هک کنيد ( کلاينت يا سرور )، زيرا روشهک کردن ايندو بجز در مراحل ابتدايی کاملا متفاوت است.
۲- دومين گام انتخاب يک کامپيوتر مشخص (مثلا کامپيوتری که فلان سايت را نگه میدارد که مثالی برای کامپيوتر سرور است و يا کامپیوتر فلان شخصی که با او چت میکنيد که مثالی برای کامپيوتر کلاينت است)
و جمعآوری اطلاعات در مورد آن است. اين جمعآوری اطلاعات از قربانی (Victim) را Footprinting گويند. اولين
مشخصهای که بايد کشف شود، ip اوست. يکی ديگر از اطلاعات مهم که معمولا دنبالش هستيم، پيدا کردن
نوع سيستمعامل و نيز برنامههايی است که کامپيوتر شخص از آنها بهره میبرد. يکی از مهمترين
( و گاه خطرناکترين) کارها، تستکردن پورتهای آن کامپيوتر برای ديدن اينکه کدام پورتها باز و کدامها
بسته هستند.
۳- مرحله بعدی در واقع شروع تلاش برای نفوذ به سيستم است. اين نفوذ سطوح مختلف دارد و بالاترين آن که در کامپيوترهای سرور روی میدهد، حالتی است که بتوان username و password مربوط به مدير
کامپيوتر (administrator) يا superuser را بهدست آورده و از طريق اين Shell Account به نهايت نفوذ دست
يابيم ولی گاه بهدلايل مختلف (مربوط به سطح علمی خود و ... ) نمیتوان به اين سطح دستيافت اما به
هر حال برای مرحله بعدی میتواند استفاده شود. اين مرحله جايی است که هنر شما يه عنوان يک هکر
آغاز شده و نيز به پايان میرسد.
۴- اين مرحله بعد از نفوذ روی میدهد که در آن به يک سطحی از کنترل سيستم رسيدهايد. رفتار شما در اين مرحله مشخص میکند که چه نوع هکر هستيد(سامورايی، واکر و يا کراکر) و اينکه آيا جنبه ياد گرفتن
را داشتهايد يا نه، همينجا مشخص خواهد شد.
۵- مرحله آخر پاک کردن ردپاست تا گير نيفتيم (البته بعضی وقتها برای کلاس گذاشتن بايد گير بيفتيم، هه هه ...). بعضی از سيستمها آمار login را نگه میدارند که در مورد آنها اين مرحله بسيار مهم است. خلاصه مطالب بالا به اين صورت است: Selection -> FootPrinting -> Penetration -> [Changings] -> Cleaning |
| ◊ خلاصه Jargon Lexicon 4.2 مشهورترين لغتنامه هکرها: (قسمت ۱ - قبل از A ) |
|
0 عدد صفر، مخالف حرف O انگليسی. برای تمايز ايندو از هم در دورههای مختلف از روشهای گوناگون استفاده شده است.
1TBS .n // "The One True Brace Style" ر.ک. indent style one twenty)120 reset) .wuhn-twen'tee ree'set/ n/ عمل cycle کردن جريان (power) به يک ماشين برای ريست کردن و يا باز کردن (unjam) م.ک. Big Red Switch, power cycle 2 infix با توجه به تلفظ مشابه با to در انگليسی به جای آن به کار میرود. مثلا exe2bin به معنی تبديل exe به bin است (exe to bin) 404 .n // HTTP error مربوط به پيدا نشدن فايل (file not found on server) four o four)404 compliant) adj حالتی است که کل سايت توسط Administratorها به دليل استفاده نامناسب operatorها از آن پاک میشود. ن.ک. spam, spamvertize 4.2 .for' poynt too'/ n/ اگر به تنهايی به کار رود به معنی BSD Unix release 4.2 است. party-@ .at'par`tee/ n/ ميتينگهايی که بين هکرها برگزار میشود که مهمترين آنها همايش ساليانه Worldcon است. م.ک. boink |
| ◊ شروع مبحث Footprinting |
|
گفتيم که اولين مرحله جمعآوری اطلاعات است که به آن FootPrinting میگويند. اين مبحث را با آموزش روش پيدا کردن ip شروع میکنيم. |
| ◊ پيدا کردن ip يک سايت با دانستن آدرس اينترنتی آن (پيدا کردن ip سرور) |
|
برای اين کار روشهای مختلفی هست: ۱- در (Internet Explorer (IE آدرس را تايپ کنيد و Enter را فشار دهيد. در قسمت پايين مرورگر يعنی Status Bar پس از چند لحظه برای مدت کوتاهی ip نمايش داده میشود و میتوانيد آنرا يادداشت
کنيد. اگر طول اين مدت بسيار کوتاه است میتوانيد از صفحه عکس بگيريد ( با دکمه Print Screen ) و در
يک نرمافزار گرافيکی بعد از باز کردن يک صفحه خالی به کمک Ctrl+V آنرا مشاهده کنيد.
[ عجب راه احمقانهای ;-)
اگر اين کار را برای www.yahoo.com انجام دهيم: ![]() که همان شماره ip برای www.yahoo.com است. نکته بسيار مهم اين است که بهدليل ضريب اشتباه بسيار بالای آن هيچگاه از اين روش استفاده نکنيد. نتايج ممکن است کاملا اشتباه باشد که بعدا ميگم چرا. ۲- دستور ping را در command prompt صادر کنيد: ping domain در اين حالت میتوانم ip آن سايت را ملاحظه کنم. (البته کار اصلی ping يک چيز ديگست و ميشه گفت
داريم ازش سوءاستفاده میکنيم). مثلا برای پيدا کردن ip سازين مینويسم: ping sazin.com و جواب میشنوم:
Pinging sazin.com [63.148.227.65] with 32 bytes of data:
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=822ms TTL=111
Reply from 63.148.227.65: bytes=32 time=811ms TTL=111
Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 811ms, Maximum = 822ms, Average = 818msملاحظه میفرماييد که ip سازين 63.148.227.65 است.
اگر دستور ping را بهجای sazin.com برای www.sazin.com صادر کنيد، جواب همان است. البته برای سايتهای بزرگ جوابهای حاصل متفاوت خواهد بود.
۳- روش بعدی و کاملترين روش whois کردن به بعضی سايتهای خاص است. بعدا اين را کاملتر توضيح میدم ولی فعلا روشش رو میگم.
آدرس زير را در مرورگر خود تايپ کنيد:
http://www.samspade.org/t/ipwhois?a=xxxxxx که بهجای xxxxxx آدرس مورد نظر را تايپ کنيد. مثلا برای sazin.com يکی از دو آدرس زير را بايد تايپ کرد:
http://www.samspade.org/t/ipwhois?a=sazin.com
http://www.samspade.org/t/ipwhois?a=www.sazin.comچيزی که در صفحه ظاهر میشود به صورت زير است:
whois -h magic 63.148.227.65
sazin.com resolves to 63.148.227.65
Trying whois -h whois.arin.net 63.148.227.65
Qwest Communications NET-QWEST-BLKS-2 (NET-63-144-0-0-1)
63.144.0.0 - 63.151.255.255
Neutron Digital Media Corp. QWST-63-148-224 (NET-63-148-224-0-1)
63.148.224.0 - 63.148.231.255
# ARIN Whois database, last updated 2002-09-04 19:05
# Enter ? for additional hints on searching ARIN's Whois database.که آدرس ip در سطر اول و دوم ذکر شده است. اگر دو روش آخر را برای سايت بزرگ yahoo انجام دهيم، نتايج زير را میبينيم: --> روش ping : www.yahoo.com ====> 64.58.76.229 yahoo.com ====> 66.218.71.198 --> روش whois : ...و www.yahoo.com ====> 66.218.71.86 64.58.79.230 و yahoo.com ====> 66.218.71.198 نتايج حاصل گويای آن است که چرا بهتر است از whois استفاده کنيم. |

)_files/001_785.jpg)
