mohamad.s
05-05-2011, 10:39 AM
آشنایی با روشهای هک و روشهای جلوگیری از آن (حتما بخوانید مهم) 1. آشنایی با روشهای هک و روشهای جلوگیری از آن
سلام بر همه دوستان مطالب ارائه شده مجموعه ای از مطالب جمع آوری شده از جاهای مختلف برای آشنایی دوستان فقط میباشد.
امیدوارم فقط جنبه آموزشی داشته باشه و فقط راهی برای مبارزه با روشهای هک شدن باشه....
هکر کسی است که با سيستم های کامپيوتری آشناست و میتواند با استفاده از آن کار های خود را بدون اجازه انجام دهد
- سوال: يک هکر از چه راهی وارد يک سيستم میشود؟
از راه شبکه (نه بابا ! )
بايد توجه کنيد که هر سيستم کامپيوتری (به عبارت بهتر هر سيستم عامل) به هر حال محصول کار تعدادی انسان است و حتما دارای تعدادی bug (خطاهايی که بعد از ارائه محصول به بازار به تدريج کشف میشوند) خواهد بود. بعد از اينکه يک باگ مشخص شد، شرکت ها نرمافزارهايی را بهسرعت (در عرض چند ساعت ) ايجاد میکنند تا مشکل رفع شود اينها را patch میگويند. و بعد مديران شبکه (Webmasters) در عرض چند روز تا چند سال (اين آخری در مورد ايرانه) آنها را download کرده و مشکل را حل میکنند. در اين فاصله هکرها دمار از روزگار اين سايتها درمیاورند...
انواع مختلف هکرها و نوع کارهایشان:
*** Hacker واقعی سامورايی :کسی که هدفش از نفوذ به سيستمها نشان دادن ضعف سيستمهای کامپيوتری است نه سوءاستفاده ...
***Wacker واکر:کسی که هدفش از نفوذ به سيستمها، استفاده از اطلاعات آن سيستمهاست (جرو هکرهای کلاه سياه)
***Cracker کراکر:کسی که هدفش از نفوذ به سيستمها، خرابکاری و ايجاد اختلال در سيستمهای کامپيوتری است. (جرو هکرهای کلاه سياه)
***Preaker :از قديمیترين هکرها هستند که برای کارشان نياز (و دسترسی) به کامپيوتر نداشتند و کارشان نفوذ به خطوط تلفن برای تماس مجانی، استراقسمع و ... بود. اين جزو آموزش من نيست چون کار خيلی بديه (-;
انواع هکرها از دیدگاهی دیگر:
1-جوجههکرها (احمق کوچولوها):
توانايیها: بلدند از Sub 7 , 187استفاده کنند و فکر کنند ديگه همهچی رو ياد گرفتهاند !
2- خروسهکرها يا مرغهکرها (احمقهای بزرگتر):
توانايیها: Mail Box را هم میتوانند Bomb کنند ... ماشاءالله !
3-هکرهای قابلاحترام :
دارند ياد میگيرند و هنوز ۲،۳ سال کار دارند.
4-هکرهای پيشکسوت:
ديگه آفتاب لبه بومه ... هکرهای قابل احترام را دوس دارند
تقسيمبندی سیستمها و انواع کامپيوترهای شبکه:
=> کامپيوترهای Server : کامپيوترهايی که کارشان تامين اطلاعات در شبکه است، مثلآ کامپيوترهايی که سايتها را نگه میدارند.
=> کامپبوترهای Client : کامپيوترهايی که استفاده کننده هستند مثل همين کامپيوتر خودتان که داريد ازش کار میکشيد.
انواع سيستم عاملهايی که Server ها از آن استفاده میکنند:
سيستمهای فعلی:
o خانواده Unix مثل (FreeBSD, Linux, SunSolaris )
o خانواده Windows مثل ( WinNT, Win2000)
o OsMac سيستمهای قديمی((AIX, IRIS, DEC10, DEC20
سوال: کدامها را بايد ياد گرفت؟
Win2000, UnixLinux)) را بايد ياد بگيريد. پيشنهاد من اين است که Win2000و RedHatLinux را روی کامپيوتر خود همزمان داشته باشيد.
برای شروع چه چيزی لازم است؟
4. Win2000 , Linuxرا روی کامپيوتر خود نصب کرده و شروع به يادگيری کنيد.
5. شروع به يادگيری زبان C کنيد.
6. شروع به يادگيری TCP/IP کنيد. (يک کتاب بخريد)
7. مهمترين چيز علاقه به طی کردن يک راه بسييييييار طوووووولانی
- تقسيمبندی انواع حملات
8. حمله به روش Denial of ServiceAttack) Dos)
9. حمله به روش Exploit
10. حمله به روش InfoGathering تلنت کردن
11. حمله به روش Disinformation
تعریف IP و PORT
IP :
شماره ايست که به هر کامپيوتر متصل به اينترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی که معمولا به روشی غير از شمارهگيری (Dial Up) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل میشويد، عددی جديد به شما نسبت داده میشود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی بهصورت زير نوشته میشود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی اسمهايی مثل www.yahoo.com که برای اتصال استفاده میکنيد، در نهايت بايد به يک IP تبديل شود، تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضيح میدهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددی که به عنوان xxx اول میگيريد، مابين 192 تا 223 خواهد بود.
اين توضيح برای تشخيص کامپيوترهای کلاينت از سرور (حداقل در ايران) بسيار میتواند مفيد باشد.
بعد از اتصال به اينترنت برای به دست آوردن IP خود، از دستور IPCONFIG در commandprompt استفاده کنيد. (البته يک سری نکات فنی داريم که بعدا میگم)
Port:
در ساده ترين تعريف، محلی است که دادهها وارد با خارج میشوند. در مبحث هک معمولا با پورتهای نرمافزاری سروکار داريم که به هر کدام عددی نسبت میدهيم. اين اعداد بين ۱ و ۶۵۵۳۵ هستند. معمولا به يک سری از پورتها کار خاصی را نسبت میدهند و بقيه بهصورت پيشفرض برای استفاده شما هستند. پورتهای که فعال هستند، هرکدام توسط يک نرمافزار خاص مديريت میشوند. مثلا پورت ۲۵ برای ارسال Email است، بنابراين بايد توسط يک نرمافزار اين کار انجام شود و اين نرمافزار بر روی پورت ۲۵ منتظر (فالگوش) میماند. اينجا ممکن است شخصی از فلان نرمافزار و ديگری از بهمان نرمافزار استفاده کند ولی بههر حال پورت ۲۵ هميشه برای ارسال Email است.
در پايين ليستی از مهمترين پورتها و کاربردشان را میبينيد:
Port Num Service Why it is phun!
7 echo Hostrepearts what you type
9 discardDev/null
11 systatLots ofinfo on users
13 daytime Time and date at computerslocation
15 netstatTremendous info on networks
19 chargenPours out a stream of ASCIIcharacters
21 ftp Transfers files
23 telnet Where you login
25 smptForgeemail
37 time Time
39 rlpResource location
43 whoisInfo on hosts andnetworks
53 domain Nameserver
70 gopher Out-of-date infohunter
79 finger Lots of info on users
80 http Webserver
110 pop Incoming email
119 nntp Usenet news groups -- forge posts, cancels
443 shttpAnother web server
512 biff Mailnotification
513 rlogin Remote login
who Remote who anduptime
514 shell Remote command, no password used!
syslogRemotesystem logging
520 route Routing informationprotocol
از ميان اين پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و۱۱۹فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد.
RFC چيست؟
متون بسيار کامل ولی خشک و ثقيل که در مورد مفاهيم مختلف شبکه بحث میکنند. اين فايلها به صورت متنی و با پسوند txt هستند و بهعنوان مرجع (برای مراجعه و نه مطالعه کامل) کاربرد دارند. اين فايلها يکبار منتشر شده و هرگز تغيير داده نمیشوند (حتی اگر حاوی اشتباه باشند.)
- فايلهای RFC از کجا قابل دسترسی هستند؟
RFCها از سايتهای بسياری قابل دسترس هستند مثل :
- http://www.ietf.org/rfc/xxxxxxx.txt
که بهجای xxxxxxx نام rfc موردنظر را مینویسيم. مثلا برای دسترسی به rfc791 بايد آدرس را به صورت زير تايپ کنيم:
http://www.ietf.org/rfc/rfc791.txt
1. آيا با دانستن IP يك نفر ميشه از طريق برنامه SubSeven كسي را هك كرد!!!
-آيا كسي IP من را بداند مي تواند مرا هك كند ؟؟؟
- يكي IP من را دارد و مي گويد اگر فلان كار را نكني مانيتور تو رو مي سوزانم آيا ميتونه ؟؟
و ..... تصميم گرفتم كه يك سري از كارها كه ميشه با داشتن IP انجام داد را برايتان شرح بدم
قطع ارتباط شخص با اينترنت :
شما ميتوانيد با استفاده از برنامه هايي مانند IPDisconnect يا Rocket و دانستن IP شخص مقابل او را از اينترنت بيرون بندازيد
كند كردن سرعت ارتباط شخص با اينترنت :
با استفاده از برنامه هايي مانند Vai-te-ja-icmpBomber و... با فرستادن Packet هاي بسيار در يك زمان سرعت شخص را عملا كاهش دهيد ....
پيدا كردن پورت هاي باز :
وقتي كه IP يك فرد را داشته باشيد ميتوانيد با استفاده از برنامه هاي Port Scanner سيستم شخص مقابل را جستجو كنيد و اگر پورت بازي وجود داشت در صورت امكان از آن استفاده كنيد
يافتن تروجان فعال در سيستم مقابل :
خب مانند بالا بعضي از برنامه ها با دادن IP يك دستگاه آن دستگاه را براي تروجان هاي فعال جستجو مي كند و اگر پورت بازي مربوط به يك تروجان را پيدا كند به شما گزارش ميدهند
اما آيا ميتوان با دانستن IP يك شخص با برنامه هايي مانند SubSeven و.. به سيستم قرباني حمله كرد؟
در حالت عادي خير ، يعني اينكه براي كار كردن با برنامه هاي تروجان مانند Sub Seven بايد يك Server در سيستم قرباني فعال شود ( فايل سرور فايلي است كه با برنامه هاي تروجان مانند Sub Seven ساخته شده و بايد برروي سيستم قرباني اجرا شود و پس از اجراي فايل سرور يك پورت در سيستم قرباني باز ميشود كه راه نفوذ شخص را باز مي كند ) پس در نتيجه اگر قبلا فايل سروري برروي سيستم قرباني باز نشده باشد يا اينكه فايل سرور برروي سيستم او موجود نباشد شما هيچ كاري نميتوانيد بكنيد با برنامه هاي Trojan
چگونه كاري كنيم كه هيچ كسي نتواند آسيبي از طريق دانستن IP ما به ما برساند؟
خب تنها كاري كه شما بايد انجام بدهيد استفاده از يك فاير وال ( ديوار آتش ) Firewall در سيستم خودتان ميباشد.
اين برنامه ها پورتهاي باز شما را بسته و شما را در مقابل حمله احتمالي از طريق IP و همچنين دسترسي برنامه هاي مشكوك را به اينترنت ( براي ارسال يا دريافت اطلاعات ) محدود مي كند . برنامه هايي مانند ZoneAlarm يا Tiny Personal Firewall و...
مطالب گذشته به طور كلي با انواع شبكه ، كلاسهاي مختلف IP ، انواع پورتها و .. آشنا شديد . در بخش و چند بخش آینده به طور خلاصه مبحث TCP/IP را به عنوان پيش نيازي براي درسهاي آينده مي آموزيم .
مقدمات و نيازهاي شما براي يادگيري TCP/IP :
TCP/IP مبحثي بسيار پيچيده و گسترده است و يادگيري آن نياز به صرف وقت و تامل زيادي دارد. از اين رو براي يادگيري بهتر و عميق تر اين مهم كه پایه و اساس دروس شبكه در تمام سطوح است ، ميتوانيد به كتاب TCP/IP نوشته Joe Casad و Bob Willsey و يا RFC هايي كه در طي دروس معرفي مي شوند مراجعه كنيد . دروسي كه در پيش و روي شما قرار خواهد گرفت نيز به صورت طبقه بندي شده از همين منابع و مراجع خواهد بود .
تاريخچه و روند تشكيل پروتكل TCP/IP :
در ابتدا شبكه ها به صورت جداگانه فعاليت مي كردند و چيزي به عنوان شبكه WAN وجود نداشت به طور مثال هر اداره يك شبكه LAN براي خود راه اندازي ميكرد و فعاليت هاي خود را در آن انجام ميداد.براي اينكه شبكه ها پروتكل هاي خصوصي طراحي مي شد و شبكه براساس سياستهاي تعريف شده در آن پروتكل شروع به فعاليت مي كرد .
با گذشت زمان وزارت دفاع آمريكا به اين فكر افتاد كه تمام شبكه هاي خود را به هم متصل كند تا اطلاعات نظامي مورد نياز را به راحتي در اختيار ادارات خود قرار دهد اما براي اين كار يك مشكل بسيار بزرگ وجود داشت و آن عدم همخواني پروتكل هاي مختلف با يكديگر بود .
براي حل اين مشكل محققان و مهندسان شبكه شروع به ساخت و طراحي پروتكلي كردند كه براي تمام شبكه ها قابل استفاده و در جهت حفظ اطلاعات نظامي وزارت دفاع از امنيت خوبي برخوردار باشد. نتيجه اين تلاش و كوشش بوجود آمدن پروتكلي به نام ARPnet شد كه شبكه هاي LAN وزارت دفاع آمريكا را به يكديگر متصل مي كرد .
چند سال بعد موسسه علوم ملي آمريكا به منظور برقراري ارتباط بين مراكز تحقيقات مختلف شروع به گسترش شبكه هاي كامپيوتري كرد . از آن پس تغييراتي در پروتكل ARPnet بوجود آمد تا به يك پروتكل واحد براي شبكه اي غير متمركز كه اكنون آن را اينترنت مي ناميم تبديل شود . پس از انجام اين تغييرات پروتكل ARPnet به پروتكل TCP/IP كه هم اكنون در تمامي شبكه ها مورد استفاده قرار ميگيرد تبديل شد.
ويژگي هاي مهم پروتكل TCP/IP :
از ويژگي هاي مهم پروتكل TCP/IP مي توان :
1- تعيين صحت انتقال داده ها
2- مسير يابي پويا را نام برد .
تعيين صحت انتقال داده ها :
براي انتقال اطلاعات در شبكه اي مبتني بر TCP/IP لازم است تا ابتدا داده ها به صورت بسته هايي اطلاعاتي كه به آنها packet گفته مي شود در آيند تا بتوان انها را برروي لايه فيزيكي شبكه ارسال كرد.
يك فايل براي اينكه قابل ارسال برروي لايه فيزيكي شبكه شود ساختار اوليه خود را از دست داده و به چندين Packet جداگانه تقسيم مي شود كه اين Packet ها يكي پس از ديگيري به طرف كامپيوتر مقصد حركت مي كنند . كامپيوتر مقصد پس از دريافت هر Packet به كامپيوتر مبدا Packet ي مبتني بر دريافت صحيح Packet فرستاده شده ارسال مي كند تا كامپيوتر مبدا Packet بعدي را بفرستد.
به اين ترتيب تمام Packet ها به طور صحيح به مقصد رسيده و در آنجا پس از اسمبل شدن به صورت فايل اوليه در مي آيد.
مسير يابي پويا :
درشبكه هاي بزرگ مانند اينترنت كه از صدها هزار شبكه كوچك و بزرگ تشكيل شده است براي اين كه بتوانيم اطلاعاتي را از شبكه خود به شبكه اي ديگر انتقال دهيم بايد از وسيله اي به نام مسير ياب كمك بگيريم.
وظيفه مسير يابRouter انتقال داده از يك شبكه به شبكه اي ديگر است به گونه اي كه داده از كوتاهترين مسير ممكن به مقصد برسد.
در اين مقاله آموزش می دیم چه جوري IP خودتون را با يه IP ديگه از همون Range عوض کنين. هر موقع که به اينترنت وصل ميشين، پروتکل DHCP به شما يه IP تخصيص ميده. عوض کردن اين IP کار چندان سختي نيست و البته ميتونه مفيد هم باشه! موقعي که شما تحت حمله DDoS هستين يا وقتي که ميخواين تمامي درخواستها به يه وب سرور رو به طرف خودتون Redirect کنين يا فرضاً وقتي که IP شما بسته شده و ميخواين به جاي اون از يه IP ديگه در Range خودتون استفاده کنين و يا ... به تغيير دادن IP احتياج پيدا ميکنين.
قبل از اينکه شما بتونين IP خودتون رو عوض کنين، بايد يه سري اطلاعات جمع کنين. اين اطلاعات عبارتند از : محدوده IP شما، Subnet Mask، مدخل (Gateway) پيش گزيده، سرور DHCP و سرورهاي DNS
1. به دست اوردن محدوده IP : بدست اوردن IPRange اصلاً سخت نيست! فرض کنيد IP شما 24.193.110.255 باشه. شما ميتونين به طور مشخص از محدوده زير براي IP جديد خودتون انتخاب کنين :
24.193.110.1 < [آي پي جديد] < 24.193.110.255 بدست آوردن ip رو قبلآ گفتیم
2. به دست اوردن SubnetMask، مدخل، سرورDHCP و DNS : به دست اوردن اينها هم سادهاست! يه خط فرمان DOS باز کنين و توش تايپ کنين ipconfig /all شما حالا بايد بتونين يه چيزي شبيه به اين ببينين :
Windows IP Configuration
Host Name . . . . . . . . . . . . : My Computer Name
Primary Dns Suffix . . . . . . . :a
Node Type . . . . . . . . . . . . : Unknown
IPRouting Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : Yes
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : a
Description . . . . . . . . . . . : Realtek RTL8139/810xFamily Fast Ethernet NIC
Physical Address. . . . . . . . . : 00-C0-33-CF-EE-A3
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.5
Subnet Mask . . . . . . . . . . . : 255.255.0.0
IP Address. . . . . . . . . . . . : 192.168.1.5
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.1
خوب! اين تموم اطلاعاتي بود که نياز داشتين. بهتره اون خط فرمان DOS رو باز نگه دارين يا اينکه اطلاعاتش رو کپي کنين. (ستور را نوشته بعد از علامت < نام فایل متنی مورد نظر را مینویسید تا اطلاعات در آن کپی شود.)
مثال:
c:\> ipconfig /all > yourtextname.txt
3. عوض کردن IP : براي عوض کردن IP خودتون، اول بايد يه IP انتخاب کنين (يادتون نره که تو محدوده باشه!) به نظر من بهتره اول مطمئن بشين که اين IP جديد مُرده! (همون Dead) بلدين که چطوري؟ اين IP رو پينگ کنين و اگه TimeOut داد مطمئن باشين که ميشه ازش استفاده کرد. حالا در Control Panel بريد به NetworkConnections و روي Connection فعال دابل کليک کنين. دکمه Properties رو بزنين و بريد به برگه Networking. حالا (Internet Protocol (TCP/IP رو انتخاب کنين و دکمه Properties رو بزنين. در پنجره جديدي که باز شده، قسمتهاي Use the following IP address و Use the following DNS server addressesرو با توجه به اطلاعاتي که در قسمت 2 به دست اوردين پر کنين. در قسمت اول، IP اي رو که انتخاب کرديد (IP جديد) و در قسمت دوم، آدرس DNSServer رو وارد کنين. حالا تغييرات رو ثبت و تأييد کنين. فقط يه تست کوچيک مونده! در مرورگر خودتون، آدرس يه سايت رو وارد کنين. اگه صفحه سايت اومد، بدونين که با IP جديد دارين کار ميکنين. براي اينکه مطمئن بشين که تغييرات اعمال شدن، دوباره در خط فرمان DOS تايپ کنين ipconfig /all اگه پس از اجراي اين دستور، IP و DNS جديد رو ديديد، بدونين که درست عمل کرديد.
حملات DDoS و DoS
اگه فايروال شما نشون بده که شما تحت يه حمله DDoS هستين، اين معمولاً موقعيه که شما داريد از طرف يک يا چند تا IP از طريق UDP مورد حمله قرار ميگيرين. در اين حالت شما ميتونين با استفاده از روش "عوض کردن IP" که در بالا توضيح داده شد، از خودتون محافظت کنين.
وب سرورها و سرويس هاي ديگه
اگه شما ميدونين که در محدوده IP شما يه وب سرور قرار داره، ميتونين IP اون رو بدزدين و خودتون يه وب سرور بشين! به اين ترتيب هر درخواست DNS اي که براي اون IP ارسال بشه، به شما Redirect ميشه و به جاي اون سايت، صفحه شما نشون داده ميشه!
آشنايي با Netstat
اين دستور که با سويچ هاي ديگري هم استفاده ميشه يکي از دستورايي هست که همه هکر ها اول باهاش آشنا ميشن.که با تايپ اين دستور شما متوجه آي پي سيستمها و پورتهايي که با آنها در ارتباط هستيد ميشويد و مشاهده ميکنيد که چه پورتهايي Listening و يا Established هستن اين باعث ميشود اگر پورتي مخصوص يک تروجن مثل 27374 که پورت اصلي Sub7 هست در سيستم شما باز بود شما متوجه اين پورت باز بروي سيستمتان بشويد.
اگر در قسمت Foreign Address هم يک آي پي بوسيله پورتي به سيستم شما وصل بود شما به سرعت متوجه مي شويد که يک نفر با آن آيپي در سيستم شماست ، پس اين راهيست که متوجه گرديد سيستمتان آسيب پذير است يا نه ، براي مثال من با تايپ دستور Netstat درCommand Promp پس از اتصال به اينتر نت نتايج زير را گرفتم :
C:\WINDOWS>netstat
ActiveConnections
ProtoLocalAddressForeignAddressState
TCP Midia: 1454cs33.msg.sc5.yahoo.com:5050ESTABLISHED
TCPMidia: 1488 63.123.44.222:80ESTABLISHED
TCP Midia: 1491 opi1.vip.sc5.yahoo.com:80TIME_WAIT
TCPMidia: 1497 64.187.54.23:80ESTABLISHED
TCPMidia: 1498 64.187.54.23:80ESTABLISHED
همانطور که ملاحظه ميکنيد اين دستور گاهي اوقات اسم صاحب سيستم کلاينتي که شما با آن در ارتباط هستيد را نيز ميدهد و چون اينجا من با کسي در PM نبودم اسم کسي را نميبينيد ولي اگر کسي با من چت کند و دستور Netstat را اجرا كند اسم را ميبيند و متوجه ميشود کهMidia صاحب آن سيستم کلاينتي مي باشدکه در حال چت كردن با آن است و همچنين در اين قسمت مشخص است که من با پورت 5050 با ياهو مسنجر ارتباط برقرار کرده ام و نيز نتايجي که در زير Local Address مشخص است اطلاعاتي درباره خود من مي باشد . و نتايجي که در Foreign Address بدست مياد مشخص ميکند که ما با چه سرور يا کلاينتي در ارتباط هستيم . که در سطر پنجم مثال بالا يعني 63.123.44.222:80 آيپي سايت ياهو مي باشد و مشخص ميكند كه من در سايت ياهو بوده و به وسيله پورت 80 که پورت Http ميباشد با اين وب سرور ارتباط برقرار کرده ام و در قسمت Status هم مشخص ميشود که شما با چه پورتهايي Established هستيد يعني ارتباط برقرار کرده و وصل هستيد و چه پورتهايي Listening يا منتظر Request و در حال شنيدن مي باشيد ، بنابراين با دستور Netstat مي شود يک عمل مانيتورينگ از تمام آيپي ها - پورتها و ماشينهايي که شما با آنها در ارتباط هستيد گرفت .
دستور?/ Netstat :
Help برنامه Netstat را معرفي ميکند و سويچ هاي که ازش ميتوان استفاده کرد و در مقابل هر سويچ در مورد کار آن توضيح مختصري ميدهد.
دستور Netstat -n :
با اين دستور ميتوان آيپي و پورت سيستمي که شما با آن در ارتباط هستيد را بدست آورد .
براي مثال وقتي شما با يک نفر در ياهو مسنجر چت ميکنيد پورت ۵۰۵۰ روي سيستم open هست چون ياهو از پورت ۵۰۵۰ استفاده ميکند پس با تايپ netstat -n خواهيد داشت: پ
Active Connections
Proto Local Address Foreign Address State
TCP 217.219.223.21:1425 216.136.175.226:5050 TIME_WAIT
TCP 217.219.223.21:1431 64.242.248.15:80 ESTABLISHED
TCP 217.219.223.21:1437 217.219.223.38:5101 ESTABLISHED
همانطور که ملاحظه ميکنيد من در اين لحظه با آيپي 217.219.223.38 در حال چت کردن بودم که اشتراکش هم از رايانه روش بوده (مثل خودم)و آي پي خود نيز پروتکلي که ما بوسيله آن با يک سيستم ارتباط برقرار کرديم Proto مشخص ميشود در قسمت Local Address من هم TCPارتباط برقرار شده است.
دستور Netstat -na :
با تايپ کردن اين دستور در Command Prompt تمام پورتهايي که داده ها و بسته ها را مي فرستند مشخص ميشود ، نشان " na " در تمام دستورات به معني نمايش همه پورتها و ليست کردن آدرسهاي شبکه و شماره فرمها در يک قالب عددي مي باشد ، براي مثال من با تايپ اين فرمان در Command Prompt اين نتايج را گرفتم :
C:\WINDOWS>netstat -na
Active Connections
Proto Local Address ForeignAddress State
TCP 0.0.0.0:1954 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5101 0.0.0.0:0 LISTENING
TCP 217.219.223.21:1954 207.46.106.21:1863 ESTABLISHED
TCP 217.219.223.21:1971 216.136.225.36:5050 ESTABLISHED
TCP 217.219.223.21:2031 63.121.106.74:80 TIME_WAIT
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
*:* UDP 0.0.0.0:1958
*:* UDP 64.110.148.59:9
*:* UDP 64.110.148.59:137
*:* UDP 64.110.148.59:138
خب ميبينيد که پورتهاي باز روي سيستم من ليست شده است. مثل 1954-1971-2031
دستور Netstat -a :
اين دستور نيز مثل دستور Netstat -an يا na- عمل ميکنه فقط فرقش در اينه که اين دستور پورتها را با معادل اسميشان نشان ميدهد ، براي مثال پورت 139 را با معادل اسميش يعني Netbios نشان ميدهد و همچنين مانند دستور Netstat اسم صاحب سيستم را پرينت ميكند .(اين دستور براي تست کردن نقطه ضعفها و پورتهاي باز در سيستم هاي خودمان بسيار مفيد ميباشد و اگر سيستم آلوده به تروجن بود ميشود از اين دستورها و کلاً برنامه Netstat اين موضوع را فهميد ، پس آنهايي که سوال ميکنند ما چگونه بفهميم سيستم خودمان آلوده به تروجن هست يا نه ، استفاده از اين دستور و کلاً دستورات Netstat ميتواند خيلي به آنها کمک کند )
دستور Netstat -p xxx :
منظور از xxx يعني آن پروتکلي که شما در نظر داريد که ميتواند TCP و UDP باشد.
دستور Netstat -e :
اين دستور نيز يکي از دستورات Netstat است که آماري از ارتباطها و بسته ها و شماره هاي ارسال و ذخيره بسته ها و داده ها را نشان ميدهد .(اين دستور بيشتر براي ويندوزهاي 98 , me و همينطور مودمهايي که آمار بسته ها را نميدهند خوب و مفيد است چون در ويندوز 2000 – XP قسمتي از اين آمار براحتي در اختيار User قرار ميگيرد ، و شما ميتونيد با استفاده از اين دستور ترافيک ISP و شبکه را ببينيد و همينطور برنامه هايي که در حال دانلود هستسد را چک کنيد و يا اگر بسته اي در ارسالش مشکلي پيش بياد ميتوانيد در قسمت Errors مشاهده کنيد ، ...)
دستور Netstat -r :
اين دستور توسط کاربران معمولي اينترنت زياد بکار گرفته نمي شود چون درک بعضي از گزينه هاش براي کاربران عادي دشوار ، بحرحال اين دستور جزييات دقيقي مثل آدرس Gateway - Interface Metric -Netmask , ... درباره آدرس آي پي شما در شبکه ميدهد ، همچنين در ويندوزهاي8 9 - ME کار دستور Netstat -a را هم انجام ميدهد
================================================== =========================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 13 dd bb 72 d7 ...... Intel(R) PRO/Wireless 2200BG Network Connection - Packet Scheduler Miniport
0x10004 ...00 e0 ee cf c3 a3 ...... Realtek RTL8139/810x Family Fast Ethernet NIC - Packet Scheduler Miniport
================================================== =========================
================================================== =========================
Active Routes:
Network Destination NetmaskGateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.5 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 169.254.224.220 169.254.224.220 30
169.254.224.220 255.255.255.255 127.0.0.1 127.0.0.1 30
169.254.255.255 255.255.255.255 169.254.224.220 169.254.224.220 30
192.168.0.0 255.255.0.0 192.168.1.5 192.168.1.5 20
192.168.0.5 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.0.255 255.255.255.255 192.168.1.5 192.168.1.5 20
192.168.1.5 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.255 255.255.255.255 192.168.1.5 192.168.1.5 20
224.0.0.0 240.0.0.0 169.254.224.220 169.254.224.220 30
224.0.0.0 240.0.0.0 192.168.1.5 192.168.1.5 20
255.255.255.255 255.255.255.255 169.254.224.220 169.254.224.220 1
255.255.255.255 255.255.255.255 192.168.1.5 192.168.1.5 1
Default Gateway: 192.168.1.1
================================================== =========================
Persistent Routes:
None
RouteTable
1. درس اول: IPچیست؟
شماره ايست که به هر کامپيوتر متصل به اينترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی که معمولا به روشی غير از شمارهگيری (DialUp) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل میشويد، عددی جديد به شما نسبت داده میشود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی بهصورت زير نوشته میشود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی اسمهايی مثل www.yahoo.com که برای اتصال استفاده میکنيد، در نهايت بايد به يک IP تبديل شود، تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضيح میدهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددی که به عنوان xxx اول میگيريد، مابين 192 تا 223 خواهد بود.اين توضيح برای تشخيص کامپيوترهای کلاينت از سرور (حداقل در ايران) بسيار میتواند مفيد باشد.
بعد از اتصال به اينترنت برای به دست آوردن IP خود، از دستور IPCONFIG در commandprompt استفاده کنيد.
1. درس دوم: تقسيم بندی آدرسهای 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 يعنی خودمان.
1. درس سوم: بهدست آوردن IP خودتان بعد از اتصال به اينترنت
1- به روش های قبل IP خودتان را پیدا کنید.
Connection-specific DNSSuffix . : a
IPAddress. . . . . . . . . . . . : 217.66.198.116
SubnetMask . . . . . . . . . . . : 255.255.255.255
DefaultGateway . . . . . . . . . : 217.66.198.116
که آدرس ip تان را میتوانيد در سطر IpAddress ببينيد. (مسئله ****** را فعلا ناديده بگيريد)
۲- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور netstat -n را در command prompt تايپ کنيد. من با تايپ اين دستور به نتايج زير رسيدم:
ActiveConnections
Proto LocalAddress Foreign Address State
TCP 217.66.198.116:2469 64.58.76.177:80ESTABLISHED
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:80SYN_SENT
ستونی که زير عبارت LocalAddress قرار دارد، ip من در آن اتصال است. بنابراين ip من در آن اتصال 217.66.198.116 بوده است.
1. درس چهارم: Port چيست؟
پورت به طور کلی به درگاه های ورودی و خروجی کامپوتر گفته می شود که حتما مثل پورت موس و کی بورد وجود خارجی ندارند بلکه درگاه های منطقی باشند که هر سيستم 65535 پورت تی سی پی و 65535 پورت يو دی پی دارد . ليستی از پورت های معروف و مورد استفاده:
7
tcpecho
11
tcpsystat
19
tcpchargen
21
tcpftp-data
22
tcpssh
23
tcptelnet
25
tcpsmtp
42
tcpnameserver
43
tcpwhois
49
udptacacs
53
udpdns-lookup
53
tcpdns-zone
66
tcporacle-sqlnet
69
udptftp
79
tcpfinger
80
tcphttp
81
tcpalternativeforhttp
88
tcpkerberosoralternativeforhttp
9
tcppop2
110
tcppop3
111
tcpsunrpc
118
tcpsqlserv
119
tcpnntp
135
-or-dec
139
tcpnetbios
143
tcpimap
161
udpsnmp
162
udpsnmp-trap
179
tcpbgp
256
tcpsnmp-checkpoint
389
tcpldap
396
tcpnetware-ip
407
tcptimbuktu
443
tcphttps/ssl
445
tcpms-smb-alternate
445
udpms-smb-alternate
500
udpipsec-internet-key-exchange(ike)a
513
tcprlogin
513
udprwho
514
tcprshell
514
udpsyslog
515
tcpprinter
515
udpprinter
520
udprouter
524
tcpnetware-ncp
799
tcpremotelypossible
1080
tcpsocks
1313
tcpbmc-patrol-db
1352
tcpnotes
1433
tcpms-sql
1494
tcpcitrix
1498
tcpsybase-sql-anywhere
1524
tcpingres-lock
1525
tcporacle-srv
1527
tcporacle-tli
1723
tcppptp
1745
tcpwinsock-proxy
2000
tcpremotely-anywhere
2001
tcpcisco-mgmt
2049
tcpnfs
2301
tcpcompaq-web
2447
tcpopenview
2998
tcprealsecure
3268
tcpms-active-dir-global-catalog
3268
udpms-active-dir-global-catalog
3300
tcpbmc-patrol-agent
3306
tcpmysql
3351
tcpssql
3389
tcpms-termserv
4001
tcpcisco-mgmt
4045
tcpnfs-lockd
5631
tcppcanywhere
5800
tcpvnc
6000
tcpxwindows
6001
tcpcisco-mgmt
6549
tcpapc
6667
tcpirc
8000
tcpweb
8001
tcpweb
8002
tcpweb
8080
tcpweb
9001
tcpcisco-xremote
12345
tcpnetbus
26000
tcpquake
31337
udpbackorifice
32771
tcprpc-solaris
32780
udpsnmp-solaris
43188
tcpreachout
65301
tcppcanywhere-def
از ميان پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و ۱۱۹ فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد.
1. درس پنجم: چگونه به يک پورت Telnet کنيم؟
برای اينکه عملکرد يک پورت برای شما روشن شود، بايد به آن پورت Telnet کنيد. (البته معمولا تعدادی از پورتهايی را که ممکن است اطلاعاتی مهم را در اختيار هکرها قرار دهند مثل پورت ۷۹ معمولا بسته است و ارتباط با آنها شايد برقرار نشود.) برای telnet کردن در commandprompt دستور زير را تايپ کنيد
:telnet hostnameportnum
در اين دستور بهجای hostname شماره ip و يا نام سايت را وارد میکنيد و بهجای portnum شماره پورت و يا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاريخ را بهدست میدهد در کامپيوتری به اسم (http://www.njavan.com/forum/register.php)
مينويسيد:
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 يادتون نره درترسيم مسير برای آينده:
1- اولين و مهمترين تصميم انتخاب نوع کامپيوتری است که میخواهيد هک کنيد ( کلاينت يا سرور )، زيرا روشهک کردن ايندو بجز در مراحل ابتدايی کاملا متفاوت است.
۲- دومين گام انتخاب يک کامپيوتر مشخص (مثلا کامپيوتری که فلان سايت را نگه میدارد که مثالی برای کامپيوتر سرور است و يا کامپیوتر فلان شخصی که با او چت میکنيد که مثالی برای کامپيوتر کلاينت است) و جمعآوری اطلاعات در مورد آن است. اين جمعآوری اطلاعات از قربانی (
Victim) را Footprinting گويند.
اولين مشخصهای که بايد کشف شود، ip اوست. يکی ديگر از اطلاعات مهم که معمولا دنبالش هستيم، پيدا کردن نوع سيستمعامل و نيز برنامههايی است که کامپيوتر شخص از آنها بهره میبرد.
يکی از مهمترين ( و گاه خطرناکترين) کارها، تستکردن پورتهای آن کامپيوتر برای ديدن اينکه کدام پورتها باز و کدامها بسته هستند.
۳- مرحله بعدی در واقع شروع تلاش برای نفوذ به سيستم است. اين نفوذ سطوح مختلف دارد و بالاترين آن که در کامپيوترهای سرور روی میدهد، حالتی است که بتوان
username و password مربوط به مدير کامپيوتر (administrator) يا supervisor یا ... را بهدست آورده و از طريق اين Shell Account به نهايت نفوذ دست يابيم ولی گاه بهدلايل مختلف (مربوط به سطح علمی خود و ... ) نمیتوان به اين سطح دستيافت اما به هر حال برای مرحله بعدی میتواند استفاده شود.
اين مرحله جايی است که هنر شما يه عنوان يک هکر آغاز شده و نيز به پايان میرسد.
۴- اين مرحله بعد از نفوذ روی میدهد که در آن به يک سطحی از کنترل سيستم رسيدهايد. رفتار شما در اين مرحله مشخص میکند که چه نوع هکر هستيد(سامورايی، واکر و يا کراکر) و اينکه آيا جنبه ياد گرفتن را داشتهايد يا نه، همينجا مشخص خواهد شد.
۵- مرحله آخر پاک کردن ردپاست تا گير نيفتيم
البته بعضی وقتها برای کلاس گذاشتن بايد گير بيفتيم
بعضی از سيستمها آمار login را نگه میدارند که در مورد آنها اين مرحله بسيار مهم است.
خلاصه مطالب بالا به اين صورت است:
Selection -> FootPrinting -> Penetration -> [Changings] -> Cleaning
سلام بر همه دوستان مطالب ارائه شده مجموعه ای از مطالب جمع آوری شده از جاهای مختلف برای آشنایی دوستان فقط میباشد.
امیدوارم فقط جنبه آموزشی داشته باشه و فقط راهی برای مبارزه با روشهای هک شدن باشه....
هکر کسی است که با سيستم های کامپيوتری آشناست و میتواند با استفاده از آن کار های خود را بدون اجازه انجام دهد
- سوال: يک هکر از چه راهی وارد يک سيستم میشود؟
از راه شبکه (نه بابا ! )
بايد توجه کنيد که هر سيستم کامپيوتری (به عبارت بهتر هر سيستم عامل) به هر حال محصول کار تعدادی انسان است و حتما دارای تعدادی bug (خطاهايی که بعد از ارائه محصول به بازار به تدريج کشف میشوند) خواهد بود. بعد از اينکه يک باگ مشخص شد، شرکت ها نرمافزارهايی را بهسرعت (در عرض چند ساعت ) ايجاد میکنند تا مشکل رفع شود اينها را patch میگويند. و بعد مديران شبکه (Webmasters) در عرض چند روز تا چند سال (اين آخری در مورد ايرانه) آنها را download کرده و مشکل را حل میکنند. در اين فاصله هکرها دمار از روزگار اين سايتها درمیاورند...
انواع مختلف هکرها و نوع کارهایشان:
*** Hacker واقعی سامورايی :کسی که هدفش از نفوذ به سيستمها نشان دادن ضعف سيستمهای کامپيوتری است نه سوءاستفاده ...
***Wacker واکر:کسی که هدفش از نفوذ به سيستمها، استفاده از اطلاعات آن سيستمهاست (جرو هکرهای کلاه سياه)
***Cracker کراکر:کسی که هدفش از نفوذ به سيستمها، خرابکاری و ايجاد اختلال در سيستمهای کامپيوتری است. (جرو هکرهای کلاه سياه)
***Preaker :از قديمیترين هکرها هستند که برای کارشان نياز (و دسترسی) به کامپيوتر نداشتند و کارشان نفوذ به خطوط تلفن برای تماس مجانی، استراقسمع و ... بود. اين جزو آموزش من نيست چون کار خيلی بديه (-;
انواع هکرها از دیدگاهی دیگر:
1-جوجههکرها (احمق کوچولوها):
توانايیها: بلدند از Sub 7 , 187استفاده کنند و فکر کنند ديگه همهچی رو ياد گرفتهاند !
2- خروسهکرها يا مرغهکرها (احمقهای بزرگتر):
توانايیها: Mail Box را هم میتوانند Bomb کنند ... ماشاءالله !
3-هکرهای قابلاحترام :
دارند ياد میگيرند و هنوز ۲،۳ سال کار دارند.
4-هکرهای پيشکسوت:
ديگه آفتاب لبه بومه ... هکرهای قابل احترام را دوس دارند
تقسيمبندی سیستمها و انواع کامپيوترهای شبکه:
=> کامپيوترهای Server : کامپيوترهايی که کارشان تامين اطلاعات در شبکه است، مثلآ کامپيوترهايی که سايتها را نگه میدارند.
=> کامپبوترهای Client : کامپيوترهايی که استفاده کننده هستند مثل همين کامپيوتر خودتان که داريد ازش کار میکشيد.
انواع سيستم عاملهايی که Server ها از آن استفاده میکنند:
سيستمهای فعلی:
o خانواده Unix مثل (FreeBSD, Linux, SunSolaris )
o خانواده Windows مثل ( WinNT, Win2000)
o OsMac سيستمهای قديمی((AIX, IRIS, DEC10, DEC20
سوال: کدامها را بايد ياد گرفت؟
Win2000, UnixLinux)) را بايد ياد بگيريد. پيشنهاد من اين است که Win2000و RedHatLinux را روی کامپيوتر خود همزمان داشته باشيد.
برای شروع چه چيزی لازم است؟
4. Win2000 , Linuxرا روی کامپيوتر خود نصب کرده و شروع به يادگيری کنيد.
5. شروع به يادگيری زبان C کنيد.
6. شروع به يادگيری TCP/IP کنيد. (يک کتاب بخريد)
7. مهمترين چيز علاقه به طی کردن يک راه بسييييييار طوووووولانی
- تقسيمبندی انواع حملات
8. حمله به روش Denial of ServiceAttack) Dos)
9. حمله به روش Exploit
10. حمله به روش InfoGathering تلنت کردن
11. حمله به روش Disinformation
تعریف IP و PORT
IP :
شماره ايست که به هر کامپيوتر متصل به اينترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی که معمولا به روشی غير از شمارهگيری (Dial Up) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل میشويد، عددی جديد به شما نسبت داده میشود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی بهصورت زير نوشته میشود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی اسمهايی مثل www.yahoo.com که برای اتصال استفاده میکنيد، در نهايت بايد به يک IP تبديل شود، تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضيح میدهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددی که به عنوان xxx اول میگيريد، مابين 192 تا 223 خواهد بود.
اين توضيح برای تشخيص کامپيوترهای کلاينت از سرور (حداقل در ايران) بسيار میتواند مفيد باشد.
بعد از اتصال به اينترنت برای به دست آوردن IP خود، از دستور IPCONFIG در commandprompt استفاده کنيد. (البته يک سری نکات فنی داريم که بعدا میگم)
Port:
در ساده ترين تعريف، محلی است که دادهها وارد با خارج میشوند. در مبحث هک معمولا با پورتهای نرمافزاری سروکار داريم که به هر کدام عددی نسبت میدهيم. اين اعداد بين ۱ و ۶۵۵۳۵ هستند. معمولا به يک سری از پورتها کار خاصی را نسبت میدهند و بقيه بهصورت پيشفرض برای استفاده شما هستند. پورتهای که فعال هستند، هرکدام توسط يک نرمافزار خاص مديريت میشوند. مثلا پورت ۲۵ برای ارسال Email است، بنابراين بايد توسط يک نرمافزار اين کار انجام شود و اين نرمافزار بر روی پورت ۲۵ منتظر (فالگوش) میماند. اينجا ممکن است شخصی از فلان نرمافزار و ديگری از بهمان نرمافزار استفاده کند ولی بههر حال پورت ۲۵ هميشه برای ارسال Email است.
در پايين ليستی از مهمترين پورتها و کاربردشان را میبينيد:
Port Num Service Why it is phun!
7 echo Hostrepearts what you type
9 discardDev/null
11 systatLots ofinfo on users
13 daytime Time and date at computerslocation
15 netstatTremendous info on networks
19 chargenPours out a stream of ASCIIcharacters
21 ftp Transfers files
23 telnet Where you login
25 smptForgeemail
37 time Time
39 rlpResource location
43 whoisInfo on hosts andnetworks
53 domain Nameserver
70 gopher Out-of-date infohunter
79 finger Lots of info on users
80 http Webserver
110 pop Incoming email
119 nntp Usenet news groups -- forge posts, cancels
443 shttpAnother web server
512 biff Mailnotification
513 rlogin Remote login
who Remote who anduptime
514 shell Remote command, no password used!
syslogRemotesystem logging
520 route Routing informationprotocol
از ميان اين پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و۱۱۹فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد.
RFC چيست؟
متون بسيار کامل ولی خشک و ثقيل که در مورد مفاهيم مختلف شبکه بحث میکنند. اين فايلها به صورت متنی و با پسوند txt هستند و بهعنوان مرجع (برای مراجعه و نه مطالعه کامل) کاربرد دارند. اين فايلها يکبار منتشر شده و هرگز تغيير داده نمیشوند (حتی اگر حاوی اشتباه باشند.)
- فايلهای RFC از کجا قابل دسترسی هستند؟
RFCها از سايتهای بسياری قابل دسترس هستند مثل :
- http://www.ietf.org/rfc/xxxxxxx.txt
که بهجای xxxxxxx نام rfc موردنظر را مینویسيم. مثلا برای دسترسی به rfc791 بايد آدرس را به صورت زير تايپ کنيم:
http://www.ietf.org/rfc/rfc791.txt
1. آيا با دانستن IP يك نفر ميشه از طريق برنامه SubSeven كسي را هك كرد!!!
-آيا كسي IP من را بداند مي تواند مرا هك كند ؟؟؟
- يكي IP من را دارد و مي گويد اگر فلان كار را نكني مانيتور تو رو مي سوزانم آيا ميتونه ؟؟
و ..... تصميم گرفتم كه يك سري از كارها كه ميشه با داشتن IP انجام داد را برايتان شرح بدم
قطع ارتباط شخص با اينترنت :
شما ميتوانيد با استفاده از برنامه هايي مانند IPDisconnect يا Rocket و دانستن IP شخص مقابل او را از اينترنت بيرون بندازيد
كند كردن سرعت ارتباط شخص با اينترنت :
با استفاده از برنامه هايي مانند Vai-te-ja-icmpBomber و... با فرستادن Packet هاي بسيار در يك زمان سرعت شخص را عملا كاهش دهيد ....
پيدا كردن پورت هاي باز :
وقتي كه IP يك فرد را داشته باشيد ميتوانيد با استفاده از برنامه هاي Port Scanner سيستم شخص مقابل را جستجو كنيد و اگر پورت بازي وجود داشت در صورت امكان از آن استفاده كنيد
يافتن تروجان فعال در سيستم مقابل :
خب مانند بالا بعضي از برنامه ها با دادن IP يك دستگاه آن دستگاه را براي تروجان هاي فعال جستجو مي كند و اگر پورت بازي مربوط به يك تروجان را پيدا كند به شما گزارش ميدهند
اما آيا ميتوان با دانستن IP يك شخص با برنامه هايي مانند SubSeven و.. به سيستم قرباني حمله كرد؟
در حالت عادي خير ، يعني اينكه براي كار كردن با برنامه هاي تروجان مانند Sub Seven بايد يك Server در سيستم قرباني فعال شود ( فايل سرور فايلي است كه با برنامه هاي تروجان مانند Sub Seven ساخته شده و بايد برروي سيستم قرباني اجرا شود و پس از اجراي فايل سرور يك پورت در سيستم قرباني باز ميشود كه راه نفوذ شخص را باز مي كند ) پس در نتيجه اگر قبلا فايل سروري برروي سيستم قرباني باز نشده باشد يا اينكه فايل سرور برروي سيستم او موجود نباشد شما هيچ كاري نميتوانيد بكنيد با برنامه هاي Trojan
چگونه كاري كنيم كه هيچ كسي نتواند آسيبي از طريق دانستن IP ما به ما برساند؟
خب تنها كاري كه شما بايد انجام بدهيد استفاده از يك فاير وال ( ديوار آتش ) Firewall در سيستم خودتان ميباشد.
اين برنامه ها پورتهاي باز شما را بسته و شما را در مقابل حمله احتمالي از طريق IP و همچنين دسترسي برنامه هاي مشكوك را به اينترنت ( براي ارسال يا دريافت اطلاعات ) محدود مي كند . برنامه هايي مانند ZoneAlarm يا Tiny Personal Firewall و...
مطالب گذشته به طور كلي با انواع شبكه ، كلاسهاي مختلف IP ، انواع پورتها و .. آشنا شديد . در بخش و چند بخش آینده به طور خلاصه مبحث TCP/IP را به عنوان پيش نيازي براي درسهاي آينده مي آموزيم .
مقدمات و نيازهاي شما براي يادگيري TCP/IP :
TCP/IP مبحثي بسيار پيچيده و گسترده است و يادگيري آن نياز به صرف وقت و تامل زيادي دارد. از اين رو براي يادگيري بهتر و عميق تر اين مهم كه پایه و اساس دروس شبكه در تمام سطوح است ، ميتوانيد به كتاب TCP/IP نوشته Joe Casad و Bob Willsey و يا RFC هايي كه در طي دروس معرفي مي شوند مراجعه كنيد . دروسي كه در پيش و روي شما قرار خواهد گرفت نيز به صورت طبقه بندي شده از همين منابع و مراجع خواهد بود .
تاريخچه و روند تشكيل پروتكل TCP/IP :
در ابتدا شبكه ها به صورت جداگانه فعاليت مي كردند و چيزي به عنوان شبكه WAN وجود نداشت به طور مثال هر اداره يك شبكه LAN براي خود راه اندازي ميكرد و فعاليت هاي خود را در آن انجام ميداد.براي اينكه شبكه ها پروتكل هاي خصوصي طراحي مي شد و شبكه براساس سياستهاي تعريف شده در آن پروتكل شروع به فعاليت مي كرد .
با گذشت زمان وزارت دفاع آمريكا به اين فكر افتاد كه تمام شبكه هاي خود را به هم متصل كند تا اطلاعات نظامي مورد نياز را به راحتي در اختيار ادارات خود قرار دهد اما براي اين كار يك مشكل بسيار بزرگ وجود داشت و آن عدم همخواني پروتكل هاي مختلف با يكديگر بود .
براي حل اين مشكل محققان و مهندسان شبكه شروع به ساخت و طراحي پروتكلي كردند كه براي تمام شبكه ها قابل استفاده و در جهت حفظ اطلاعات نظامي وزارت دفاع از امنيت خوبي برخوردار باشد. نتيجه اين تلاش و كوشش بوجود آمدن پروتكلي به نام ARPnet شد كه شبكه هاي LAN وزارت دفاع آمريكا را به يكديگر متصل مي كرد .
چند سال بعد موسسه علوم ملي آمريكا به منظور برقراري ارتباط بين مراكز تحقيقات مختلف شروع به گسترش شبكه هاي كامپيوتري كرد . از آن پس تغييراتي در پروتكل ARPnet بوجود آمد تا به يك پروتكل واحد براي شبكه اي غير متمركز كه اكنون آن را اينترنت مي ناميم تبديل شود . پس از انجام اين تغييرات پروتكل ARPnet به پروتكل TCP/IP كه هم اكنون در تمامي شبكه ها مورد استفاده قرار ميگيرد تبديل شد.
ويژگي هاي مهم پروتكل TCP/IP :
از ويژگي هاي مهم پروتكل TCP/IP مي توان :
1- تعيين صحت انتقال داده ها
2- مسير يابي پويا را نام برد .
تعيين صحت انتقال داده ها :
براي انتقال اطلاعات در شبكه اي مبتني بر TCP/IP لازم است تا ابتدا داده ها به صورت بسته هايي اطلاعاتي كه به آنها packet گفته مي شود در آيند تا بتوان انها را برروي لايه فيزيكي شبكه ارسال كرد.
يك فايل براي اينكه قابل ارسال برروي لايه فيزيكي شبكه شود ساختار اوليه خود را از دست داده و به چندين Packet جداگانه تقسيم مي شود كه اين Packet ها يكي پس از ديگيري به طرف كامپيوتر مقصد حركت مي كنند . كامپيوتر مقصد پس از دريافت هر Packet به كامپيوتر مبدا Packet ي مبتني بر دريافت صحيح Packet فرستاده شده ارسال مي كند تا كامپيوتر مبدا Packet بعدي را بفرستد.
به اين ترتيب تمام Packet ها به طور صحيح به مقصد رسيده و در آنجا پس از اسمبل شدن به صورت فايل اوليه در مي آيد.
مسير يابي پويا :
درشبكه هاي بزرگ مانند اينترنت كه از صدها هزار شبكه كوچك و بزرگ تشكيل شده است براي اين كه بتوانيم اطلاعاتي را از شبكه خود به شبكه اي ديگر انتقال دهيم بايد از وسيله اي به نام مسير ياب كمك بگيريم.
وظيفه مسير يابRouter انتقال داده از يك شبكه به شبكه اي ديگر است به گونه اي كه داده از كوتاهترين مسير ممكن به مقصد برسد.
در اين مقاله آموزش می دیم چه جوري IP خودتون را با يه IP ديگه از همون Range عوض کنين. هر موقع که به اينترنت وصل ميشين، پروتکل DHCP به شما يه IP تخصيص ميده. عوض کردن اين IP کار چندان سختي نيست و البته ميتونه مفيد هم باشه! موقعي که شما تحت حمله DDoS هستين يا وقتي که ميخواين تمامي درخواستها به يه وب سرور رو به طرف خودتون Redirect کنين يا فرضاً وقتي که IP شما بسته شده و ميخواين به جاي اون از يه IP ديگه در Range خودتون استفاده کنين و يا ... به تغيير دادن IP احتياج پيدا ميکنين.
قبل از اينکه شما بتونين IP خودتون رو عوض کنين، بايد يه سري اطلاعات جمع کنين. اين اطلاعات عبارتند از : محدوده IP شما، Subnet Mask، مدخل (Gateway) پيش گزيده، سرور DHCP و سرورهاي DNS
1. به دست اوردن محدوده IP : بدست اوردن IPRange اصلاً سخت نيست! فرض کنيد IP شما 24.193.110.255 باشه. شما ميتونين به طور مشخص از محدوده زير براي IP جديد خودتون انتخاب کنين :
24.193.110.1 < [آي پي جديد] < 24.193.110.255 بدست آوردن ip رو قبلآ گفتیم
2. به دست اوردن SubnetMask، مدخل، سرورDHCP و DNS : به دست اوردن اينها هم سادهاست! يه خط فرمان DOS باز کنين و توش تايپ کنين ipconfig /all شما حالا بايد بتونين يه چيزي شبيه به اين ببينين :
Windows IP Configuration
Host Name . . . . . . . . . . . . : My Computer Name
Primary Dns Suffix . . . . . . . :a
Node Type . . . . . . . . . . . . : Unknown
IPRouting Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : Yes
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : a
Description . . . . . . . . . . . : Realtek RTL8139/810xFamily Fast Ethernet NIC
Physical Address. . . . . . . . . : 00-C0-33-CF-EE-A3
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.5
Subnet Mask . . . . . . . . . . . : 255.255.0.0
IP Address. . . . . . . . . . . . : 192.168.1.5
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.1
خوب! اين تموم اطلاعاتي بود که نياز داشتين. بهتره اون خط فرمان DOS رو باز نگه دارين يا اينکه اطلاعاتش رو کپي کنين. (ستور را نوشته بعد از علامت < نام فایل متنی مورد نظر را مینویسید تا اطلاعات در آن کپی شود.)
مثال:
c:\> ipconfig /all > yourtextname.txt
3. عوض کردن IP : براي عوض کردن IP خودتون، اول بايد يه IP انتخاب کنين (يادتون نره که تو محدوده باشه!) به نظر من بهتره اول مطمئن بشين که اين IP جديد مُرده! (همون Dead) بلدين که چطوري؟ اين IP رو پينگ کنين و اگه TimeOut داد مطمئن باشين که ميشه ازش استفاده کرد. حالا در Control Panel بريد به NetworkConnections و روي Connection فعال دابل کليک کنين. دکمه Properties رو بزنين و بريد به برگه Networking. حالا (Internet Protocol (TCP/IP رو انتخاب کنين و دکمه Properties رو بزنين. در پنجره جديدي که باز شده، قسمتهاي Use the following IP address و Use the following DNS server addressesرو با توجه به اطلاعاتي که در قسمت 2 به دست اوردين پر کنين. در قسمت اول، IP اي رو که انتخاب کرديد (IP جديد) و در قسمت دوم، آدرس DNSServer رو وارد کنين. حالا تغييرات رو ثبت و تأييد کنين. فقط يه تست کوچيک مونده! در مرورگر خودتون، آدرس يه سايت رو وارد کنين. اگه صفحه سايت اومد، بدونين که با IP جديد دارين کار ميکنين. براي اينکه مطمئن بشين که تغييرات اعمال شدن، دوباره در خط فرمان DOS تايپ کنين ipconfig /all اگه پس از اجراي اين دستور، IP و DNS جديد رو ديديد، بدونين که درست عمل کرديد.
حملات DDoS و DoS
اگه فايروال شما نشون بده که شما تحت يه حمله DDoS هستين، اين معمولاً موقعيه که شما داريد از طرف يک يا چند تا IP از طريق UDP مورد حمله قرار ميگيرين. در اين حالت شما ميتونين با استفاده از روش "عوض کردن IP" که در بالا توضيح داده شد، از خودتون محافظت کنين.
وب سرورها و سرويس هاي ديگه
اگه شما ميدونين که در محدوده IP شما يه وب سرور قرار داره، ميتونين IP اون رو بدزدين و خودتون يه وب سرور بشين! به اين ترتيب هر درخواست DNS اي که براي اون IP ارسال بشه، به شما Redirect ميشه و به جاي اون سايت، صفحه شما نشون داده ميشه!
آشنايي با Netstat
اين دستور که با سويچ هاي ديگري هم استفاده ميشه يکي از دستورايي هست که همه هکر ها اول باهاش آشنا ميشن.که با تايپ اين دستور شما متوجه آي پي سيستمها و پورتهايي که با آنها در ارتباط هستيد ميشويد و مشاهده ميکنيد که چه پورتهايي Listening و يا Established هستن اين باعث ميشود اگر پورتي مخصوص يک تروجن مثل 27374 که پورت اصلي Sub7 هست در سيستم شما باز بود شما متوجه اين پورت باز بروي سيستمتان بشويد.
اگر در قسمت Foreign Address هم يک آي پي بوسيله پورتي به سيستم شما وصل بود شما به سرعت متوجه مي شويد که يک نفر با آن آيپي در سيستم شماست ، پس اين راهيست که متوجه گرديد سيستمتان آسيب پذير است يا نه ، براي مثال من با تايپ دستور Netstat درCommand Promp پس از اتصال به اينتر نت نتايج زير را گرفتم :
C:\WINDOWS>netstat
ActiveConnections
ProtoLocalAddressForeignAddressState
TCP Midia: 1454cs33.msg.sc5.yahoo.com:5050ESTABLISHED
TCPMidia: 1488 63.123.44.222:80ESTABLISHED
TCP Midia: 1491 opi1.vip.sc5.yahoo.com:80TIME_WAIT
TCPMidia: 1497 64.187.54.23:80ESTABLISHED
TCPMidia: 1498 64.187.54.23:80ESTABLISHED
همانطور که ملاحظه ميکنيد اين دستور گاهي اوقات اسم صاحب سيستم کلاينتي که شما با آن در ارتباط هستيد را نيز ميدهد و چون اينجا من با کسي در PM نبودم اسم کسي را نميبينيد ولي اگر کسي با من چت کند و دستور Netstat را اجرا كند اسم را ميبيند و متوجه ميشود کهMidia صاحب آن سيستم کلاينتي مي باشدکه در حال چت كردن با آن است و همچنين در اين قسمت مشخص است که من با پورت 5050 با ياهو مسنجر ارتباط برقرار کرده ام و نيز نتايجي که در زير Local Address مشخص است اطلاعاتي درباره خود من مي باشد . و نتايجي که در Foreign Address بدست مياد مشخص ميکند که ما با چه سرور يا کلاينتي در ارتباط هستيم . که در سطر پنجم مثال بالا يعني 63.123.44.222:80 آيپي سايت ياهو مي باشد و مشخص ميكند كه من در سايت ياهو بوده و به وسيله پورت 80 که پورت Http ميباشد با اين وب سرور ارتباط برقرار کرده ام و در قسمت Status هم مشخص ميشود که شما با چه پورتهايي Established هستيد يعني ارتباط برقرار کرده و وصل هستيد و چه پورتهايي Listening يا منتظر Request و در حال شنيدن مي باشيد ، بنابراين با دستور Netstat مي شود يک عمل مانيتورينگ از تمام آيپي ها - پورتها و ماشينهايي که شما با آنها در ارتباط هستيد گرفت .
دستور?/ Netstat :
Help برنامه Netstat را معرفي ميکند و سويچ هاي که ازش ميتوان استفاده کرد و در مقابل هر سويچ در مورد کار آن توضيح مختصري ميدهد.
دستور Netstat -n :
با اين دستور ميتوان آيپي و پورت سيستمي که شما با آن در ارتباط هستيد را بدست آورد .
براي مثال وقتي شما با يک نفر در ياهو مسنجر چت ميکنيد پورت ۵۰۵۰ روي سيستم open هست چون ياهو از پورت ۵۰۵۰ استفاده ميکند پس با تايپ netstat -n خواهيد داشت: پ
Active Connections
Proto Local Address Foreign Address State
TCP 217.219.223.21:1425 216.136.175.226:5050 TIME_WAIT
TCP 217.219.223.21:1431 64.242.248.15:80 ESTABLISHED
TCP 217.219.223.21:1437 217.219.223.38:5101 ESTABLISHED
همانطور که ملاحظه ميکنيد من در اين لحظه با آيپي 217.219.223.38 در حال چت کردن بودم که اشتراکش هم از رايانه روش بوده (مثل خودم)و آي پي خود نيز پروتکلي که ما بوسيله آن با يک سيستم ارتباط برقرار کرديم Proto مشخص ميشود در قسمت Local Address من هم TCPارتباط برقرار شده است.
دستور Netstat -na :
با تايپ کردن اين دستور در Command Prompt تمام پورتهايي که داده ها و بسته ها را مي فرستند مشخص ميشود ، نشان " na " در تمام دستورات به معني نمايش همه پورتها و ليست کردن آدرسهاي شبکه و شماره فرمها در يک قالب عددي مي باشد ، براي مثال من با تايپ اين فرمان در Command Prompt اين نتايج را گرفتم :
C:\WINDOWS>netstat -na
Active Connections
Proto Local Address ForeignAddress State
TCP 0.0.0.0:1954 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5101 0.0.0.0:0 LISTENING
TCP 217.219.223.21:1954 207.46.106.21:1863 ESTABLISHED
TCP 217.219.223.21:1971 216.136.225.36:5050 ESTABLISHED
TCP 217.219.223.21:2031 63.121.106.74:80 TIME_WAIT
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
*:* UDP 0.0.0.0:1958
*:* UDP 64.110.148.59:9
*:* UDP 64.110.148.59:137
*:* UDP 64.110.148.59:138
خب ميبينيد که پورتهاي باز روي سيستم من ليست شده است. مثل 1954-1971-2031
دستور Netstat -a :
اين دستور نيز مثل دستور Netstat -an يا na- عمل ميکنه فقط فرقش در اينه که اين دستور پورتها را با معادل اسميشان نشان ميدهد ، براي مثال پورت 139 را با معادل اسميش يعني Netbios نشان ميدهد و همچنين مانند دستور Netstat اسم صاحب سيستم را پرينت ميكند .(اين دستور براي تست کردن نقطه ضعفها و پورتهاي باز در سيستم هاي خودمان بسيار مفيد ميباشد و اگر سيستم آلوده به تروجن بود ميشود از اين دستورها و کلاً برنامه Netstat اين موضوع را فهميد ، پس آنهايي که سوال ميکنند ما چگونه بفهميم سيستم خودمان آلوده به تروجن هست يا نه ، استفاده از اين دستور و کلاً دستورات Netstat ميتواند خيلي به آنها کمک کند )
دستور Netstat -p xxx :
منظور از xxx يعني آن پروتکلي که شما در نظر داريد که ميتواند TCP و UDP باشد.
دستور Netstat -e :
اين دستور نيز يکي از دستورات Netstat است که آماري از ارتباطها و بسته ها و شماره هاي ارسال و ذخيره بسته ها و داده ها را نشان ميدهد .(اين دستور بيشتر براي ويندوزهاي 98 , me و همينطور مودمهايي که آمار بسته ها را نميدهند خوب و مفيد است چون در ويندوز 2000 – XP قسمتي از اين آمار براحتي در اختيار User قرار ميگيرد ، و شما ميتونيد با استفاده از اين دستور ترافيک ISP و شبکه را ببينيد و همينطور برنامه هايي که در حال دانلود هستسد را چک کنيد و يا اگر بسته اي در ارسالش مشکلي پيش بياد ميتوانيد در قسمت Errors مشاهده کنيد ، ...)
دستور Netstat -r :
اين دستور توسط کاربران معمولي اينترنت زياد بکار گرفته نمي شود چون درک بعضي از گزينه هاش براي کاربران عادي دشوار ، بحرحال اين دستور جزييات دقيقي مثل آدرس Gateway - Interface Metric -Netmask , ... درباره آدرس آي پي شما در شبکه ميدهد ، همچنين در ويندوزهاي8 9 - ME کار دستور Netstat -a را هم انجام ميدهد
================================================== =========================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 13 dd bb 72 d7 ...... Intel(R) PRO/Wireless 2200BG Network Connection - Packet Scheduler Miniport
0x10004 ...00 e0 ee cf c3 a3 ...... Realtek RTL8139/810x Family Fast Ethernet NIC - Packet Scheduler Miniport
================================================== =========================
================================================== =========================
Active Routes:
Network Destination NetmaskGateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.5 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 169.254.224.220 169.254.224.220 30
169.254.224.220 255.255.255.255 127.0.0.1 127.0.0.1 30
169.254.255.255 255.255.255.255 169.254.224.220 169.254.224.220 30
192.168.0.0 255.255.0.0 192.168.1.5 192.168.1.5 20
192.168.0.5 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.0.255 255.255.255.255 192.168.1.5 192.168.1.5 20
192.168.1.5 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.255 255.255.255.255 192.168.1.5 192.168.1.5 20
224.0.0.0 240.0.0.0 169.254.224.220 169.254.224.220 30
224.0.0.0 240.0.0.0 192.168.1.5 192.168.1.5 20
255.255.255.255 255.255.255.255 169.254.224.220 169.254.224.220 1
255.255.255.255 255.255.255.255 192.168.1.5 192.168.1.5 1
Default Gateway: 192.168.1.1
================================================== =========================
Persistent Routes:
None
RouteTable
1. درس اول: IPچیست؟
شماره ايست که به هر کامپيوتر متصل به اينترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپيوترها دسترسی داشت. اين عدد برای کامپيوترهايی که حالت سرور دارند (مثلا سايتها) و نيز کامپيوترهای کلاينتی که معمولا به روشی غير از شمارهگيری (DialUp) به اينترنت وصل هستند، عددی ثابت و برای ديگران عددی متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل میشويد، عددی جديد به شما نسبت داده میشود.
اين عدد يک عدد ۳۲ بيتی (۴ بايتی) است و برای راحتی بهصورت زير نوشته میشود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بين ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتی اسمهايی مثل www.yahoo.com که برای اتصال استفاده میکنيد، در نهايت بايد به يک IP تبديل شود، تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضيح میدهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددی که به عنوان xxx اول میگيريد، مابين 192 تا 223 خواهد بود.اين توضيح برای تشخيص کامپيوترهای کلاينت از سرور (حداقل در ايران) بسيار میتواند مفيد باشد.
بعد از اتصال به اينترنت برای به دست آوردن IP خود، از دستور IPCONFIG در commandprompt استفاده کنيد.
1. درس دوم: تقسيم بندی آدرسهای 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 يعنی خودمان.
1. درس سوم: بهدست آوردن IP خودتان بعد از اتصال به اينترنت
1- به روش های قبل IP خودتان را پیدا کنید.
Connection-specific DNSSuffix . : a
IPAddress. . . . . . . . . . . . : 217.66.198.116
SubnetMask . . . . . . . . . . . : 255.255.255.255
DefaultGateway . . . . . . . . . : 217.66.198.116
که آدرس ip تان را میتوانيد در سطر IpAddress ببينيد. (مسئله ****** را فعلا ناديده بگيريد)
۲- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور netstat -n را در command prompt تايپ کنيد. من با تايپ اين دستور به نتايج زير رسيدم:
ActiveConnections
Proto LocalAddress Foreign Address State
TCP 217.66.198.116:2469 64.58.76.177:80ESTABLISHED
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:80SYN_SENT
ستونی که زير عبارت LocalAddress قرار دارد، ip من در آن اتصال است. بنابراين ip من در آن اتصال 217.66.198.116 بوده است.
1. درس چهارم: Port چيست؟
پورت به طور کلی به درگاه های ورودی و خروجی کامپوتر گفته می شود که حتما مثل پورت موس و کی بورد وجود خارجی ندارند بلکه درگاه های منطقی باشند که هر سيستم 65535 پورت تی سی پی و 65535 پورت يو دی پی دارد . ليستی از پورت های معروف و مورد استفاده:
7
tcpecho
11
tcpsystat
19
tcpchargen
21
tcpftp-data
22
tcpssh
23
tcptelnet
25
tcpsmtp
42
tcpnameserver
43
tcpwhois
49
udptacacs
53
udpdns-lookup
53
tcpdns-zone
66
tcporacle-sqlnet
69
udptftp
79
tcpfinger
80
tcphttp
81
tcpalternativeforhttp
88
tcpkerberosoralternativeforhttp
9
tcppop2
110
tcppop3
111
tcpsunrpc
118
tcpsqlserv
119
tcpnntp
135
-or-dec
139
tcpnetbios
143
tcpimap
161
udpsnmp
162
udpsnmp-trap
179
tcpbgp
256
tcpsnmp-checkpoint
389
tcpldap
396
tcpnetware-ip
407
tcptimbuktu
443
tcphttps/ssl
445
tcpms-smb-alternate
445
udpms-smb-alternate
500
udpipsec-internet-key-exchange(ike)a
513
tcprlogin
513
udprwho
514
tcprshell
514
udpsyslog
515
tcpprinter
515
udpprinter
520
udprouter
524
tcpnetware-ncp
799
tcpremotelypossible
1080
tcpsocks
1313
tcpbmc-patrol-db
1352
tcpnotes
1433
tcpms-sql
1494
tcpcitrix
1498
tcpsybase-sql-anywhere
1524
tcpingres-lock
1525
tcporacle-srv
1527
tcporacle-tli
1723
tcppptp
1745
tcpwinsock-proxy
2000
tcpremotely-anywhere
2001
tcpcisco-mgmt
2049
tcpnfs
2301
tcpcompaq-web
2447
tcpopenview
2998
tcprealsecure
3268
tcpms-active-dir-global-catalog
3268
udpms-active-dir-global-catalog
3300
tcpbmc-patrol-agent
3306
tcpmysql
3351
tcpssql
3389
tcpms-termserv
4001
tcpcisco-mgmt
4045
tcpnfs-lockd
5631
tcppcanywhere
5800
tcpvnc
6000
tcpxwindows
6001
tcpcisco-mgmt
6549
tcpapc
6667
tcpirc
8000
tcpweb
8001
tcpweb
8002
tcpweb
8080
tcpweb
9001
tcpcisco-xremote
12345
tcpnetbus
26000
tcpquake
31337
udpbackorifice
32771
tcprpc-solaris
32780
udpsnmp-solaris
43188
tcpreachout
65301
tcppcanywhere-def
از ميان پورتها شمارههای ۷، ۱۵، ۲۱، ۲۳، ۲۵، ۷۹، ۸۰، ۱۱۰و ۱۱۹ فعلا برای ما مهمترند و بهتدريج با آنها آشنا خواهيد شد.
1. درس پنجم: چگونه به يک پورت Telnet کنيم؟
برای اينکه عملکرد يک پورت برای شما روشن شود، بايد به آن پورت Telnet کنيد. (البته معمولا تعدادی از پورتهايی را که ممکن است اطلاعاتی مهم را در اختيار هکرها قرار دهند مثل پورت ۷۹ معمولا بسته است و ارتباط با آنها شايد برقرار نشود.) برای telnet کردن در commandprompt دستور زير را تايپ کنيد
:telnet hostnameportnum
در اين دستور بهجای hostname شماره ip و يا نام سايت را وارد میکنيد و بهجای portnum شماره پورت و يا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاريخ را بهدست میدهد در کامپيوتری به اسم (http://www.njavan.com/forum/register.php)
مينويسيد:
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 يادتون نره درترسيم مسير برای آينده:
1- اولين و مهمترين تصميم انتخاب نوع کامپيوتری است که میخواهيد هک کنيد ( کلاينت يا سرور )، زيرا روشهک کردن ايندو بجز در مراحل ابتدايی کاملا متفاوت است.
۲- دومين گام انتخاب يک کامپيوتر مشخص (مثلا کامپيوتری که فلان سايت را نگه میدارد که مثالی برای کامپيوتر سرور است و يا کامپیوتر فلان شخصی که با او چت میکنيد که مثالی برای کامپيوتر کلاينت است) و جمعآوری اطلاعات در مورد آن است. اين جمعآوری اطلاعات از قربانی (
Victim) را Footprinting گويند.
اولين مشخصهای که بايد کشف شود، ip اوست. يکی ديگر از اطلاعات مهم که معمولا دنبالش هستيم، پيدا کردن نوع سيستمعامل و نيز برنامههايی است که کامپيوتر شخص از آنها بهره میبرد.
يکی از مهمترين ( و گاه خطرناکترين) کارها، تستکردن پورتهای آن کامپيوتر برای ديدن اينکه کدام پورتها باز و کدامها بسته هستند.
۳- مرحله بعدی در واقع شروع تلاش برای نفوذ به سيستم است. اين نفوذ سطوح مختلف دارد و بالاترين آن که در کامپيوترهای سرور روی میدهد، حالتی است که بتوان
username و password مربوط به مدير کامپيوتر (administrator) يا supervisor یا ... را بهدست آورده و از طريق اين Shell Account به نهايت نفوذ دست يابيم ولی گاه بهدلايل مختلف (مربوط به سطح علمی خود و ... ) نمیتوان به اين سطح دستيافت اما به هر حال برای مرحله بعدی میتواند استفاده شود.
اين مرحله جايی است که هنر شما يه عنوان يک هکر آغاز شده و نيز به پايان میرسد.
۴- اين مرحله بعد از نفوذ روی میدهد که در آن به يک سطحی از کنترل سيستم رسيدهايد. رفتار شما در اين مرحله مشخص میکند که چه نوع هکر هستيد(سامورايی، واکر و يا کراکر) و اينکه آيا جنبه ياد گرفتن را داشتهايد يا نه، همينجا مشخص خواهد شد.
۵- مرحله آخر پاک کردن ردپاست تا گير نيفتيم
البته بعضی وقتها برای کلاس گذاشتن بايد گير بيفتيم
بعضی از سيستمها آمار login را نگه میدارند که در مورد آنها اين مرحله بسيار مهم است.
خلاصه مطالب بالا به اين صورت است:
Selection -> FootPrinting -> Penetration -> [Changings] -> Cleaning