Nmap Development mailing list archives
Re: [BUG] Exclusions directive not honored by NSE version detection
From: Djalal Harouni <tixxdz () gmail com>
Date: Thu, 17 Jun 2010 20:29:20 +0100
On 2010-06-17 13:39:17 -0500, Kris Katterjohn wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 17 Jun 2010 19:21:50 +0100 Djalal Harouni <tixxdz () gmail com> wrote:On 2010-04-30 17:16:59 -0500, Tom Sellers wrote:I have recently come across a bug involving port exclusions when performing version detection. I plan to work on finding a fix for the issue this weekend, but I thought I would go ahead and send the info to the list now in the event that my work was delayed or someone had an idea of exactly where the issue lay. Recent scanning shows that the Exclude directive in the nmap-service-probes file is being ignored by NSE version detection if more than one port is scanned on a host. The nmap built in version detection skips the port, but NSE runs version detection scripts against the port anyway.Hi Tom, Attached is a patch against the latest nmap svn revision. This patch introduce a new function port_is_excluded() in the shortport.lua I've modified all the portrules of version category scripts, so this needs testing before merging the patch. Reasons for modifying portrules: * I didn't want to modify the behaviour of portnumber() and service() functions from the shortport.lua library. * We must be sure that the excludedports list is initialized with the correct data before executing/evaluating the portrule functions.I have a couple of thoughts after briefly looking at the patch. In some scripts you add a new shortport require just for the exclusion test in the portrule, but since a portrule only covers one port couldn't you just as well use the nmap.port_is_excluded? Admittedly this isn't a huge deal since shortport has pretty much always been around, but I'm curious if there is some other reason for this (since it looks like the shortport one is just a simple wrapper with support for multiple ports in a table). Perhaps I've missed something in my brevity?
Yes we could also add the nmap require to the scripts and call the nmap.port_is_excluded. I've used this wrapper call in the shortport library simply to follow the same logic of portnumber() and service() functions and to offre more control, but you are right the current call of port_is_excluded() uses only one port, I've no objections to remove it and I must admit that I've a preference to use the function directly from the nmap lib, but after some nse meeting discussion the proposed solution was to use it from shortport library, and I think that we'll change this.
And while I agree that modifying the existing shortport functions like portnumber() is not the way to go, I think creating a new function or option (or whatever) for exclusion support is a good thing if it's not really ugly or hacky. Perhaps you've thought about this and came up with no good solution? I haven't given thought to how to go about it yet, but I think having this would be good for version scripts for all of the reasons shortport exists already for everything else.
Well, to clarify this was discussed in nse meetings and with Patrick, perhaps the current solution is not perfect so we'll discuss this again and any help would be welcome. Thx for your comments.
Cheers, Kris Katterjohn -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJMGmvVAAoJEEQxgFs5kUfuSd4P/3IzqXV1OGs7oRPpB87hlsY0 UrkAXa9X5jJWCgF+tjwQ5c2R2cqhGxvwDAVLl4FKzbU4Qseu4KM2VBrz/c66iV0S uwzw1QJX4lupmbnaigOnPEvjjxXntI1TbMq1pKLXkTDp9QDBHmONLAEVoyfgfrxy C4XwJemv4tH+sp9w+deeXJOdk3uX2jZmThsqF3x/g6wJRGYS6kFjCCgQFI3FBRyw l/QN74ON1jwewFmWQw/+Vt0E2MacdfW1eDO7lpc9vC/d1v+zeWyuFAoB7vtsD7xa oU+o1GVG+vtU9D+p8Fie+e3csbl6cbJ7wcWRSdvqm8YWzyh2X1JBGj4AG8A36pgJ B6X5knDpUSiNDaX/thlQejqZydAqxIlUKGh8JhPAGvl92zw/46sutKhUOX8rv7C9 7Kz+42Q8qhpcuNn8BVxdH12EK5lxqe/Ln2DMFdmtJzW9yVLvXnYjGgRYnfWwKyh+ DQcg7ONxxFomm1WcFZLItosO65tycVlJT4JcKdB63lYjD81uHxHdXJhNaAXWeTsz XOrso8f7nTPdV/dcs/+SnJZjsbHLGLAyNJFXhy0c86Gk9SN3csCK4CTffN91bP76 SNdOwKHHCaseUbJQSlp0o7l39TWVs2TxSgj02Z4Of6IFXFGWXG+F2VdquxcCVgd2 9v0DpBsLb8i7vpUJo2p4 =G7sX -----END PGP SIGNATURE-----
-- tixxdz _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://seclists.org/nmap-dev/
Current thread:
- [BUG] Exclusions directive not honored by NSE version detection Tom Sellers (Apr 30)
- Re: [BUG] Exclusions directive not honored by NSE version detection David Fifield (May 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Tom Sellers (May 22)
- Re: [BUG] Exclusions directive not honored by NSE version detection Fyodor (May 24)
- Re: [BUG] Exclusions directive not honored by NSE version detection Patrik Karlsson (May 24)
- Re: [BUG] Exclusions directive not honored by NSE version detection Tom Sellers (May 22)
- Re: [BUG] Exclusions directive not honored by NSE version detection David Fifield (May 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Kris Katterjohn (Jun 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Kris Katterjohn (Jun 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 19)
- Re: [BUG] Exclusions directive not honored by NSE version detection Kris Katterjohn (Jun 19)
- Re: [BUG] Exclusions directive not honored by NSE version detection Fyodor (Jun 20)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 20)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 20)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 29)
- Re: [BUG] Exclusions directive not honored by NSE version detection Kris Katterjohn (Jun 17)
- Re: [BUG] Exclusions directive not honored by NSE version detection Kris Katterjohn (Jun 21)
- Re: [BUG] Exclusions directive not honored by NSE version detection Djalal Harouni (Jun 26)
- <Possible follow-ups>
- Fwd: [BUG] Exclusions directive not honored by NSE version detection Tom Sellers (May 14)