1
0
mirror of https://github.com/nmap/nmap.git synced 2026-02-08 22:46:34 +00:00
Commit Graph

362 Commits

Author SHA1 Message Date
kris
a42ea72a97 Merge through r16884 from /nmap-exp/kris/nse-rawip plus the following changelog
entries:

o [NSE] Raw packet sending at the IP layer is now supported, in addition to
  the Ethernet sending functionality.  Packets to send start with an IPv4
  header and can be sent to arbitrary hosts. [Kris]

o [NSE] Added the ipidseq script to classify a host's IP ID sequence numbers
  in the same way Nmap does.  This can be used to test hosts' suitability for
  Nmap's Idle Scan (-sI), i.e. check if a host is an idle zombie.  This is
  the first script to use the new raw IP sending functionality in NSE. [Kris]

o [NSE] Added the function nmap.is_privileged() to tell a script if, as far
  as Nmap's concerned, it can do privileged operations.  For instance, this
  can be used to see if a script should be able to open a raw socket or
  Ethernet interface. [Kris]

o [NSE] Added the function nmap.get_ports() to allow a script to iterate
  over a host's port tables matching a certain protocol and state. [Kris,
  Patrick]
2010-02-26 20:42:10 +00:00
david
84a388aeb9 Give datafiles.lua the ability to parse nmap-mac-prefixes, and use it in
nbstat.nse to look up the MAC vendor string.
2010-02-26 00:27:30 +00:00
patrik
42da3e0ba0 o [NSE] Added a new library for LDAP and two new scripts:
- ldap-brute uses the unpwdb library to guess credentials for LDAP
  - ldap-rootdse retrieves the LDAP root DSA-specific Entry (DSE)
2010-02-21 08:52:44 +00:00
ron
3a3535e07c Fixed a couple formatting bugs in the smb-* libraries that come up when debugging/verbose is disabled 2010-02-20 15:03:11 +00:00
david
3510744a54 Canonicalize the formatting of some functions in http.lua. 2010-02-19 05:13:02 +00:00
david
4178846c05 Honor the options table in http.request (specifically options.timeout).
I think this was supposed to work but it was broken.
2010-02-19 05:06:57 +00:00
david
bb2e8c439b Factor out common code for HTTP request building. Replace the two-step
buildGet/buildRequest with a one-step build_request. Provide a new
function generic_request that can do a request for any given method
(get, head, and post are now defined in terms of this function).
2010-02-19 04:54:28 +00:00
david
7f892c1563 Don't pass the cookies table as a parameter, but as a member of the
options table, in http functions. It was unreasonable that this
yet-unused feature was given a more prominent place than even the header
and request body, both of which are in the options table.

This change doesn't affect any other scripts or libraries because none
of them use cookies. In the cases, like http.get, where cookies was an
optional final parameter, I just removed it. Where it was not the final
parameter, as in http.post and http.pGet, I left the parameter in place
but documented that it is ignored for backwards compatibility.
2010-02-19 03:25:57 +00:00
patrik
d2e54f0bf2 o [NSE] Added a new library for ASN.1 parsing and adapted the SNMP library to
make use of it. Added 5 scripts that use the new libraries:
  - snmp-netstat shows listening and connected sockets
  - snmp-processes shows process information including name, pid, path and 
    parameters
  - snmp-win32-services shows the names of running Windows services
  - snmp-win32-shares shows the names and path of Windows shares
  - snmp-win32-software shows a list of installed Windows software
  - snmp-win32-users shows a list of local Windows users
2010-02-16 09:15:38 +00:00
kris
003cc98eab nmap.luadoc typos 2010-02-12 23:41:56 +00:00
david
87fbf1df1e Recognize NT_STATUS_INVALID_PARAMETER as a known error code when testing
if a share is writable (along with NT_STATUS_ACCESS_DENIED). I got this
code from a printer share.
2010-02-12 23:14:37 +00:00
david
be9e0265f6 Remove the nmap_service.exe helper for smb-psexec.nse. Add a message to
the script indicating where to download it if it is not available. Make
the script check whether the file is the normal binary from 5.20 or
before, or the XOR-encoded binary from 5.21.
2010-02-12 20:17:06 +00:00
david
6cd5b248db Add the favicon sent by sslstrip to the favicon-db. This one never
appeared in the Internet surveys, but because of its nature it's not
likely to appear in that sort of scan, and this is a good one to know
about.
2010-02-12 05:29:17 +00:00
david
2a9f389fcc Make the module declaration in citrixxml.lua match the file name. It was
"citrix" and not "citrixxml".
2010-02-11 03:51:05 +00:00
david
f94e871385 Change a reference to smb-pwdump to smb-psexec. 2010-02-11 02:46:35 +00:00
batrick
8200787f7a Fixed wrong variable names that were interpreted as globals. 2010-02-08 02:48:07 +00:00
batrick
470b013612 Fixed return of incorrect variable name (should have been one of the locals,
was interpreted as a global).
2010-02-08 02:46:28 +00:00
batrick
9ac3c5057a Added dummy locals '_' to be saved to rather than global '_'. 2010-02-08 02:36:11 +00:00
batrick
2038337907 Fixed a global variable being set. I believe the intent was to set
response.body and not result.body.
2010-02-08 02:35:17 +00:00
david
4dd04a32a5 Make stdnse.format_output return nil when passed an empty table. Before
it was returning an empty string, causing blank output entries for
scripts with no output:

80/tcp    open   http
|_citrix-enum-apps-xml:
|_citrix-enum-servers-xml:
| http-headers:
|   Date: Sun, 31 Jan 2010 19:28:13 GMT
|   Server: Apache/2.2.3 (CentOS)
|   Accept-Ranges: bytes
|   Content-Length: 739
|   Connection: close
|   Content-Type: text/html; charset=UTF-8
|
|_  (Request type: HEAD)
|_http-date: Sun, 31 Jan 2010 19:28:14 GMT; +1s from local time.
|_html-title: Go ahead and ScanMe!
2010-01-31 19:38:13 +00:00
david
ec1b16f7d7 o [NSE] Added two new scripts for the MongoDB database from Martin
Holst Swende. mongodb-info gets information like the version number,
  memory use, and operating system. mongodb-databases lists the
  databases and their size on disk.
2010-01-29 22:23:06 +00:00
fyodor
d85c8d3603 Typo fix: reponses -> responses 2010-01-27 02:05:01 +00:00
patrik
0bc8e65811 Add the scripts
mysql-brute
  mysql-datatabase
  mysql-empty-password
  mysql-users
  mysql-variables
and the mysql module
2010-01-26 09:40:38 +00:00
ron
9365ad46e9 Added a README explaining the purpose of the encoded binary. 2010-01-25 21:22:22 +00:00
kris
d1e4ae6dc7 Set header variables like ip_ttl when calling ip_set_ttl() rather than just
setting the packet data.  This was confusing watching packets go correctly
over the wire but having incorrect variables.
2010-01-24 20:16:40 +00:00
ron
ba9532c2d4 Changed an error message throughout smb.lua that I never really liked. 2010-01-23 17:25:30 +00:00
ron
b00f6234d5 Fixed some bugs found by Brandon Enright in smb.lua. They were all caused by servers returning less bytes than they're supposed to. This revision basically makes the broken-server detection more robust. 2010-01-23 17:23:57 +00:00
ron
13f8f95a5f nmap_service.exe is now encoded locally by xor'ing each byte by 0xFF. It is decoded in line before it is uploaded. This is to prevent antivirus false positives from picking it up. 2010-01-23 16:56:49 +00:00
david
12ccaa7786 Remove a speck of uncertainty from favicon-db. 2010-01-23 01:54:32 +00:00
david
e942244ba2 Add a patch to dns.lua from Patrik Karlsson to cope with some mDNS
implementations.
2010-01-22 23:44:51 +00:00
david
86c3be8180 Remove local declarations from the usage example in unpwdb.lua on a
suggestion from Patrick Donnelly. The for loops already localize their
variables.
2010-01-22 21:54:52 +00:00
david
5d7f91a6b2 Add a @usage section to unpwdb.lua showing how to use the iterators. 2010-01-22 21:10:55 +00:00
ron
354eaca0ff Re-wrote smb-enum-domains.nse to be more generic and rely on library functions. Ultimately, I want to use these same functions in smb-brute to trim out impossible passwords and figure out account lockout policies before the bruteforce starts. It'll make smb-brute a little cleaner after the changes. 2010-01-22 04:43:51 +00:00
david
349f0edad0 Let http.next_response receive a body in response to a HEAD request, if
there is one. Even though section 4.4 of RFC 2616 says that sending a
body in response to a HEAD request is a MUST NOT, pyllyukko sent me a
sample from a server that does--"LuCI - Lua Configuration Interface".
2010-01-21 19:42:52 +00:00
david
929042a690 Fix the first round of HTTP pipeline requests. The pipeline makes an
initial request to get a value stored in the Keep-Alive header, which is
the size of the pipeline. It then iterates, doignt hat many requests at
once until the list of requests is exhausted. The prbolem was that in
the first round, it didn't count its initial Keep-Alive probe. So if the
server said it was good for 40 requests, we would send 41 before closing
the connection. Even worse was when the initial probe returned a
"Connection: close"; the pipeline would try another request before
closing the connection for the first time.
2010-01-21 17:43:23 +00:00
david
c7b4af21db o [NSE] Fixed a bug in http.lua that could lead to an assertion
failure. It happened when there was an error getting the a response
  at the beginning of a batch in http.pipeline. The symptoms of the
  bug were:
    NSE: Received only 0 of 1 expected reponses.
    Decreasing max pipelined requests to 0.
    NSOCK (0.1870s) Write request for 0 bytes...
    nmap: nsock_core.c:516: handle_write_result: Assertion `bytesleft > 0' failed.
  The error was reported by Brandon Enright and pyllyukko.
2010-01-21 16:28:39 +00:00
david
d390452e36 Fix a string format error in the HTTP dechunking code. 2010-01-21 00:35:12 +00:00
david
8a895ff0d9 Fix an error with http.request: If there was a parsing error or a
network error, it was returning nil instead of a table as documented.
2010-01-21 00:23:56 +00:00
david
a105f13975 afp script updates from Patrik Karlsson. 2010-01-20 23:47:04 +00:00
david
ceaf1a9b16 Additions to dns.lua from Patrik Karlsson. Adds an answer fetcher for
TXT and SRV records, and a function get answers from the additional
section.
2010-01-20 22:54:20 +00:00
david
69000c63f0 Add afp.lua and afp-showmount.nse from Patrik Karlsson. See
http://seclists.org/nmap-dev/2010/q1/97.
2010-01-20 21:49:30 +00:00
david
ac2cbcc97f Fix the decoding of OID component values greater than 127 in snmp.lua.
This is analogous to r16265, which did the same thing for encoding.
2010-01-19 23:45:58 +00:00
batrick
da041cb0b3 Get rid of <em>/<strong> tags because there is no uniform
way to use them across DocBook and HTML.
2010-01-16 01:59:12 +00:00
batrick
d1a4984d8d Fixed a typo. 2010-01-16 01:38:38 +00:00
ron
958ba69422 fixed another bug in format_output(), thanks to Patrik. 2010-01-13 21:18:36 +00:00
ron
e47175b4b8 Fixed broken indentation for single-element subgroups in stdnse.format_output(). 2010-01-13 21:03:20 +00:00
david
19c2d93903 Merge from /nmap-exp/david/nselib-http. This is an overhaul of HTTP
parsing mostly. Response parsing is centralized, and fewer operations
are done on raw HTTP data.

The biggest user-visible change is that http.request goes back to
returning a parsed result table, not raw HTTP data. I believe this is
how the function worked in the past; it's what the NSEDoc for the
function says. The only thing that used http.request was citrixxml.lua,
and this commit alters it to match the new expectations.

The other change is that the http.pipeline function no longer accepts
the "raw" option. The only script that used that was sql-injection.nse,
and this commit modifies that script as well.
2010-01-13 02:53:13 +00:00
david
f5cae99a2a Check that nmap.registry.args exists before trying to access
nmap.registry.args["http.useragent"]. The args table doesn't exist
during --script-updatedb. The bug was found by Tom Sellers and fixed by
Jah.
2010-01-12 17:53:01 +00:00
david
2475306122 Update the favicon database from the latest dmoz scan. Add about 40 new
icons. Put the list in order. Correct some old entries.
2010-01-11 07:21:08 +00:00
david
12203a8ae1 Don't allow a cached response from a GET request to be returned for a
HEAD request. This makes it look like the response to the HEAD request
has a body. As a result, http-enum can wrongly surmise that HEAD
requests don't work when it hits a cache entry while testing HEAD.

# nmap --script=http-date,http-enum -PN -p 80 -d2
NSE: NSE Script Threads (2) running:
NSE: Final http cache size (373 bytes) of max size of 1000000
NSE: HTTP: Host returns proper 404 result.
NSE: Final http cache size (1905 bytes) of max size of 1000000
NSE: Finished 'http-date' (thread: 0x8535a40).
NSE: HTTP: Warning: Host returned data when performing HEAD.
NSE: Checking if a GET request is going to work out

After this change:

NSE: NSE Script Threads (2) running:
NSE: Final http cache size (373 bytes) of max size of 1000000
NSE: HTTP: Host returns proper 404 result.
NSE: Final http cache size (1905 bytes) of max size of 1000000
NSE: Finished 'http-date' (thread: 0x8e75b00).
NSE: Final http cache size (1905 bytes) of max size of 1000000
NSE: HTTP: Host supports HEAD.
2010-01-10 19:47:33 +00:00