This book is divided into two parts. Part Icovers several commonly used open source security tools and shows youhow to leverage existing well-known and reliable network securitytools to solve your network security problems.Heres a summary of what we cover:
,
Writing Plug-ins for NessusNessus is the most popular vulnerability scanner available today. Itis also open source and free. This chapter demonstrates not only howto use Nessus, but also how to write plug-ins to enable it to scanfor new vulnerabilities.
,
Developing Dissectors and Plug-ins for the Ettercap Network SnifferEttercap is a popular network sniffer that also is free and opensource. Its plug-in functionality is one of the most robustavailable. In fact, quite a few plug-ins for this sniffer areavailable that perform a variety of useful tasks, such as detectingother sniffers on the network and collecting data such as passwordsthat are being passed around the network. This chapter explains howto write plug-ins for this most powerful scanner to look for specificdata on the network, as well as other useful tricks.
,
Extending Hydra and NmapMany security tools do not use a plug-in architecture, and thereforecannot be trivially extended. This chapter discusses how to extendthe commonly used nonplug-in tool, Hydra, a tool for performing bruteforce testing against passwords, to support an additional protocol.It also discusses how to create binary signatures for Nmap that use asignature database for expansion.
,
Writing Plug-ins for the Nikto Vulnerability ScannerNikto is a free, open source, and popular web vulnerability scannerthat uses the well-known libwhisker library tooperate. This chapter teaches you how to extend Nikto to find newvulnerabilities that might exist with external web applications andservers, or even within a companys custom-built webapplication.
,
Writing Modules for the Metasploit FrameworkThe Metasploit Framework is a freely available framework for writingand testing network security exploits. This chapter explores how todevelop exploits for the framework, as well as how to use theframework for more general security purposes.
,
Extending Code Analysis to the WebrootSource code analysis tools exist for languages such as Java. However,such tools for web applications are lacking. This chapterdemonstrates how to implement web application-specific rules for thereview of J2EE applications using the PMD tool.
Part IIdescribes approaches to writing customLinux kernel modules, web application vulnerability identificationand exploitation tools, packet sniffers, and packet injectors. All ofthese can be useful features in network security tools, and in eachcase an approach or toolset is introduced to guide readers inintegrating these capabilities into their own custom security tools.
,
Fun with Linux Kernel ModulesLinux security starts at the kernel level. This chapter discusses howto write Linux kernel modules and explains to readers what they canachieve at the kernel level, as well as how kernel-level rootkitsachieve some of the things they do.
,
Developing Web Assessment Tools and ScriptsEffective tools for hacking web applications must be able toadequately adapt to the custom applications they can be run against.This chapter discusses how to develop scripts in Perl that can beused to dynamically detect and identify vulnerabilities within customweb applications.
,
Automated Exploit ToolsTools for exploiting web application issues must leverage access toapplication databases and operating systems. This chapterdemonstrates techniques for creating tools that show what can be donewith web application vulnerabilities.
,
Writing Network SniffersObserving network traffic is an important capability of many securitytools. The most common toolset used for network sniffing islibpcap. This chapter discusses howlibpcap works, and demonstrates how you can useit in your own tools where intercepting network traffic is needed. Wealso discuss network sniffing in both wired and wireless situations.
,
Writing Packet-Injection ToolsPacket injectors are required in scenarios where the ability togenerate custom or malformed network traffic is needed to testnetwork services. Several tools exist to perform such testing. Inthis chapter we discuss and demonstrate use of the