Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local http = require "http"
- local nmap = require "nmap"
- local shortport = require "shortport"
- local stdnse = require "stdnse"
- local string = require "string"
- description = [[
- Attempts to retrieve the XML HNAP generated on infected Linksys router systems by "The Moon" Malware.
- Quick help on NSE: to install copy script to nse scripts directory (e.g. /usr/local/share/nmap/scripts) then run "sudo nmap --update-db". Then use it like "nmap --script=http-linksys-vuln -p 8080 10.0.0.0/24"
- Link:
- * http://threatpost.com/moon-worm-spreading-on-linksys-home-and-smb-routers/104268
- ]]
- ---
- -- @output
- -- PORT STATE SERVICE REASON
- -- 8080/tcp open http syn-ack
- -- |_LinkSys system likely INFECTED - HNAP string found in response
- author = "Florian Roth"
- license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
- categories = {"discovery", "malware"}
- portrule = shortport.port_or_service(8080)
- action = function(host, port)
- local response
- local lines
- local infected
- -- LynkSys Malware Test
- response = http.get(host, port, "GET /HNAP1/ HTTP/1.1\r\nHost: test\r\n\r\n")
- if response.body and response.status == 200 then
- if string.match(response.body, "/HNAP1/") then
- infected = true
- end
- end
- lines = {}
- if infected then
- lines[#lines + 1] = "LinkSys system likely INFECTED - HNAP string found in response"
- end
- if #lines > 0 then
- return stdnse.strjoin("\n", lines)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement