Lucene search

K
nmapAleksandar NikolicNMAP:HTTP-FRONTPAGE-LOGIN.NSE
HistoryJun 09, 2012 - 6:28 p.m.

http-frontpage-login NSE Script

2012-06-0918:28:50
Aleksandar Nikolic
nmap.org
880

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

10 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:N/C:C/I:C/A:C

0.973 High

EPSS

Percentile

99.8%

Checks whether target machines are vulnerable to anonymous Frontpage login.

Older, default configurations of Frontpage extensions allow remote user to login anonymously which may lead to server compromise.

Script Arguments

http-frontpage-login.path

Path prefix to Frontpage directories. Defaults to root (“/”).

slaxml.debug

See the documentation for the slaxml library.

http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent

See the documentation for the http library.

smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername

See the documentation for the smbauth library.

vulns.short, vulns.showall

See the documentation for the vulns library.

Example Usage

nmap <target> -p 80 --script=http-frontpage-login

Script Output

PORT   STATE SERVICE REASON
80/tcp open  http    syn-ack
| http-frontpage-login:
|   VULNERABLE:
|   Frontpage extension anonymous login
|     State: VULNERABLE
|     Description:
|       Default installations of older versions of frontpage extensions allow anonymous logins which can lead to server compromise.
|
|     References:
|_      http://insecure.org/sploits/Microsoft.frontpage.insecurities.html

Requires


local stdnse = require "stdnse"
local shortport = require "shortport"
local http = require "http"
local string = require "string"
local vulns = require "vulns"


description = [[
Checks whether target machines are vulnerable to anonymous Frontpage login.

Older, default configurations of Frontpage extensions allow
remote user to login anonymously which may lead to server compromise.

 ]]

---
-- @usage
-- nmap <target> -p 80 --script=http-frontpage-login
--
-- @args http-frontpage-login.path Path prefix to Frontpage directories. Defaults
-- to root ("/").
--
-- @output
-- PORT   STATE SERVICE REASON
-- 80/tcp open  http    syn-ack
-- | http-frontpage-login:
-- |   VULNERABLE:
-- |   Frontpage extension anonymous login
-- |     State: VULNERABLE
-- |     Description:
-- |       Default installations of older versions of frontpage extensions allow anonymous logins which can lead to server compromise.
-- |
-- |     References:
-- |_      http://insecure.org/sploits/Microsoft.frontpage.insecurities.html

author = "Aleksandar Nikolic"

license = "Same as Nmap--See https://nmap.org/book/man-legal.html"

categories = {"vuln", "safe"}

portrule = shortport.http

action = function(host, port)
  local path = stdnse.get_script_args('http-frontpage-login.path') or "/"
  local data
  local frontpage_vuln = {
    title = "Frontpage extension anonymous login",

    description = [[
Default installations of older versions of frontpage extensions allow anonymous logins which can lead to server compromise.
]],
    references = {
      'http://insecure.org/sploits/Microsoft.frontpage.insecurities.html',
    },
    state = vulns.STATE.NOT_VULN,
  };

  local report = vulns.Report:new(SCRIPT_NAME, host, port);

  data = http.get( host, port, path .. "/_vti_inf.html" )

  if data and data.status and data.status == 200 then
    --server does support frontpage extensions
    local fp_version = string.match(data.body,"FPVersion=\"[%d%.]*\"")
    if fp_version then
      -- do post request http://msdn.microsoft.com/en-us/library/ms446353
      local postdata = "method=open+service:".. fp_version .."&service_name=/"
      data = http.post(host,port,path .. "/_vti_bin/_vti_aut/author.dll",nil,nil,postdata)
      if data and data.status then
        if data.status == 200  then
          stdnse.debug1("Frontpage returned 200 OK, server vulnerable.")
          frontpage_vuln.state = vulns.STATE.VULN;
        elseif data.status == 401  then
          stdnse.debug1("Frontpage returned 401, password protected.")
        else
          stdnse.debug1("Frontpage returned unknown response.")
        end
      end
    end
  end
  stdnse.debug1("Frontpage probably not installed.")
  return report:make_output(frontpage_vuln);
end

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

10 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:N/C:C/I:C/A:C

0.973 High

EPSS

Percentile

99.8%

Related for NMAP:HTTP-FRONTPAGE-LOGIN.NSE