Operating System Fingerprinting Library Introduction History Library Future
Operating System Fingerprinting Library • Introduction • History • Library • Future
Introduction • This is the introduction of a Operating System Fingerprinting Library • Who is this code for? • Black Hats • White Hats • Cat in the Hat • Who is this talk for? • Black Hats • White Hats • Developers • This is a Deep Knowledge Track about beta code!!! • (Translation) This talk is more about tomorrow than today! Most of what will be presented here is less useful then it is an indication about the way things will be. • (Translation) You will not get the code on my ftp to compile on your first try!
The History of Operating System Fingerprinting
Library • Each test is written in two separate. c files • One file for sending functions • One for listening • For instance nmap_T 1. c and nmap_TX_listen. c • One function per file • Arguments to each function are everything that should be handled in the Test Logic. • char *nmap_T 1(u_long src_ip, ulong dst ip, u_short src_prt, u_short dst_prt, u_int seq)
Library Java • All Files begin with J ( so I can see the java library w/ ls J*) • All Tests are extensions from JOSTest • JOSTest contains the Family structure of OSLib • Abstract Class JOSTest • { • • String OSFamily. Name String OSMajor. Version String OSMinor. Version String OSOther String OSArch …. . Etc }
JOSLib • Extensions to JOSTest are required to implement runtest() • Runtest() should be threaded wherever possible • JOSTest should also contains comparison methods useful for doing Set functions on groups of Tests. • This way you can search a group of Tests for equality or subset using class calls
A look at the code • Open file nmap_T 1. c • Open file x_mr. c • Open file JOSimp. c • Open file JOSTest. java • Open file Jnmap. TXOSTest. java
Trivial Example App • Show trivial app
Perl Module and C++ module • On the way…
Future • New Tests • Ring • Other older tests? ? ? • Service Fingerprinting • Winfingerprint • Other Service fingerprinters? ? ? • Integration with lib-whisker? ? ? • CVE Database – Operating System and Service Abstract Map • Create a very consistent map of what OS Version is vulnerable with regards to what is possible via fingerprinting… • Develop… Simple Scanner • Lib. OS Apache Module
- Slides: 10