# Enumerating SMB

**Lets Get Started**

Before we begin, make sure to deploy the room and give it some time to boot. Please be aware, this can take up to five minutes so be patient!

![](https://image.flaticon.com/icons/svg/2879/2879093.svg)

**Enumeration**

Enumeration is the process of gathering information on a target in order to find potential attack vectors and aid in exploitation.

This process is essential for an attack to be successful, as wasting time with exploits that either don't work or can crash the system can be a waste of energy. Enumeration can be used to gather usernames, passwords, network information, hostnames, application data, services, or any other information that may be valuable to an attacker.

**SMB**\\

Typically, there are SMB share drives on a server that can be connected to and used to view or transfer files. SMB can often be a great starting point for an attacker looking to discover sensitive information — you'd be surprised what is sometimes included on these shares.\\

**Port Scanning**

The first step of enumeration is to conduct a port scan, to find out as much information as you can about the services, applications, structure and operating system of the target machine. You can go as in depth as you like on this, however I suggest using **nmap** with the **-A** and **-p-** tags.

-A : Enables OS Detection, Version Detection, Script Scanning and Traceroute all in one\\

-p- : Enables scanning across all ports, not just the top 1000

If you'd like to learn more about nmap in more detail, I **recommend** checking out DarkStar's room on the topic, as part of the Red Primer series [here](https://tryhackme.com/room/furthernmap).

**Enum4Linux**

Enum4linux is a tool used to enumerate SMB shares on both Windows and Linux systems. It is basically a wrapper around the tools in the Samba package and makes it easy to quickly extract information from the target pertaining to SMB. It's installed by default on Parrot and Kali, however if you need to install it, you can do so from the official [github](https://github.com/portcullislabs/enum4linux).

The syntax of Enum4Linux is nice and simple: **"enum4linux \[options] ip"**\\

**TAG**            **FUNCTION**\\

-U             get userlist\
-M             get machine list\
-N             get namelist dump (different from -U and-M)\
-S             get sharelist\
-P             get password policy information\
-G             get group and member list

-A             all of the above (full basic enumeration)\\

Now we understand our enumeration tools, let's get started!\
&#x20;

Conduct an **nmap** scan of your choosing, How many ports are open?\\

What ports is **SMB** running on?&#x20;

Let's get started with Enum4Linux, conduct a full basic enumeration. For starters, what is the **workgroup** name?    \
&#x20;

What comes up as the **name** of the machine?        \
&#x20;

What operating system **version** is running?    \
&#x20;

What share sticks out as something we might want to investigate?    \
&#x20;\\
