دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: امنیت ویرایش: نویسندگان: Michael Sikorski. Andrew Honig سری: ISBN (شابک) : 9781593272906 ناشر: No Starch Press سال نشر: 2012 تعداد صفحات: 802 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 10 مگابایت
کلمات کلیدی مربوط به کتاب آنالیز بدافزارهای عملی: راهنمای مفید برای از بین بردن نرم افزارهای مخرب: مهندسی انفورماتیک و کامپیوتر، امنیت اطلاعات، سخت افزار و نرم افزار IS، هک و حفاظت از نرم افزار
در صورت تبدیل فایل کتاب Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب آنالیز بدافزارهای عملی: راهنمای مفید برای از بین بردن نرم افزارهای مخرب نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
تجزیه و تحلیل بدافزار یک تجارت بزرگ است و حملات می تواند هزینه گزافی برای یک شرکت داشته باشد. هنگامی که بدافزار سیستم دفاعی شما را نقض می کند، باید سریعاً برای درمان عفونت های فعلی و جلوگیری از بروز عفونت های بعدی اقدام کنید. برای کسانی که می خواهند از جدیدترین بدافزارها جلوتر بمانند، Practical Malware Analysis ابزارها و تکنیک های مورد استفاده توسط تحلیلگران حرفه ای را به شما آموزش می دهد. با استفاده از این کتاب به عنوان راهنمای خود، میتوانید با خیال راحت هر نرمافزار مخربی را که به سراغتان میآید تجزیه و تحلیل، اشکال زدایی و جداسازی کنید.
Malware analysis is big business, and attacks can cost a company dearly. When malware breaches your defenses, you need to act quickly to cure current infections and prevent future ones from occurring. For those who want to stay ahead of the latest malware, Practical Malware Analysis will teach you the tools and techniques used by professional analysts. With this book as your guide, you'll be able to safely analyze, debug, and disassemble any malicious software that comes your way.
Warning\r......Page 3
About the Authors......Page 20
About the Contributing Authors......Page 21
Foreword......Page 22
Individual Thanks......Page 26
Introduction......Page 28
Prerequisites......Page 29
Practical, Hands-On Learning......Page 30
What’s in the Book?......Page 31
The Goals of Malware Analysis......Page 34
Basic Dynamic Analysis......Page 35
Types of Malware......Page 36
General Rules for Malware Analysis......Page 38
Part 1: Basic Analysis......Page 40
1: Basic Static Techniques\r......Page 42
Hashing: A Fingerprint for Malware......Page 43
Finding Strings......Page 44
Packing Files......Page 46
Portable Executable File Format......Page 47
Static, Runtime, and Dynamic Linking......Page 48
Exploring Dynamically Linked Functions with Dependency Walker......Page 49
PotentialKeylogger.exe: An Unpacked Executable......Page 51
The PE File Headers and Sections......Page 54
Examining PE Files with PEview......Page 55
Viewing the Resource Section with Resource Hacker......Page 58
Conclusion......Page 59
Lab 1-2......Page 60
Questions......Page 61
2: Malware Analysis in Virtual Machines\r......Page 62
The Structure of a Virtual Machine......Page 63
Configuring VMware......Page 64
Connecting and Disconnecting Peripheral Devices......Page 67
Taking Snapshots......Page 68
The Risks of Using VMware for Malware Analysis......Page 69
Conclusion......Page 70
3: Basic Dynamic Analysis\r......Page 72
Using a Malware Sandbox......Page 73
Sandbox Drawbacks......Page 74
Running Malware......Page 75
Monitoring with Process Monitor......Page 76
Filtering in Procmon......Page 77
The Process Explorer Display......Page 80
Using the Verify Option......Page 81
Using Dependency Walker......Page 82
Comparing Registry Snapshots with Regshot......Page 83
Using ApateDNS......Page 84
Monitoring with Netcat......Page 85
Packet Sniffing with Wireshark......Page 86
Using INetSim......Page 88
Basic Dynamic Tools in Practice......Page 89
Conclusion......Page 93
Questions......Page 94
Questions......Page 95
Part 2: Advanced Static Analysis......Page 96
4: A Crash Course in x86 Disassembly\r......Page 98
Levels of Abstraction......Page 99
Reverse-Engineering......Page 100
The x86 Architecture......Page 101
Instructions......Page 102
Operands......Page 103
Registers......Page 104
Simple Instructions......Page 106
The Stack......Page 110
Branching......Page 113
Rep Instructions......Page 114
C Main Method and Offsets......Page 116
Conclusion......Page 118
5: IDA Pro\r......Page 120
Loading an Executable......Page 121
Disassembly Window Modes......Page 122
Useful Windows for Analysis......Page 124
Navigating IDA Pro......Page 125
Searching......Page 127
Code Cross-References......Page 128
Data Cross-References......Page 129
Analyzing Functions......Page 130
Using Graphing Options......Page 131
Formatting Operands......Page 133
Using Named Constants......Page 135
Extending IDA with Plug-ins......Page 136
Using IDC Scripts......Page 137
Using IDAPython......Page 138
Conclusion......Page 139
Questions......Page 140
6: Recognizing C Code Constructs in Assembly\r......Page 142
Global vs. Local Variables......Page 143
Disassembling Arithmetic Operations......Page 145
Recognizing if Statements......Page 146
Recognizing Nested if Statements......Page 147
Finding for Loops......Page 149
Finding while Loops......Page 151
cdecl......Page 152
Push vs. Move......Page 153
Analyzing switch Statements......Page 154
If Style......Page 155
Jump Table......Page 156
Disassembling Arrays......Page 160
Identifying Structs......Page 161
Analyzing Linked List Traversal......Page 163
Conclusion......Page 165
Lab 6-3......Page 166
Questions......Page 167
7: Analyzing Malicious Windows Programs\r......Page 168
Types and Hungarian Notation......Page 169
File System Functions......Page 170
Special Files......Page 171
The Windows Registry......Page 172
Programs that Run Automatically......Page 173
Analyzing Registry Code in Practice......Page 174
Registry Scripting with .reg Files......Page 175
Berkeley Compatible Sockets......Page 176
The Server and Client Sides of Networking......Page 177
DLLs......Page 178
Processes......Page 180
Threads......Page 182
Interprocess Coordination with Mutexes......Page 184
Services......Page 185
The Component Object Model......Page 187
Exceptions: When Things Go Wrong......Page 190
Kernel vs. User Mode......Page 191
The Native API......Page 192
Conclusion......Page 194
Lab 7-3......Page 195
Questions......Page 196
Part 3: Advanced Dynamic Analysis......Page 198
8: Debugging\r......Page 200
Kernel vs. User-Mode Debugging......Page 201
Single-Stepping......Page 202
Stepping-Over vs. Stepping-Into......Page 203
Pausing Execution with Breakpoints......Page 204
Exceptions......Page 208
Common Exceptions......Page 209
Modifying Program Execution in Practice......Page 210
Conclusion......Page 211
9: OllyDbg\r......Page 212
Opening an Executable......Page 213
The OllyDbg Interface......Page 214
Memory Map......Page 216
Rebasing......Page 217
Viewing Threads and Stacks......Page 218
Executing Code......Page 219
Software Breakpoints......Page 221
Conditional Breakpoints......Page 222
Memory Breakpoints......Page 223
Loading DLLs......Page 224
Standard Back Trace......Page 225
Tracing Poison Ivy......Page 226
Exception Handling......Page 227
Patching......Page 228
Analyzing Shellcode......Page 229
Plug-ins......Page 230
Command Line......Page 231
Bookmarks......Page 232
Scriptable Debugging......Page 233
Conclusion......Page 234
Questions......Page 235
Questions......Page 236
10: Kernel Debugging with WinDbg\r......Page 238
Drivers and Kernel Code......Page 239
Setting Up Kernel Debugging......Page 240
Reading from Memory......Page 243
Setting Breakpoints......Page 244
Searching for Symbols......Page 245
Viewing Structure Information......Page 246
Looking at the User-Space Code......Page 248
Looking at the Kernel-Mode Code......Page 250
Finding Driver Objects......Page 253
Rootkits......Page 254
Rootkit Analysis in Practice......Page 255
Interrupts......Page 258
Kernel Issues for Windows Vista, Windows 7, and x64 Versions......Page 259
Conclusion......Page 260
Questions......Page 261
Part 4: Malware Functionality......Page 262
Downloaders and Launchers......Page 264
Reverse Shell......Page 265
RATs......Page 266
Credential Stealers......Page 267
GINA Interception......Page 268
Hash Dumping......Page 269
Keystroke Logging......Page 271
The Windows Registry......Page 274
Trojanized System Binaries......Page 276
DLL Load-Order Hijacking......Page 277
Privilege Escalation......Page 278
Using SeDebugPrivilege......Page 279
Covering Its Tracks—User-Mode Rootkits......Page 280
Inline Hooking......Page 281
Conclusion......Page 283
Lab 11-3......Page 284
Questions......Page 285
Launchers......Page 286
DLL Injection......Page 287
Process Replacement......Page 290
Hook Injection......Page 292
Using SetWindowsHookEx......Page 293
Thread Targeting......Page 294
APC Injection......Page 295
APC Injection from User Space......Page 296
APC Injection from Kernel Space......Page 297
Conclusion......Page 298
Lab 12-4......Page 299
Questions......Page 300
13: Data Encoding\r......Page 302
Caesar Cipher......Page 303
XOR......Page 304
Other Simple Encoding Schemes......Page 309
Base64......Page 310
Common Cryptographic Algorithms......Page 313
Recognizing Strings and Imports......Page 314
Searching for Cryptographic Constants......Page 315
Searching for High-Entropy Content......Page 316
Identifying Custom Encoding......Page 318
Self-Decoding......Page 321
Manual Programming of Decoding Functions......Page 322
Using Instrumentation for Generic Decryption......Page 324
Conclusion......Page 327
Questions......Page 328
Questions......Page 329
Network Countermeasures......Page 330
Indications of Malicious Activity......Page 331
OPSEC = Operations Security......Page 332
Getting IP Address and Domain Information......Page 333
Content-Based Network Countermeasures......Page 335
Intrusion Detection with Snort......Page 336
Taking a Deeper Look......Page 337
Combining Dynamic and Static Analysis Techniques......Page 340
Hiding in Plain Sight......Page 341
Understanding Surrounding Code......Page 345
Finding the Networking Code......Page 346
Hard-Coded Data vs. Ephemeral Data......Page 347
Identifying and Leveraging the Encoding Steps......Page 348
Creating a Signature......Page 350
Analyze the Parsing Routines......Page 351
Targeting Multiple Elements......Page 353
Understanding the Attacker’s Perspective......Page 354
Conclusion......Page 355
Questions......Page 356
Questions......Page 357
Part 5: Anti-Reverse-Engineering......Page 358
15: Anti-Disassembly\r......Page 360
Understanding Anti-Disassembly......Page 361
Linear Disassembly......Page 362
Flow-Oriented Disassembly......Page 364
Jump Instructions with the Same Target......Page 367
A Jump Instruction with a Constant Condition......Page 369
Impossible Disassembly......Page 370
The Function Pointer Problem......Page 373
Return Pointer Abuse......Page 375
Misusing Structured Exception Handlers......Page 377
Thwarting Stack-Frame Analysis......Page 380
Conclusion......Page 382
Questions......Page 383
16: Anti-Debugging\r......Page 384
Using the Windows API......Page 385
Manually Checking Structures......Page 386
Identifying Debugger Behavior......Page 389
Timing Checks......Page 390
Using TLS Callbacks......Page 392
Using Exceptions......Page 394
Inserting Interrupts......Page 395
PE Header Vulnerabilities......Page 396
Conclusion......Page 398
Questions......Page 400
Questions......Page 401
17: Anti-Virtual Machine Techniques\r......Page 402
VMware Artifacts......Page 403
Bypassing VMware Artifact Searching......Page 405
Vulnerable Instructions......Page 406
Using the Red Pill Anti-VM Technique......Page 407
Querying the I/O Communication Port......Page 408
Highlighting Anti-VM in IDA Pro......Page 410
Tweaking Settings......Page 412
Conclusion......Page 413
Questions......Page 414
Questions......Page 415
18: Packers and Unpacking\r......Page 416
Loading the Executable......Page 417
Resolving Imports......Page 418
Unpacking Illustrated......Page 419
Entropy Calculation......Page 420
Automated Unpacking......Page 421
Manual Unpacking......Page 422
Rebuilding the Import Table with Import Reconstructor......Page 423
Finding the OEP......Page 424
Repairing the Import Table Manually......Page 428
PECompact......Page 430
WinUpack......Page 431
Analyzing Without Fully Unpacking......Page 433
Packed DLLs......Page 434
Conclusion......Page 435
Labs\r......Page 436
Part 6: Special Topics......Page 438
19: Shellcode Analysis\r......Page 440
Position-Independent Code......Page 441
Using call/pop......Page 442
Using fnstenv......Page 444
Finding kernel32.dll in Memory......Page 446
Parsing PE Export Data......Page 448
Using Hashed Exported Names......Page 450
A Full Hello World Example......Page 451
Shellcode Encodings......Page 454
NOP Sleds......Page 455
Finding Shellcode......Page 456
Conclusion......Page 457
Lab 19-3......Page 458
Questions......Page 459
Object-Oriented Programming......Page 460
The this Pointer......Page 461
Overloading and Mangling......Page 463
Virtual vs. Nonvirtual Functions......Page 465
Use of Vtables......Page 467
Recognizing a Vtable......Page 468
Creating and Destroying Objects......Page 470
Conclusion......Page 471
Lab 20-3......Page 472
Questions......Page 473
21: 64-Bit Malware\r......Page 474
Why 64-Bit Malware?......Page 475
Differences in x64 Architecture......Page 476
Differences in the x64 Calling Convention and Stack Usage......Page 477
Windows 32-Bit on Windows 64-Bit......Page 480
64-Bit Hints at Malware Functionality......Page 481
Conclusion......Page 482
Questions......Page 483
A: Important Windows Functions\r......Page 486
B: Tools for Malware Analysis\r......Page 498
Short Answers......Page 510
Detailed Analysis......Page 511
Detailed Analysis......Page 512
Detailed Analysis......Page 513
Detailed Analysis......Page 514
Detailed Analysis......Page 515
Short Answers......Page 518
Detailed Analysis......Page 519
Detailed Analysis......Page 523
Detailed Analysis......Page 525
Short Answers......Page 527
Detailed Analysis......Page 528
Detailed Analysis......Page 534
Detailed Analysis......Page 536
Short Answers......Page 540
Detailed Analysis......Page 541
Detailed Analysis......Page 544
Detailed Analysis......Page 546
Detailed Analysis......Page 550
Short Answers......Page 552
Detailed Analysis......Page 553
Detailed Analysis......Page 563
Short Answers......Page 572
Detailed Analysis......Page 573
Detailed Analysis......Page 578
Short Answers......Page 581
Detailed Analysis......Page 582
Detailed Analysis......Page 587
Detailed Analysis......Page 593
Short Answers......Page 599
Detailed Analysis......Page 600
Detailed Analysis......Page 604
Detailed Analysis......Page 614
Detailed Analysis......Page 619
Detailed Analysis......Page 623
Detailed Analysis......Page 630
Short Answers......Page 632
Detailed Analysis......Page 633
Detailed Analysis......Page 640
Detailed Analysis......Page 645
Short Answers......Page 650
Detailed Analysis......Page 651
Short Answers......Page 659
Detailed Analysis......Page 660
Short Answers......Page 665
Detailed Analysis......Page 666
Short Answers......Page 670
Detailed Analysis......Page 672
Detailed Analysis......Page 678
Short Answers......Page 679
Detailed Analysis......Page 680
Detailed Analysis......Page 685
Short Answers......Page 688
Detailed Analysis......Page 689
Short Answers......Page 693
Detailed Analysis......Page 694
Detailed Analysis......Page 698
Detailed Analysis......Page 703
Detailed Analysis......Page 706
Detailed Analysis......Page 711
Lab 18-1 Solutions......Page 717
Lab 18-2 Solutions......Page 718
Lab 18-3 Solutions......Page 719
Lab 18-4 Solutions......Page 722
Lab 18-5 Solutions......Page 724
Detailed Analysis......Page 729
Detailed Analysis......Page 732
Short Answers......Page 736
Detailed Analysis......Page 737
Detailed Analysis......Page 745
Short Answers......Page 746
Detailed Analysis......Page 747
Detailed Analysis......Page 750
Short Answers......Page 756
Detailed Analysis......Page 757
Short Answers......Page 761
Detailed Analysis......Page 762
Index\r......Page 766