Appendix A. Tools of the Trade

Whenever you work on a project, such as building a house or demolishing it, having the right tools for the job is essential. This concept is no different when testing an application, especially testing for security vulnerabilities. Several tools are available to make your job of looking for security flaws easier. Throughout the book, we mention several tools and even discuss some of their weaknesses.

This appendix enumerates some of the tools that we believe are helpful when hunting security bugs. The tools are organized into categories of interest. Remember, tools are always evolving. Sometimes today’s best tool is replaced by a better tool tomorrow. Seek out newer tools if you find the ones you are using don’t meet your expectations, and keep current as new tools become available that do a better job in helping you test.

General

Title

Description

Chapter

Your brain

One of the most powerful security tools available is your brain. When testing for security bugs, you have to think maliciously and analyze how a developer might have intended a feature to work. No security tool can substitute for your own brain power.

All

MSDN

Provides documentation about Microsoft technologies, downloads, and links to related information.

http://msdn.microsoft.com

Several

Threat models

An excellent process to help testers create actionable security test cases and help prevent security issues from being introduced into a product.

http://msdn.microsoft.com/security/securecode/threatmodeling

Chapter 2

ActiveX/COM

Title

Description

Chapter

ActiveX Control Test Container

Allows for runtime probing and testing of some COM interfaces.

http://msdn.microsoft.com/library/en-us/vcsample/html/vcsmpTSTCONActiveXControlTestContainer.asp

Chapter 18

ActiveX Safety Detailer

Gives safety and other high-level details about a class ID.

Available on the book’s companion Web site.

Chapter 18

COMRaider

COMRaider includes a wide range of ActiveX testing including identifying safe controls, viewing type information, test case generation, fuzzing, debugging, and automated testing.

http://labs.idefense.com/labs-software.php?show=20

Chapter 18

Component Services

Displays the DCOM objects installed on a computer.

Comes installed in the Microsoft Windows operating system: dcomcnfg.exe.

Chapter 3

Object Browser

Displays type information about COM objects.

Available with Microsoft Visual Studio and Microsoft Office Visual Basic for Applications (VBA).

Chapter 18

OLEView

Provides extensive ActiveX/COM interface information.

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/oleview-o.asp

Chapter 18

Canonicalization

Title

Description

Chapter

ASCII Table

A table that contains the numerical representations of characters.

http://msdn.microsoft.com/library/en-us/vsintro7/html/_pluslang_ASCII_Character_Codes.asp

Chapter 12

Character Map

Displays the hexadecimal values along with the glyphs for specific characters, as long as the characters have glyphs present in the font specified.

Comes installed in the Microsoft Windows operating system: charmap.exe.

N/A

OverlongUTF

Generates the overlong UTF-8 encodings for a character.

Available on the book’s companion Web site.

Chapter 12

Web Text Converter

Escapes a string into different formats or converts it back into its more readable format.

Available on the book’s companion Web site.

Chapter 12

Code Analysis

Title

Description

Chapter

.NET Reflector

A class browser, code analyzer, decompiler for .NET-managed assemblies.

http://www.aisto.com/roeder/dotnet

Chapter 17

BoundsChecker

Allows compilation of an instrumented binary to help identify programming flaws.

http://www.compuware.com/products/devpartner/visualc.htm

Chapter 8

C/C++ Code Analysis

Static code analysis tool that provides information about potential defects in C/C++ source code.

http://msdn2.microsoft.com/en-us/library/d3bbz7tz(en-US,VS.80).aspx

Chapter 8

Forty’s Source Code Analysis

Enables you to identify, track, fix security vulnerabilities in your application by analyzing the source code.

http://www.fortifysoftware.com/products

N/A

FxCop

Analyzes Microsoft .NET Framework–managed code to make sure the assembly adheres to the.NET Framework Design Guidelines.

http://www.gotdotnet.com/team/fxcop

Chapter 15

ILDASM

.NET Framework Intermediate Language (IL) Disassembler. Part of the Microsoft .NET Framework version 2.0 Software Development Kit (SDK).

http://msdn.microsoft.com/netframework/downloads/updates/default.aspx

Chapter 15

LCLint

Static code analysis tool that looks through the code for common cases of buffer overruns.

http://lclint.cs.virginia.edu

Chapter 8

Prefast

Prefast is a static code analysis tool provided as part of Microsoft Visual Studio 2005.

Chapter 8

Debugging

Title

Description

Chapter

Gflags

Allows you to enable system-wide heap and object checks for an application.

http://technet2.microsoft.com/WindowsServer/en/Library/6a183942-57b1-45e0-8b4c-c546aa1b8c471033.mspx

Chapter 8

IDA Pro

A disassembler and debugger, plus several additional features useful for figuring out how an application works when you don’t have the source code.

http://www.datarescue.com/idabase

Chapter 17

Microsoft Debugging Tools for Windows

Several debugging tools for the Windows operating system.

http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

Chapter 17

Microsoft Visual Studio

Microsoft’s premium application debugger and provides a rich set of UI and automatable debugging features.

Chapter 8, Chapter 9

NTSD

System and application debugger.

Comes installed in the Windows operating system: ntsd.exe.

Chapter 8

OllyDbg

A 32-bit debugger for the Windows operating system.

http://www.ollydbg.de

Chapter 17

Documents and Binaries

Title

Description

Chapter

eDoc

Binary editor that preserves the OLE DocFile format.

http://www.etree.com/tech/freestuff/edoc

Chapter 7, Chapter 8

Filename Extension Information

Displays the information for an extension, such as the associated program to open or edit the file.

Available on the book’s companion Web site.

Chapter 3

HTML Help Workshop

Can be used to extract the contents of a Help file (CHM).

http://msdn.microsoft.com/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp

Chapter 10

Resource Hacker

Used to examine the resources contained in a file.

http://angusj.com/resourcehacker

Chapter 10

Strings

Displays the Unicode or ASCII strings contained within a binary file.

http://www.sysinternals.com/utilities/strings.html

Chapter 7

WinHex

Universal hexadecimal editor, which is useful when editing different types of binary data, including memory and files.

http://www.winhex.com/winhex

Chapter 7, Chapter 17

XVI32

A freeware hexadecimal editor, which can be used to edit binary files.

http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm

N/A

Fuzzers

Title

Description

Chapter

iDefense File Fuzzers

Three different fuzzers available for fuzzing files. These fuzzers modify input files, launch the application that handles the input file, and detect exceptions.

http://labs.idefense.com

N/A

Hailstorm

Commercially available network fuzzer.

http://www.cenzic.com

N/A

Peach

Cross-platform fuzzing framework written in Python.

http://peachfuzz.sourceforge.net

N/A

SPIKE

Framework for network fuzzing.

http://www.immunitysec.com/resources-freesoftware.shtml

N/A

Memory/Runtime

Title

Description

Chapter

AppVerifier

For testing applications for compatibility issues with the Windows operating system, including security issues, while the application is executed.

http://msdn.microsoft.com/library/en-us/dnappcom/html/AppVerifier.asp

Chapter 13

APIMon

Monitors and logs system API calls.

http://www.microsoft.com/downloads/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38

Chapter 8

APISpy32

Monitors API calls.

http://www.internals.com

Chapter 17

Dependency Walker

Shows module entry points and dependencies.

http://www.dependencywalker.com

Chapter 9

Detours

Code library that allows hooking APIs, which allows arbitrary code to receive an API call and return any response.

http://research.microsoft.com/sn/detours

Chapter 4

File Monitor (FileMon)

Monitors and displays file system, pipe, and mailslot activity on a system in real time.

http://www.sysinternals.com

Chapter 3, Chapter 7, Chapter 18

Logger/LogViewer

Logs API usage at run time for later viewing.

http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

Chapter 17

Performance Monitor (PerfMon)

Application collects and logs various metrics.

Comes installed in the Windows operating system: perfmon.exe.

Chapter 8, Chapter 14

Process Explorer

Shows a lot of information about a process, including the handles and DLLs opened or loaded.

http://www.sysinternals.com

Chapter 3, Chapter 7, Chapter 13, Chapter 14

RegMon

Monitors applications that access the registry, including the data that is being read from and written to a registry key.

http://www.sysinternals.com

Chapter 18

Strace

Traces which system calls are made by a specific process.

UNIX: http://sourceforge.net/project/showfiles.php?group_id=2861

Windows operating system: http://www.bindview.com/Services/RAZOR/Utilities/Windows

Chapter 8

Super Password Spy++

Provides more information about specific windows. Similar to Spy++.

http://www.codeguru.com/Cpp/I-N/ieprogram/security/article.php/c4387

Chapter 10

Winspector

Enumerates all of the windows and windows messages for a process running on the machine.

http://www.windows-spy.com

Chapter 3, Chapter 19

Network

Title

Description

Chapter

Burp suite

Proxy application that can intercept and modify all HTTP and HTTPS traffic.

http://www.portswigger.net

N/A

Charles Web Debugging Proxy

A HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. It also useful for intercepting requests that are done using Asynchronous Javascript and XML (AJAX) and XMLHTTP.

http://www.xk72.com/charles

N/A

CreatePipe

A tool that allows you to create a named pipe with a given name and attempts to impersonate the user that connects to it.

Available on the book’s companion Web site.

Chapter 3

Ethereal

Enables you to monitor all network traffic, analyze protocols, and follow TCP steams.

http://www.ethereal.com

Chapter 3, Chapter 4

Ettercap

A network man in the middle tool for generic packet interception and manipulation on a local area network (LAN).

http://ettercap.sourceforge.net

N/A

EvilServer

A tool that is included with Web Proxy Editor that enables you to easily mimic an HTTP server.

Available on the book’s companion Web site.

Chapter 5

Fiddler

A HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet.

http://www.fiddlertool.com/fiddler

N/A

IE Developer Toolbar

Enables you to test and interact with the IE DOM in order to help find script injection in the DOM.

http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en

N/A

Imperva Inc.’s Interactive TCP Relay

Enables you to intercept and monitor any TCP traffic for the specified port.

http://www.imperva.com/application_defense_center/tools.asp

Chapter 4

Jiri Richter’s Man in the Middle

Enables you to intercept and monitor any TCP traffic for the specified port.

Available on the book’s companion Web site.

Chapter 4

Mac Makeup

Spoofs a MAC address on a Windows-based system.

http://www.gorlani.com/publicprj/MacMakeUp/macmakeup.asp

Chapter 6

Web Proxy Editor

Intercepts and enables you to manipulate HTTP and HTTPS requests.

Available on the book’s companion Web site.

Chapter 3, Chapter 4

Netcat

Enables you to send and receive data across TCP or UDP network connections. Can act as a client or server.

http://www.vulnwatch.org/netcat

Chapter 5

NetStat

Displays the TCP/IP network connections on a machine.

Comes installed in the Windows operating system: netstat.exe.

Chapter 3

Network Monitor

Monitors and records all network traffic.

http://msdn.microsoft.com/library/en-us/netmon/netmon/network_monitor.asp

Chapter 18

Parosproxy

Proxy application that can intercept and modify all HTTP and HTTPS traffic.

http://www.parosproxy.org

Chapter 4

PipeList

Displays all of the named pipes running on the system, including the number of maximum instances and active instances for each.

http://www.sysinternals.com

Chapter 3

Port Reporter

Port Reporter logs TCP and UDP port activity on a local Windows-based system.

http://www.microsoft.com/downloads/details.aspx?FamilyID=69BA779B-BAE9-4243-B9D6-63E62B4BCD2E&displaylang=en

 

RpcDump

Displays all of the RPC endpoints located on a computer.

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/rpcdump-o.asp

Chapter 3

Scapy

Tool that runs on Linux and allows packet manipulation, including data in the packet padding.

http://www.secdev.org/projects/scapy

Chapter 7

TCPView

Displays a detailed listings of all TCP and UDP endpoints on your system, including the local and remote addresses and state of TCP connections.

http://www.sysinternals.com

N/A

ViewPlgs

Views pluggable protocol handlers.

Available on the book’s companion Web site.

Chapter 3

WebServiceStudio

WebServiceStudio takes a URL of a WSDL, displays each method exposed, and calls the method with parameters of your choice.

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65a1d4ea-0f7a-41bd-8494-e916ebc4159c

Chapter 11

WFetch

Tools to send arbitrary HTTP and HTTPS requests to a server.

http://download.microsoft.com/download/iis50/Utility/5.0/W9XNT4/EN-US/wfetch.exe

Chapter 4

WSBang

Tool used to perform security tests, including fuzzing, on SOAP-based Web services.

http://www.isecpartners.com/tools.html

Chapter 11

Permissions

Title

Description

Chapter

AccessEnum

Views the permissions on the file system and registry, and is great for showing weak permissions on objects.

http://www.sysinternals.com

Chapter 13

Component Services

Displays the DCOM objects installed on a computer.

Comes installed in the Microsoft Windows operating system: dcomcnfg.exe.

Chapter 3

GpResult

Displays the Resultant Set of Policy (RSoP) for a target user and computer.

Comes installed in the Windows operating system: gpresult.exe.

Chapter 13

LN

Creates a hard link to a file, but doesn’t require you to be an administrator.

Available on the book’s companion Web site.

Chapter 13

ObjSD

Shows the ACLs set on a security object, such as a file, registry key, named pipe, or service.

Available on the book’s companion Web site.

Chapter 13

PermCalc

Estimates the permissions a caller is granted on the public entry point for a .NET-managed assembly. Part of the .NET Framework 2.0 SDK.

http://msdn.microsoft.com/netframework/downloads/updates/default.aspx

N/A

WhoAmI

A command-line tool that can be used to display all of the groups that a user belongs to.

http://www.microsoft.com/downloads/details.aspx?familyid=3E89879D-6C0B-4F92-96C4-1016C187D429&displaylang=en

Chapter 13

SQL

Title

Description

Chapter

SQL Profiler

SQL Trace utility that monitors the SQL statements executing on a Microsoft SQL Server.

Available with SQL Server.

Chapter 16

SQLInjection.tdf

A SQL Server Profiler template that can be used to view all of the queries, including the stored procedures in the calls they might make. Useful for detecting SQL injection bugs.

Available on the book’s companion Web site.

Chapter 16

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset