ورود

نسخه کامل مشاهده نسخه کامل : آموزش هك در 14 جلسه



arman_linkin
19-04-2006, 19:04
آموزش هك در 14 جلسه
منبع: كتاب هاي استاد آراز صمدي

درس اول

◊ ترمينولوژی (اصطلاح‌شناسی)

- 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 کنيد. (يک کتاب بخريد )
۴- مهمترين چيز علاقه به طی کردن يک را بسيار طولانی

arman_linkin
19-04-2006, 19:14
درس دوم

◊ معرفی چند اصطلاح

IP :
شماره‌ ايست که به هر کامپيوتر متصل به اينترنت داده می‌شود تا بتوان به‌کمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايت‌ها) و نيز کامپيوتر‌های کلاينتی که معمولا به روشی غير از شماره‌گيری (Dial Up) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل می‌شويد، عددی جديد به شما نسبت داده می‌شود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی به‌صورت زير نوشته می‌شود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شماره‌ها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی اسم‌هايی مثل [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که برای اتصال استفاده می‌کنيد، در نهايت بايد به يک 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 شماره پورت و يا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاريخ را به‌دست می‌دهد در کامپيوتری به‌ اسم [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] مي‌نويسيد:
telnet iums.ac.ir 13
telnet iums.ac.ir daytime
هر دو اين دستورات معادل هم هستند.
تلنت کردن معمولا اولين کاری است که يک هکر برای هک کردن يک سايت انجام می‌دهد، زيرا بعضی از پورت‌ها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسيار مهمی هستند.
همين الان شروع کنيد و مثل يک هکر واقعی به کامپبوتر‌های مختلف و پورت‌های گوناگون تلنت کنيد. مخصوصا اگر پورت ۷۹ (finger) روی يک کامپيوتر باز بود، مرا هم خبر کنيد (-;

◊ تقسيم‌بندی انواع حملات

اولين نکته‌ای که لازم است بگويم اينه که وقت خود را برای هک کردن کامپيوتر‌های کلاينت هدر ندهيد (اگرچه برای افراد مبتدی کار با نرم‌افزاری مثل Sub7 زياد هم بد نيست ولی نبايد زياده‌روی کرد) علت هم اينه که هربار که به اينترنت وصل می‌شوند ip جديدی به‌ آنها اختصاص پيدا می‌کنه و زحماتتون هدر می‌ره (البته برای جلوگيری از اين امر هم روشهايی هست که در آينده ايشالله ميگم).
حالا تقسيم‌بندی:
۱- حمله به روش Denial of Service Attack) DoS)
۲- حمله به روش Exploit
۳- حمله به روش Info Gathering (تلنت کردن يکی از مثالهای آن است که امروز آموختيد)
۴- حمله به روش Disinformation

در مورد هرکدام به‌زودی توضيح می‌دم. C,Linux,TCP/IP يادتون نره

arman_linkin
19-04-2006, 22:11
درس سوم


◊ 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 آنرا مشاهده کنيد. [ عجب راه احمقانه‌ای ;-)
اگر اين کار را برای [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] انجام دهيم:



که همان شماره ip برای [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] است.
نکته بسيار مهم اين است که به‌دليل ضريب اشتباه بسيار بالای آن هيچ‌گاه از اين روش استفاده نکنيد. نتايج ممکن است کاملا اشتباه باشد که بعدا ميگم چرا.

۲- دستور 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 برای [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] صادر کنيد، جواب همان است. البته برای سايت‌های بزرگ جواب‌های حاصل متفاوت خواهد بود.

۳- روش بعدی و کامل‌ترين روش whois کردن به بعضی سايت‌های خاص است. بعدا اين را کامل‌تر توضيح می‌دم ولی فعلا روشش رو می‌گم. آدرس زير را در مرورگر خود تايپ کنيد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
که به‌جای xxxxxx آدرس مورد نظر را تايپ کنيد. مثلا برای 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 :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ====> 64.58.76.229
yahoo.com ====> 66.218.71.198
--> روش whois :
...و [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ====> 66.218.71.86
64.58.79.230 و yahoo.com ====> 66.218.71.198

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

arman_linkin
19-04-2006, 22:12
درس چهارم

◊ RFC چيست؟

متون بسيار کامل ولی خشک و ثقيل که در مورد مفاهيم مختلف شبکه بحث می‌کنند. اين فايل‌ها به صورت متنی و با پسوند txt هستند و به‌عنوان مرجع (برای مراجعه و نه مطالعه کامل) کاربرد دارند. اين فايل‌ها يک‌بار منتشر شده و هرگز تغيير داده نمی‌شوند (حتی اگر حاوی اشتباه باشند.)

◊ فايل‌های RFC از کجا قابل دسترسی هستند؟

RFCها از سايت‌های بسياري قابل دسترس هستند ولی سايت مورد علاقه من برای RFCها، سايت زير است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
که به‌جای xxxxxxx نام rfc موردنظر را می‌نویسيم. مثلا برای دسترسی به rfc791 بايد آدرس را به‌ صورت زير تايپ کنيم:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

◊ ليست مشهورترين RFCها:


+General Information
RFC1360 IAB Official Protocol Standards
RFC1340 Assigned Numbers
RFC1208 Glossary of Networking Terms
RFC1180 TCP/IP Tutorial
RFC1178 Choosing a Name for Your Computer
RFC1175 FYI on Where to Start:
A Bibliography of Inter-networking Information
RFC1173 Responsibilities of Host and Network Managers:
A Summary of the Oral Tradition of the Internet
RFC1166 Internet Numbers
RFC1127 Perspective on the Host Requirements RFCs
RFC1123 Requirements for Internet Hosts—Application and Support
RFC1122 Requirements for Internet Hosts—Communication Layers
RFC1118 Hitchhiker\'s Guide to the Internet
RFC1011 Official Internet Protocol
RFC1009 Requirements for Internet Gateways
RFC980 Protocol Document Order Information

+TCP and UDP
RFC1072 TCP Extensions for Long-Delay Paths
RFC896 Congestion Control in IP/TCP Internetworks
RFC879 TCP Maximum Segment Size and Related Topics
RFC813 Window and Acknowledgment Strategy in TCP
RFC793 Transmission Control Protocol
RFC768 User Datagram Protocol

+IP and ICMP
RFC1219 On the Assignment of Subnet Numbers
RFC1112 Host Extensions for IP Multicasting
RFC1088 Standard for the Transmission of IP Datagrams over
NetBIOS Networks
RFC950 Internet Standard Subnetting Procedure
RFC932 Subnetwork Addressing Schema
RFC922 Broadcasting Internet Datagrams in the Presence of Subnets
RFC9l9 Broadcasting Internet Datagrams
RFC886 Proposed Standard for Message Header Munging
RFC815 IP Datagram Reassembly Algorithms
RFC814 Names, Addresses, Ports, and Routes
RFC792 Internet Control Message Protocol
RFC791 Internet Protocol
RFC781 Specification of the Internet Protocol (IP) Timestamp Option

+Lower Layers
RFC1236 IP to X.121 Address Mapping for DDN
RFC1220 Point-to-Point Protocol Extensions for Bridging
RFC1209 Transmission of IP Datagrams over the SMDS Service
RFC1201 Transmitting IP Traffic over ARCNET Networks
RFC1188 Proposed Standard for the Transmission of IP Datagrams
over FDDI Networks
RFC1172 Point-to-Point Protocol Initial Configuration Options
RFC1171 Point-to-Point Protocol for the Transmission of
Multiprotocol Datagrams over Point-to-Point Links
RFC1149 Standard for the Transmission of IP Datagrams on Avian
Carriers
RFC1055 Nonstandard for Transmission of IP Datagrams over
Serial Lines: SLIP
RFC1044 Internet Protocol on Network System\'s HYPERchannel:
Protocol Specification
RFC1042 Standard for the Transmission of IP Datagrams over
IEEE 802 Networks
RFC1027 Using ARP to Implement Transparent Subnet Gateways
RFC903 Reverse Address Resolution Protocol
RFC895 Standard for the Transmission of IP Datagrams over
Experimental Ethernet Networks
RFC894 Standard for the Transmission of IP Datagrams over
Ethernet Networks
RFC893 Trailer Encapsulations
RFC877 Standard for the Transmission of IP Datagrams over
Public Data Networks

+Bootstrapping
RFC1084 BOOTP Vendor Information Extensions
RFC951 Bootstrap Protocol
RFC906 Bootstrap Loading Using TFTP

+Domain Name System
RFC1101 DNS Encoding of Network Names and Other Types
RFC1035 Domain Names—Implementation and Specification
RFC1034 Domain Names—Concepts and Facilities
RFC1033 Domain Administrators Operations Guide
RFC1032 Domain Administrators Guide
RFC974 Mail Routing and the Domain System
RFC920 Domain Requirements
RFC799 Internet Name Domains

+File Transfer and File Access
RFC1094 NFS: Network File System Protocol Specification
RFC1068 Background File Transfer Program (BFTP)
RFC959 File Transfer Protocol
RFC949 FTP Unique-Named Store Command
RFC783 TFTP Protocol (Revision 2)
RFC775 Directory Oriented FTP Commands

+Mail
RFC1341 MIME (Multipurpose Internet Mail Extensions) Mechanisms for
Specifying and Describing the Format of Internet Message
Bodies
RFC1143 Q Method of Implementing Telnet Option Negotiation
RFC1090 SMTP on X.25
RFC1056 PCMAIL: A Distributed Mail System for Personal Computers
RFC974 Mail Routing and the Domain System
RFC822 Standard for the Format of ARPA Internet Text Messages
RFC821 Simple Mail Transfer Protocol

+Routing Protocols
RFC1267 A Border Gateway Protocol 3 (BGP-3)
RFC1247 OSPF version 2
RFC1222 Advancing the NSFNET Routing Architecture
RFC1195 Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
RFC1164 Application of the Border Gateway Protocol in the Internet
RFC1163 Border Gateway Protocol (BGP)
RFC1136 Administrative Domains and Routing Domains:
A Model for Routing in the Internet
RFC1074 NSFNET Backbone SPF-Based Interior Gateway Protocol
RFC1058 Routing Information Protocol
RFC911 EGP ateway under Berkeley UNIX 4.2
RFC904 Exterior Gateway Protocol Formal Specification
RFC888 STUB Exterior Gateway Protocol
RFC827 Exterior Gateway Protocol (EGP)
RFC823 DARPA Internet Gateway

+Routing Performance and Policy
RFC1254 Gateway Congestion Control Survey
RFC1246 Experience with the OSPF Protocol
RFC1245 OSPF Protocol Analysis
RFC1125 Policy Requirements for Inter-Administrative Domain Routing
RFC1124 Policy Issues in Interconnecting Networks
RFC1104 Models of Policy-Based Routing
RFC1102 Policy Routing in Internet Protocols

+Terminal Access
RFC1205 Telnet 5250 Interface
RFC1198 FYI on the X Window System
RFC1184 Telnet Linemode Option
RFC1091 Telnet Terminal-Type Option
RFC1080 Telnet Remote Flow Control Option
RFC1079 Telnet Terminal Speed Option
RFC1073 Telnet Window Size Option
RFC1053 Telnet X.3 PAD Option
RFC1043 Telnet Data Entry Terminal Option: DODIIS Implementation
RFC1041 Telnet 3270 Regime Option
RFC1013 X Window System Protocol, version 11: Alpha Update
RFC946 Telnet Terminal Location Number Option
RFC933 Output Marking Telnet Option
RFC885 Telnet End of Record Option
RFC861 Telnet Extended Options: List Option
RFC860 Telnet Timing Mark Option
RFC859 Telnet Status Option
RFC858 Telnet Suppress Go Ahead Option
RFC857 Telnet Echo Option
RFC856 Telnet Binary Transmission
RFC855 Telnet Option Specifications
RFC854 Telnet Protocol Specification
RFC779 Telnet Send-Location Option
RFC749 Telnet SUPDUP-Output Option
RFC736 Telnet SUPDUP Option
RFC732 Telnet Data Entry Terminal Option
RFC727 Telnet Logout Option
RFC726 Remote Controlled Transmission and Echoing Telnet Option
RFC698 Telnet Extended ASCII Option

+Other Applications
RFC1196 Finger User Information Protocol
RFC1179 Line Printer Daemon Protocol
RFC1129 Internet Time Synchronization: The Network Time Protocol
RFC1119 Network Time Protocol (version 2) Specification
and Implementation
RFC1057 RPC: Remote Procedure Call Protocol Specification: Version 2
RFC1014 XDR: External Data Representation Standard
RFC954 NICNAME/WHOIS
RFC868 Time Protocol
RFC867 Daytime Protocol
RFC866 Active Users
RFC865 Quote of the Day Protocol,
RFC864 Character Generator Protocol
RFC863 Discard Protocol
RFC862 Echo Protocol

Network Management
RFC1271 Remote Network Monitoring Management Information Base
RFC1253 OSPE version 2: Management Information Base
RFC1243 Appletalk Management Information Base
RFC1239 Reassignment of Experimental MIBs to Standard MIBs
RFC1238 CLNS MIB for Use with Connectionless Network Protocol (ISO
8473) and End System to Intermediate System (ISO 9542)
RFC1233 Definitions of Managed Objects for the DS3 Interface Type
RFC1232 Definitions of Managed Objects for the DS1 Interface Type
RFC1231 IEEE 802.5 Token Ring MIB
RFC1230 IEEE 802.4 Token Bus MIB
RFC1229 Extensions to the Generic-Interface MIB
RFC1228 SNMP-DPI: Simple Network Management Protocol Distributed
Program Interface
RFC1227 SNMP MUX protocol and MIB
RFC1224 Techniques for Managing Asynchronously Generated Alerts
RFC1215 Convention for Defining Traps for Use with the SNMP
RFC1214 OSI Internet Management: Management Information Base
RFC1213 Management Information Base for Network Management of
TCP/IP-based Internets: MiB-II
RFC1212 Concise MIB Definitions
RFC1187 Bulk Table Retrieval with the SNMP
RFC1157 Simple Network Management Protocol (SNMP)
RFC1156 Management Information Base for Network Management of
TCP/IP-based Internets
RFC1155 Structure and Identification of Management Information for
TCP/IP-Based Internets
RFC1147 FYI on a Network Management Tool Catalog: Tools for
Monitoring
and Debugging TCP/IP Internets and Interconnected Devices
RFC1089 SNMP over Ethernet

+Tunneling
RFC1241 Scheme for an Internet Encapsulation Protocol: Version 1
RFC1234 Tunneling IPX Traffic through IP Networks
RFC1088 Standard for the Transmission of IP Datagrams over
NetBIOS Networks
RFC1002 Protocol Standard for a NetBIOS Service on a TCP/UDP
Transport: Detailed Specifications
RFC1001 Protocol Standard for a NetBIOS Service on a TCP/UDP
Transport: Concepts and Methods

+OSI
RFC1240 OSI Connectionless Transport Services on Top of UDP:
Version 1
RFC1237 Guidelines for OSI NSAP Allocation in the Internet
RFC1169 Explaining the Role of GOSIP

+Security
RFC1244 Site Security Handbook
RFC1115 Privacy Enhancement for Internet Electronic Mail:
Part III Algorithms, Modes, and Identifiers [Draft]
RFC1114 Privacy Enhancement for Internet Electronic Mail:
Part II Certificate-Based Key Management [Draft]
RFC1113 Privacy Enhancement for Internet Electronic Mail: Part I—
Message Encipherment and Authentication Procedures [Draft]
RFC1108 Security Options for the Internet Protocol

+Miscellaneous
RFC1251 Who\'s Who in the Internet: Biographies of
IAB, IESG, and IRSG Members
RFC1207 FYI on Questions and Answers: Answers to Commonly
Asked \'Experienced Internet User
RFC1206 FYI on Questions and Answers: Answers to Commonly
Asked \'New Internet User\' Questions

arman_linkin
19-04-2006, 22:15
درس پنجم

◊ تقسيم بندی آدرس‌های ip

آدرس‌های ip به ۵ کلاس تقسيم‌بندی می‌شوند که A تا E نام‌ دارند ولی از اين بين سه کلاس اول (يعنی C,B,A) کاربرد عملی دارند که آنها را شرح می‌دهيم:

۱- کلاس A: اگر ip را به‌صورت xxx.yyy.yyy.yyy در نظر بگيريد، اين کلاس تمام ipهايی را شامل می‌شود که xxx بين ۱ تا ۱۲۶ است. اين کلاس ويژه backbone های بزرگ اينترنتی است و در هنگام ثبت domain برای گرفتن ip از آنها استفاده می‌شود. بنابراين اکثر سايت‌ها چنين ipهايی دارند. اين کلاس را 8/ هم می‌گويند.

۲- کلاس B: اين کلاس تمام ipهايی را شامل می‌شود که xxx بين ۱۲۸ و ۱۹۱ است. اين کلاس هم از جمله کلاس‌های پرکاربرد است. اين کلاس را 16/ هم می‌گويند.

۳- کلاس C: اين اين کلاس تمام ipهای را شامل می‌شود که xxx بين ۱۹۲ و ۲۲۳ است. اين کلاس معمولا به ISP هايی که خدمات dial-up ارائه می‌دهند، تعلق می‌گيرد (اين جمله چندان مستند نيست.). بنابراين اگر به‌صورت dial-up به اينترنت متصل شويد، چنين ip می‌گيريد. اين کلاس را 24/ هم می‌گويند.

سوالی که پيش می‌آيد اين است که xxx چرا نه در کلاس A و نه در B، عدد ۱۲۷ را شامل نمی‌شود؟ جواب اين‌ است که ۱۲۷ برای کامپيوتر خودمان رزرو شده است. مثلا 127.0.0.1 معمولا يعنی localhost يعنی خودمان.

◊ به‌دست آوردن ip خودتان بعد از اتصال به اينترنت

برای اين‌کار راههای متفاوتی وجود دارد:

۱- راحت‌ترين راه استفاده از دستور 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 ببينيد. (مسئله ------ را فعلا ناديده بگيريد)

۲- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور 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 بوده است.

◊ ادامه مبحث Footprinting برای سرورها

قبلا بحث را با روش پيدا کردن ip سرورها (سايت‌ها) شروع کرديم. حالا کمی در مورد whois می‌آموزيم. لازم به ذکر است که هنوز درمورد FootPrinting کلاينت‌ها صحبتی نکرده و نمی‌کنم.

◊ Whois چيست؟

تعريف کلی برای whois نمی‌توان ارائه داد ولی فعلا منظور ما از Whois همان کسب اطلاعات در مورد يک سايت است. (قبلا با نوع خاصی از whois برای تبديل domain به ip آشنا شده‌ايد).
کاری که امروز می‌خواهم انجام دهم کسب اطلاعات در مورد يک شماره ip و يا يک domain (مثلا irib.com ) خاص است. برای کسب اين اطلاعات بايد به اينترنت وصل شده و به‌طريقی به يک سری سايت‌های خاص که وظيفه ثبت domain , ... را دارند متصل شده و اطلاعات را از آنها درخواست کنم. اين سايت‌های خاص database (بانک‌های اطلاعاتی) ويژه اين وظايف را دارند. برای کسب اين اطلاعات از سايت‌ها روش‌های زير را می‌توان به‌کار برد:

۱- اگر از طريق سيستم عامل يونيکس يا لينوکس به اينترنت وصل شده‌ايد، دستوری به اسم whois در آنها وجود دارد. و يا می‌توانيد از نرم‌افزارهای خاصی که برای اين سيستم‌عامل‌ها وجود دارد (مثل Xwhois ) استفاده کنيد. ولی فعلا بحث روی ويندوز است و اين دستور در ويندوز وجود ندارد.

۲- برای whois کردن در ويندوز نرم‌افزارهای زيادی وجود دارد (که به زودی نوشتن يک whois متوسط را در زبان C ياد خواهم داد.) از مشهورترين اين نرم‌افزارها Netscan tools و SamSpade است. ولی از اينها هم فعلا صرف نظر می‌کنم تا شما بيشتر با جزئيات اين‌ کار آشنا شويد.

۳- روشی که ما در اين جلسه به کار می‌بريم، استفاده از سايت‌هايی است که اين جستجو را برای ما انجام می‌دهند. بحث را شروع می‌کنم:

◊ datebase های whois در چه سايت‌هايی وجود دارد؟

تعداد زيادی از سايت‌ها اين داده‌ها را دارند که مشهورترين‌ها عبارتند از:
whois.internic.net (The InterNIC)
whois.onlinenic.com (The OnLineNIC)
whois.arin.net (American Registry for Internet Numbers)
whois.ripe.net (European IP Address Allocations)
whois.apnic.net (European IP Address Allocations)
whois.nic.mil (US Military)
whois.nic.gov (US Government)
اولين سايت مشهورترين سايت ثبت domain برای org , net , com است.
توجه کنيد که امروزه سايت‌های مختلفی عمل ثبت domain را انجام می‌دهند و برای اينکه در مورد يک سايت خاص (که در واقع يک domain خاص دارد) اطلاعاتی کسب کنيم بايد اطلاعات مربوطه را از آن سايتی بگيريم که ثبت domain را انجام داده است و چون اين کار مشکلی است به جای استفاده از خود سايت‌های بالايی، از سايت‌هايی ديگر استفاده می‌کنيم که اين کار را برای ما ساده‌تر می‌کنند (خود آن سايت‌ها در نهايت اطلاعاتشان را از سايت‌های اصلی می‌گيرند و فقط يک نقش واسط دارند... لازم به‌ذکر است که ايجاد چنين صفحات وبی زياد هم مشکل نيست.). سايت مورد علاقه من برای کسب اطلاعات سايت زير است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
که بجای xxxxxxxxx آدرس سايت و يا ip آنرا می‌نويسيم و آدرس حاصله را در مرورگر خود می‌بينيم. مثلا اگر بخواهم در مورد سايت sazin.com اطلاعاتی به‌دست بياورم، می‌نويسم:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و اطلاعات زير به دست می‌آيد:
sazin.com is registered with BULKREGISTER.COM, INC. - redirecting
to whois.bulkregister.com

whois -h whois.bulkregister.com sazin.com
The data in Bulkregister.com\'s WHOIS .........................(deleted)

SazinNetWork
2nd.Floor,Bldg#116,Mollasadra Ave.
Tehran, TEH 14358
IR

Domain Name: SAZIN.COM

Administrative Contact:
Mohammad Hajati mjhajati@hotmail.com
Sazin Rasaneh Co.
4th.Floor,Bldg.339,Mirdamad Ave.
Tehran, TEH 19696
IR
Phone: +98 21 8787064
Fax: +98 21 8789841
Technical Contact:
Mohammad Hajati mjhajati@hotmail.com
Sazin Rasaneh Co.
4th.Floor,Bldg.339,Mirdamad Ave.
Tehran, TEH 19696
IR
Phone: +98 21 8787064
Fax: +98 21 8789841

Record updated on 2002-03-02 05:47:36
Record created on 1999-05-10
Record expires on 2007-05-10
Database last updated on 2002-09-15 08:58:02 EST

Domain servers in listed order:

DNS.SAZIN.COM 80.78.134.221
S1.SAZIN.COM 63.148.227.63
S2.SAZIN.COM 63.148.227.64

ملاحظه می‌کنيد که اطلاعات زيادی در مورد اين سايت را به اين طريق می‌توان به‌دست آورد. اطلاعاتی درمورد آدرس ISP ، شخصی که به‌عنوان Admin کار ثبت را انجام داده است و ... البته باز هم نمی‌توان در مورد صحت و سقم آن اظهارنظر قطعی داشت.
تعدادی از مهمترين اطلاعات را در قسمت DNS Servers يا Domain servers (که در اين مثال در آخر قرار دارد) مي‌بينيد. بعدا در مورد اين آدرس‌ها توضيح خواهم داد ولی فعلا می‌گم که به کمک همين چند آدرسی که در آخر به‌دست آورديم به کمک دستوری به نام nslookup می‌توان اطلاعات با ارزش‌تری به‌دست آورد که به‌زودی ياد می‌گيريد.

arman_linkin
19-04-2006, 22:17
درس ششم



◊ چگونگی استفاده از nslookup

وقتی که DNS Server يک سايت را به‌دست آورده باشيم (از طريق whois )، به کمک دستور nslookup مي‌توان اطلاعاتی اضافی در مورد آن سايت پيدا کرد. طريقه استفاده اين دستور به صورت زير است:
فرض کنيد که من می‌خواهم از Domain Server سايت خودم (far30.com) اطلاعاتی به‌دست بيارم. اگر به اين سايت whois کنم، می‌بينم که دوتا Name Server يا DNS Server دارد:
s1.sazin.com
s2.sazin.com
حالا ديگر آدرس DNS Server مربوط به far30.com را دارم و می‌توانم شروع کنم:

۱- دستور nslookup را در command prompt نوشته و اجرا می‌کنم:
C:\\>nslookup
و نتايج را می‌بينم:
*** Can\'t find server name for address 192.168.20.3: Non-exi...
*** Can\'t find server name for address 192.168.20.1: Non-exi...
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.20.3

>
علامت > يعنی شما می‌توانيد دستورات را تايپ کنيد.

۲- در جلوی علامت < دستور زير را تايپ می‌کنيم:
> server dns_server
که به جای dns_server بايد آدرس DNS Server سايت موردنظر را بنويسم. پس برای سايت far30.com می‌شود:
> server s1.sazin.com
و جواب می‌شنوم:
Default Server: s1.sazin.com
Address: 63.148.227.63
اگر در اين مرحله پيغام خطا می‌گيريد، بايد دوباره اين دستور را تايپ کنيد و نيز می‌توانيد از DNS Server دومی که در whois برای far30.com به‌دست آورديم ، استفاده کنيم.

۳- دستور زير را تايپ کنيد:
> set type=any

۴- حالا به کمک دستور زير اطلاعات را به‌دست می‌آوريم:
> ls -d site_name .
که برای far30.com می‌شود:
>ls -d far30.com.
دقت کنيد که بعد از اسم سايت يک نقطه (dot) گذاشته‌ام، شما هم بهتر است اينطوری بنويسيد.
نتايج زير حاصل می‌شود:
[s1.sazin.com]
far30.com. SOA s1.sazin.com admin.sazin.com.
(2002070412 3600 600 86400 3600)
far30.com. A 63.148.227.65
far30.com. NS s1.sazin.com
far30.com. NS s2.sazin.com
far30.com. MX 10 mail.far30.com
far30.com. MX 15 far30.com
ftp CNAME far30.com
mail A 63.148.227.65
www CNAME far30.com
far30.com. SOA s1.sazin.com admin.sazin.com.
(2002070412 3600 600 86400 3600)
>
بعدا در مورد کاربرد تک‌تک اينها صحبت خواهم کرد ولی بعضی از آنها همين‌طوری هم اطلاعات واضحی دارند.

۵- دستور exit را مقابل < تايپ کرده و از nslookup خارج می‌شويم.


شما برای تمرين همين کار را در مورد سايت neda.net.ir انجام دهيد.

◊ تقسيم‌بندی پورت‌ها از روی شماره آنها

۱- پورت‌های 0 تا 1023 :
مشهورترين پورت‌ها هستند و معمولا هرکدام برای يک سرويس خاص استفاده می‌شود. با تعدادی از اين پورت‌ها در جلسات قبل آشنا شده‌ايد.

۲- پورت‌های 1024 تا 49151 :
اين سری از پورت‌ها مشخصا با هيچ‌يک از سرويس‌های اينترنتی مرتبط نيستند بلکه وقتی که با يک ابزار شبکه مانند مرورگر اينترنت(مثل Internet Explore يا Netscape Navigator )، نرم‌افزار ارسال و دريافت E-mail (مثل Outlook يا Edura )، نرم‌افزارهای FTP (مثل WS-FTP يا Cute-FTP ) کار می‌کنيد، يکی از اين پورت‌ها به صورت random باز شده و يک ارتباط با سرور (با توجه به‌نوع سرويس اينترنتی که می‌دهد که يکی از پورت‌های 0 تا 1023 است) برقرار شده و داده‌ها ارسال و دريافت می‌شوند. يعنی پورت شما يکی از پورت‌های اين قسمت است و پورت سرور يکی از پورت‌های بالايی.اين سری پورت‌ها را پورت‌های register شده هم می‌گويند.

۳- پورت‌های 49152 تا 65535 :
اين سری از پورت‌ها به‌ندرت استفاده می‌شوند. کاربرد اساسی آنها برای يک سری سرويس‌های خاص اينترنتی است و يا توسط trojanها (که برای ---- کردن کامپيوتر است) است. البته خيلی از trojanهای معروف از پورت‌های رديف ۲ هم استفاده می‌کنند و اين تقسيم‌بندی‌ها هميشه برقرار نيست و به‌همين علت است که گاهی پورت‌ها را به دو‌دسته زير 1024 و بالای 1024 تقسيم‌ می‌کنند.

◊ TCP و UDP چيست؟

مدل TCP/IP که برای ارتباط اينترنتی به‌کار می‌رود، می‌توان به لايه‌های مختلفی تقسيم‌بندی کرد که بعدا بيشتر توضيح می‌دم، اما يکی از اين لايه‌ها، لايه ارتباط host2host است که خود شامل دو پروتکل است به نامهای TCP و UDP :

۱- (TCP (Transmission Control Protocol :
اين پروتکل قوی‌تر و قابل اعتمادتر است و اصولا پروتکل مهمتری نسبت به UDP محسوب می‌شود. اين پروتکل توانايی بازبينی بسته‌هاو کنترل خطا را هم دارد.

۲- (UDP (User Datagram Protocol :
اين پروتکل برای کاهش overflow طراحی شده است و در خيلی از موارد وابسته به TCP است.

نکته مهم اين است که وقتی با يک پورت خاص روی يک کامپيوتر ديگر ارتباط برقرار می‌کنيم، اين ارتباط می‌تواند از نوع TCP يا UDP باشد. بنابراين وقتی می‌خواهيم يک کامپيوتر خاصی را از نظر پورت‌ها بررسی کنيم، هردو بايد بررسی شود.



سوالي بود در خدمتم

arman_linkin
19-04-2006, 22:19
درس هفتم

◊ معمول‌ترين Scanning ها کدامند؟

دو نوع معمول Scanning وجود دارد:
- IP Scanning :
فرض کنيد که شما يک سری IP مربوط به يک ISP خاص را داريد و می‌خواهيد بدانيد که در اين لحظه کدام‌ها فعال (up) هستند تا فقط آنها را بررسی کنيد و نه‌ همه را. اين موضوع را بعدا توضيح می‌دم ( اين کار معمولا موقعی پيش می‌آيد که قرار است کلاينت هک کنيد و مهم نيست چه کسی باشد )

۲- Port Scanning :
در اين حالت ما IP يا IPهای مورد نظر را انتخاب کرده‌ايم و حالا می‌خواهيم بدانيم که کدام پورت‌ها روی آن کامپيوترها باز است. اين کار به کمک نرم‌افزارهای خاصی انجام می‌شود که مبحث امروز ماست.

◊ چگونه يک ارتباط TCP برقرار می‌شود که بگوييم فلان پورت باز است يا نه؟

برای اينکه تعيين کنيم که يک پورت روی يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCP\'s 3-way handshakeمی‌گويند:
۱- اول کامپيوتر ما به سمت سرور يک SYN packet می‌فرستد که به معنی درخواست اتصال است.
۲- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet می‌فرستد.
۳- در مرحله آخر کامپيوتر ما يک ACK packet به سمت سرور می‌فرستد.

نوع ديگری از پورت اسکن TCP SYN scan نام دارد. با توجه به اينکه معمولا اگر پورت اسکن به روش بالا (TCP connect scan) انجام دهيم، معمولا در سرور اين اتصال ذخيره خواهد شد و بعدا می‌تواند ما را رديابی کنند، به جای آن می‌توان از TCP SYN scan استفاده کرد. در اين نوع اسکن، مراحل ۱ و ۲ از بالا انجام می‌شود ولی مرحله ۳ نه! اگر در مرحله ۲ به ما يک SYN/ACK برسد، آن پورت باز است و اگر يک RST/ACK برسد، يعنی بسته است.

انواع ديگری از پورت اسکنينگ هم وجود دارد مثل UDP scan, TCP Window scan, TCP ACK scan, TCP Null, TCP Xmas Tree, TCP FIN Scan

◊ چگونه می‌توان عمل Port scanning را انجام داد؟

در تمام مطالبی که تا اين مرحله گفته‌ام سعی کرده‌ام که فقط از ابزارهای موجود در ويندوز استفاده کنم و هيچ ابزار ديگری به‌کار نبرم، اما در مبحث پورت اسکنينگ چون هيچ ابزاری در ويندوز برای اين‌ کار نيست، به‌ناچار بايد يک سری برنامه را از اينترنت داون‌لود کنيد. (توجه داشته باشيد که فعلا حرفی از لينوکس نزده‌ام و سعی می‌کنم فعلا هيچ بحثی را در مورد آن مطرح نکنم)

برای Port Scanning می‌توان از ابزارهای مختلفی استفاده کرد که اکثرا برای لينوکس طراحی شده‌اند، اما مهم‌ترين پورت اسکنرها برای ويندوز عبارتند از:

۱- نرم‌افزار NMapWin v1.3.0 :
نسخه گرافيکی و مخصوص ويندوز برای nmap است (nmap در لينوکس استفاده می‌شود). nmap از کامل‌ترين ابزارهايی است که هکر‌ها استفاده می‌کنند که علاوه بر توانايی انواع پورت اسکنينگ‌ها، می‌تواند کارهای بسياری چون تشخيص سيستم‌عامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولی فعلا برای کار ما بيش‌ از حد کامله ;-)

۲- NetScanTools Pro 2000 :
اين هم از بهترين‌هاست ولی چون پولی است به‌ جای داون‌لود بايد در CD هايی که در بازار هست پيدايش کنيد.

۳- WinScan :
برای اسکن کردن TCP (ونه UDP) می‌توانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.

۴- ipEye v1.2 :
من در این درس از اين نرم‌افزار استفاده خواهم کرد، برای داون‌لود آن می‌توانيد به سايت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] مراجعه کنيد يا مستقيما با کليک روی اين لينک آن را داون‌لود کنيد. لازم است بگويم که اين نرم‌افزار فقط در ويندوز ۲۰۰۰ و xp کار می‌کند و نيز در يک بار اجرا فقط يک ip را می‌تواند تست کند. ضمنا فقط TCP را تست می‌کند.

◊ چگونه از ipEye برای پورت اسکنينگ استفاده کنيم؟

با تايپ ipEye در command prompt اين نتايج ظاهر می‌شود:
ipEye 1.2 - © 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Error: Too few parameters.

Usage:

ipEye -p [optional parameters]
ipEye -p
[optional parameters]

is one of the following:
-syn = SYN scan
-fin = FIN scan
-null = Null scan
-xmas = Xmas scan>br>
(note: FIN, Null and Xmas scans don\'t work against Windows systems.

[optional parameters] are selected from the following:
-sip = source IP for the scan
-sp = source port for the scan
-d = delay between scanned ports in milliseconds
(default set to 750 ms)

فرض کنيد که می‌خواهيم سايت سازين را از نظر پورت‌ها از پورت ۱ تا ۲۰۰ تست کنيم. اول بايد ip آن را به دست بياوريم که می‌شود، 63.148.227.65 و حالا به کمک دستور زير آن را بررسی می‌کنيم:
ipeye 63.148.227.65 -syn -p 1 200
دقت کنيد که 63.148.227.65 عدد ip سازين، syn- يعنی SYN SCAN و p 1 200- يعنی تست از پورت ۱ تا ۲۰۰ باشد. البته پارامترهای ديگری را هم می‌شود ست کرد که فعلا به درد ما نمی‌خورد. با اجرای اين دستور به نتايج زير می‌رسيم:
ipEye 1.2 - © 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

1-20 [drop]
21 [open]
22 [closed or reject]
23-24 [drop]
25 [open]
26-52 [drop]
53 [open]
54-79 [drop]
80 [open]
81-109 [drop]
110 [open]
111-142 [drop]
143 [open]
144-200 [drop]
201-65535 [not scanned]
Closed يعنی کامپيوتر در آن طرف هست ولی به پورت گوش نمی‌دهد، Reject يعنی اينکه يک firewall هست که اجازه اتصال به آن پورت را نمی‌دهد، Drop يعنی اينکه يک firewall همه‌چيز را پس‌ می‌زند و يا اصلا کامپيوتری اونور نيست، Open هم که يعنی باز.
در مورد سازين می‌بينيد که از بين پورت‌های ۱ تا ۲۰۰ ، پورت‌های ۲۱، ۲۵، ۵۳، ۸۰، ۱۱۰، ۱۴۳ باز است و می‌توان به‌ آنها telnet کرد. دقت کنيد که تا تمام پورت‌هايی که مشخص شده، تست نشده است، هيچ نتيجه‌ای نشان داده نمی‌شود و يه‌کم صبر می‌خواد.

arman_linkin
21-04-2006, 11:52
درس هشتم

◊ يادآوری

قبلا گفتم که برای اينکه هکر خوبی بشيد، زبان C را بايد ياد بگيريد. امروز اولين برنامه اينترنتی خود را به زبان C شروع می‌کنيم.برنامه‌ای که امروز می‌نويسيم، يک پورت اسکنر ساده (Simple Port Scanner) است که acw_spscan.exe نام دارد. acw يعنی Artawill Commandline Windows و spscan يعنی Simple Port Scanner. من سورس اين برنامه را با Borland C++ 5.02 کامپايل کردم ولی فکر کنم روی هر نوع کامپايلر C ويندوز کار کند.
يک سری نکات در مورد هر برنامه‌ای که با C برای ويندوز خواهم نوشت هست که فقط امروز می‌گم و بعدا ديگه اشاره نخواهم کرد.
۱- هر برنامه‌ای که من می‌نويسم، شامل دو فايل است که بايد داون‌لود کنيد: فايل اصلی که پسوند C يا CPP دارد و يک فايل به يکی از نامهای acw_sock.h يا agw_sock.h يا acu_sock.h ويا axu_sock.h که با توجه به نوع سيستم‌عامل (ويندوز يا يونيکس) و نوع ظاهر برنامه (خط‌ فرمان يا گرافيکی) يکی از اين چهارتا خواهد بود. اگر برنامه برای ويندوز نوشته شده است، بايد قبل از کامپايل نهايی فايل WS2_32.LIB را هم به پروژه اضافه کنيد.
۲- هر بار که برنامه جديدی خواهم نوشت فايلی که پسوند h دارد، کامل و کامل‌تر می‌شود، پس هر وقت يک فايل جديد C يا CPP داون‌لود می‌کنيد، فايل h مربوطه را هم داون‌لود کنيد.
۳- کامپايلر مورد استفاده در برنامه‌های ويندوز Borland C++ 5.02 است. اگر از کامپايلر ديگری استفاده می‌کنيد، ممکن است لازم باشد که تغييراتی اعمال کنيد.
۴- سورس تمام توابع و برنامه‌ها مشمول کپی‌ رايت است ولی استفاده از توابع در برنامه‌هايتان در صورت عدم اعمال تغييرات در سورس بلامانع است. - اينه !

◊ درباره برنامه Artawill Command-prompt Windows - Simple Prot Scanner = acw_spscan

برنامه acw_spscan.exe عمل پورت اسکنينگ را به صورت tcp و udp انجام می‌دهد. همانطوری که از نامش پيداست، برای ويندوز و به‌صورت خط فرمان عمل می‌کند.

داون‌لود فايل‌اجرايی ( acw_spscan.exe )
داون‌لود فايل برنامه ( acw_spscan.cpp )
داون‌لود فايل‌ هدر ( acw_sock.h )

اگر در command prompt تايپ کنيد: acw_spscan ،خطوط زير چاپ می‌شود:
Artawill Command-line Windows SimplePortScanner (acw_spscan.exe) v1.0
Programmed by Araz Samadi, ArtaWill.com

Usage: acw_spscan [ ]
بنابراين مثلا اگر بخواهم سايت سازين را (که ip آن 63.148.227.65 است) برای پورت‌های ۲۰ تا ۳۰ به صورت tcp اسکن کنم، بايد بنويسم:
acw_spscan 63.148.227.65 20 30 tcp
و جواب می‌شنوم:
Artawill Command-line Windows SimplePortScanner (acw_spscan.exe) v1.0
Programmed by Araz Samadi, ArtaWill.com

>TCP
[63.148.227.65] TCP 21 : OPEN
[63.148.227.65] TCP 25 : OPEN

Simple Port Scanner End.
که نشان می‌دهد، پورت‌های ۲۱ و ۲۵ باز است.

◊ بررسی سورس برنامه

من برای راحتی کار برنامه‌نويسی شبکه، يک سری تابع تعريف کرده و آنها را در فايل acw_sock.h قرار داده‌ام که در برنامه اصلی آن را include می‌کنم. حال به بررسی توابع مورد استفاده در برنامه امروز می‌پردازم ( اگر خواهان اطلاعات بيشتری هستيد، سورس اين توابع را از فايل acw_sock.h بخوانيد ):

۱- (int arta_win_LoadWinsock(char, char ==>
در برنامه‌نويسی ويندوز قبل از استفاده از سوکت(socket)، بايد WinSock را لود کرد که من اين کار را با اين تابع انجام می‌دهم. اگر بپرسيد سوکت چيست، می‌گويم سوکت ارتباطی است از نوع TCP/IP که از پورت خاصی از يک کامپيوتر به سوی يک پورت خاص از يک کامپيوتر ديگر برای رد و بدل کردن داده‌ها ايجاد می‌شود. کل برنامه‌نويسی شبکه به کمک C با استفاده از سوکت‌هاست.

if(arta_win_LoadWinsock(2,0)==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot load WinSock!\");
دو خط بالا برای لودکردن WinSock ورژن 2.0 به‌کار می‌رود.

۲- (void arta_win_CleanWinsock(void ==>
در آخر برنامه بايد WinSockی را که با دستور بالا ايجاد کرده‌ايم، به‌کمک دستور اين قسمت ببنديم:
arta_win_CleanWinsock();


۳- (int arta_win_CreateTcpSocket(void ==>
اين تابع يک سوکت از نوع tcp ايجاد می‌کند.
if((sock=arta_win_CreateTcpSocket())==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot Create Socket!\");
دو خط بالا برای ايجاد يک سوکت tcp به‌کار می‌رود.

۴- (int arta_win_CreateUdpSocket(void ==>
اين تابع يک سوکت از نوع udp ايجاد می‌کند.
if((sock=arta_win_CreateUdpSocket())==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot Create Socket!\");
دو خط بالا برای ايجاد يک سوکت udp به‌کار می‌رود.

۵- (void arta_win_CloseSocket(int ==>
اين تابع، سوکتی را که با يکی از دو دستور بالا ايجاد کرده‌ايم، می‌بندد.
arta_win_CloseSocket(sock);


۶- void arta_win_CreateServerAddressStructure
(* struct sockaddr_in *, unsigned short, char ) ==>
اين تابع اطلاعات لازم برای برقراری اتصال را مانند IP, Port می‌گيرد و در يک structure مخصوص از نوع sockaddr_in قرار می‌دهد. اين structure در توابع بعدی به‌کار می‌رود.
arta_win_CreateServerAddressStructure(&addr,port,IP);


۷- (* int arta_win_EstablishTcpSocketConnection(int, struct sockaddr_in ==>
اين تابع sock (که از تابع‌های ۳ يا ۴ به‌دست آمده) و addr را (که از تابع ۶ حاصل شده) می‌گيرد و يک ارتباط واقعی tcp تشکيل می‌دهد. اگر ارتباط به‌وجود آمد، پورت باز است وگرنه بسته است.
if(arta_win_EstablishTcpSocketConnection(sock, &addr)==-1){
....
}


۸- (* int arta_win_EstablishUdpSocketConnection(int, struct sockaddr_in ==>
اين تابع sock (که از تابع‌های ۳ يا ۴ به‌دست آمده) و addr را (که از تابع ۶ حاصل شده) می‌گيرد و يک ارتباط واقعی udp تشکيل می‌دهد. اگر ارتباط به‌وجود آمد، پورت باز است وگرنه بسته است.
if(arta_win_EstablishUdpSocketConnection(sock, &addr)==-1){
....
}


حالا يک توضيح کلی می‌دم:

اولين سطرهای برنامه را بررسی می‌کنم
/* An ArtaWill Production - copyright© ArtaWill.com */
/* Programmed by: Araz Samadi - Ali1000 Hacker */
/* This Source code and its Functions can be used - but no .... */
/* Funcions source or code can be done ! */

#include /* for printf(), fprintf() */
#include /* for exit() */
#include /* for strings */
#include \"acw_sock.h\"

void main(int argc, char *argv[])
{
struct sockaddr_in addr;
char *IP;
int sock;
int port;
int startport, endport;
int tcp_udp_both=1;

arta_commandline_win_StartMessage(\"SimplePortScanner ......\");

if ((argc != 4) && (argc != 5)) /* Test for correct ...... */
{
arta_commandline_win_DieWithError(\"Usage: acw_spscan []\\n\");
exit(1);
}

IP = argv[1];
startport = atoi(argv[2]);
endport = atoi(argv[3]);
if(argc==5){
if(stricmp(argv[4],\"udp\")==0){tcp_udp_both=2;}
else if (stricmp(argv[4],\"both\")==0){tcp_udp_both=3;}
}

if(arta_win_LoadWinsock(2,0)==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot load WinSock!\");
اوايل برنامه يه‌سری توضيحات
بعدش يک سری هدر (header) را include کرده‌ام از جمله acw_sock.h را
بعدش main شروع می‌شود و يک سری تعريف متغير داريم که به نوع اين متغير ها دقت کنيد.
بعد از روی ورودی خط‌ فرمان، متغير‌ها ست می‌شوند.
دو سطر آخر هم يک WinSock لود می‌کند.

حالا ادامه:
if(tcp_udp_both!=2){
puts(\">TCP \");
for(port=startport;port<=endport;port++){
printf(\" [%s] TCP %5d : Testing... \",IP,port);

if((sock=arta_win_CreateTcpSocket())==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot Crea....\");

arta_win_CreateServerAddressStructure(&addr,port,IP);

if(arta_win_EstablishTcpSocketConnection(sock, &addr)==-1){
printf(\"\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\ b\\b\\b........\");
}
else{
printf(\"\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\");
printf(\"OPEN \\n\");
}
arta_win_CloseSocket(sock);
}
}

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

حالا ادامه برنامه:
if(tcp_udp_both!=1){
puts(\">UDP \");
for(port=startport;port<=endport;port++){
printf(\" [%s] UDP %5d : Testing... \",IP,port);

if((sock=arta_win_CreateUdpSocket())==-1)
arta_commandline_win_DieWithError(\"ERR: Cannot Cre....!\");

arta_win_CreateServerAddressStructure(&addr,port,IP);

if(arta_win_EstablishUdpSocketConnection(sock, &addr)==-1){
printf(\"\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\ b\\b\\b\\b\\b\\b.....\");
}
else{
printf(\"\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\");
printf(\"OPEN \\n\");
}
arta_win_CloseSocket(sock);
}
}
همان کارها را ولی اين‌بار برای udp انجام می‌دهد.

و حالا آخر برنامه:
puts(\" \\n\");
arta_commandline_win_EndMessage(\"Simple Port Scanner\");

arta_win_CloseSocket(sock);
arta_win_CleanWinsock();

exit(0);
}
در اينجا پيغام انتهايی چاپ شده و سوکت بسته می‌شود.

arman_linkin
21-04-2006, 11:57
درس نهم

◊ ادامه بحث whois

قبلا در مورد ip whois و dns whois صحبت کردم. بحث dns whois (کسب اطلاعات در مورد يک domain خاص) رو ادامه می‌دم.
در درس قبلی از سايت SamSpade استفاده کردم. اگر اين whois رو تست کرده باشيد، می‌دانيد که برای يک سری از domain (دامنه) ها، جواب نمی‌دهد. مثال آن سايت‌هايی است که دارای دامنه جغرافيايی مثلا ايران هستند، در مورد دامنه‌های جغرافيايی ايران بايد گفت که به ir. ختم می‌شوند ( مثلا: neda.net.ir ). مثال ديگری که در whois سايت SamSpade کار نمی‌کند، تعدادی از دامنه‌های org , .net , .com. هستند که در internic.net ثبت نشده‌اند، بلکه در domainpeople.com ثبت شده‌اند ( مثلا sanjesh.org ). چند سال پيش ثبت domain هايی که در گروه org, net, com بودند، مختص به internic.net بود ولی الان ديگر اينطور نيست.

کاری که شما بايد برای whois کردن بايد انجام دهيد، توجه به نوع آن domain است که از نوع com است يا ir است يا biz است و ... بعد از آن از يکی از سايت‌های زير استفاده کنيد :

۱- internic.net :
برای edu , org , net , com عالی است. برای museum , int , info , coop , biz , arpa, aero هم‌ می‌تواند استفاده شود.
صفحه وب مربوطه عبارت‌ است از [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
يا می‌توانيد مستقيما در مرورگر بنويسيد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که به‌جای xxxxxxxx مثلا بايد بنويسيد: far30.com

۲- nic.ir :
برای ir استفاده می‌شود.
صفحه وب مربوطه عبارت‌ است از /[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

۳- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] :
برای cc , info , biz , tv عالی است.
صفحه وب مربوطه عبارت‌ است از /[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
يا می‌توانيد مستقيما در مرورگر بنويسيد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که اگر بخواهم مثلا ----.tv را whois کنم به‌جای yyyyy بايد بنويسيد ---- و به جای zzzz بايد بنويسيد tv

۴- domainpeople.com :
برای name , biz , info , org , net , com عالی است.
صفحه وب مربوطه عبارت‌ است از /[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


همانطور که ملاحظه می‌فرماييد، org , net , com در ۱ و ۴ مشترک است. علت آن است که بعضی‌ها در اولی و بعضی‌ها در چهارمی ثبت می‌شوند ولی برای whois کردن فرقی نمی‌کنه که شما از اولی استفاده کنيد يا چهارمی چون همديگر رو ساپورت می‌کنند.

◊ ping چيست ؟

ping دستوری است که مشخص می‌کند که آيا يک کامپيوتر خاص که ما ip يا domain آن را می‌دانيم، روشن و فعال (Active) هست يا نه. و اينکه اگر فعال باشد مدت زمان رسيدن بسته‌های tcp/ip از آن کامپيوتر به کامپيوتر ما چقدر است.
کاربرد اين دستور به صورت زير است:
ping ip-or-domain
که به جای ip-or-domain بايد شماره ip و يا domain آن(اگر داشته باشد) را می‌گذاريم.

مثلا ping sazin.com را در command prompt تايپ کردم و به نتايج زير رسيدم :
Pinging sazin.com [63.148.227.65] with 32 bytes of data:

Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105
Reply from 63.148.227.65: bytes=32 time=941ms TTL=105
Reply from 63.148.227.65: bytes=32 time=981ms TTL=105
Reply from 63.148.227.65: bytes=32 time=851ms TTL=105

Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 851ms, Maximum = 1402ms, Average = 1043ms
اين نتايج نشان می‌دهد که sazin.com فعال است.

حالا به کامپيوتری با ip شماره 63.148.227.65 (که همان sazin.com است)، ping می‌کنم. نتايج همان است فقط با تغييراتی در سطر اول. (البته time که معنای مدت زمان رسيدن پکت را می‌دهد، با توجه به ترافيک شبکه، کم و زياد خواهد شد). برای ping کردن به اين ip ، دستور 63.148.227.65 ping را صادر می‌کنم :
Pinging 63.148.227.65 with 32 bytes of data:

Reply from 63.148.227.65: bytes=32 time=861ms TTL=105
Reply from 63.148.227.65: bytes=32 time=852ms TTL=105
Reply from 63.148.227.65: bytes=32 time=851ms TTL=105
Reply from 63.148.227.65: bytes=32 time=881ms TTL=105

Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 851ms, Maximum = 881ms, Average = 861ms
فرض کنيد که به يک ip که فعال نيست، ping کنيم:
Pinging 217.66.196.1 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 217.66.196.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
که نشان می‌دهد که آن ip در آن لحظه فعال نيست.

البته تمام مطالبی که در بالا ذکر شد، در حالتی است که مستقيما به اينترنت وصل شده‌ايد و يا اگر از طريق شبکه محلی به اينترنت وصل هستيد، شبکه شما به درستی پيکربندی شده باشد. اصولا ping يکی از بهترين دستورات برای پيدا کردن ايراد در شبکه است.

◊ tracert چيست ؟

tracert ( در يونيکس می‌شود traceroute ) ابزاری است که نشان می‌دهد که يک packet اطلاعاتی از کامپيوتر شما چه مسيری را طی می‌کند و از چه کامپيوترهايی می‌گذرد تا به يک مقصد خاص برسد. مقصد را ما مشخص می‌کنيم و معمولا همان کامپيوتری است که داريم footprinting می‌کنيم.

کاربرد اين دستور به صورت زير است:
tracert ip-or-domain
مثلا می‌خواهم ببينم که از چه کامپيوترهايی بايد رد شويم تا به sazin.com برسيم. برای اينکار می‌توان از يکی از دستورهای زير استفاده کرد:
tracert sazin.com
tracert 63.148.227.65
به نتيجه زير رسيدم:
Tracing route to sazin.com [63.148.227.65]
over a maximum of 30 hops:

1 160 ms 160 ms 160 ms 217.218.84.3
2 381 ms 691 ms 1772 ms 217.218.84.5
3 * * 2324 ms 217.218.77.1
4 201 ms 1101 ms 180 ms 217.218.0.252
5 341 ms 220 ms 180 ms 217.218.0.2
6 1993 ms 180 ms 181 ms 217.218.158.41
7 180 ms 160 ms 160 ms 195.146.63.101
8 2824 ms * * 195.146.32.134
9 1472 ms 1463 ms 871 ms 195.146.33.73
10 791 ms 841 ms 811 ms if-1....eglobe.net [207.45.218.161]
11 1692 ms * 2654 ms if-4-....eglobe.net [207.45.222.77]
12 1282 ms 891 ms 1052 ms if-1-....globe.net [207.45.220.245]
13 902 ms 931 ms 881 ms if-15.....globe.net [66.110.8.134]
14 931 ms 861 ms 871 ms if-8-....leglobe.net [64.86.83.174]
15 901 ms 841 ms 852 ms if-5-.....globe.net [207.45.223.62]
16 841 ms 862 ms 851 ms pos6-.....vel3.net [209.0.227.33]
17 841 ms 842 ms 941 ms so-4-1.....vel3.net [209.247.10.205]
18 882 ms 931 ms 851 ms so-0-1....vel3.net [209.247.11.197]
19 871 ms 891 ms 951 ms gige9....vel3.net [209.247.11.210]
20 1011 ms 851 ms 902 ms unknown.Level3.net [63.208.0.94]
21 852 ms * 882 ms 64.156.25.74
22 961 ms 942 ms 841 ms 63.148.227.65

Trace complete.
اين نتايج نشان می‌دهد که بايد از ۲۲ کامپيوتر بگذرم تا به sazin.com برسم. اين اطلاعات همان‌طور که بعدا خواهيد ديد، حاوی اطلاعات زيادی برای پيدا کردن فايروال‌ها و ... است. (بعضی سطرها رو کوتاه کردم و به‌جاش .... گذاشتم)


tracert دارای تعدادی switch است که دوتاش رو توضيح می‌دم:

d- ==>
با استفاده از اين سويچ در نتايج حاصله فقط ip ها نمايش داده می‌شود.
مثلا می‌نويسيم: tracert sazin.com -d

h max-hops- ==>
حداکثر تعداد گام‌ها را تعيين می‌کند. حالت پيش‌فرض ۳۰ است.
مثلا می‌نويسيم: tracert sazin.com -h 50

از اين دستور بعدا بسيار استفاده خواهيم کرد.

arman_linkin
21-04-2006, 12:00
درس دهم

◊ تکميل ليست پورت‌ها

در جلسه دوم در مورد مهمترين پورت‌ها صحبت کردم. حالا يک ليست کامل‌تر را در اين درس می‌گم. اگر می‌خواهيد يک مرجع نسبتا کامل برای مراجعه داشته باشيد، اينجا را کليک کنيد. دقت کنيد درس امروز و نيز لينک بالا هيچ بحثی در مورد تروجان‌ها نمی‌کند زيرا تروجان‌های شناخته شده هم يک سری پورت پيش‌فرض دارند که در جای خود بحث خواهد شد.
Ports TCP/UDP Service or Application
------------------------------------------------------------
7 tcp echo
11 tcp systat
19 tcp chargen
21 tcp ftp-data
22 tcp ssh
23 tcp telnet
25 tcp smtp
42 tcp nameserver
43 tcp whois
49 udp tacacs
53 udp dns-lookup
53 tcp dns-zone
66 tcp oracle-sqlnet
69 udp tftp
79 tcp finger
80 tcp http
81 tcp alternative for http
88 tcp kerberos or alternative for http
109 tcp pop2
110 tcp pop3
111 tcp sunrpc
118 tcp sqlserv
119 tcp nntp
135 tcp ntrpc-or-dec
139 tcp netbios
143 tcp imap
161 udp snmp
162 udp snmp-trap
179 tcp bgp
256 tcp snmp-checkpoint
389 tcp ldap
396 tcp netware-ip
407 tcp timbuktu
443 tcp [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
445 tcp ms-smb-alternate
445 udp ms-smb-alternate
500 udp ipsec-internet-key-exchange (ike)
513 tcp rlogin
513 udp rwho
514 tcp rshell
514 udp syslog
515 tcp printer
515 udp printer
520 udp router
524 tcp netware-ncp
799 tcp remotely possible
1080 tcp socks
1313 tcp bmc-patrol-db
1352 tcp notes
1433 tcp ms-sql
1494 tcp citrix
1498 tcp sybase-sql-anywhere
1524 tcp ingres-lock
1525 tcp oracle-srv
1527 tcp oracle-tli
1723 tcp pptp
1745 tcp winsock-proxy
2000 tcp remotely-anywhere
2001 tcp cisco-mgmt
2049 tcp nfs
2301 tcp compaq-web
2447 tcp openview
2998 tcp realsecure
3268 tcp ms-active-dir-global-catalog
3268 udp ms-active-dir-global-catalog
3300 tcp bmc-patrol-agent
3306 tcp mysql
3351 tcp ssql
3389 tcp ms-termserv
4001 tcp cisco-mgmt
4045 tcp nfs-lockd
5631 tcp pcanywhere
5800 tcp vnc
6000 tcp xwindows
6001 tcp cisco-mgmt
6549 tcp apc
6667 tcp irc
8000 tcp web
8001 tcp web
8002 tcp web
8080 tcp web
9001 tcp cisco-xremote
12345 tcp netbus
26000 tcp quake
31337 udp backorifice
32771 tcp rpc-solaris
32780 udp snmp-solaris
43188 tcp reachout
65301 tcp pcanywhere-def


◊ ادامه بحث telnet

telnet هم جزو مواردی است که در footprinting مورد استفاده قرار می‌گيرد. کاربرد آن در حالتيست که بخواهيم بدانيم که روی فلان پورت چه برنامه‌ای فال‌گوش‌ه و version آن چنده. به اين صورت که به يک پورت خاص (که مي‌دانيم روی آن سرور باز است) تلنت می‌کنيم و بعد می‌بينيم که نتايجی ظاهر می‌شود که نشان‌دهنده اطلاعاتی‌ است که به‌کار می‌رود. گاهی با مکثی طولانی مواجه می‌شويم و هيچ چيزی نمايش داده نمی‌شود، در اين حالت يکی دوبار , Ctrl+Z , Ctrl+D , Ctrl+C , Ctrl+break را می‌زنيم و خارج می‌شويم.

◊ جمع‌بندی مطالب گفته شده و بررسی يک سايت

فرض کنيد می‌خواهيم در مورد [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] اطلاعاتی کسب کنيم :

◊ اول به سايت پينگ می‌کنم و ip آن را به‌دست می‌آورم: 194.225.184.15

◊ به کمک ip که به‌دست آورديم، به کمک يک پورت اسکنر پورت‌ها را بررسی می‌کنيم و می‌بينيم که پورت‌هايی مثل ۲۱، ۲۵، ۴۲، ۵۳، ۸۰، ۱۱۰، ۱۱۹، ۱۳۹، ۱۴۳ و ... باز است.

◊ چون domain به ir ختم می‌شود، برای whois کردن از whois.nic.ir استفاده می‌کنم و Name Server آن را به دست می‌آورم که 194.225.184.20 است.

◊ به کمک اين Name Server ، يک nslookup می‌کنم و به نتايج زير می‌رسم:
iums.ac.ir. SOA sina.i........0 345600)
iums.ac.ir. NS sina.iums.ac.ir
iums.ac.ir. NS ns1.nic.ir
iums.ac.ir. MX 10 sina.iums.ac.ir
smtp.iums.ac.ir. A 195.146.34.181
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
sina.iums.ac.ir. MX 10 sina.iums.ac.ir
sina.iums.ac.ir. A 194.225.184.20
sina.iums.ac.ir. A 195.146.34.181
sun.iums.ac.ir. CNAME sina.iums.ac.ir
cisco.iums.ac.ir. CNAME router.iums.ac.ir
webmail.iums.ac.ir. A 195.146.34.181
linux.iums.ac.ir. A 194.225.184.19
linux.iums.ac.ir. HINFO Intel-Xeon/800 RedHat-Linux-7.2
mta.iums.ac.ir. A 195.146.34.181
pop3.iums.ac.ir. CNAME sina.iums.ac.ir
localhost.iums.ac.ir. A 127.0.0.1
proxy.iums.ac.ir. CNAME arvand.iums.ac.ir
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] A 195.146.34.180
atrak.iums.ac.ir. A 194.225.184.14
ns1.iums.ac.ir. CNAME sina.iums.ac.ir
arvand.iums.ac.ir. A 194.225.184.13
router.iums.ac.ir. A 194.225.184.1
router.iums.ac.ir. HINFO Cisco3640/Access-Server IOS-IP-12.0
iums.ac.ir. SOA sina.iu.......3456000 345600)
تک تک سطرهای اين نتايج کاربرد دارد که خواهيم رسيد. الان فقط در مورد HIFNO صحبت می‌کنم که برای مشخص تر بودن در بالا به صورت کمی فرورفته‌تر نوشتم. مثلا:
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
HIFNO برای تعيين نوع کامپيوتر و سيستم‌عامل سرور اهميت دارد. در اين سطر مشخص است که sina.iums.ac.ir از Sun-SuperSPARC5/75 UNIX-Solaris-2.6 استفاده می‌کند.

◊ چون پورت‌های باز را هم توسط پورت اسکنر به دست آورده‌ام به آنها تلنت می‌کنم با دستور:
telnet [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] portnum
نتايج حاصل از بعضی را می‌بينيد:

25 :
... master.iums.ac.ir Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 ready at 220
پس پورت ۲۵ (smtp) در آن کامپيوتر از Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 استفاده می‌کند.

110 :
.OK Microsoft Exchange 2000 POP3 server version 6.0.5762.3 (master.iums.ac.ir) ready+
پس پورت ۱۱۰ (pop3) در آن کامپيوتر از Microsoft Exchange 2000 POP3 server version 6.0.5762.3 استفاده می‌کند.

119 :
NNTP Service 5.00.0984 Version: 5.0.2195.2966 Posting Allowed

و ...

◊ تکميل ليست پورت‌ها

در جلسه دوم در مورد مهمترين پورت‌ها صحبت کردم. حالا يک ليست کامل‌تر را در اين درس می‌گم. اگر می‌خواهيد يک مرجع نسبتا کامل برای مراجعه داشته باشيد، اينجا را کليک کنيد. دقت کنيد درس امروز و نيز لينک بالا هيچ بحثی در مورد تروجان‌ها نمی‌کند زيرا تروجان‌های شناخته شده هم يک سری پورت پيش‌فرض دارند که در جای خود بحث خواهد شد.
Ports TCP/UDP Service or Application
--------------------------------------------------------------
7 tcp echo
11 tcp systat
19 tcp chargen
21 tcp ftp-data
22 tcp ssh
23 tcp telnet
25 tcp smtp
42 tcp nameserver
43 tcp whois
49 udp tacacs
53 udp dns-lookup
53 tcp dns-zone
66 tcp oracle-sqlnet
69 udp tftp
79 tcp finger
80 tcp http
81 tcp alternative for http
88 tcp kerberos or alternative for http
109 tcp pop2
110 tcp pop3
111 tcp sunrpc
118 tcp sqlserv
119 tcp nntp
135 tcp ntrpc-or-dec
139 tcp netbios
143 tcp imap
161 udp snmp
162 udp snmp-trap
179 tcp bgp
256 tcp snmp-checkpoint
389 tcp ldap
396 tcp netware-ip
407 tcp timbuktu
443 tcp [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
445 tcp ms-smb-alternate
445 udp ms-smb-alternate
500 udp ipsec-internet-key-exchange (ike)
513 tcp rlogin
513 udp rwho
514 tcp rshell
514 udp syslog
515 tcp printer
515 udp printer
520 udp router
524 tcp netware-ncp
799 tcp remotely possible
1080 tcp socks
1313 tcp bmc-patrol-db
1352 tcp notes
1433 tcp ms-sql
1494 tcp citrix
1498 tcp sybase-sql-anywhere
1524 tcp ingres-lock
1525 tcp oracle-srv
1527 tcp oracle-tli
1723 tcp pptp
1745 tcp winsock-proxy
2000 tcp remotely-anywhere
2001 tcp cisco-mgmt
2049 tcp nfs
2301 tcp compaq-web
2447 tcp openview
2998 tcp realsecure
3268 tcp ms-active-dir-global-catalog
3268 udp ms-active-dir-global-catalog
3300 tcp bmc-patrol-agent
3306 tcp mysql
3351 tcp ssql
3389 tcp ms-termserv
4001 tcp cisco-mgmt
4045 tcp nfs-lockd
5631 tcp pcanywhere
5800 tcp vnc
6000 tcp xwindows
6001 tcp cisco-mgmt
6549 tcp apc
6667 tcp irc
8000 tcp web
8001 tcp web
8002 tcp web
8080 tcp web
9001 tcp cisco-xremote
12345 tcp netbus
26000 tcp quake
31337 udp backorifice
32771 tcp rpc-solaris
32780 udp snmp-solaris
43188 tcp reachout
65301 tcp pcanywhere-def

◊ ادامه بحث telnet

telnet هم جزو مواردی است که در footprinting مورد استفاده قرار می‌گيرد. کاربرد آن در حالتيست که بخواهيم بدانيم که روی فلان پورت چه برنامه‌ای فال‌گوش‌ه و version آن چنده. به اين صورت که به يک پورت خاص (که مي‌دانيم روی آن سرور باز است) تلنت می‌کنيم و بعد می‌بينيم که نتايجی ظاهر می‌شود که نشان‌دهنده اطلاعاتی‌ است که به‌کار می‌رود. گاهی با مکثی طولانی مواجه می‌شويم و هيچ چيزی نمايش داده نمی‌شود، در اين حالت يکی دوبار , Ctrl+Z , Ctrl+D , Ctrl+C , Ctrl+break را می‌زنيم و خارج می‌شويم.

◊ جمع‌بندی مطالب گفته شده و بررسی يک سايت

فرض کنيد می‌خواهيم در مورد [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] اطلاعاتی کسب کنيم :

◊ اول به سايت پينگ می‌کنم و ip آن را به‌دست می‌آورم: 194.225.184.15

◊ به کمک ip که به‌دست آورديم، به کمک يک پورت اسکنر پورت‌ها را بررسی می‌کنيم و می‌بينيم که پورت‌هايی مثل ۲۱، ۲۵، ۴۲، ۵۳، ۸۰، ۱۱۰، ۱۱۹، ۱۳۹، ۱۴۳ و ... باز است.

◊ چون domain به ir ختم می‌شود، برای whois کردن از whois.nic.ir استفاده می‌کنم و Name Server آن را به دست می‌آورم که 194.225.184.20 است.

◊ به کمک اين Name Server ، يک nslookup می‌کنم و به نتايج زير می‌رسم:
iums.ac.ir. SOA sina.i........0 345600)
iums.ac.ir. NS sina.iums.ac.ir
iums.ac.ir. NS ns1.nic.ir
iums.ac.ir. MX 10 sina.iums.ac.ir
smtp.iums.ac.ir. A 195.146.34.181
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
sina.iums.ac.ir. MX 10 sina.iums.ac.ir
sina.iums.ac.ir. A 194.225.184.20
sina.iums.ac.ir. A 195.146.34.181
sun.iums.ac.ir. CNAME sina.iums.ac.ir
cisco.iums.ac.ir. CNAME router.iums.ac.ir
webmail.iums.ac.ir. A 195.146.34.181
linux.iums.ac.ir. A 194.225.184.19
linux.iums.ac.ir. HINFO Intel-Xeon/800 RedHat-Linux-7.2
mta.iums.ac.ir. A 195.146.34.181
pop3.iums.ac.ir. CNAME sina.iums.ac.ir
localhost.iums.ac.ir. A 127.0.0.1
proxy.iums.ac.ir. CNAME arvand.iums.ac.ir
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] A 195.146.34.180
atrak.iums.ac.ir. A 194.225.184.14
ns1.iums.ac.ir. CNAME sina.iums.ac.ir
arvand.iums.ac.ir. A 194.225.184.13
router.iums.ac.ir. A 194.225.184.1
router.iums.ac.ir. HINFO Cisco3640/Access-Server IOS-IP-12.0
iums.ac.ir. SOA sina.iu.......3456000 345600)
تک تک سطرهای اين نتايج کاربرد دارد که خواهيم رسيد. الان فقط در مورد HIFNO صحبت می‌کنم که برای مشخص تر بودن در بالا به صورت کمی فرورفته‌تر نوشتم. مثلا:
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
HIFNO برای تعيين نوع کامپيوتر و سيستم‌عامل سرور اهميت دارد. در اين سطر مشخص است که sina.iums.ac.ir از Sun-SuperSPARC5/75 UNIX-Solaris-2.6 استفاده می‌کند.


◊ چون پورت‌های باز را هم توسط پورت اسکنر به دست آورده‌ام به آنها تلنت می‌کنم با دستور:
telnet [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] portnum
نتايج حاصل از بعضی را می‌بينيد:

25 :
... master.iums.ac.ir Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 ready at 220
پس پورت ۲۵ (smtp) در آن کامپيوتر از Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 استفاده می‌کند.

110 :
.OK Microsoft Exchange 2000 POP3 server version 6.0.5762.3 (master.iums.ac.ir) ready+
پس پورت ۱۱۰ (pop3) در آن کامپيوتر از Microsoft Exchange 2000 POP3 server version 6.0.5762.3 استفاده می‌کند.

119 :
NNTP Service 5.00.0984 Version: 5.0.2195.2966 Posting Allowed

و ...

arman_linkin
21-04-2006, 12:07
درس 11

◊ معرفی nmap و NMapWin

اگر بخواهيد مهم‌ترين ابزاری را که يک هکر برای footprinting استفاده می‌کند بدانيد، آن نرم‌افزار nmap خواهد بود که برای سيستم‌های لينوکس و يونيکس طراحی شده است. برای هکرهای تازه‌کار که سيستم‌عامل ويندوز را به کار می‌برند، نسخه گرافيکی و تحت ويندوزی طراحی شده است که NMapWin نام دارد و همان امکانات را فراهم می‌آورد. بحث اين‌ جلسه درباره اين نرم‌افزار است. برای داون‌لود اين نرم‌افزار اينجا را کليک کنيد! اندازه برنامه 6.18 مگابايت است و اگر اتصالتان dial-up است، کمی طول خواهد کشيد. ضمنا توجه کنيد که اين برنامه مخصوص ويندوز ۲۰۰۰ و xp است.

اين نرم‌افزار مجموعه ابزارهای footprinting مثل پورت اسکن، آی‌پی اسکن، تشخيص سيستم‌عامل کامپيوتر مورد نظر (OS detection) و ... را گرد هم آورده است. شکل ظاهری برنامه را در زير می‌بينيد:

◊ بررسی ظاهر برنامه

شکل ظاهری برنامه چهار قسمت دارد:

۱- Network Section :
بالاترين قسمت پنجره برنامه است که محلی برای ورود ip يا ip‌ ها دارد به نام Host. بعد از وارد کردن ip و تنظيم کردن پارامترها، دکمه Scan را کليک می‌کنيم تا کار اسکن شروع شود.
اگر قرار باشد بيش از يک ip وارد شود، اين کار را می‌توان به صورت‌های مختلف انجام داد. مثلا: *.*.192.130 يعنی تمام ip هايی که با 192.130 شروع می‌شوند ولی دو عدد بعدی هرچيزی می‌تواند باشد. و نوشتن به صورت 15-192.130.120.12 يعنی عدد آخری می‌تواند از ۱۲ تا ۱۵ باشد.

۲- Option Folder :
اين قسمت در واقع محل تنظيمات است و به کمک آن مشخص می‌کنيم که از برنامه می‌خواهيم که چه‌کاری انجام دهد که مفصلا در موردش صحبت خواهم کرد. در اين قسمت، برگه‌هايی با نام‌های Option , Discover , Scan , ... وجود دارد.

۳- Log Output :
محل ظاهر شدن نتايج است. در حالتی که اسکن شروع نشده باشد، خالی است.

۴- Status bar :
پايين‌ترين بخش پنجره برنامه است و دو بخش مهم دارد:
قسمت سمت چپ نشان می‌دهد که اگر بخواهيم در nmap همين کار رو انجام بديم، چه سويچ‌هايی را بايد بکار بريم ( دقت کنيد که nmap برخلاف NMapWin گرافيکی نيست ). هر تغييری که در قسمت Option Folder اعمال کنيم، در اين قسمت تغييری را مشاهده می‌کنيم و توصيه می‌کنم که حتما به اين قسمت توجه ويژه‌ای داشته باشيد.
اما در سمت راست آن، يک مربع کوچک مشاهده می‌شود که می‌تواند به رنگ‌های سبز يا قرمز باشد. سبز يعنی اينکه برنامه آماده برای اجرای دستورات شماست و قرمز يعنی در حال انجام دستورات وارد شده است و فعلا دستور جديد نمی‌پذيرد.

◊ شروع کار با NMapWin

فرض کنيد که می‌خواهم سايت far30.com رو می‌خواهم مورد بررسی قرار دهم. برای اينکار ابتدا ip رو بدست‌ آورده (63.148.227.65) و در قسمت Host تايپ می‌کنيم. حالا فعلا بدون اعمال تغييری در قسمت Option Folder ، دکمه Scan رو کليک می‌کنيم. اسکن شروع می‌شود و بعد از چند دقيقه، نتايج زير در قسمت Log Output ظاهر می‌شود:
Starting nmap V. 3.00 ( [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] )
Interesting ports on (63.148.227.65):
(The 1583 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
25/tcp open smtp
31/tcp open msg-auth
53/tcp open domain
80/tcp open http
110/tcp open pop-3
135/tcp open loc-srv
143/tcp open imap2
443/tcp open [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1026/tcp open LSA-or-nterm
1050/tcp open java-or-OTGfileshare
1433/tcp open ms-sql-s
3372/tcp open msdtc
3389/tcp open ms-term-serv
6666/tcp open irc-serv
7007/tcp open afs3-bos
Remote operating system guess: Windows 2000/XP/ME
Nmap .... -- 1 IP address (1 host up) scanned in 156 seconds
در همين‌جا سه نوع اطلاعات قابل دسترسی است:
۱- ليست پورت‌های باز روی کامپيوتر سرور و کاربرد آن پورت‌ها
۲- تشخيص سيستم عامل که Windows 2000/XP/ME حدس زده شده است (سطر ماقبل آخر)
۳- و سطر آخر می‌گويد که اين ip روشن (up) است.

◊ بررسی برگه Scan از قسمت Option Folder

اين برگه خود ۲ بخش دارد:

+> بخش Mode :
در درس‌های قبلی گفتم که اسکنينگ انواع مختلفی داره، و اينجا جايی است که نوع اسکنينگ رو مشخص می‌کنيم:
- Connect : اسکن از نوع TCP connect scan است که قبلا در درس هفتم درباره‌اش بحث کرده‌ام.
- SYN Stealth : در درس هفتم درباره اين هم گفته‌ام. - پيش‌فرض هم همين است
- Null Scan , Xmas tree , FIN Stealth : برای سرورهای غير از ويندوز کار می‌کنند.
- UDP Scan : برای اسکن کردن پورت‌های udp است.
- Ping Sweep : برای عمل ip scanning است که بدانيم که از بين يک سری ip کدام‌ها فعال هستند.
- List Scan : همان Ping Sweep است ولی به طوری که ip مان لو نرود.
- ACK Scan : معمولا برای تشخيص فايروال‌ها کاربرد دارد.
- Window Scan : همان ACK Scan است ولی کامل‌تر
- RCP Scan : جزو کامل‌ترين حالت‌های اسکنينگ است با اطلاعات فراوان.

+> بخش Scan Options :
اين قسمت شش گزينه دارد که فقط يکی‌شان به درد می‌خوره:
- Port Range : مشخص می‌کند که چه پورت‌هايی بايد اسکن شود: اگر خالی بماند، يعنی همه پورت‌ها ، اگر يک عدد نوشته شود يعنی فقط آن پورت و اگر به‌صورت n-m نوشته شود (که n و m عدد هستند) يعنی از پورت n تا پورت m اسکن شود.

◊ بررسی برگه Discover از قسمت Option Folder

اين برگه دارای چهار گزينه است:

- TCP Ping : برای بررسی فعال بودن کامپيوتر مورد نظر می‌تواند به‌کار رود.
- ICMP Ping : پينگ فقط از نوع ICMP باشد.
- TCP+ICMP : برای بررسی فايروال‌ها مناسب است (پيش‌فرض)
- Don\'t Ping : پينگ نکند.

arman_linkin
22-04-2006, 16:24
درس دوازدهم

◊ ادامه بحث NMapWin

در درس قبلی با قسمتهايی از کاربرد اين نرم‌افزار آشنا شديد، حالا ادامه بحث

◊ بررسی برگه Options از قسمت Option Folder

اين برگه خود ۲ بخش دارد:

+> بخش Options :

- Fragmentation : اگر بخواهيم در اسکنينگ‌هايی از نوع Null, Xmas, FIN, SYN تا حدودی تغييرات اعمال کنيم تا حداقل خطر را برای ما داشته باشند، می‌توان اين گزينه را انتخاب کرد. ولی بايد توجه داشت که گاهی با انتخاب اين گزينه اسکنينگ موفقيت آميز نخواهد بود.
- Get Idented Info : اگر بخواهيم اسکنينگ از نوع connect صورت دهيم، با انتخاب اين گزينه گاه اطلاعات ذی‌قيمتی برای ما به ارمغان می‌آورد.
- Resolve All : در حالت پيش‌فرض، اين نرم‌افزار روی ip هايی که up هستند، عمل Reverse Whois را انجام می‌دهد (يعنی از روی ip، به دنبال اسم DNS مربوطه می‌گردد). اگر Resolve All را انتخاب کرده باشيم، روی همه ip ها، چه up و چه down عمل Reverse Whois انجام خواهد شد.
- Don\'t Resolve : هرگز Reverse Whois نخواهد کرد.
- OS Detection : از جمله مهم‌ترين گزينه‌های اين نرم‌افزار است که اگر انتخاب‌شده باشد، برنامه سعی می‌کند که سيستم‌عامل کامپيوتر مقابل را حدس بزند.
- Random Host : به صورت تصادفی ip هايی را تست می‌کند، و هرگز هم به پايان نمی‌رسد.

+> بخش Debug :

- Debug : اگر مارک شده باشد، نتايج ديباگ مرحله به مرحله در خروجی نشان داده می‌شود.
- Verbose : اگر انتخاب‌شده باشد، پيشرفت کار را نشان می‌دهد.
- Very Verbose : پيشرفت کار را با نهايت جزئيات نشان می‌دهد.

◊ بررسی برگه Timing از قسمت Option Folder

اين برگه خود ۲ بخش دارد:

+> بخش Throttle :

در اين بخش هرچه گزينه‌های بالاتر را انتخاب کنيد، کار کندتر و دقيق‌تر است و احتمال detection (لو رفتن) شما کمتر است و هرچه پايين تر برعکس. به نظر می‌رسد، Normal بهترين انتخاب باشد.

+> بخش Timeouts :

- Host Timeout : حداکثر زمانی را مشخص می‌کند که برای يک ip می‌تواند صرف شود.
- Max RTT : حداکثر زمانی را مشخص می‌کند که برای يک probe می‌تواند صرف شود. پيش‌فرض، 9000 است (يعنی ۹ ثانيه)
- Min RTT : برای هر probe حداقل به اين اندازه صبر می‌کند.
- Initial RTT : اين گزينه خصوصا در ip هايی که فايروال دارند، مفيد است.
- Parallelism : اگر در مورد acw_spscan دقت کرده‌ باشيد، اين برنامه هر بار فقط يک پورت را پروب می‌کند و نه بيشتر ( به همين خاطر است که اول اسم آن simple دارد ). ولی محصولات واقعی بايد همزمان تعدادی پورت را تست کنند. در اين قسمت می‌توان حداکثر تعداد پورت‌هايی که می‌تواند همزمان پروب شوند را مشخص می‌کنيم.
- Scan Delay : بين هر اسکن، حداقل به اين ميزان صبر می‌کند.

◊ بررسی برگه Files از قسمت Option Folder

اين برگه خود ۲ بخش دارد:

+> بخش Input :

برای اينکه روند کارها را سريع‌تر کنيم، می‌توان از اين بخش استفاده کرد. در اين حالت ورودی از يک فايل خوانده می‌شود.

+> بخش Output :

اين قسمت برای آن است که نتايج را در يک فايل ذخيره کنيم. اين فايل می‌تواند به‌صورت Normal (متنی معمولی)، Grep (که الان ديگه به‌کار نميره)، XML و يا All (هر سه مورد) باشد.

◊ بررسی برگه Service از قسمت Option Folder

فرض کنيد می‌خواهيد اول هر هفته فلان ip رو تست کنيد و کارهايی از اين‌دست... اين برگه برای همين‌جور کارهاست (ميشه گفت يک نوع اتوماسيون)

◊ بررسی برگه Win32 از قسمت Option Folder

اين برگه دو بخش دارد به نام‌های Options , Commands که فقط Options رو بررسی می‌کنم:

- No Pcap : وقتی که NMapWin را نصب می‌کنيم، Pcap هم نصب می‌شود ( که فقط روی سيستم‌های ويندوز ۲۰۰۰ و xp می‌تواند نصب شود) و کارها را برعهده می‌گيرد. اگر بخواهيم که از آن استفاده نشود و به‌جای آن از Raw Socket استفاده شود، اين گزينه را مارک می‌کنيم.
- No IP HLP Api : مثل بالايی فقط اينکه بين ارسال هر پکت، ۱۵ ثانيه منتظر می‌ماند.
- No Raw Sockets : با انتخاب آن Raw Socket به‌کار نمی‌رود.
- Force Raw Socket : باعث می‌شود که فقط Raw Socket به‌کار رود.
- Win Trace : برای سيستم‌های Win32 کمی اطلاعات بيشتری به‌دست می‌دهد.

◊ استفاده از NMapWin برای تعيين نوع سيستم عامل

اگر مهم‌ترين کاربرد‌های nmap را بخواهيم بدانيم، يکی port scanning و ديگری OS detection (تشخيص سيستم‌عامل مقابل) است که ويژگی دوم به قدری مهم است که گاه nmap را با همين ويژگی می‌شناسند. برای اينکه نوع سيستم‌عامل را تعيين کنيم، بايد در برگه Options از NMapWin، گزينه OS detection انتخاب شده باشد.
حالا چند مثال را بررسی می‌کنيم (شما خودتان اين‌ ip ها و ip های ديگر را تست و تمرين کنيد) :

194.225.184.15
Remote operating system guess: Windows 2000 server SP2

195.219.176.5
Remote operating system guess: Linux Kernel 2.4.0 - 2.5.20

206.104.238.208
Remote operating system guess: Linux 2.1.19 - 2.2.20

217.66.199.6
(Remote operating system guess: Cisco router running IOS 12.1.5-12.2(6a

63.148.227.65
Remote operating system guess: Windows 2000/XP/ME

194.225.184.2
No exact OS matches for host (If you know what OS is running on it, see [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]).
در اين مورد می‌بينيد که nmap موفق به تعيين نوع سيستم‌عامل نشده است. ممکن است دليلش اين باشد که ip در آن لحظه up نبوده‌ است.

نکته‌ای که بايد در نظر داشت اين است که گاه بايد از يک سری اطلاعات فنی هم استفاده کرد تا به جواب قطعی رسيد :
- مثلا ip ماقبل آخر که نتيجه آن به صورت Windows 2000/XP/ME ظاهر شده است، متعلق به sazin.com است که چون يک سايت است و بايد در يک سرور باشد و هيچ سروری نمی‌تواند ME يا XP باشد، پس سيستم‌عامل آن Win 2000 خواهد بود.
- يا يک حالت ديگر موردی است که ببينيد صفحات يک وب سايت با asp يا asp.net درست شده است (مثلا اسم صفحه به صورت zzzzzz.asp يا zzzzzz.aspx باشد، که نمونه آن سايت far30.com است که اسم همين صفحه default.asp است). در اين حالت سرور آن حتما سروری از محصولات مايکروسافت است مثل Win NT و يا Win 2000 و نمی‌تواند Linux يا Unix يا Sun Solaris و... باشد.

◊ تعيين پورت‌های باز کامپيوتر خودتان

قبلا به کمک پورت اسکنينگ (توسط ipeye، acw_spscan، nmap) ياد گرفتيد که چگونه پورت‌های باز يک کامپيوتر ديگر را مشخص کنيم. حالا می‌خواهيم درباره کامپيوتر خودمان اين اطلاعات را پيدا کنيم. برای اين کار يکی از دستورات زير را به کار می‌بريم:
netstat -an
netstat -a
فرق اين دو دستور در اين است که اولی پورت‌ها را به صورت عددی و دومی به صورت معادل اسمی آن پورت می‌نويسد. مثلا معادل اسمی پورت 7 ، echo است.

مثلا اگه netstat -an را تايپ کنم، به اطلاعات زير می‌رسم:
Active Connections

Proto Local Address Foreign Address State
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING
TCP 0.0.0.0:13 0.0.0.0:0 LISTENING
TCP 0.0.0.0:17 0.0.0.0:0 LISTENING
TCP 0.0.0.0:19 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING
TCP 0.0.0.0:53 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:119 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:143 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:515 0.0.0.0:0 LISTENING
TCP 0.0.0.0:563 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1033 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1037 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1040 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1041 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1043 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1755 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6034 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6666 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7007 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7778 0.0.0.0:0 LISTENING
TCP 0.0.0.0:8181 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1039 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2103 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2105 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2107 0.0.0.0:0 LISTENING
UDP 0.0.0.0:7 *:*
UDP 0.0.0.0:9 *:*
UDP 0.0.0.0:13 *:*
UDP 0.0.0.0:17 *:*
UDP 0.0.0.0:19 *:*
UDP 0.0.0.0:68 *:*
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:161 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1030 *:*
UDP 0.0.0.0:1036 *:*
UDP 0.0.0.0:1038 *:*
UDP 0.0.0.0:1042 *:*
UDP 0.0.0.0:1075 *:*
UDP 0.0.0.0:1434 *:*
UDP 0.0.0.0:1645 *:*
UDP 0.0.0.0:1646 *:*
UDP 0.0.0.0:1755 *:*
UDP 0.0.0.0:1812 *:*
UDP 0.0.0.0:1813 *:*
UDP 0.0.0.0:3456 *:*
UDP 0.0.0.0:3527 *:*
UDP 127.0.0.1:53 *:*
UDP 127.0.0.1:1028 *:*
UDP 127.0.0.1:1029 *:*
UDP 127.0.0.1:1035 *:*
UDP 127.0.0.1:1044 *:*
UDP 127.0.0.1:1045 *:*
UDP 127.0.0.1:1100 *:*

من دستور را موقعی اجرا کردم که به اينترنت متصل نبودم. اگر همين کار را در زمان اتصال به اينترنت انجام می‌دادم، يک سری سطرهای جديد هم اضافه می‌شد که مربوط به آن اتصال می‌شد. و نيز دقت کنيد که من سويچ an- را استفاده کردم و پورت‌ها به صورت عددی نمايش داده شده است که همين الان - الساعه - براتون توضيح می‌دم:

اولين نکته‌ای که به نظر می‌رسد، نامی است که برای هر ستون نوشته شده است:
Proto Local Address Foreign Address State
- Proto : يعنی پروتکل، که می‌تواند TCP يا UDP باشد.
- Local Address : نشان‌دهنده ip کامپيوتر خودمان و شماره پورت‌هاست. مثلا سطر اول می‌گويد که ip من 0.0.0.0 است (دقت کنيد که من به اينترنت متصل نيستم) و اولين پورت باز (از نوع TCP با توجه به اول سطر) عدد ۷ است زيرا اين به صورت 0.0.0.0:7 نوشته شده است که قسمت قبل از کاراکتر : ، ip است و بعد از کاراکتر :، پورت است.
- Foreign Address : چون در اين مثال از سويچ a- يا an- استفاده کرده‌ايم، کاربردی ندارد. ولی بعدا خواهيد ديد که اگر از يک سويچ ديگر استفاده کنيم، می‌تواند مهم باشد.
- State : وضعيت اتصال را نشان می‌دهد


حالا اگه پورت‌ها را يکی يکی بررسی کنيد، می‌بينيد که در پروتکل TCP ، پورت‌های ۷، ۹، ۱۳، ۱۷، ۱۹، ۲۱ و... باز است و در پروتکل UDP ، پورت‌های ۷، ۹، ۱۳، ۱۷، ۱۹، ۶۸ و ... باز است.

حالا ممکن است بپرسيد که اين اطلاعات به چه دردی می‌خورد؟
جواب اين است که دانستن اين اطلاعات برای محافظت از خودتان در برابر همکارانتان (هکرها) است. مثلا اگر يک تروجان روی کامپيوتر شما نصب شده باشد، با اين دستور می‌توان آن را کشف کرد.

◊ نکته‌ای درباره Client Footprinting

بحث درباره Server Footprinting (کسب اطلاعات درباره سرورها) هنوز باقی‌ است. ولی الان به جايی رسيده ايد که ديگه کم‌کم ميشه درباره Client Footprinting صحبت کرد. يعنی می‌خواهيم درباره يک کلاينت مثلا کسی که مثل شما يک اتصال مثلا dial-up به اينترنت دارد و فرضا دارد با شما chat می‌کند، کسب اطلاعات کرد.
در اين مورد هم اولين نکته‌ای که بايد کشف شود، ip اوست. در اين جلسه می‌خوام بهتون ياد بدم که وقتی با يه نفر از طريق yahoo messenger به صورت pm چت می‌کنيد، چطوری می‌تونيد ip اش رو پيدا کنيد. البته بايد توجه کرد که اين روش گاهی کار نمی‌کند. نيز فرض می‌کنم که فقط با يک نفر داريد چت می‌کنيد.
يکی از دستور‌های زير را تايپ می‌کنيد:
netstat -n
netstat
دستور اولی برای پيدا کردن 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 دومی است.

arman_linkin
22-04-2006, 16:26
درس سيزدهم

◊ Social Engineering چيست؟

Social Engineering يا مهندسی اجتماعی، تکنيکی است که بر گول زدن مردم استوار است. در اين تکنيک شما با انسان‌ها سر و کار داريد و نه با کامپيوترها. حال اگه يک user رو مثلا گول بزنيد، می‌توانيد اطلاعات او را مثل پسورد و ... را بدست بياوريد که نمونه‌ای است از Client Hacking و اگه Administer يک سايت را گول بزنيد و سايت را هک کنيد، نمونه‌ای است از Server Hacking. پس با مهندسی اجتماعی هم می‌شود کلاينت هک کرد و هم سرور. البته چون کلاينت‌ها معمولا user های کم‌سوادتری (از نظر دانش هک) دارند، هک کردن آنها بسيار آسان‌تر است.
اين نکته را هم بايد بگم که روش Social Engineering معمولا در مراحل اوليه هک استفاده می‌شود و بعد از آن بايد مسير را عوض کنيد و از اطلاعات فنی‌تان برای ادامه کار بهره ببريد.

◊ مثال‌هايی از مهندسی اجتماعی

در اينجا می‌خواهم تعدادی از تکنيک‌های Social Endineering را براتون بگم. البته توجه کنيد که اگرچه اين روش‌ها اطلاعات فنی زيادی نمی‌خواد ولی معمولا نتايج خوبی داره. و نيز بگم که اين روش‌ها خيلی گسترده است و هر بار به شکلی بروز می‌کند. اما نکته مشترکی که من در همه‌شان ديدم اينه که هميشه از شما می‌خواهند که پسوردتان را يک جايی وارد کنيد و اين دقيقا محلی است که فرق شما رو با يک user معمولی نشون ميده. زيرا نبايد گول بخوريد (-;
۱- تلفن زدن :
يکی از روش‌های مهندسی اجتماعی است. هکر اطلاعاتي از افراد يک شرکت جمع‌آوری می‌کند و بعد با شرکت تماس گرفته و مثلا از فلان فرد می‌خواهد که پسورد را عوض کند. پيشرفته‌ترين متد‌های اين نوع هک توسط مشهورترين (و يکی از بهترين) هکرهای تاريخ، Kevin Mitnick اجرا شده است.
۲- مخ زدن برای ارسال فايل:
مثلا با يک نفر چت می‌کنيد و می‌گيد که بيا عکس منو ببين! و به جای ارسال يک فايل تصويری، يک فايل اجرايی مثلا تروجان براش می‌فرستيد. تا اين مرحله کار شما به عنوان مهندسی اجتماعی است ولی مابقی (مثلا استفاده از تروجان فرستاده شده) ديگه Social engineering نيست.
۳- برای ما E-mail بزنيد و ما پسورد E-mail کسی که شما می‌خواهيد را براتون پيدا می‌کنيم:
ممکنه در اينترنت به اين نوع پيغام‌ها برخورد کرده‌ايد که مثلا می‌گويد:
\" به ما ايميل بزنيد، در سطر اول E-mail کسی که می‌خواهيد ما براتون هک کنيم رو بنويسيد، در سطر دوم E-mail خودتون رو، سطر آخر هم پسورد E-mail خودتون رو. ما پسورد E-mail ی که در سطر اول مشخص کرديد براتون می‌فرستيم. \"
ممکنه عجيب به نظر برسه ولی خيلی‌ها به همين راحتی هک می‌شوند. اين ديگه از اون بهتريناش، چون يک تيره و سه نشون. ۲ تا آدرس E-mail برای فرستادن تبليغات و نيز پسورد E-mail خودتون.
۴- فايل ضميمه (attached) به E-mail را باز کنيد:
مثلا اينکه می‌گويد در اين E-mail عکس من attach شده است باز کنيد و ببينيد. درحالی که فايل attach شده فايل تصويری نيست، بلکه يک فايل آلوده است.
۵- ساختن يک صفحه شبيه به سايت‌های مشهور و درخواست login :
مثلا ساختن يک صفحه شبيه به ياهو برای login درحالی‌که اين صفحه برای دزديدن id و password شماست. در ادامه يک مثال برای اين روش را بيان خواهم کرد.
۶- و ...

◊ يک مثال برای تکنيک شماره پنجم

من يک همچين صفحه‌ای ساخته‌ام و روی سايت قرار داده‌ام و طريقه استفاده از اون رو براتون توضيح می‌دم:
۱- اول يک نگاهی به اين صفحه بکنيد تا منظورم رو متوجه بشين: [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اين صفحه بسيار شبيه به login page ياهو است ولی در واقع يک صفحه برای دزديدن id و password است.
۲- برای ايجاد يک صفحه چنين برای خود در سايت من، اول بايد Sign up کنيد. برای اين‌کار بايد به صفحه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] مراجعه کنيد. اولين صفحه می‌گه که اين سايت (يعنی من) مثل هميشه، هيچ مسووليتی را قبول نمی‌کنم. بعد از کليک روی لينک، می‌ريد به صفحه دوم که از شما می‌خواد يک پسورد دلخواه وارد کنيد ( نه پسورد ياهو ). از اين پسورد بعدا برای login استفاده خواهيد کرد. صفحه آخر يک عدد به شما می‌دهد که بايد يادداشت کنيد.
۳- در همان صفحه آخر که عددی برای شما مشخص می‌کند، دو تا آدرس هم می‌گويد. در مورد آدرس اول مثلا اگه شماره شما ۳۰ باشد، آدرس اول می‌شود: [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
که بايد برای کسی که می‌خواهيد او را هک کنيد بايد بفرستيد. به جای xxxxx بايد آدرس سايتی را بنوبسيد که بعد از اينکه شخص مورد نظر گول خورد و اين صفحه را پر کرد، در مرحله بعدی به کجا برود. مثلا به يه شخص می‌گوييد که بيا در گروه من عضو شو، حالا بايد به‌جای xxxxx آدرسی را وارد کنيد که به‌صورتی به گروه ياهو مربوط باشد ( تا شخص مورد نظر شک نکند ) مثلا می‌توانيد آدرس را به صورت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به او می‌دهيد. دقت کنيد که در آدرسی که به‌جای xxxxxx می‌نويسيد، از //:http استفاده نکنيد.
۴- آدرس دومی که در همان صفحه ذکر شده است، [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] است که برای ديدن ليست افرادی است که شما هک کرده‌ايد. در اين صفحه شماره‌ و پسوردتی که در Sign up مشخص شده‌است را نوشته و وارد می‌شويد و می‌‌توانيد ليست را ببينيد. دقت کنيد که ممکن است بعضی‌ها اين کلک را متوجه شده باشند و به‌جای id و password براتون بد و بيراه نوشته‌باشند.
۵- حالا اين id و pass ها رو با ياهو مسنجر تست کرده و وارد شده و برای دوستان فرد هک شده از هم پيغام می‌فرستيد تا آنها هم کلک بخورند و اين‌ کار را ادامه می‌دهيد.
خدمت شما عرض کنم که اين کار در واقع يک نوع کلاينت هکينگ به کمک مهندسی اجتماعی است. به اين کار به عنوان يک تفريح نگاه کنيد و نه يک هک جدی. در واقع ميشه گفت مسخره‌ترين نوع هکی است که من تا حالا ديده‌ام (-;
و آخرين نکته اينکه از اين صفحه عاقلانه استفاده کنيد. دوباره می‌گم که مسووليتی را نمی‌پذيرم.

◊ ادامه بحث Footprinting

در جلسات قبلی درباره footprinting صحبت کرديم، حالا بحث رو ادامه می‌دم.


◊ انواع Scanning

همان طور که قبلا گفتم، Scanning بر دو نوع است:
۱- Port Scanning : در اين باره بحث کرديم. يک ip خاص رو مدنظر قرار می‌دهيم و از نظر پورت‌ها آن را بررسی می‌کنيم.
۲- IP Scanning : بحث امروز ماست. در اين اسکنينگ می‌خواهيم بدانيم که از بين يک مجموعه ip ، کدام‌ها up و کدام‌ها down هستند. يعنی کدام ip ها الان قابل دسترسی هستند (يعنی به يه کامپيوتر در اينترنت نسبت داده شده است! )

◊ IP Scanning

IP Scanning به روش‌های مختلف می‌تواند صورت بگيرد:


۱- در ساده‌ترين نوع آن، يک پکت از نوع ICMP ECHO به يک ip خاص می‌فرستيم و اگر يک ICMP ECHO REPLAY به سمت ما برگشت، در اين صورت آن ip به‌اصطلاح up است. برای اين‌کار می‌توان از ابزارهای زير استفاده کرد:

الف) استفاده از ping موجود در سيستم‌عامل‌های ويندوز و يونيکس (لينوکس). به صورت زير:
ping xxx.xxx.xxx.xxx
مثلا برای 63.148.227.65 می‌نويسيم:
ping 63.148.227.65
اگر در ويندوز اين دستور را تايپ کنيد و به جواب زير برسيد، يعنی آن ip فعال است:
Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105
Reply from 63.148.227.65: bytes=32 time=941ms TTL=105
Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105
Reply from 63.148.227.65: bytes=32 time=941ms TTL=105
و اگه به پيغام زير رسيديد، يعنی فعال نيست:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
همان طور که می‌بينيد با اين دستور در يک لحظه فقط می‌شود، يک ip را تست کرد و اين کار ما را کند می‌کند.

ب) در سيستم‌عامل لينوکس می‌شود از gping استفاده کرد که يک مجموعه ip را به سرعت تست کرد.

ج) در سيستم عامل ويندوز می‌شود از Pinger استفاده کرد. برای داون‌لود اين نرم‌افزار اينجا را کليک کنيد. Pinger يک نرم‌افزار گرافيکی است و کار ping کردن به يک مجموعه ip را ساده می‌کند.

در قسمت From و To مشخص می‌کنيم که از کدام ip تا کدام ip را می‌خواهيم ping کنيم. با فشار دکمه Ping ليست ip هايی که up هستند، نمايش داده می‌شود. فرض کنيد که ip فعلی شما 195.219.176.88 باشد و بخواهيم بدانيم در کلاس C مربوط به ما چه ip های ديگری up هستند. در اين حالت بايد 195.219.176.1 تا 195.219.176.254 را ping کنيم.

د) حالا می‌خواهيم همين کار را با NMapWin انجام دهيم. برای اينکار بايد در برگه Scan، قسمت Mode را در حالت Ping Sweep قرار دهيد. برگه Discover بايد درحالت ICMP Ping باشد و در قسمت Options بايد گزينه OS Detection را از حالت انتخاب شده خارج کنيد. بعد بايد ليست ip ها را تنظيم کنيم، برای اينکار بايد در قسمت Host ، ليست ip ها را وارد می‌کنيم. مثلا اگر بخواهيم 195.219.176.1 تا 195.219.176.254 را تست کنيم بايد بنويسيم: 24/195.219.176.0 که اين 24/ يعنی کلاس C که از ۱ تا ۲۵۵ است. و بعد دکمه Scan را فشار دهيم.

Host (195.219.176.0) seems to be a subnet broadcast address ...
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
Host (195.219.176.1) appears to be up.
Host (195.219.176.3) appears to be up.
Host (195.219.176.5) appears to be up.
Host (195.219.176.7) appears to be up.
Host (195.219.176.9) appears to be up.
Host (195.219.176.11) appears to be up.
Host (195.219.176.12) appears to be up.
Host (195.219.176.13) appears to be up.
Host (195.219.176.14) appears to be up.
Host H-GVSVY95KXINRJ (195.219.176.15) appears to be up.
Host (195.219.176.16) appears to be up.
Host (195.219.176.17) appears to be up.
Host (195.219.176.18) appears to be up.
Host (195.219.176.19) appears to be up.
Host KERYASBA (195.219.176.20) appears to be up.
Host MARYAM (195.219.176.22) appears to be up.
Host (195.219.176.23) appears to be up.
Host (195.219.176.24) appears to be up.
Host FFX-L2XA0ZM87Q3 (195.219.176.25) appears to be up.
Host (195.219.176.26) appears to be up.
Host (195.219.176.27) appears to be up.
Host (195.219.176.28) appears to be up.
,...
ملاحظه می‌فرماييد که در بعضی موارد اسم کامپيوتر مربوط به ip هم ذکر شده است.

۲- در تمام روش‌های بالا، از پکت‌های ICMP برای پينگ استفاده کرديم. در بعضی کامپيوتر‌ها ممکن است پکت‌های ICMP توسط فايروال يا روتر بلاک شوند. در اين حالت بايد از پورت اسکنينگ برای IP اسکنينگ استفاده کرد! برای اين‌کار می‌توان از ابزارهای زير استفاده کرد:

الف) در سيستم عامل يونيکس (لينوکس) می‌توان از ابزارهايی مثل hping و icmpenum و ... استفاده کرد. که فعلا بحث ما نيستند.

ب) در سيستم‌عامل ويندوز، بازهم از NMapWin استفاده می‌کنيم. ولی طوری Port Scanning می‌کنيم که نياز ما را برای IP Scanning جواب دهد. اين‌کار توسط يک سری پورت‌های عمومی صورت می‌گيرد که در اکثر کامپيوتر‌ها باز هستند مثل ۸۰ ، ۲۵ و...
برای اين‌کار در برگه Scan ، قسمت Mode را در حالت Connect تنظيم می‌کنيم و در قسمت Scan Options ، گزينه Port Range را مثلا برای عدد 80 تنظيم می‌کنيم. Discover را در حالت TCP Ping قرار می‌دهيم. و در برگه Option ، گزينه OS Detection را از حالت انتخاب شده خارج می‌کنيم. ليست ip ها را ست کرده و اسکن را شروع می‌کنيم.

arman_linkin
22-04-2006, 16:29
فصل چهاردهم(فصل آخر)

◊ چگونه از nmap استفاده کنيم؟

قبلا با نرم‌افزار NMapWin آشنا شديد که نسخه گرافيکی nmap برای ويندوز بود. nmap در واقع نرم‌افزار اصلی است که هم برای يونيکس (لينوکس) و هم برای ويندوز نسخه‌هايی را دارد. nmap برخلاف NMapWin، حالت خط فرمانی (command prompt) دارد. در اين قسمت می‌خواهيم با nmap مخصوص ويندوز آشنا شويم. برای داون‌لود اين نرم‌افزار اينجا را کليک کنيد. (اگر قبلا NMapWin را نصب نکرده‌ايد، بايد از يک نسخه ديگر از nmap که اصطلاحا nmap installer نام دارد، استفاده کنيد. اين نسخه nmap را می‌توانيد از اينجا داون‌لود کنيد. )
همان‌‌طور که می‌دانيد، در نرم‌افزارهای خط فرمانی، بايد از پارامترها استفاده کنيم. با توجه به اينکه پارامترهای nmap بسيار زياد و يادگيری آنها مشکل است، ما برای پيدا کردن پارامترهای درست برای يک عمل خاص ( که معمولا ip scanning يا port scanning است) از NMapWin استفاده می‌کنيم. به اين ترتيب که در NMapWin تنظيمات را انجام می‌دهيم و بعد در پايين پنجره آن مشاهده می‌کنيد که در قسمت :CMD ليست پارامترها را به دست می‌آوريم. اين مراحل را با دو مثال شرح می‌دم:

۱- می‌خواهيم برای پورت‌های ۱ تا ۲۰۰ در کامپيوتری که ip آن 63.148.227.65 است، يک پورت اسکننيگ انجام دهيم. برای اين‌کار در NMapWin، برگه Scan را درحالت SYN Stealth تنظيم می‌کنيم و Port Range را می‌نويسيم: 200-1 و بعد برگه Discover بايد در حالت TCP+ICMP باشد و اگر بخواهيم نوع سيستم‌عامل را هم مشخص کنيم، در برگه Options، گزينه OS detection را در حالت انتخاب شده قرار می‌دهيم. ip را هم در بالای پنجره، 63.148.227.65 می‌نويسيم. حالا آماده اسکن هستيم ولی ما می‌خواهيم اين کار را با nmap انجام دهيم، پس فقط بايد قسمت CMD را از پايين پنجره ببينيد، ملاحظه می‌کنيد که نوشته شده:
CMD: -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65
با حذف کلمه :CMD به عبارت زير می‌رسيم:
-sS -PT -PI -p 1-200 -O -T 3 63.148.227.65
اينها پارامتر‌هايی است که بايد در nmap استفاده کنيد. به اين صورت که می‌نويسيد:
nmap -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65
و بعد از اجرای دستور و صبر کردن برای چند دقيقه، نتايج را می‌بينيم.
بعد از مدتی که با nmap کار کنيد، اين پارامترها را می‌آموزيد و ديگه نيازی به NMapWin نخواهيد داشت. مثلا همين O- يعنی OS detection، و 200-p 1 يعنی پورت‌های ۱ تا ۲۰۰ می‌باشد. بعدها خودتان می‌بينيد که کار کردن با nmap بسيار دلچسب‌تر از NMapWin است.

۲- می‌خواهيم يک ip scanning انجام دهيم برای 195.219.176.0 تا 195.219.176.10 . برای اينکار در NMapWin، در برگه Mode، گزينه Ping Sweep را انتخاب می‌کنيم. در برگه Discovery، گزينه ICMP Ping را انتخاب کرده و در برگه Options، گزينه OS detection را در حالت انتخاب نشده قرار می‌دهيم. برای نوشتن ip ملاحظه می‌فرماييد که 195.219.176 در هر دو مشترک است، پس می‌نويسيم: 10-195.219.176.0 .حالا می‌بينيم که پارامترها به صورت زير است:
-sP -PI -T 3 195.219.176.0-10
پس ما می‌نويسيم:
nmap -sP -PI -T 3 195.219.176.0-10

◊ شروع کار با نرم‌افزار netcat

اگر يادتون باشه در درس ۱۱ مهم‌ترين ابزاری که يک هکر برای footprinting استفاده می‌کنه را nmap معرفی کردم. حالا می‌خوام مهمترين نرم‌افزاری که يک هکر در کل زندگی‌اش !! استفاده می‌کنه رو معرفی کنم. اين نرم‌افزار netcat نام دارد که به‌طور خلاصه nc ناميده ميشه ( اين nc با اون nc که تو DOS بود فرق می‌کنه). nc بقدری نرم‌افزار مهمی است که حتی يک سری لقب هم دارد. اگر جايی \"Pocket Knife of network utilities\" يا \"TCP/IP Swiss Army Knife\" شنيديد، بدونين که منظورشان همين nc است( اين نرم‌افزار را به چاقوی جيبی تشبيه می‌کنند ). من فعلا نمی‌خوام يه معرفی کامل از اون بکنم فقط می‌گم که علاوه بر قابليت‌های عمومی مثل Scanning ها، چيزی که اون رو خيلی معروف کرده يکی عملکرد مشابه ولی بهتر از telnet و ديگری کاربرد اون به‌عنوان هم کلاينت و هم سرور (يه چيزی تو مايه‌های تروجان) است.
اين نرم‌افزار اولين بار برای سيستم‌عامل‌های يونيکس نوشته شد ولی نسخه مخصوص ويندوز هم داره که برای داون‌لود اون اينجا را کليک کنيد. اين نسخه فقط در ويندوز‌های NT (مثل Windows2000، Windows XP) کار می‌کنه.
برای به دست آوردن ليست پارامتر های اون می‌نويسيم:
nc -help
و جواب می‌شنويم:
[v1.10 NT]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, stealth mode

-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]
تا همينجا بماند تا بعدا تک تک پارامتر‌ها رو توضيح می‌دم.

◊ استفاده از nc برای port scanning

برای پورت اسکنينگ قبلا از NMapWin و nmap استفاده کرديم. اما اين کار را با nc هم می‌توان انجام داد ( اگرچه من بازهم برای پورت اسکنينگ همان nmap رو توصيه می‌کنم.) برای port scanning با nc بايد بنويسيد:
nc -v -z host pornum
به‌جای host بايد ip ) ip ها) يا نام آن (مثلا اسم سايت) را بنويسيم. و به‌جای portnum ، شماره پورت (يا پورت‌ها) را می‌نويسيم. v- يعنی verbose يعنی نتايج با جزئيات نمايش داده شود. z- وقتی استفاده می‌شود که از nc برای scanning استفاده می‌کنيم.
فرض کنيد می‌خواهيم ip ی به شماره 217.66.195.181 را برای پورت‌های ۱ تا ۲۰۰ چک کنم، می‌نويسم:
nc -v -z 217.66.195.181 1-200
و جواب می‌شنوم:
artawill-1dedm4 [217.66.195.181] 143 (imap) open
artawill-1dedm4 [217.66.195.181] 139 (netbios-ssn) open
artawill-1dedm4 [217.66.195.181] 135 (epmap) open
artawill-1dedm4 [217.66.195.181] 119 (nntp) open
artawill-1dedm4 [217.66.195.181] 80 (http) open
artawill-1dedm4 [217.66.195.181] 53 (domain) open
artawill-1dedm4 [217.66.195.181] 25 (smtp) open
artawill-1dedm4 [217.66.195.181] 21 (ftp) open
artawill-1dedm4 [217.66.195.181] 19 (chargen) open
artawill-1dedm4 [217.66.195.181] 17 (qotd) open
artawill-1dedm4 [217.66.195.181] 13 (daytime) open
artawill-1dedm4 [217.66.195.181] 9 (discard) open
artawill-1dedm4 [217.66.195.181] 7 (echo) open
می‌بينيد که پورت‌ها از آخر به اول ليست شده‌اند. و نيز اينکه اين نرم‌افزار هم می‌تواند سرويس‌های احتمالی مربوط به هر پورت باز را هم ليست ‌کند.
اگر می‌خواستم يک سری پورت را که به صورت پشت‌سرهم نيستند، بررسی کنم، بايد پورت ها را يکی پس از ديگری با فاصله از هم جدا کنيد. مثلا برای بررسی پورت‌های ۲۵، ۸۰ و ۱۱۰ را چک کنم، می‌نويسم:
nc -v -z 217.66.195.181 25 80 110
در درس‌های بعدی با کاربردهای بيشتری از nc آشنا خواهيم شد.

◊ شروع کار با پورت‌ها

الان به جايی رسيده‌ايم که می‌توانيم بحث پورت‌ها را شروع کنيم. اولين نکته‌ای که بايد بگم اين است که ابزاری که به کمک آن با پورت‌ها صحبت می‌کنيم در همه پورت‌ها يکی است ولی هر پورتی زبان مخصوص خود دارد (درست مثل زبان‌های مختلف در جهان که همشون از طريق زبان و دهان ادا می‌شن ولی هر کدام روش خاصی برای ارتباط برقرار کردن دارند). پس ما برای کار با پورت‌ها بايد زبان هرکدام را ياد بگيريم.
بحث بعدی اين است که وقتی می‌گيم يه پورت بازه بايد توجه کنيد که برنامه‌ای روی آن کامپيوتر نصب شده و اون پورت را باز کرده است (پورت‌ها خود به خود باز نمی‌شوند). يک سری پورت‌ها توسط خود سيستم‌عامل باز می‌شوند (يعنی به محض نصب سيستم‌عامل که خودش هم درواقع يه نرم‌افزاره) و نيازی نيست که برنامه ديگری برايش نصب کنيم. در مقابل، بعضی پورت‌های ديگر توسط برنامه‌های جانبی باز می‌شوند.
به عنوان مثال وقتی می‌گم که پورت ۲۵ روی يک ip باز است، اين معنی را دارد که برنامه‌ای روی اون کامپيوتر خاص وجود دارد که پورت ۲۵ را باز کرده و من وقتی از طريق کامپيوتر خودم با آن پورت کار می‌کنم در واقع دارم با آن برنامه خاص (که اون پورت را باز کرده) صحبت می‌کنم.
حالا يه سوال پيش می‌آد که چرا اصلا يه نرم‌افزار بايد پورت باز کنه و اينکه کدام نرم‌افزارها بايد پورت باز کنند؟
جواب اين است که هر برنامه‌ای که بخواهد از طريق شبکه (يعنی از راه دور اصطلاحا remote) قابل دسترس باشه بايد يه پورت باز کنه. پس يک برنامه‌ای که نيازی به برقراری ارتباط شبکه‌ای ندارد (مثلا يه نرم‌افزار گرافيکی) نبايد و نشايد که پورت باز کند.

بايد ببينيم که از طريق چه برنامه‌ای می‌توان با پورت‌ها صحبت کرد ( البته با هرکدام به روش خودشان )؟
برای اين‌کار از دو نرم‌افزار به نام‌های telnet و nc استفاده می‌کنيم. telnet که در خود سيستم‌عامل وجود دارد و nc را هم که جلسه قبل داون‌لود کرديم.
حالا چگونه از اين دو نرم‌افزارها می‌توان استفاده کنيم؟
۱- استفاده از telnet :
اگر بخواهيم با ip ای به شماره 194.225.184.13 از طريق پورت 25 صحبت کنيم بايد بنويسيم:
telnet 194.225.184.13 25
و بعد اينکه ارتباط برقرار شد بايد شروع کنيم و از طريق زبان پورت ۲۵ با آن صحبت کنيم.
۲- استفاده از nc :
اگر بخواهيم همان کار را با netcat انجام دهيم، بايد بنويسيم:
nc -v 194.225.184.13 25
و بعد از برقراری ارتباط شروع به صحبت کنيم.

◊ با پورت ۱۳ صحبت کنيم

نام ديگر اون daytime است و کارش هم اينه که زمان و تاريخ رو در اون کامپيوتر به ما می‌ده. اين پورت اصولا خيلی سر راسته. فقط کافيه که بهش وصل شيم تا اطلاعاتشون بيرون بريزه. البته اين پورت رو خيلی از کامپيوترها بسته است. (يادتون باشه که وقتی می‌توان با يه پورت کار کرد که باز باشد).
حالا می‌خوايم با پورت ۱۳ از ip شماره 194.225.184.13 صحبت کنم. يکی از اين دو دستور را می‌نويسم:
telnet 194.225.184.13 13
nc -v 194.225.184.13 13
البته در آن دستورات به جای عدد ۱۳ می‌توان معادلش را نوشت که daytime است.
و جواب می‌شنوم:
11:35:33 AM 10/5/2002
بله، با اين پورت ارتباط برقرار کرديم و اطلاعاتش رو دريافت کرديم. اين اطلاعات معمولا به درد اين می‌خورد که مکان جغرافيايی اون کامپيوتر را حدس بزنيم (البته اگر زمان اون کامپيوتر صحيح باشد). به عنوان مثال اين کامپيوتر خاص در ايران است چون ساعتش همزمان با ايران است.

◊ با پورت ۷ صحبت کنيم

اسم اين پورت echo است. من اين پورت رو پورت ميمون می‌گم چون هرچی که شما براش بنويسيد را تقليد می‌کنه و همان‌ها را براتون پس می‌فرستد. مثلا من به پورت ۷ کامپيوتری با ip شماره 194.225.184.13 تلنت يا nc می‌کنم.
telnet 194.225.184.13 7
nc -v 194.225.184.13 7
بعد از برقراری ارتباط، هر چی من بنويسم، اون برام پس می‌فرسته. مثلا اگه تايپ کنم Ali1000 و Enter بزنيم، جواب می‌شنوم، Ali1000 ... خودتون امتحان کنيد تا ببينيد. برای تمام شدن کار بايد دکمه Ctrl+C را فشار دهيم تا اين ميمون بازی تموم بشه.
پس کار کردن با اين پورت هم زياد سخت نيست.

◊ با پورت ۸۰ صحبت کنيم

پورت ۸۰ يکی از مهم‌ترين پورت‌هاست. دنيای وب (صفحات اينترنتی) بر اساس همين پورت کار می‌کنه. توضيح اينکه وقتی به يه سايت وصل می‌شيم و صفحه وب را درخواست می‌کنيم، در واقع مرورگر اينترنتی به پورت ۸۰ اون کامپيوتر وصل می‌شه و اطلاعات رو می‌گيره (البته بعد از گرفتن اطلاعات اون رو تفسير می‌کنه و به صورت يه صفحه نشون می‌ده - دقت کنيد که اطلاعات در واقع به صورت يک سری تگ HTML است ). حالا ما می‌خواهيم با پورت ۸۰ يک کامپيوتر صحبت کنيم ولی به کمک telnet و nc.
اول بايد يه connection (اتصال) با پورت ۸۰ برقرار کنيم (مثلا برای سايت hotmail.com بايد بنويسم):
telnet [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 80
nc -v [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 80
پس اول بايد يکی از دستورات بالا را استفاده کنيم. من هميشه توصيه‌ام استفاده از nc بوده و خواهد بود.
حالا بايد شروع به صحبت با پورت ۸۰ کنيم. من فعلا دو تا جمله براتون می‌گم و بقيه‌اش بمونه واسه بعد. دقت کنيد که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما می‌نويسيم، نمايش داده نمی‌شود ولی کار می‌کنه.
۱- اولين جمله اينه: GET / [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. دو طرف / ی که بعد از GET است، فاصله وجود دارد. اين جمله به پورت ۸۰ می‌گه که هرچی در header داره، نشون بده. و جواب می‌شنوم:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 302 Moved Temporarily
Server: Microsoft-IIS/5.0
Date: Thu, 05 Dec 2002 12:02:51 GMT
Location: [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
X-Cache: MISS from cache5.neda.net.ir
Connection: close

۲- دومين جمله اينه: GET / what/ever و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. اين دستور باعث ميشه که هر چی داره، رو کنه.

البته توجه کنيد که ما مسير را مشخص نکرديم. بعدها در مورد اين مسير مشخص کردن صحبت خواهم کرد. اين حالت که بدون مسير است خيلی وقت‌ها کار نمی‌کنه (مثل همين مثال !!)

گاهی پيش می‌آد که يک سری دستورات خاص را هميشه بايد پشت‌ سرهم به يه پورت خاص بفرستيم و بخواهيم در وقت صرفه‌جويی کنيم. مثلا همين جمله GET / [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] و دو Enter پشت سرهم که هميشه استفاده می‌کنيم. در اين موارد می‌توان اين دستورات را در يک فايل تايپ کرد (همراه با Enter ها که بايد موقع نوشتن حتما بزنيد) و بعد مثلا با نام ali.txt ذخيره کنيد و بعد يکی از دستورات زير را بنويسيم:
nc -v [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 80 < ali.txt
type ali.txt | nc -v [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 80
که همان کارهای بالايی را انجام ميده.

پايان آموزش هك 14 جلسه

ARMIN_ZOXROX
13-09-2006, 15:03
آموزش هك و تل نت كردن در 17 درس:

منبع : سايت كمياب آنلاين.

ARMIN_ZOXROX
13-09-2006, 15:07
آموزش هك درس اول:

هکران به چهار دسته تقسیم می شوند :
۱ - گروه نفوذگران کلاه سفيد ( White Hat Hacker Group ) اين گروه از هکرها در واقع همان دانشجويان و اساتيد هستند که هدفشان نشان دادن ضعف سيستم های امنيتی شبکه های کامپيوتری می باشند اين گروه به نام هکرهای خوب معروف هستند . اين دسته نه تنها مضر نيستند بلکه در تحکيم ديواره حفاظتی شبکه ها نقش اساسی دارند کلاه سفيد ها داری خلاقيت عجيبی هستند معمولا هر بار با روش جديدی از ديواره امنيتی عبور می کنند .
2 - گروه نفوذگران کلاه سياه ( Black Hat Hacker Group ) نام ديگر اين گروه Cracker است. کراکرها خرابکار ترين نوع هکرها هستند . اين گروه به طور کاملا پنهانی اقدام به عمليات خراب کارانه می کنند . کلاه سياه ها اولين چيزی که به فکرشان می رسد نفوذ به سيستم قربانی است کلاه سياه ها همه ويروس نويسند و با ارسال ويروس نوشته شده خود بر روی سيستم قربانی به آن سيستم نفوذ پيدا می کند درواقع يک جاسوس بر روی سيستم قربانی می فرستند . هميشه هويت اصلی اين گروه پنهان است .
3 - گروه نفوذگران کلاه خاکستری ( Gray Hat Hacker Group ) نام ديگر اين گروه Whacker می باشد هدف اصلی واکر استفاده از اطلاعات ساير کامپيوترها به مقصود مختلف می باشد و صدمه ای به کامپيوتر ها وارد نمی کنند . اين گروه کدهای ورود به سيستم های امنيتی را پيدا کرده و به داخل آن نفوذ می کنند اما سرقت و خراب کاری جز کارهای کلاه خاکستری نيست . بلکه اطلاعات را در اختيار عموم مردم قرار می دهند . در سال ۱۹۹۴ يک هکر ژاپنی به سايت Nasa امريکا نفوذ پيدا کرد و تمامی اسناد محرمانـه متعلق به اين سازمان را ربود و به طور رايگان بر روی اينترنت در اختيار عموم قرار داد .
4 - گروه نفوذگران کلاه صورتی ( Pink Hat Hacker Group ) نام ديگر اين گروه Booter می باشد . بوتر ها افرادی لوس و بی سودی هستند که فقط قادرند در سيستمها اخلال بوجود آورند و يا مزاحم ساير کاربران در سالنهای چت شوند. کلاه صورتی ها اغلب جوانان عصبانی و جسوری هستند که از نرم افزارهای ديگران استفاده می کنند و خود سواد برنامه نويسی ندارند. ولی در بعضی مواقع همين هکرهای کم سواد می توانند خطرهای جدی برای امنيت باشند. ... بسياری از هکرها انسانهای هستند که خود را بسيار آزاد می داند و قصد دارند خود را در دنيای ديگر بر تر سازند.
هيچ کس نمی تواند قدرت هکرها را در نفوذ به سيستمها ناديده بگيرد...

faridmarjomaki
13-09-2006, 15:10
سلام
خسته نباشی
من تازه عضو شدم
از درس 11 دیدم
درسهای قبلی کجاست
لطفا راهنمائی کنید

Harry Potter
13-09-2006, 22:18
سلام
خسته نباشی
من تازه عضو شدم
از درس 11 دیدم
درسهای قبلی کجاست
لطفا راهنمائی کنید
سلام
ورود شما به جمع کاربران P30world رو تبریک میگم...
درس های 1 تا 10 در صفحه اول تاپیک هستند:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

پیروز باشید

Man Hunter
13-09-2006, 23:52
آرمين لينكين عزيز...سلام وخسته نباشي..

آقا..واقعا‘‘ ممنون.من كه دارم ميخونم و استفاده ميكنم.....

خيلي ممنون.كسي كه تشكر نكرد...من ميگيم شايد يه كمي رحيه بگيري(از طرف خودم و اونايي كه اين امضاي مشترك من رو دارند).

بازم ممنونم.مصلبت عالي و بي نقص بود....

بعدها..اگر چيزي داشتي باز هم بزار لطفا‘‘.

يا حق ;)

Setareh 2006
16-09-2006, 01:33
....
کاری که شما بايد برای whois کردن بايد انجام دهيد، توجه به نوع آن domain است که از نوع com است يا ir است يا biz است و ... بعد از آن از يکی از سايت‌های زير استفاده کنيد :

۱- internic.net :
برای edu , org , net , com عالی است. برای museum , int , info , coop , biz , arpa, aero هم‌ می‌تواند استفاده شود.
صفحه وب مربوطه عبارت‌ است از [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]]
يا می‌توانيد مستقيما در مرورگر بنويسيد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که به‌جای xxxxxxxx مثلا بايد بنويسيد: far30.com

۳- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] :
برای cc , info , biz , tv عالی است.
صفحه وب مربوطه عبارت‌ است از /[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
يا می‌توانيد مستقيما در مرورگر بنويسيد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که اگر بخواهم مثلا ----.tv را whois کنم به‌جای yyyyy بايد بنويسيد ---- و به جای zzzz بايد بنويسيد tv

۴- domainpeople.com :
برای name , biz , info , org , net , com عالی است.
صفحه وب مربوطه عبارت‌ است از /[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
....





دوستان سلام

من از اين دو سايت وقتي استفاده مي كنم به اون شكل اطلاعاتي نميده !

ممكنه چند تا سايت براي به دست آوردن اطلاعات كامل ، كه به خوبي سايت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] باشن معرفي كنيد ؟