پیشگفتار
امروزه توجه بیشتر سازمانها و بنگاههای اقتصادی معطوف به شبکه محلی و رایانههای شخصی متصل به آن میباشد. گرچه شبکههای ارتباطی میتوانند اشکال مختلفی به خود بگیرند و تعداد و تنوع آنها هم روز به روز بیشتر میشود، اما استفاده از این شبکهها بدون توجه به مقوله امنیت ارتباطی، سلب اعتماد همگانی از فناوری اطلاعات را در برخواهد داشت که خسارت ناشی از این بیاعتمادی برای سازمانها بسیار قابل توجه است.
در این راستا این کتاب مقدمهای بر امنیت شبکه داخلی است که مخاطب آن بهطور عمده مدیران فنی و اجرایی سازمانها میباشند. هدف آن بوده است که مفاهیم اساسی امنیت در این حوزه و روشهای متداول نفوذ به شبکههای رایانهای معرفی شوند و بنابراین از توسعه و تفصیل مطالب پرهیز گردیده است. با این وجود برخی از بخشهای کتاب برای کارشناسان فنی و راهبران شبکههای داخلی موسسات مفید خواهد بود.
شاید وقتی که در ابتدا ارتباطات رایانهای بوجود آمد و شبکههای کامپیوتری پدید آمد هیچکس تصور نمیکرد که امنیت به مهمترین بخش آن تبدیل خواهد شد، بهطوری که امروزه امنیت شبکه جزء مهمترین و کاربردیترین تخصصها در بخش فناوری اطلاعات گردیده است. به همین دلیل مطالعه و آموزش در زمینه امنیت شامل مباحث بسیار گستردهای است و فراتر از سطح این مجموعه آموزشی است. آنچه که در این کتاب ارائه شده، یک معرفی کلی از مباحث اصلی امنیت شبکه است و بیشتر برای آشنایی شما با مسئله امنیت و شیوههای ایجاد امنیت و شناخت تهدیدهای امنیتی رایج است. شما میتوانید این تخصص را با گرفتن مدارکی همچون Security+ , CEH , CHFI کسب کنید.
نکته دیگری که میخواهیم به آن اشاره کنیم این است که زمانی که شما قدم به عرصه امنیت شبکه میگذارید هیچ پایانی برای کسب دانش شما وجود نخواهد داشت. درست زمانی که فکر میکنید همه دانش لازم برای امنیت شبکه را بدست آوردهاید، بعضی سناریوها تغییر میکند و یکسری روشهای جدید نفوذ و حمله کشف میشود. برخی هکرها با صرف انرژی باگهای جدیدی را کشف میکنند و راه نفوذ دیگری را پیدا میکنند. پس به یاد داشته باشید که امنیت شبکه مسئله بسیار مهمی است و دانش آن روز به روز دستخوش تغییر و پیشرفت میشود .
سید مهدی عمادی استرآبادی
شهره لیثی بهرمانی
پاییز 1394
فهرست مطالب
فصل1 مقدمات شبکه 1
1.1 مقدمه 2
1.2 مراحل ایجاد امنیت در شبکه 2
1.3 واژگان فنی 6
1.4 انواع مختلف تكنولوژيهاي هك 7
1.5 مراحل هك قانونمند 8
1.6 مراحل هک 9
1.7 انواع هكرها 10
1.8 crackerها كيستند؟ 11
1.9 انواع حملات هكرها 12
1.10 موارد مورد نياز هكر 13
1.11 نکاتی لازم در مورد پروکل TCP 15
1.12 آشنایی با تست نفوذپذیری 16
1.12.1 گامهای ابتدایی برای تست امنیت 16
1.12.2 طبقهبندی و اهداف تست نفوذپذیری 17
1.12.3 اهداف تست نفوذپذیری 18
1.12.4 محدودیتهای تست نفوذپذیری 18
1.12.5 طبقهبندی تست نفوذپذیری 19
1.13 نیازمندیهای متداول 20
1.13.1 نیازمندیهای سازمانی 20
1.13.2 نیازمندیهای پرسنلی 21
1.13.3 نیازمندیهای تکنیکی 21
1.14 مراحل تست نفوذپذیری 21
1.15 راههای نفوذ 22
1.15.1 جعل اطلاعات 22
1.15.2 استراقسمع دادهها 25
1.15.3 حمله Ping of death 26
1.15.4 حمله نوع Jolt 2 26
1.15.5 حمله نوع Smurf 26
1.16 اهداف حمله كنندهها 29
1.17 مثلث CIA 30
1.18 تحقيق آسيبپذيري چيست؟ 31
1.19 روشهاي اجراي هك قانونمند 32
1.20 برنامه ارزيابي امنيتي 32
1.21 انواع حملات قانونمند 32
1.22 انواع تست 33
1.23 گزارش هك قانونمند 35
فصل2 جمعآوری اطلاعات و مهندسی اجتماعی 35
2.1 مقدمه 38
2.2 Footprinting 38
2.3 متدلوژيهاي جمعآوري اطلاعات 39
2.4 DNS Enumeration 40
2.5 DNSstuff و Nslookup 40
2.6 مفهوم ARIN Lookup و Whois 41
2.7 تحليل خروجي Whois 43
2.8 پيدا كردن بازه آدرسهاي شبكه 45
2.9 شناسايي انواع مختلف رکوردهاي DNS 45
2.10 نحوه كار traceroute در footprinting 45
2.11 استفاده از Email Tracking 46
2.12 نحوه كار Web Spiderها 47
2.13 مراحل انجام Footprinting 47
2.14 مهندسي اجتماعي 48
2.15 انواع رايج حملات 48
2.16 مهندسي اجتماعي مبتني بر انسان 49
2.17 مهندسي اجتماعي مبتني بر كامپيوتر 50
2.17.1 حملات داخلی 50
2.17.2 حملات Phishing 50
2.18 پيشگيري از مهندسي اجتماعي 51
فصل 3 اسکن و Enumeration 53
3.1 مقدمه 54
3.2 اسکن 54
3.3 متدلوژي اسكن 55
3.4 تکنیکهای ping sweep 56
3.5 تشخيص Ping Sweepها 56
3.6 اسكن پورتها و شناسايي سرويسها 56
3.7 مقابله با اسكن پورت 57
3.8 سوئيچهاي دستور Nmap 57
3.8.1 اسكنهاي SYN، Stealth، XMAS، NULL، IDLE و FIN 60
3.9 انواع flagهاي ارتباط TCP 61
3.9.1 Net tools suite pack 62
3.9.2 FloppyScan 62
3.10 تكنيکهاي War-Dialing 64
3.11 تكنيكهاي Banner Grabbing و شناسايي سيستمعامل 64
3.12 رسم دياگرام شبكهاي از دستگاههاي آسيبپذير 66
3.13 چگونه از سرورهاي پروكسي در انجام حمله استفاده ميشوند؟ 66
3.14 ناشناسكنندهها چگونه كار ميكنند؟ 67
3.15 HTTP tunneling 68
3.15.1 تكنيکهاي HTTP Tunneling 68
3.15.2 ابزار Httptunnel براي ويندوز 69
3.16 تكنيكهاي IP Spoofing 69
3.16.1 Enumeration 70
3.16.2 Null Session 72
3.16.3 انتقال DNS Zone در ويندوز 2000 73
فصل 4 هک سیستم 75
4.1 مقدمه 76
4.2 تكنيكهاي شكستن پسورد 76
4.2.1 LanManager Hash 77
4.2.2 شكستن پسوردهاي ويندوز 2000 78
4.2.3 هدایت SMB Logon به حمله كننده 79
4.2.4 حملات SMB Relay MITM و مقابله با آن 80
4.3 مقابله با شكستن پسورد 81
4.3.1 بازه زماني تغيير پسورد 82
4.3.2 بررسي Event Viewer Logها 82
4.4 انواع پسورد 83
4.5 حملات Passive Online 84
4.6 حملات Active Online 84
4.7 حدس پسورد بهصورت اتوماتيك 85
4.8 مقابله با حدس پسورد 86
4.9 حملات آفلاين 86
4.10 Pre-Computed Hashes 87
4.11 حملات Nonelectronic 87
4.12 تكنيكهاي keyloggerها و spyware 88
4.13 دسترسيهاي ضروري 89
4.14 اجراي برنامهها 90
4.15 Buffer Overflows 91
4.16 Rootkitها 91
4.16.1 نصب Rootkitها بر روي كامپيوترهاي ويندوز 2000 و XP 92
4.16.2 مقابله با rootkitها 92
4.17 مخفي كردن فايلها 93
4.17.1 NTFS File Streaming 93
4.17.2 مقابله با NTFS Stream 94
4.17.3 تكنولوژيهاي Steganography 94
4.17.4 ابزارهاي مقابله 96
4.18 پاك كردن ردپاها و مدارك 96
4.19 غير فعال كردن Auditing 96
4.20 پاك كردن Event Log 97
فصل 5 بدافزارها 99
5.1 مقدمه 100
5.2 بدافزار چیست؟ 100
5.3 نگاهی گذرا به سرگذشت بدافزارها 101
5.4 انواع بدافزار 102
5.4.1 کرم (Worm) 102
5.4.2 ویروس (Virus) 103
5.4.3 اسب تروا (Trojan Horse) 110
5.4.4 در پشتی (Backdoor/Trapdoor) 124
5.4.5 روتکیت (Rootkit) 125
5.4.6 نرمافزار جاسوسی (Spyware) 130
5.4.7 ابزار نفوذ (Hack Tool) 132
5.4.8 تبلیغات ناخواسته (Adware) 132
5.4.9 ترساندن Scareware 133
5.4.10 Logic Bomb یا بمب منطقی 134
5.5 روشهای مقابله با بدافزارها 135
5.6 حذف بدافزارها 138
فصل 6 Snifferها 141
6.1 مقدمه 142
6.2 پروتكلهاي مستعد براي استراق سمع 142
6.3 اسنیفر چیست؟ 144
6.4 استراق سمع اكتيو و پسيو 144
6.4.1 استراق سمع اكتيو 145
6.4.2 استراق سمع پسیو 145
6.5 رمزگذاری 146
6.5.1 رمزگذاری در سطح ارتباط 146
6.5.2 رمزگذاری در دو انتها 146
6.5.3 رمزگذاری در سطح برنامه 147
6.6 ARP Poisoning 148
6.7 MAC Duplicating 149
6.8 MAC Flooding 150
6.9 DNS Poisoning 152
6.10 Intranet DNS Spoofing 152
6.11 Proxy Server DNS Poisoning 154
6.12 NS Cache Poisoning 154
6.13 مقابله با استراق سمع 156
6.14 شبکه کوچک 157
فصل 7 Denial of Service و Session Hijacking 159
7.1 مقدمه 160
7.2 Denial of Service 160
7.3 انواع حملات DoS 160
7.4 نحوه كار حملات DDoS 162
7.5 دستهبندي حملات DDoS 165
7.6 نحوه كار BOTها و BOTNETها 166
7.7 حمله smurf چيست؟ 167
7.8 SYN flooding چیست؟ 168
7.9 مقابله با DoS و DDoS 168
7.10 Session Hijacking 170
7.11 Hijacking و Spoofing 170
7.12 انواع session hijacking 171
7.12.1 Active Session Hijacking 171
7.12.2 Passive Session Hijacking 172
7.13 مفاهيم TCP: دست تكاني سه مرحلهاي 172
7.14 پيشگويي sequence 173
7.15 چه مراحلي در session hijacking انجام ميشوند؟ 174
7.16 سطوح session hijacking 175
7.17 TCP/IP Hijacking 175
7.18 RST Hijacking 176
7.19 Blind Hijacking 176
7.20 خطرات session hijacking 177
7.21 چگونگي پيشگيري از session hijacking 177
فصل 8 هك وب سرورها، آسيبپذيري برنامههاي تحت وب، و تكنيكهاي شكستن پسوردهاي مبتني بر وب 179
8.1 مقدمه 180
8.2 هك وب سرورها 180
8.3 انواع آسيب پذيريهاي وب سرور 180
8.4 حملات به وب سرورها 181
8.5 IIS Unicode Exploit 181
8.6 تكنيكهاي مديريت patchها 185
8.7 اسكنرهاي آسيبپذيري 186
8.8 روشهاي امنسازي وب سرور 186
8.9 چك ليست محافظت از وب سرور 187
8.10 آسيبپذيريهاي برنامههاي تحت وب 188
8.11 نحوه كار برنامههاي وب 188
8.12 هدف از هك برنامههاي تحت وب 189
8.13 آناتومي حمله 189
8.14 تهديدات برنامههاي وب 190
8.15 Google Hacking 194
8.16 تكنيكهاي شكستن پسوردهاي مبتني بر وب 194
8.17 احراز هويت 195
8.18 انواع احراز هويت 195
8.18.1 شناسايي بر مبناي حالت هندسي دست 196
8.18.2 اسكن شبكيه چشم 197
8.18.3 تشخيص چهره 198
8.18.4 پسورد 198
فصل 9 SQ: Injection و Buffer Over 203
9.1 مقدمه 204
9.2 SQL Injection چيست؟ 204
9.3 مراحل انجام SQL injection 205
9.4 آسيبپذيريهاي SQL Server 206
9.5 Blind SQL Injection 208
9.6 مقابله با SQL Injection 208
9.7 چرا برنامهها آسيبپذيرند؟ 209
9.8 انواع Buffer Overflow و روشهاي شناسايي 210
9.9 پشته (Stack) 210
9.10 Heap 211
9.11 سرریزی بافر مبتني بر پشته (stack-based buffer overflow) 212
9.11.1 انواع Buffer Overflow و روشهاي شناسايي 212
9.11.2 سرریزی بافر مبتنی بر heap (heap-based overflow) 213
9.11.3 روش شناسايي buffer overflow در برنامه 214
9.11.4 تکنیکهای تغییر buffer overflow 215
9.11.5 روشهای جلوگیری از buffer overflow 215
فصل 10 شبکههای وایرلس 217
10.1 مقدمه 218
10.2 استانداردهاي وايرلس 218
10.3 مفاهيم وايرلس 218
10.4 مكانيزمهاي احراز هويت WEP و WPA و تكنيكهاي شكستن آنها 219
10.5 اصطلاحات هك شبكه وايرلس 221
10.6 استراق سمع كنندههاي وايرلس و قرار دادن SSIDها و MAC spoofing 223
10.7 تغيير دستي MAC Address در ويندوز XP 223
10.8 Rogue Access Point (تقلبي) 224
10.9 تكنيكهاي هك شبكه وايرلس 225
10.10 مراحل هك شبكههاي وايرلس 225
10.11 روشهايي شناسايي شبكههاي وايرلس 227
10.12 روشهاي امنسازي شبكههاي وايرلس 227
فصل 11 امنیت فیزیکی 229
11.1 مقدمه 230
11.2 رويدادهاي نقض امنيت فيزيكي 230
11.3 امنيت فيزيكي 231
11.3.1 ضرورت امنيت فيزيكي چيست؟ 231
11.3.2 چه كسي مسئول امنيت فيزيكي است؟ 232
11.3.3 عواملي كه امنيت فيزيكي را تحت تأثير قرار ميدهند 233
11.3.4 چك ليست امنيت فيزيكي 233
11.3.5 برخي از ابزارهاي امنيت فيزيكي 237
فصل 12 هک لینوکس 241
12.1 سیستمعامل چیست؟ 242
12.2 مفهوم نرمافزارهای open source 242
12.3 مفهوم مجوز GPL 242
12.4 سیستمعامل لینوکس 243
12.5 اساس لينوكس 243
12.6 تعریف GNU 243
12.7 Kernel چیست؟ 244
12.8 قابلیتهای لینوکس 244
12.9 سیستم پروندهها در لینوکس 245
12.10 دستورات پايه لينوكس 246
12.10.1 فايلها و دايركتوريها 246
12.10.2 دايركتوريهاي لينوكس 247
12.11 نحوه كامپايل كرنل لينوكس 247
12.12 دستورات كامپايل GCC 249
12.13 نحوه نصب ماژولهاي كرنل لينوكس 249
12.14 آسيب پذيريهاي لينوكس 249
12.15 روشهاي امن سازي لينوكس 251
12.16 فايروال در لينوكس (IPTable) 252
12.17 ابزارهاي لينوكس 252
فصل 13 گريز از IDSها، honeypotها و فايروالها 253
13.1 مقدمه 254
13.2 انواع سيستمهاي تشخيص نفوذ و تكنيكهاي گريز 254
13.3 گريز از IDS 257
13.4 فايروال 257
13.5 كارهايي كه فايروال انجام ميدهد 258
13.6 انواع فايروال 258
13.7 ابزارهاي تست 260
13.8 Honeypot 261
13.8.1 انواع مختلف honeypot 261
13.8.2 مزاياي honeypot 261
13.8.3 محل قرارگيري honeypot در شبكه 262
13.8.4 ابزارها 263
13.8.5 Honeypotهاي تجاري 263
13.8.6 Honeypotهای open source 263
13.8.7 Honeypot فيزيكي و مجازي 264
فصل 14 رمزنگاری 265
14.1 مقدمه 266
14.2 تكنيكهاي رمزنگاري و رمزگذاري 266
14.3 نحوه توليد كليدهاي عمومي و خصوصي 267
14.4 نگاهی به الگوريتمهاي Blowfish،RC5 ،RC4 وSHA ،MD5 267
14.5 SSH 268
14.6 ابزارها 269
فصل 15 روشهای تست نفوذ 271
15.1 مقدمه 272
15.2 ارزيابيهاي امنيتي 272
15.3 روشهاي تست نفوذ 272
15.4 مراحل تست نفوذ 273
15.5 چارچوب قانوني تست نفوذ 276
15.6 ابزارهاي خودكار تست نفوذ 276
15.7 موارد قابل ارائه در تست نفوذ 277
فصل 16 حذف پسورد 279
16.1 استخراج و کرک رمزهای عبور 280
16.2 حسابهای کاربردی و کلمات عبور 280
16.3 گروههای کاربری 281
16.4 گروههای موجود در یک شبکه 282
16.5 ورود به حساب کاربری Administrator 283
16.6 هدف اصلی نفوذگر 284
16.7 اطلاعات کلی 284
16.8 روش مقابله 284
16.9 استفاده از فرامین و ابزارهای خود ویندوز 285
16.9.1 User Accounts (Control Userpasswords2) 285
16.9.2 (Iusrmgr.msc) Local Users And Grous 286
16.2.3 Net User Command 286
16.10 روش مقابله در جلوگیری از استفاده از این فرامین و ابزارها 288
16.11 ایجاد دیسکت حذف کنندهی پسورد 288
16.12 پسورد گذاری کامل syskey و حسابهای کاربری 295
16.13 حذف SYskey و پسورد حساب Administrator 296
16.13.1 روش کار 296
16.13.2 روش مقابله 296
16.14 حذف پسورد در Welcome Screen 297
16.14.1 روش مقابله 303
16.15 نحوهی Reset کردن پسورد با استفاده از ابزارهای مختلف موجود در اینترنت 303
16.15.1 ابزار Active@ password Changer 304
16.15.2 نحوهی عوض کردن و یا حذف کردن پسوردهای ویندوز با استفاده از Ubuntu live CD 307
16.15.3 حذف یا تغییر پسوردهای ویندوز با استفاده از برنامه Chntpw در Ubuntu 312
16.15.4 با استفاده از ابزار NTPswd 317
16.15.5 PC Login Now 325
16.15.6 Windows Login Password Professional 330
16.16 نحوه حذف پسورد برنامهها 334
16.16.1 نحوه حذف پسورد برنامه Access Administrator 334
16.16.2 نحوهی حذف پسورد برنامه Click And Lock1 334
16.16.3 نحوهی حذف پسورد برنامه Program Protector 334
16.16.4 نحوهی حذف پسورد برنامه Ashampoo Magical Security 334
16.16.5 نحوهی حذف پسورد برنامه Anfibia Deskman 334
16.16.6 نحوهی حذف پسورد برنامه Access 335
16.16.7 نحوهی حذف پسورد برنامه Private Encryption 335
16.16.8 نحوهی حذف پسورد برنامه XP Smoker 335
16.16.9 نحوهی حذف پسورد برنامه Lock My Pc 335
16.16.10 نحوهی حذف پسورد برنامه PC Security Tweaker 335
16.16.11 نحوهی حذف پسورد برنامه st Security Agent1 336
16.16.12 نحوهی حذف پسورد برنامه Pc Security 336
16.16.13 نحوهی حذف کردن پسورد برنامه Securr Browser 336
16.16.14 نحوهی حذف کردن پسورد برنامه Securr Browser 336
16.16.15 نحوهی حذف پسورد برنامه Password Door 336
16.16.16 نحوهی حذف کردن پسورد برنامه FolderMage Pro 337
16.16.17 نحوهی حذف پسورد برنامه Steelth Encrypto 337
16.16.18 نحوهی حذف پسورد برنامه Private Desktop 337
16.16.19 نحوهی حذف پسورد آنتیویروس nod32 337
16.16.20 نحوهی حذف پسورد برنامه USB Disk Security 337
16.16.21 نحوهی حذف پسورد برنامه Hide My Folders 338
16.16.22 نحوهی حذف پسورد برنامه Private Pix 338
16.16.23 نحوهی حذف پسورد برنامه Clear Lock 338
16.16.24 نحوهی حذف پسورد برنامه Security Administrator 338
16.16.25 نحوهی حذف کردن پسورد برنامه Anti porn 338
16.16.26 نحوهی حذف پسورد برنامه FolderGuard 338
فصل 17 Packet Sniffing 339
17.1 مقدمه 340
17.2 طریقهی نصب در لینوکس کلاه قرمز 340
17.3 ngrep 345
17.3.1 استفاده از نرمافزار ngrep در ویندوز 347
17.4 نرمافزار tcpdump 349
17.4.1 بررسی چند دستور دیگر در اسنیفر tcp dump 350
17.5 کار با اسنیفر windump 351
17.6 Sniffing whith snort 352
17.6.1 تست برنامه snort 353
17.7 یک اسنیفر تجاری 354
17.8 رمزگذاري در دو انتها 355
17.9 رمزگذاري در سطح برنامه 356
فصل 18 metasploit 357
18.1 مقدمه 358
18.2 نصب 358
18.3 استفاده 359
18.4 رابط کنسول 359
18.5 رابط وب 367
18.6 محیطها و متغیرهای متااسپلویت 368
18.7 محیط سراسری 369
18.8 محیط موقت 370
18.8.1 تنظیمات پیشرفته محیط 370
18.9 ارتقا و افزودن اکسپلویت و پیلود جدید 371
مراجع 373