اموزش هک
![]()
مبحث IP
CommandPromptچيست؟
در بسياری از درسهای آينده از Command Prompt (خط فرمان) ويندوز استفاده خواهيم کرد. برای باز کردن آن يکی از روشهای زير را به کار بريد:
1-مسير زير را در ويندوز طی کنيد:
Start > Programs > Accessories > Command Prompt
2-در قسمت Run بنويسيد: command يا cmd
پيدا کردن
ip يک سايت با دانستن آدرس اينترنتی آن (پيدا کردن ip سرور)برای اين کار روشهای مختلفی هست:
1- در (Internet Explorer IE) آدرس را تايپ کنيد و Enter را فشار دهيد. در قسمت پايين مرورگر يعنی Status Bar پس از چند لحظه برای مدت کوتاهی ip نمايش داده میشود و میتوانيد آنرا يادداشت کنيد. اگر طول اين مدت بسيار کوتاه است میتوانيد از صفحه عکس بگيريد ( با دکمه Print Screen و در يک نرمافزار گرافيکی بعد از باز کردن يک صفحه خالی به کمک Ctrl+V آنرا مشاهده کنيد. عجب راه احمقانهای)
2- دستور ping را در command prompt صادر کنيد:
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
چيزی که در صفحه ظاهر میشود به صورت زير است
: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 استفاده کنيم.
- تقسيم بندی آدرسهای ip
- آدرسهای ip به ۵ کلاس تقسيمبندی میشوند که A تا E نام دارند ولی از اين بين سه کلاس اول (يعنی C,B,A) کاربرد عملی دارند که آنها را شرح میدهيم:
1-کلاس A: اگر ip را بهصورت xxx.yyy.yyy.yyy در نظر بگيريد، اين کلاس تمام ipهايی را شامل میشود که xxx بين ۱ تا ۱۲۶ است. اين کلاس ويژه backbone های بزرگ اينترنتی است و در هنگام ثبت domain برای گرفتن ip از آنها استفاده میشود. بنابراين اکثر سايتها چنين ipهايی دارند. اين کلاس را 8/ هم میگويند.
2- کلاس B: اين کلاس تمام ipهايی را شامل میشود که xxx بين ۱۲۸ و ۱۹۱ است. اين کلاس هم از جمله کلاسهای پرکاربرد است. اين کلاس را 16/ هم میگويند.
3-کلاس C: اين اين کلاس تمام ipهای را شامل میشود که xxx بين ۱۹۲ و ۲۲۳ است. اين کلاس معمولا به ISP هايی که خدمات dial-up ارائه میدهند، تعلق میگيرد (اين جمله چندان مستند نيست.). بنابراين اگر بهصورت dial-up به اينترنت متصل شويد، چنين ip میگيريد. اين کلاس را 24/ هم میگويند.
سوالی که پيش میآيد اين است که xxx چرا نه در کلاس A و نه در B، عدد ۱۲۷ را شامل نمیشود؟ جواب اين است که ۱۲۷ برای کامپيوتر خودمان رزرو شده است. مثلا 127.0.0.1 معمولا يعنی localhost يعنی خودمان.
بهدست آوردن
ip خودتان بعد از اتصال به اينترنتبرای اينکار راههای متفاوتی وجود دارد:
-1راحتترين راه استفاده از دستور ipconfig است. من با تايپ کردن آن به نتايج زير رسيدم:
Windows 2000 IP Configuration
PPP adapter neda:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 217.66.198.116
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 217.66.198.116
که آدرس
ip تان را میتوانيد در سطر Ip Address ببينيد. (مسئله پروکسی را فعلا ناديده بگيريد(2- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور netstat -n را در command prompt تايپ کنيد. من با تايپ اين دستور به نتايج زير رسيدم:
Active Connections
Proto Local Address Foreign Address State
TCP 217.66.198.116:2469 64.58.76.177:80 ESTABLISHED
TCP 217.66.198.116:2471 66.163.175.130:80 ESTABLISHED
TCP 217.66.198.116:2473 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2474 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2476 212.73.194.136:80 SYN_SENT
- ستونی که زير عبارت Local Address قرار دارد، ip من در آن اتصال است. بنابراين ip من در آن اتصال 217.66.198.116 بوده است.
- پيدا کردن ip طرف مقابل هنگام chat با yahoo messenger - اين روش قديمی شده، الان ديگه کار نمیکنه
میخواهيم درباره يک کلاينت مثلا کسی که مثل شما يک اتصال مثلا dial-up به اينترنت دارد و فرضا دارد با شما chat میکند، کسب اطلاعات کرد.
در اين مورد هم اولين نکتهای که بايد کشف شود، ip اوست. در اين جلسه میخوام بهتون ياد بدم که وقتی با يه نفر از طريق yahoo messenger به صورت pm چت میکنيد، چطوری میتونيد ip اش رو پيدا کنيد. البته بايد توجه کرد که اين روش گاهی کار نمیکند. نيز فرض میکنم که فقط با يک نفر داريد چت میکنيد.
يکی از دستورهای زير را تايپ میکنيد:
netstat
netstat -n
دستور اولی برای پيدا کردن
ip طرف مقابل است و دستور دوم گاه میتواند اسم کامپيوتر او را برای شما نشان دهد.من دستور netstat -n را تايپ کردم و به نتايج زير رسيدم:
Active Connections
Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1341 66.218.75.149:80 LAST_ACK
TCP 195.219.176.126:1325 212.234.112.74:5101 SYN_SENT
اولين کاری که میکنيد اين است که سطری را پيدا میکنيد که در
Local Address يا Foreign Address آن، پورت 5101 داشته باشد. در اين مثال سطر آخر، سطر مورد نظر ماست. زيرا در ستون Foreign Address از سطر آخر، پورت آن 5101 است. البته اگر در ستون Local Address هم بود، فرقی نمیکرد. وقتی آن سطر را پيدا کرديد، ip طرف مقابل را از ستون Foreign Address از همان سطر پيدا میکنيم. در اين مثال ip طرف مقابل 212.234.112.74 است.اگر بهجای netstat -n ، از netstat استفاده میکردم، به نتايج زير میرسيدم:
Active Connections
Proto Local Address Foreign Address State
TCP artawill...:1296 cs55.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP artawill...:1298 dl3.yahoo.com:http TIME_WAIT
TCP artawill...:1325 Majid:5101 SYN_SENT
ملاحظه میفرماييد که همه
ip ها به معادل های اسمی تبديل شدهاند و در مورد همان سطر آخر به جای ip طرف مقابل اسم کامپيوتر فرد را مینويسد (البته در حالتی که طرف مقابل dial-up نباشد، قضيه فرق میکند(حالا فرض کنيد که يک pm ديگر هم اضافه میشود. و دوباره دستور netstat -n را تايپ میکنم. حالا نتايج زير را میبينم:
Active Connections
Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1344 64.58.77.197:80 ESTABLISHED
TCP 195.219.176.126:5101 212.234.112.74:3735 ESTABLISHED
TCP 195.219.176.126:5101 194.225.184.95:1460 ESTABLISHED
الان دوتا سطر دارم که دارای پورت
5101 باشد، و چون میدانم که 212.234.112.74 مربوط به نفر قبلی بود، پس 194.225.184.95 مربوط به pm دومی است.![]()
Hacker کيست ؟
Hacker کيست ؟
هکر کسی است که با سيستم های کامپيوتری آشناست و میتواند با روشهايی خاص (بدون اجازه) وارد آنها شود... اين انسان میتواند خوب يا بد باشد) در هر حال هکراست(
- سوال: يک هکر از چه راهی وارد يک سيستم میشود؟
از راه شبکه (نه بابا ! )
بايد توجه کنيد که هر سيستم کامپيوتری (به عبارت بهتر هر سيستم عامل) به هر حال محصول کار تعدادی انسان است و حتما دارای تعدادی bug (خطاهايی که بعد از ارائه محصول به بازار به تدريج کشف میشوند) خواهد بود. بعد از اينکه يک باگ مشخص شد، شرکت ها نرمافزارهايی را بهسرعت (در عرض چند ساعت ) ايجاد میکنند تا مشکل رفع شود اينها را patch میگويند. و بعد مديران شبکه (Wbemasters) در عرض چند روز تا چند سال (آين آخری در مورد ايرانه) آنها را download کرده و مشکل را حل میکنند. در اين فاصله هکرها دمار از روزگار اين سايتها درمیاورند...
انواع مختلف هکرها و نوع کارهایشان
:*** Hacker واقعی =
سامورايی
:کسی که هدفش از نفوذ به سيستمها نشان دادن ضعف سيستمهای کامپيوتری است نه سوءاستفاده ...)***Wacker واکر):
کسی که هدفش از نفوذ به سيستمها، استفاده از اطلاعات آن سيستمهاست (جرو هکرهای کلاه سياه(
)***Cracker کراکر):
کسی که هدفش از نفوذ به سيستمها، خرابکاری و ايجاد اختلال در سيستمهای کامپيوتری است. (جرو هکرهای کلاه سياه)
***Preaker :
از قديمیترين هکرها هستند که برای کارشان نياز (و دسترسی) به کامپيوتر نداشتند و کارشان نفوذ به خطوط تلفن برای تماس مجانی، استراقسمع و ... بود. اين جزو آموزش من نيست چون کار خيلی بديه (-;
انواع هکرها از دیدگاه من
:1-جوجههکرها (احمق کوچولوها):
توانايیها: بلدند از Sub 7 , 187 استفاده کنند و فکر کنند ديگه همهچی رو ياد گرفتهاند !
2- خروسهکرها يا مرغهکرها (احمقهای بزرگتر):
توانايیها: Mail Box را هم میتوانند Bomb کنند ... ماشاءالله !
-3هکرهای قابلاحترام ( مثل خود شما):
دارند ياد میگيرند و هنوز ۲،۳ سال کار دارند.
-4هکرهای پيشکسوت:
ديگه آفتاب لبه بومه ... هکرهای قابل احترام را دوس دارند
تقسيمبندی
انواع کامپيوترهای شبکه:
=> کامپيوترهای Server : کامپيوترهايی که کارشان تامين اطلاعات در شبکه است، مثلآ کامپيوترهايی که سايتها را نگه میدارند.
=> کامپبوترهای Client : کامپيوترهايی که استفاده کننده هستند مثل همين کامپيوتر خودتان که داريد ازش کار میکشيد.
انواع سيستم عاملهايی که Server ها از آن استفاده میکنند:
=>سيستمهای فعلی:
* خانواده Unix مثل (FreeBSD, Linux, Sun Solaris )
* خانواده Windows مثل( WinNT, Win2000 )
OsMac*
=> سيستمهای قديمی (منقرض شده - آخيش !:،
(AIX, IRIS, DEC10, DEC20
سوال: کدامها را بايد ياد گرفت؟
Win2000, Unix(Linux) را بايد ياد بگيريد. پيشنهاد من اين است که Win2000و RedHat Linux را روی کامپيوتر خود همزمان داشته باشيد.
برای شروع چه چيزی لازم است؟
Win2000 , Linux-1را روی کامپيوتر خود نصب کرده و شروع به يادگيری کنيد.
-2شروع به يادگيری زبان C کنيد.
-3 شروع به يادگيری TCP/IP کنيد. (يک کتاب بخريد(
-4مهمترين چيز علاقه به طی کردن يک را بسييييييار طوووووولانی
- تقسيمبندی انواع حملات
اولين نکتهای که لازم است بگويم اينه که وقت خود را برای هک کردن کامپيوترهای کلاينت هدر ندهيد (اگرچه برای افراد مبتدی کار با نرمافزاری مثل Sub7 زياد هم بد نيست ولی نبايد زيادهروی کرد) علت هم اينه که هربار که به اينترنت وصل میشوند ip جديدی به آنها اختصاص پيدا میکنه و زحماتتون هدر میره (البته برای جلوگيری از اين امر هم روشهايی هست که در آينده ايشالله ميگم(.
حالا تقسيمبندی:
1 -حمله به روش Denial of Service Attack) Dos)
-2حمله به روش Exploit
-3 حمله به روش) Info Gathering تلنت کردن يکی از مثالهای آن است که امروز آموختيد(
-4 حمله به روش Disinformation
تعریف
IP و PORT- 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 is 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 computers 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
از ميان اين پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و۱۱۹فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد
.RFC چیست؟
RFC چيست؟
متون بسيار کامل ولی خشک و ثقيل که در مورد مفاهيم مختلف شبکه بحث میکنند. اين فايلها به صورت متنی و با پسوند txt هستند و بهعنوان مرجع (برای مراجعه و نه مطالعه کامل) کاربرد دارند. اين فايلها يکبار منتشر شده و هرگز تغيير داده نمیشوند (حتی اگر حاوی اشتباه باشند.)
- فايلهای RFC از کجا قابل دسترسی هستند؟
RFCها از سايتهای بسياری قابل دسترس هستند ولی سايت مورد علاقه من برای RFCها، سايت زير است:
- http://www.ietf.org/rfc/xxxxxxx.txt
که بهجای
xxxxxxx نام rfc موردنظر را مینویسيم. مثلا برای دسترسی به rfc791 بايد آدرس را به صورت زير تايپ کنيم:![]()
شماره ايه که به هر کامپيوتر متصل به اينترنت داده میشه تا بتونه بهکمک اون شماره به اون کامپيوترا دسترسی داشت . اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی که معمولا به روشی غير از شمارهگيری (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 is 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 computers 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
از ميون اين پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و ۱۱۹ فعلا برای ما مهمترن و به تدريج با اونا آشنا ميشن .
![]()