miércoles, 29 de mayo de 2019

OS fingerprinting: a brief history

No hay comentarios:

In this post I will show some historical techniques, tools and countermeasures I will be showing in Derevolutionizing OS Fingerprinting: The Cat and Mouse Game at Defcon China.

OS fingerprinting describes the method of utilising gathered information of a target host to find out what OS the machine is running on.

Wikipedia describes it as:
“ TCP/IP stack fingerprinting is the passive collection of configuration attributes from a remote device during standard layer 4 network communications. The combination of parameters may then be used to infer the remote machine's operating system (aka, OS fingerprinting), or incorporated into a device fingerprint ”
There are multiple approaches for finding out the OS of an unknown host without having an account, or any way of logging on the machine:
  • Banner Information & Manual Reconnaissance
  • Active Fingerprinting
  • Passive Fingerprinting
  • Timing Analysis Fingerprinting

lunes, 27 de mayo de 2019

OSfooler-ng v1.0 released

No hay comentarios:

Take a look a the oficial repository of OSfooler-ng at Github.

An outsider has the capability to discover general information, such as which operating system a host is running, by searching for default stack parameters, ambiguities in IETF RFCs or non-compliant TCP/IP implementations in responses to malformed requests. By pinpointing the exact OS of a host, an attacker can launch an educated and precise attack against a target machine.
There are lot of reasons to hide your OS to the entire world:
  • Revealing your OS makes things easier to find and successfully run an exploit against any of your devices.
  • Having and unpatched or antique OS version is not very convenient for your company prestige. Imagine that your company is a bank and some users notice that you are running an unpatched box. They won't trust you any longer! In addition, these kind of 'bad' news are always sent to the public opinion.
  • Knowing your OS can also become more dangerous, because people can guess which applications are you running in that OS (data inference). For example if your system is a MS Windows, and you are running a database, it's highly likely that you are running MS-SQL.
  • It could be convenient for other software companies, to offer you a new OS environment (because they know which you are running).
  • And finally, privacy; nobody needs to know the systems you've got running.
OSfooler was presented at Blackhat Arsenal 2013. It was built on NFQUEUE, an iptables/ip6tables target which delegate the decision on packets to a userspace. It transparently intercepted all traffic that your box was sending in order to camouflage and modify in real time the flags in TCP/IP packets that discover your system.
OSfooler-NG has been complete rewriten from the ground up, being highly portable, more efficient and combining all known techniques to detect and defeat at the same time:
  • Active remote OS fingerprinting: like Nmap
  • Passive remote OS fingeprinting: like p0f v2
  • Commercial engines like Sourcefire’s FireSiGHT OS fingerprinting
Some additional features are:
  • No need for kernel modification or patches
  • Simple user interface and several logging features
  • Transparent for users, internal process and services
  • Detecting and defeating mode: active, passive & combined
  • Will emulate any OS
  • Capable of handling updated nmap and p0f v2 fingerprint database
  • Undetectable for the attacker

lunes, 6 de mayo de 2019

Next Stop: Defcon China

No hay comentarios:

Great news!! I will be speaking at Defcon China (31 May - 02) about “Derevolutionizing OS Fingerprinting: The Cat and Mouse Game”.

With the explosive growth and distributed nature of computer networks, it has become progressively more difficult to manage, secure, and identify Internet devices. An outsider has the capability to discover general information, such as which operating system a host is running, by searching for default stack parameters, ambiguities in IETF RFCs or non-compliant TCP/IP implementations in responses to malformed requests. By pinpointing the exact OS of a host, an attacker can launch an educated and precise attack against a target machine.

There are lot of reasons to hide your OS to the entire world:
  • Revealing your OS makes things easier to find and successfully run an exploit against any of your devices.
  • Having and unpatched or antique OS version is not very convenient for your company prestige. Imagine that your company is a bank and some users notice that you are running an unpatched box. They won't trust you any longer! In addition, these kind of 'bad' news are always sent to the public opinion.
  • Knowing your OS can also become more dangerous, because people can guess which applications are you running in that OS (data inference). For example if your system is a MS Windows, and you are running a database, it's highly likely that you are running MS-SQL.
  • It could be convenient for other software companies, to offer you a new OS environment (because they know which you are running).
  • And finally, privacy; nobody needs to know the systems you've got running.

This talk aims to present well-known methods that perform classification using application-layer traffic (TCP/IP/UDP headers, ICMP packets, or some combination thereof), old style approaches to defeat remote OS fingerprinting (like tweaking Windows registry or implement patches to the Linux kernel) and why this doesn't work with nowadays and could affect TCP/IP stack performance.

I'll also present a new approach to detect and defeat both active/passive OS fingerprint with OSfooler-NG, a completely rewritten tool, highly portable, completely undetectable for the attackers and capable of detecting and defeating famous tools like nmap, p0f, Xprobe, pfsense and many commercial engines.

Sorry guys, OS fingerprinting is over ...