Lucene search

K

afp-showmount NSE Script

🗓️ 20 Jan 2010 21:30:49Reported by Patrik KarlssonType 
nmap
 nmap
🔗 nmap.org👁 110 Views

Shows AFP shares and ACLs. This NSE Script can be used to display AFP shares along with their respective access control lists (ACLs)

Show more
Related
Code
ReporterTitlePublishedViews
Family
Nmap
http-frontpage-login NSE Script
9 Jun 201218:28
nmap
Nmap
smtp-enum-users NSE Script
13 Mar 201004:03
nmap
Nmap
dns-brute NSE Script
5 Mar 201121:16
nmap
Nmap
mikrotik-routeros-brute NSE Script
30 Jul 201403:48
nmap
Nmap
http-slowloris NSE Script
16 Jul 201219:27
nmap
Nmap
freelancer-info NSE Script
20 Nov 201304:31
nmap
Nmap
irc-info NSE Script
6 Nov 200802:52
nmap
Nmap
ajp-methods NSE Script
7 May 201218:49
nmap
Nmap
telnet-encryption NSE Script
28 Dec 201100:57
nmap
Nmap
http-unsafe-output-escaping NSE Script
15 Dec 201106:19
nmap
Rows per page
local afp = require "afp"
local nmap = require "nmap"
local shortport = require "shortport"
local stdnse = require "stdnse"
local table = require "table"

description = [[
Shows AFP shares and ACLs.
]]

---
--
--@output
-- PORT    STATE SERVICE
-- 548/tcp open  afp
-- | afp-showmount:
-- |   Yoda's Public Folder
-- |     Owner: Search,Read,Write
-- |     Group: Search,Read
-- |     Everyone: Search,Read
-- |     User: Search,Read
-- |   Vader's Public Folder
-- |     Owner: Search,Read,Write
-- |     Group: Search,Read
-- |     Everyone: Search,Read
-- |     User: Search,Read
-- |_    Options: IsOwner

-- Version 0.4
-- Created 01/03/2010 - v0.1 - created by Patrik Karlsson
-- Revised 01/13/2010 - v0.2 - Fixed a bug where a single share wouldn't show due to formatting issues
-- Revised 01/20/2010 - v0.3 - removed superfluous functions
-- Revised 05/03/2010 - v0.4 - cleaned up and added dependency to afp-brute and added support for credentials
--                             by argument or registry


author = "Patrik Karlsson"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = {"discovery", "safe"}


dependencies = {"afp-brute"}

portrule = shortport.portnumber(548, "tcp")

action = function(host, port)

  local status, response, shares
  local result = {}
  local afpHelper = afp.Helper:new()
  local args = nmap.registry.args
  local users = nmap.registry.afp or { ['nil'] = 'nil' }

  if ( args['afp.username'] ) then
    users = {}
    users[args['afp.username']] = args['afp.password']
  end

  for username, password in pairs(users) do

    status, response = afpHelper:OpenSession(host, port)
    if ( not status ) then
      stdnse.debug1("%s", response)
      return
    end

    -- if we have a username attempt to authenticate as the user
    -- Attempt to use No User Authentication?
    if ( username ~= 'nil' ) then
      status, response = afpHelper:Login(username, password)
    else
      status, response = afpHelper:Login()
    end

    if ( not status ) then
      stdnse.debug1("Login failed")
      stdnse.debug3("Login error: %s", response)
      return
    end

    status, shares = afpHelper:ListShares()

    if status then
      for _, vol in ipairs( shares ) do
        local status, response = afpHelper:GetSharePermissions( vol )
        if status then
          response.name = vol
          table.insert(result, response)
        end
      end
    end

    status, response = afpHelper:Logout()
    status, response = afpHelper:CloseSession()

    if ( result ) then
      return stdnse.format_output(true, result)
    end
  end
  return
end

Transform Your Security Services

Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.

Book a live demo
20 Jan 2010 21:49Current
9.4High risk
Vulners AI Score9.4
EPSS0.972
110
.json
Report