Recon Village - Derevolutionizing OS Fingerprinting: The cat and mouse game
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 335 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/48765 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
FingerprintGame theoryInformation securityMultiplication signDifferent (Kate Ryan album)EvoluteGame theoryComputer-assisted translationComputer virusComputer animation
00:33
TransmitterFingerprintComputer networkAttribute grammarExecution unitInformation securityMultiplication signPerspective (visual)Point (geometry)View (database)Web 2.0WindowTelnetRemote procedure callFile Transfer ProtocolConfiguration spaceServer (computing)InformationFingerprintPhysical systemService PackOperating systemSpeicheradresseAttribute grammarEmailWebsiteData miningMilitary baseMereologySemiconductor memoryComputer animation
02:42
Pattern languageInformationService (economics)Computer fileInformationWhiteboardService (economics)Port scannerFreewareConfiguration spaceSocial engineering (security)Computer animation
03:09
File Transfer ProtocolNatural numberMaxima and minimaPrice indexLinker (computing)InformationFile Transfer ProtocolServer (computing)Physical systemComputer fileVirtual machineStorage area networkComputer animation
03:48
Computer networkLibrary (computing)RootInfinityIdentity managementInformationVirtual machineSearch engine (computing)CASE <Informatik>SoftwareWeightPhysical systemRoutingMobile WebDefault (computer science)RootComputer animationSource code
04:49
TheoryExecution unitTheoryFingerprint1 (number)WindowAddress spaceOrder (biology)Source codePhysical systemLogic gateProduct (business)Computer configurationCommunications protocolComputer animation
05:52
Maxima and minimaLengthDatabaseSource codeInformationObservational studyNumberÜberlastkontrolleDefault (computer science)FlagOperating systemComputer animation
06:28
Software testingPhysical lawPhysical systemDemosceneInformation securityProjective planeHacker (term)Operating systemComputer animation
07:18
StatisticsComputer networkInformationRevision controlPhysical systemCASE <Informatik>Message passingFirewall (computing)Computing platformSequenceStandard deviationElectric generatorTracing (software)Multiplication signType theoryFingerprintPredictabilitySoftware testingSoftwareCoefficient of determinationRouter (computing)FamilyPoint (geometry)NeuroinformatikMatching (graph theory)ActuarySource codeComputer animation
08:34
Port scannerRevision controlInformationRevision controlOperating systemProxy serverCASE <Informatik>FingerprintPort scannerComputer animation
09:03
Maxima and minimaFingerprintElectronic signatureDatabaseSoftware testingResultantDatabaseProof theoryInformationOperating systemBitDefault (computer science)Computer wormVirtual machineComputer configurationÜberlastkontrolleWindowFlagCASE <Informatik>Latent heatKernel (computing)WhiteboardComputer animation
11:02
Electronic signatureDatabaseHardware-in-the-loop simulationFingerprintOperating systemMultiplication signVideo gameTouchscreenInformationRemote procedure callMereologyPoint (geometry)40 (number)FingerprintComputer animation
11:28
Proxy serverFingerprintMaß <Mathematik>DatabaseKernel (computing)Witt algebraExistenceInformationWebsiteWindowVirtual machineComputer configurationFingerprintPoisson-KlammerCASE <Informatik>VotingLine (geometry)Multiplication signRevision controlResultantOperating systemFile formatOrder (biology)Complete metric spaceDefault (computer science)Physical systemCodeDatabaseSimulationQuery languageComputer wormLengthSynchronizationFlagMathematicsMaxima and minimaComputer animation
14:38
Line (geometry)WebsiteGraphical user interfaceWindowAxiom of choiceLine (geometry)CASE <Informatik>Self-organizationOnline service providerRevision controlComputer animation
15:09
TorusGateway (telecommunications)Dynamic Host Configuration ProtocolOrder (biology)FingerprintUltraviolet photoelectron spectroscopyFerry CorstenGoodness of fitComputer configurationDirect numerical simulationDefault (computer science)Computer animation
15:48
InformationVirtual machinePattern languagePoint (geometry)FingerprintComputer animation
16:14
IRIS-TUDP <Protokoll>Patch (Unix)FlagStapeldateiNumberFingerprintMereologyRoutingInformationParameter (computer programming)Stack (abstract data type)WindowKernel (computing)MathematicsVirtual machinePatch (Unix)SequenceComputer animation
17:27
Information securityBounded variationKernel (computing)Multiplication signComputer programmingSoftwareWorkstation <Musikinstrument>Film editingSpacetimeMiniDiscReal-time operating systemComputer animation
18:08
Extension (kinesiology)Device driverKernel (computing)Object (grammar)SpacetimeComputer programSoftwarePhysical systemGame theoryComputer configurationDistribution (mathematics)Digital filterModule (mathematics)Default (computer science)Table (information)SpacetimeInteractive televisionExtension (kinesiology)Real-time operating systemElement (mathematics)Quaternion groupSubsetComputer animation
18:35
outputGame theoryFingerprintSpacetimeKernel (computing)Default (computer science)Maxima and minimaLimit (category theory)Component-based software engineeringQueue (abstract data type)Auto mechanicQueue (abstract data type)Maxima and minimaSpacetimeLengthComputer animation
19:07
Computer animation
19:50
Planar graphTouchscreenInformation securityInformationCellular automatonPort scannerComputer animationSource code
20:34
Drill commandsoutputNo free lunch in search and optimizationUniformer RaumInformationKernel (computing)Revision controlOperating systemElectronic signaturePhysical systemSoftware testingOperator (mathematics)CASE <Informatik>Right angleNeuroinformatikLatent heatSource codeComputer animation
22:05
System on a chipOperating systemStress (mechanics)Electronic signatureSpacetimeSoftware testingWorkstation <Musikinstrument>Revision controlInformationWindowCASE <Informatik>Letterpress printingFamilyGroup actionServer (computing)Different (Kate Ryan album)Web 2.0View (database)Physical systemQueue (abstract data type)FlagComputer programmingDemo (music)Source codeComputer animation
24:35
Dot productGreatest common divisorInfinite conjugacy class propertyDenial-of-service attackInformationWindowInternetworkingElectronic signatureProof theorySource codeComputer animation
25:03
IRIS-TSimulationStaff (military)Hill differential equationOperating systemProfil (magazine)WindowSoftware testingInformationElectronic signatureSource codeComputer animation
25:39
VotingInclusion mapPort scannerComputer configurationInformationComputer wormSoftware testingComputer animationSource code
26:06
InformationWindowInterface (computing)FamilySource codeComputer animation
27:00
Address spaceLinear partial informationSimulationExecution unitPhysical lawElectronic signatureWindowConnected spaceInformation securityCellular automatonSource codeComputer animation
27:31
Infinite conjugacy class propertyInformationNo free lunch in search and optimizationPC CardFamilyInformationCASE <Informatik>Electronic signatureDatabaseWindowNoise (electronics)Revision controlSource codeComputer animation
28:00
Law of large numbersLink (knot theory)DeterminantWindowConnected spaceFamilyCASE <Informatik>FingerprintWorkstation <Musikinstrument>Source codeComputer animation
29:07
Mobile WebComputer Graphics MetafileLink (knot theory)Local ringExecutive information systemMilitary baseField (computer science)InformationComputer animationSource code
29:33
DatabaseCASE <Informatik>Operating systemReading (process)Electronic signatureBoss CorporationComputer animation
30:00
Repository (publishing)CASE <Informatik>Proof theoryFreewareInformationComputer programmingStress (mechanics)Physical systemMultiplication signQueue (abstract data type)Virtual machineService (economics)InternetworkingGroup actionSoftware testingLimit (category theory)FamilyDressing (medical)Operating systemMatching (graph theory)Price indexLevel (video gaming)Computer animation
32:37
Computer animation
Transcript: English(auto-generated)
00:00
Okay, let's get started on the next session. I've got Jamie Sanchez with de-revolutionizing OS fingerprinting, the cat and mouse game. Jamie's got over 20 years experience as a specialist advisor for large national and international companies, focusing on different aspects of security. Without further ado, I'll hand over to Jamie. Thanks very much.
00:26
Well, hi, hello. It's great to be here. Thank you for coming to see this talk. Just some things about me. I've been working in security for almost 20 years. It's not my first
00:41
time in Vegas, so it's great to be here again. What we are gonna talk about is OS fingerprinting, you know, that is something very interesting from different perspectives, you know, from the attacker point of view for defenders, administrators, vendors, you know, you really need to know
01:07
what kind of operating system you are trying to connect. If you try to attack, you need to know, for example, if it's a Windows XP without a service pack or whatever before
01:20
launching your exploit, you have to know the memory addresses. So it's described as passive collection of configuration attributes from remote devices, but it's not also this because there are a lot of approaches for operating system fingerprinting. You know, the old days when everything was like banner grabbing, that's manual reconnaissance. Then we moved to
01:47
active operating system fingerprinting with tools like Xboob, like Nmap. Then we have also the, that basic point of view where you are only analyzer, like a packet sniffer, all the
02:02
traffic that you are generating on the, on the, on your site, on the other side, just to get a useful information. But there is another approach that are the timing attacks. We are not gonna see it here. So, the first technique is banner grabbing is very simple. You connect, you
02:22
use Telnet, for example, to a web server to get all the headers information if you are dealing with, uh, an ESS or, or NGINX, whatever. You can also connect to FTP services, Telnet to see the banner. You can use SNMP. That's kind of active, uh, techniques. But you
02:43
can also get free information for other services, you know, in map, finger, and NTP. And if you have access to the remote machines, you can also play with some configuration files for the issue files, the, the banners. And, uh, you can try to port scan. Also, you can
03:02
try to do social engineering just to get information about the technologies used by any company. There are a lot of services that gives any other information. For, for example, FTP, use the SST command. That has information about the server operating systems. And you
03:22
have some, uh, some examples there. Another useful thing would be, for example, in FTP connecting to the, to the FTP, get, get any file that is inside. For example, the ELS, compress, cut, and try to get information on your local machine. For example, here you
03:42
can see that our files comp, uh, compiled for Linux, for SAN, whatever. You can also use, uh, all the kind of, uh, search engines like SODAN, like SENSIS, that get all this information for you. So you don't have, you don't have to interact with the, with the
04:00
other machine. For example, this is very useful because, I don't know if you can see there. Well, don't worry. If you try to scan, for example, mobile networks, you can try to look for, uh, ports 6, 2, 0, 7, 8, as well, uh, for jailbroken iPhones. And you can try to
04:26
connect with SSH with default credentials that are root and alpine and try to move on. So this is very important, uh, to know, to know what kind of operating system you are dealing with. In this case, I only use the mobile phones to jump to another machine and
04:41
finally attack the, the, my target. Try to get all the information, and, uh, and I try finally, uh, attack my, my final target. So, some things you need to know. TCP IP theory. This would be very basic, but it's something that people have to understand before going into, into, uh, fingerprinting. For example, in IP, you, you have to know
05:07
what kind of protocol you are dealing with. TCP, UDP, ICMP, that are the most important ones that we are, uh, uh, taking a look. Source address, destination address, something you know about in TCP. We will be dealing with, uh, SIM packets, ACK packets, push. We have
05:27
to know not every, almost every, uh, TCP option that is available, but you have to understand that every almost operating system use some, uh, TCP options in the same order, and maybe in Windows XP and Windows 2000, they have the same options, but they are in
05:45
different order. So, that's the way that we can, uh, make the difference and know what we are dealing with a Windows XP or Windows 2000. The same for, uh, UDP. Just to know source port, destination port, you will see that in Nmap, uh, it has, like, a
06:02
custom, uh, um, data that has a lot of Cs. And finally, uh, ICMP, that is used by, approved by Nmap. So, these are some basics that you will see that in any database, you get all this information. If there is a congestion flag, uh, that is
06:23
on, um, if the default fragment flag is on, so, for active operating system fingerprinting, we are gonna see just, uh, little tools that, for example, the, some of the first one that was called Queso, that is in, in Spanish is Que System
06:41
Operativo. It's like which operating system. And, uh, it will, uh, it was sending, like, seven kind of tests. You can see the scene, scene plus, uh, acknowledge, VIN. And then, they moved, um, and, and another project was released that called Xprove. Xprove deal, a lot of, uh, deal with a lot of packets, uh, of ICMP. Send
07:07
also UDP packets. But, this kind of tools are some old right now. And I think that almost everyone, uh, in the hacking scene security is using Nmap. And, uh, so, uh,
07:21
Nmap is a, is a master pen tester for everyone. And Nmap gives you a lot of information about what kind of device you are, you are dealing with. For example, the device type in this case is a general purpose because it's a computer. But it can also tell you if you are dealing with a printer, if you are dealing, uh, with a firewall, with a ruler, or if it doesn't know well, it can give you
07:42
information about this, maybe should be a router, or maybe it's a firewall. Next thing that will tell you is the family, in this case is Linux, and the generation. The generation is practically the, the version that, that you are running. Common platform enumeration, that's something standard. The details on the fingerprint. If
08:05
it's not a perfect match, because there are some times where you, you have like a firewall or you are not getting all the traffic, you can, uh, get a message like just guessing. So Nmap doesn't know exactly what kind of operating system is, but maybe it's telling you that you are dealing with a Solaris, maybe this version, maybe
08:22
another one. You know, a lot of information, the network distance, like if you were doing a trace route, obtain guess, TCP sequence prediction. But you can also use, uh, version scan. Version scan is very useful when you are dealing with a proxy, because if you try
08:43
to make the operating system fingerprinting, you are dealing really with the proxy, and you need to get information about the remote host. So in this case, it can get a lot of information about if, uh, it's an SSL service, uh, it is running TCP, in UDP, it can
09:00
deal with, uh, a map, whatever service. But the interesting thing here is how does Nmap works, how does it really work. The new work for this is that Nmap is leaving 15 TCP proofs to UDP and ICMP. All these tests are with a custom, uh, destination port, they have custom
09:24
flags, and the result for the Nmap database is something like that. I don't know if you can see it very fine, but you know you can find it in the slides, that you have a lot of information about every operating system that you are dealing. For example, the six first,
09:40
uh, TCP proofs. So, it has, like, this custom, uh, TCP options. If you want to get more information about this, it's really useful to get the, the official Nmap book. It has a lot of information about this. So, you can get, uh, all the TCP options that, uh, they
10:02
are using, the port, the remote port they are using, if they are looking for, uh, uh, network congestion flag, if the default fragment, uh, bit is set on ICMP. And it begins with the real proof that T1, uh, T2 to T7, when you have a lot of, uh, um, a lot of flags
10:26
that you will know, that you will receive. For example, packet, uh, T2 is no flags, fragment bit is on, its window size is 124. This is all the information I, I got. So, I can know which packets I should filter and I should, uh, manipulate and let all the
10:45
traffic, uh, go to the, all the traffic go to, to, to my machine. So, I, in this case, we will see, uh, a tool that is called OSFiller that is only dealing with a specific packets for Nmap. All the, all the traffic should be, should be treated by the, by, by the
11:01
kernel. This case is UDP. UDP has, uh, um, a special payload because it has, like, 300 times the letter C. So, it's very easy to, to recognize that kind of, of packets. Um, I have a small demo, but I, I think it will be better if we do it live because we can
11:21
make the, the screen bigger. So, the same thing is for passive operating system fingerprinting. You know, it's like dealing with a packet sniffer. What you are trying to do is copying the, the data without modifying it. You don't manipulate the traffic. You just get all the information and try to analyze it locally to get all the information you
11:42
can about the remote host. And for this, you got, for example, um, OSFiller, that's the tool, uh, I'm presenting, uh, can handle the, uh, all the information from the database from version 2. It's very simple. Every line is like this. The first is the
12:03
default, uh, fragment flag is on, the TCP options and the order, and some queries. For example, if you get a SIM packet, you shouldn't have any payload inside, but there are some operating systems that send this kind of information, so this is very useful to identify them. And finally, you got the, like, like the label for the operating
12:23
system. This is fully working, but then both move to another version as version 3. That is like a complete rewrite of the, of the original code. And it deals with, uh, TCP packets, the SIM packets, but, uh, the, the sync and the acknowledge packets, HTTP
12:43
request, so it's more complete. In this case, instead of rebuilding all OSFiller, what I'm trying to do is just to migrate this kind of, uh, database to the old format so we can, we can use it. If, if you can see, it's almost the same kind of information. You
13:00
have the time to leave, the length of the packet, maximum segment size, you have the TCP options, default fragment, some more quirks that are available, uh, available in, uh, this operating system. So, this is very easy to, to identify. And finally, there are a lot of people that are still using Ettercap. Ettercap is almost using the same
13:21
technique as both. It's only copying all the traffic and just try to analyze. And it has some, uh, database. If you can see all, practically all the, all the, all these tools use the same format, all the same information. It analyzes TCP options, length of the packet, what kind of information if it has a payload. So, in this case, um, in the
13:43
next release of OSFiller, I will migrate the same database from Ettercap to both. It's been passed by OSFiller and it's 100% complete. So, it works like a term. So, I will be
14:03
doing this, this change. But also, there are some commercial engines like SoarFire or Fireside that use this kind of techniques to, to identify all the traffic for, for the IPS or the IDS. When you get an alert, they told you, like, hey, you have been attacked by this kind of machine. Maybe it's a Linux, maybe it's a, maybe it's a
14:21
Windows machine. They are using almost the same information and the same information, you can, you can spoof the, that kind of, of fingerprint. So, you can try to confuse administrators, defenders. And this is really useful to know because there are other
14:41
online services, for example, for vendors of, for ads or whatever, that use this online. So, it's very useful for, for vendors, for example, to know if you are using not only, uh, Chrome or Safari, but if you are using, uh, uh, Macintosh, you are using, uh, Windows, you are using, uh, Solaris, whatever. So, in this case, it's very simple to
15:04
make the same thing in, in the, in the first approach. It thinks it's, uh, Linux version 3. And in the second one, we are running only OSFiller and you get, like, using same database, like, Puff or Tercap. So, it's very simple to deal with this. So,
15:24
other techniques to, to do this kind of fingerprinting could be analyzing the, the DHCP requests. So, when it, when it, for example, for options like the DNS, DNS server, default gateway, it ask in, in an exact order. So, you can try to do, there is a tool
15:43
called Satori, there is a very interesting, uh, white paper that you can download and take a look. And at last, you can use other techniques like identify the MAC addresses, for example, Apple or Sony, use some kind of patterns. So, you can use that to get all the information about the, the machine you want. So, at this point, we know how to do that
16:06
kind of active fingerprinting, basic fingerprinting, but which kind of countermeasures do we have to protect from this? I have collected some information about, uh, just, uh, some ones, for example, IP personality. It was very famous because,
16:23
um, depending on some parameters, it let you change sequence number, window size, ID's, uh, how it answer to TCP packets. But the problem is that, uh, it change a lot of, of, of the behavior of the TCP IP stack for Linux. And this, uh, one of the
16:41
working for all releases of the kernel. So, nowadays, it's not very useful. Uh, the other one was the stealth patch, uh, that was running from kernel 2.22 to 2.4. But this problem, did this, this tool have a problem that, um, if you change some parameters
17:01
when scanning, you can know that this, this, the, the remote machine is using this tool and you can identify because you know that stealth patch only works for some kernels. So, it makes easier to understand. Many others, it was, it, the loop, black hole, fingerprint fucker, morph, there were a lot of tools. But nowadays, I, I didn't find any useful tool
17:26
to, to avoid this. So, when I was working, I work for Telefonica. When I was working at security variation center, I have to deal with a customer that it was scanning all his network every day, every day. I, I, I didn't have, uh, time enough, I didn't have alerts
17:43
so fast to notice him that I know that he was scanning. So, I tried to make some kind of cool thing that this was detecting the, the scanings, uh, with a program I made in Perl. Um, but also tried to fool him and so, like, hey, you are scanning, but you have a PlayStation inside your network, you, you have a Sony World Man Ericsson, um, and
18:06
that's how we came to OS filler. OS filler, if you know, uh, packets are inside the kernel space and you are, uh, on, uh, on user space, so you cannot interact with packets in real time. So, uh, the solution was to use NFQ. NFQ is, uh, an extension for IP tables
18:27
that accept some, uh, some, uh, extensions and let you put all the packets inside some queues. So, you have two elements. You have a queue handler that deals with the, with the
18:41
packets with the kernel, so it tells the kernel, yes, give me the packets and it moves this to user space. In user space, you can receive those packets, manipulate them and send them back. The only problem here is that you have a maximum queue length that is 1424, so you have to manipulate all those packets very, very fast because if you don't and
19:02
the queue gets full, all the traffic will be re-, will be rejected and that's a big problem. So, if, just, just take a look, for example, let me see if I can, okay, okay, now
20:06
you have, I think that you can see the screen now. If you, for example, do an nmap scan for localhost, it will give no information why because I don't have any open
20:23
ports, so let's start, for example, secure cell. So, we have, I'm running a Kali, I have the Linux with kernel version 3, 3.7.2.3.10, so this is all the information that nmap
20:44
can gives me. So, we will be using our tool, it's always fueler, always fueler, it's working. So, what can you do? First of all, just let you know that here we are only
21:02
dealing with, in case of nmap, only dealing with the specific test for nmap. All the traffic, all, all the traffic should go directly to your computer and shouldn't be manipulated in any way. So, for example, if you just want to take a look at what kind of
21:20
operating systems do you have? Minus n. We are interacting with the official nmap database, so you can just update it and, and be working. So, this is almost all the operating systems that are available right now. There are a lot of them, just to let you know, that
21:46
it has like 5500 signatures, so there are a lot of operating systems to emulate. So, if you do the same thing, for example, with COF, the same. In this case, you have to
22:07
deal with what kind of operating system do you want, and then you go to the versions. In this case, nmap, you can, with host fueler, you can go in both ways. You can specify, I want to be like a Windows, and I need the version to be like a XP, or 2000, or
22:25
maybe you just specify the family, I need to be Windows, and every packet that you are sending will be in a loop, and you will be changing your ID inside Windows. For example, the first one will be XP, second one will be 98, the third one will be 2000, that kind of things randomly. There are not so much signatures for, for COF. There are
22:47
like 250, and there is a special flag that, if you just want to search, for example, give me all the information that you have, not for Windows, but let's see if you can,
23:01
something that is smaller. For PlayStation, nmap has like one, two, three, four, five signatures available for PlayStation, and you have one available for both. In this case, there are two queues for, for the traffic. One will go to, to both, to passive fingerprinting, the
23:25
other one will go only to nmap, so when you are running host fueler, you get those different queues, and in this case, the program is running in multi-threading. So, I have made some tests, no, some stress tests, because last day in the demo labs, people
23:43
asked me about the, about the performance. So, when using in a, in a web server, without a lot of connection, you have to understand that you have 1024 packets per queue, but in case of nmap, nmap sends like 20 packets. So, to get the, the queue full, you will
24:05
have like, you will need maybe like 200 attackers scanning at the same time, and yourself running a, a Celeron or something like that. So, if you just wanted to, let's search, if we
24:21
can do nmap, grab, no, let's search our windows of nmap. Uh, for example, this one.
24:40
Now I have the information, so let's emulate, to be Microsoft, Microsoft Windows 2000. And you get this info, you're mutating to nmap, you get the, in the database, the signature, you can see that there are some proofs that we should, we shouldn't respond, for
25:01
example, for UDP, for example, for, for ICMP, and if you open a new window, let's repeat the same test. You see, nmap thinks that we are running Microsoft Windows 2000,
25:27
or maybe XP, that's because the signatures are very similar, and nmap doesn't have all the information it needs to, to complete the, the profiling of my operating system. If you use
25:40
the verbose option, and you send, ow, no, and you launch the same scan, you will get information for every packet that you receive from nmap. So, for example, you remember I told you that UDP test in nmap has a payload of 300 Cs, you can see it here. So, this is
26:09
not only useful, to, uh, try to defeat nmap, but you can also let it run in the background, and write directly all this information to a log, and try to, to get
26:21
information when you are getting a scan. The same thing we can do with, for example, Puff, we search Windows, for example, let's work with 2002. So, family is Windows, details,
26:52
R, this, and interface would be localhost. The same thing we can do with Puff. The same, you get here the signature for Windows 2000, and let's get in Puff, just let me
27:16
launch some localhost connections. If you see, I have started a security cell
27:25
connection, and Puff thinks that we are running Microsoft Windows XP. If you stop always fueler, and do the same thing. In this case, it doesn't have information, because it's a, a newer kernel, and the old database of Puff doesn't have it, but it's not the
27:44
same signature. And you remember I told you that you can just specify the, the family. Just, I'm telling noise fueler to try to emulate almost every version of Windows it has on every new packet. So, if you launch Puff, you can, you can, you can
28:08
Windows CE, Windows 98, Windows 2000, Windows NT, Windows 98. So, on every connection, you will be changing, inside the same family, eh, eh, your, your
28:24
fingerprint. You can go, you can go to random, in this case it's a Soundtouch autoreceiver, Linux 2, 639, of just search for, search for, search for, search for, search
28:45
for, PlayStation. Now, let's see if we can get some more, something cooler. Sony Ericsson
29:05
Wollman mobile phone. Oh, and you see, same thing for this. So, it's very easy,
29:36
for the, it's very easy for the tool to get all this information, to read the
29:41
Nmap database, to read Puff databases. Nmap database is working like 95% of the same, because there are some signatures that doesn't have all the fields, and I have to change, eh, dinner working off of your fueler to, to change that, but in case of Puff, it's running, eh, with almost every operating system. And, I think that's all. Eh, you
30:03
can get those fueler, eh, using GitHub, or using PIP, and feel free to, to collaborate on certain issues that you, that you, that you find. So, if there is any, any question? Yes? I, I can hear you. No, no, no, in this case we are only dealing with, eh,
30:32
active, eh, eh, fingerprint. No, there are, there are, this is not bullet proof, this is
30:41
only a proof of concept for Nmap, and for Puff. If you make some modifications in Nmap, for example, and you deal with, eh, some small changes, you can get information about the remote host. So, this is not a bullet proof, but this only proof of, proof of concept for those specific tools. You can still use, like DHCP, you can use the MAC
31:01
address, you can use timing, eh, attacks to identify the, the operating system. So, this is not working for every technique, just should be working fine for, for these kind of tools. Yes? Excuse me? That's what I, I told you before, I, I, I've not, I have, I
31:34
haven't made any stress test, but, eh, think of that in the case of passive, you are only modifying the, the, the same packets, and in the case of Nmap, you are only dealing with,
31:45
with, eh, with almost 20 packets per, per scan. So, that's not, that shouldn't be, eh, a problem, you should maybe have a slow machine and have like 200 or 400 attackers scanning you at the same time to get the queue full, and the, the programs works with
32:03
multithreading, so, I, I, I haven't made a lot of, eh, tests, but it should be working fine. I'm using like, eh, on, on my pen test, when I'm trying to, to do research, and it's working fine, when with some service I have on internet, and it's, it's working okay. But if you, if any of you can, eh, get those, those, those information, that
32:23
information about the performance, it should be great to have it, eh, eh, inside the GitHub. Thank you.