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

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

18

ActiveX Safety Detailer

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

Available on the book s companion Web site.

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

18

Component Services

Displays the DCOM objects installed on a computer.

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

3

Object Browser

Displays type information about COM objects.

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

18

OLEView

Provides extensive ActiveX/COM interface information.

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

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

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.

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.

12

Code Analysis

Title

Description

Chapter

.NET Reflector

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

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

17

BoundsChecker

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

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

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

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

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

15

LCLint

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

http://lclint.cs. virginia .edu

8

Prefast

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

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

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

17

Microsoft Debugging Tools for Windows

Several debugging tools for the Windows operating system.

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

17

Microsoft Visual Studio

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

8, 9

NTSD

System and application debugger.

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

8

OllyDbg

A 32-bit debugger for the Windows operating system.

http://www.ollydbg.de

17

Documents and Binaries

Title

Description

Chapter

eDoc

Binary editor that preserves the OLE DocFile format.

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

7, 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.

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

10

Resource Hacker

Used to examine the resources contained in a file.

http://angusj.com/resourcehacker

10

Strings

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

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

7

WinHex

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

http://www.winhex.com/winhex

7, 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

13

APIMon

Monitors and logs system API calls.

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

8

APISpy32

Monitors API calls.

http://www.internals.com

17

Dependency Walker

Shows module entry points and dependencies.

http://www.dependencywalker.com

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

4

File Monitor (FileMon)

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

http://www.sysinternals.com

3, 7, 18

Logger/LogViewer

Logs API usage at run time for later viewing.

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

17

Performance Monitor (PerfMon)

Application collects and logs various metrics.

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

8, 14

Process Explorer

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

http://www.sysinternals.com

3, 7, 13, 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

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

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

10

Winspector

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

http://www.windows-spy.com

3, 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 avascript and XML (A AX) 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.

3

Ethereal

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

http://www.ethereal.com

3, 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.

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

4

iri 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.

4

Mac Makeup

Spoofs a MAC address on a Windows-based system.

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

6

Web Proxy Editor

Intercepts and enables you to manipulate HTTP and HTTPS requests.

Available on the book s companion Web site.

3, 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

5

NetStat

Displays the TCP/IP network connections on a machine.

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

3

Network Monitor

Monitors and records all network traffic.

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

18

Parosproxy

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

http://www.parosproxy.org

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

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

3

Scapy

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

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

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.

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

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.ex e

4

WSBang

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

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

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

13

Component Services

Displays the DCOM objects installed on a computer.

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

3

GpResult

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

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

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.

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.

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

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.

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.

16



Hunting Security Bugs
Hunting Security Bugs
ISBN: 073562187X
EAN: 2147483647
Year: 2004
Pages: 156

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net