Service Enumeration and Locating Public Exploits

Unknown Services

Known Services

SSH

HTTP

Attention

Also identify the framework that is used by the website and search for exploits! searchsploit --exclude="dos" {FRAMEWORK_NAME}

Warning

If the website uses https you also need to change the http:// into https://

Hint

If you find a directory, always enumerate that one as well

Hint

Modify the extensions based on your previous enumeration on the HTTP server type (e.g. php only)

Hint

Bypass robots.txt "You are not a search engine. Permission denied." like this:
curl --user-agent "Googlebot/2.1 (+http://www.googlebot.com/bot.html)" http://{IP}:{PORT}/robots.txt

WordPress

SMB / MICROSOFT-DS

FTP

Hint

If you want to transfer binaries, you need to put the ftp session into binary mode, with the command binary, the default is ascii

MS SQL

VNC

MSRPC

RPCBIND

SMTP

POP3

NNTP

NFS / NLOCKMGR / MOUNTD

MYSQL

ORACLE

AJP

RDP / MS-WBT-SERVER

LDAP

NETBIOS-SSN

DOMAIN

KERBEROS-SEC

RTSP

IMAP

DHCP

SNMP

TFTP

NTP

UPNP

NAT

TELNET

tcpwrapped

tcpwrapped refers to tcpwrapper, a host-based network access control program on Unix and Linux. When Nmap labels something tcpwrapped, it means that the behavior of the port is consistent with one that is protected by tcpwrapper. Specifically, it means that a full TCP handshake was completed, but the remote host closed the connection without receiving any data.

It is important to note that tcpwrapper protects programs, not ports. This means that a valid (not false-positive) tcpwrapped response indicates a real network service is available, but you are not on the list of hosts allowed to talk with it. When a very large number of ports are shown as tcpwrapped, it is unlikely that they represent real services, so the behavior probably means something else like a load balancer or firewall is intercepting the connection requests.


Relevant Note(s): Penetration Testing