Posted on

NetBIOS enumeration for beginners

Hello, aspiring Ethical Hackers. In our previous blogpost, you learnt what is Enumeration, what are its uses, why it is used and types of enumeration. In this blogpost, you will learn about NetBIOS enumeration.

What is NetBIOS service?

NetBIOS stands for Network Basic Input/Output System. It is used to allow applications and programs on separate computers to communicate with each other and establish sessions. This can be used to access shared resources.

NetBIOS can be used to provide three distinct services. They are NetBIOS Name Service, (NetBIOS-NS), NetBIOS Datagram distribution services (NetBIOS-DGM) and NetBIOS Session service (NetBIOS-SSN). These services run on ports 137,138 and 139 respectively.

What information does NetBIOS enumeration reveal?

It can provide information such as list of computers belonging to a particular domain, list of shares on target systems and sometimes even policies and passwords etc.

How to perform NetBIOS enumeration?

There are many tools that can be used to perform NetBIOS enumeration. Let’s see some of them.

1. nmblookup

The nmblookup command in Linux allows users to query NetBIOS names and maps them to IP addresses in a network using NetBIOS over TCP/IP queries.

netbios_enumeration_1

2. NBTscan

NBTscan is a program that is used to scan IP networks for NetBIOS name information. It works by sending a NetBIOS status query to target system and lists received information in human readable form.

Posted on

NTP enumeration for beginners

Hello, aspiring Ethical Hackers. In our previous blogpost, you learnt what is enumeration, why it is important in pen testing and what are the various types of enumeration. In this blogpost, you will learn about NTP enumeration.

What is NTP?

NTP stands for Network Time Protocol. Network Time protocol is used to synchronize clocks of networked computers. In simple words, NTP is used to maintain same time on all the computers of the same network. NTP runs on UDP port 123.

What information does NTP enumeration reveal?

NTP enumeration can reveal valuable information such as list of hosts connected to the NTP server, their IP addresses, system names, target server’s operating system etc.

How to perform NTP enumeration?

There are many tools to perform enumerate NTP but for this article, let’s see how to perform it using Nmap scripting engine. Yes, Nmap has specific scripts to enumerate NTP. One such script is “ntp-info.nse”. The “ntp-info.nse” script reveals time and configuration variables from the NTP server. Let’s see how to use it.

As you can see, the above script gives us information not only about the target server’s operating system but also the version of the kernel running etc. Another script “ntp-monlist.nse” can be used to retrieve NTP server’s monitor data.

Posted on

DNS enumeration for beginners

Hello, aspiring Ethical Hackers. In this blogpost, you will learn about DNS enumeration. In our previous blogpost, you learnt what is enumeration and why is it performed, what are its uses and types of enumeration.

What is DNS enumeration?

DNS enumeration is the process of locating the DNS server and viewing its records. By performing this enumeration, an attacker can collect valuable information about the network such as DNS server names, hostnames, machine names, user names, IP addresses etc. You can learn more about the importance of DNS server in DNS Footprinting.

How to perform DNS enumeration?

There are a number of tools that can be used to perform this enumeration. Let’s see some of them.

1. Linux host command

The host command in Linux can be used to perform DNS lookup of a domain. It can be used to retrieve IP address information from domain name and vice versa. See the image below.

We can also query for specific types of records from the DNS server using ‘host’ command. Here are the various records of a DNS server.

Let’s query for mail servers and name servers as shown below.

2. dig

The dig (Domain Information Groups) command is tool for interrogating DNS servers. Just like host command, Dig can be used to perform DNS lookups and query DNS servers. For example, if we want to query for the name servers of a particular domain, we can do this as shown below.

Similarly, we can also query for mail servers and name servers as shown below.

Learn how to enumerate DNS with DNSenum, DNSrecon and DNSwalk.

Posted on

Enumeration guide for beginners

Hello, aspiring Ethical Hackers. This blogpost is an enumeration guide for beginners. The phase of enumeration actually comes after the port scanning stage in Ethical Hacking.

What is Enumeration?

In Enumeration, an attacker or a Pen Tester performs calculated queries to gather more detailed information about the target. Usually, enumeration is performed on the services running on the target (open ports) with the purpose of gaining access to the target system.

What information does enumeration reveal?

Enumeration can reveal valuable information like Network shares, usernames and passwords, version of the application running, users and groups, machine names, service settings and other network resources.

Which services can be enumerated?

Although all services running on the target system can be enumerated upon, there are some specific services which are regularly enumerated to retrieve useful information. They are,  

  1. DNS (Port 53)
  2. Microsoft RPC (Port 153)
  3. NetBIOS Name Service (NBNS) (Port 137)
  4. NetBIOS Session Service (SMB over NetBIOS)
  5. SMB Over TCP (Port 445)
  6. Network Time Protocol (NTP) (Port 123)
  7. Simple Network Management Protocol (SNMP) (Port 161)
  8. Lightweight Directory Access Protocol (LDAP) (Port 389)
  9. Simple Mail Transfer Protocol (SMTP) (Port 25)

Let’s learn about each of these services in detail.

1. SMTP

Simple Mail Transfer Protocol (SMTP) is a TCP/IP protocol that is used to send email. It is mostly used by email clients but most of the organizations have their own Email Servers to send mail. Enumerating SMTP Service can reveal the list of valid users on the SMTP Servers. Learn how to perform SMTP enumeration.

2. DNS

The function of Domain Name Service (DNS) is explained in our article DNS Footprinting. Enumerating DNS servers can reveal network information like host names, other DNS server names, machine names, IP addresses, potential targets and in some cases usernames too. Learn how to perform DNS enumeration.

3. NetBIOS

NetBIOS service allows programs and computers on a local area network to communicate with each other. These include services like files, printers and device shares. Enumerating NetBIOS can reveal information like list of computers in a specific domain, lists of shares, policies and Passwords etc. Learn how to perform NetBIOS enumeration.

4. SMB

Just like NetBIOS, Server Message Block (SMB) is a protocol that allows applications and computers in a local network talk to each other. The only difference between them is that NetBIOS is an API whereas SMB is a protocol. Starting from Windows 2000, SMB which earlier ran on top of NetBIOS was made to operate on top of TCP and it got a dedicated port 445.

It also enables network services like file, printer and device sharing. Enumerating SMB service can reveal information like host names, lists shares, checking for null session, users, operating system details, password policies, info groups and printers connected etc. Learn how to perform SMB enumeration.

5. NTP

Network Time Protocol (NTP) is a protocol designed to synchronize clocks of all computers on the same network. Enumerating NTP can reveal information about hosts connected to the NTP server and IP addresses of the machines in the network etc. Learn how to perform NTP enumeration.

6. SNMP

Simple Network Management Protocol (SNMP) is a protocol that is used to monitor and manage computer systems in the same network. Enumerating SNMP can reveal information about network resources like hosts, routes, shares, ARP tables, routing tables, etc. Learn how to perform SNMP enumeration.

7. LDAP

Lightweight Directory Access Protocol (LDAP) is an internet protocol that is used to access information from directories like Active Directory. Enumerating LDAP can reveal information such as valid usernames, addresses and other details. Learn how to perform LDAP enumeration.

Posted on

OS Fingerprinting for Beginners

If you’re learning ethical hacking, penetration testing or cybersecurity, you’ll eventually come across the term OS fingerprinting. One of the first goals during network reconnaissance is understanding what systems are connected to a network. Knowing whether a device is running Windows, Linux or another operating system can help security professionals better understand the environment they are assessing.

This process of identifying an operating system is known as OS fingerprinting.

Think of it like being a detective. You may not see the operating system directly, but by observing how a device behaves and responds to network communication, you can often make an educated guess about what it’s running.

In this beginner-friendly guide, you’ll learn:

  • What OS fingerprinting is
  • Why it’s important
  • How it works
  • Types of OS fingerprinting
  • Information it can reveal
  • Common beginner mistakes
  • Safe ways to practice

What is OS Fingerprinting?

OS fingerprinting is the process of identifying the operating system running on a device by analyzing its network behavior and characteristics. The goal is to determine whether a system is running:

  • Windows
  • Linux
  • Unix
  • macOS
  • Network appliance software
  • Embedded operating systems

OS fingerprinting helps build a technical profile of a system without directly logging into it.

In simple terms:

OS fingerprinting is the process of identifying a device’s operating system based on how it responds to network communication.

Why is OS Fingerprinting Important?

Understanding operating systems provides valuable context during security assessments.

Better Understanding of the Environment:

Knowing the operating system helps security professionals understand what type of system they are dealing with.

Improved Asset Identification:

Organizations often have many different devices connected to their networks. OS fingerprinting helps identify them.

Security Assessment Preparation:

Different operating systems may have different security considerations. Understanding the platform helps guide further analysis.

Network Visibility:

OS fingerprinting contributes to building a complete picture of a network environment.

If a hacker or pen tester can find out the operating system of the target system, he/she can know which vulnerabilities to exploit or which payloads to design to gain access to the target system (For example, Windows need EXE payloads whereas Linux systems require .sh payloads).

Why Operating Systems Matter?

Every operating system has unique characteristics. Examples include:

  • Network behavior
  • Default configurations
  • Service implementations
  • Communication patterns

These differences create clues that can be observed remotely. Just like handwriting can help identify a person, network behavior can help identify an operating system.

How OS Fingerprinting Works

When devices communicate over a network, they exchange information using protocols. Different operating systems often implement these protocols slightly differently.

Examples include:

  • Packet structure
  • Response timing
  • Protocol settings
  • Network characteristics

By analyzing these differences, security professionals can estimate what operating system is running.

Active vs Passive OS Fingerprinting

There are two main approaches to determine a operating system. They are Active and Passive OS fingerprinting.

1. Active OS Fingerprinting:

In Active OS fingerprinting, we directly interact with the target system to determine its operating system. The scanner sends network requests and analyzes the responses.

How It Works

The system is queried. Responses are then compared against known operating system characteristics.

Advantages

  • Can provide detailed information
  • Often produces accurate results

Disadvantages

  • Generates network activity
  • Easier to detect

Example

In Active OS Fingerprinting, specially crafted packets are sent to the target system and its responses are analyzed to determine the operating system of target computers. This interaction can be as simple as a ping or a scanner like Nmap. Using ping, we can detect a target operating system by observing the Time To Live (TTL) values as shown below.

Time To Live (TTL) is the amount of time or “hops” that is set to a packet to exist inside a network before discarded by a router. In simple words, it is the period of time that a packet or data should exist on a network before being discarded. This value differs from operating system to operating system. Here are the default TTL values of some operating systems.

Another way to perform Active Foot printing is by sending specially crafted packets to the target system.

2. Passive OS Fingerprinting:

In Passive OS fingerprinting, network traffic is observed without directly interacting with the target. Instead of sending requests, it analyzes existing communication.

How It Works

Traffic is monitored and patterns are examined. No direct probing is required.

Advantages

  • Less intrusive
  • Harder to detect

Disadvantages

  • Requires existing traffic
  • May provide less information

In passive OS fingerprinting, a sample of packets coming from the target we are interested in are analyzed. For this purpose, we use a Packet Capture API. It relies on guessing the target OS by observing their TCP/IP implementation. Apart from TTL, this type of fingerprinting will observe window size, Don’t Fragment (DF) bit and Type Of Service (TOS).

Common Clues Used in OS Fingerprinting

Operating systems often reveal subtle differences. Examples include:

1. Network Packet Characteristics:

Different systems may structure network packets differently.

2. Time-to-Live (TTL) Values:

As you have already seen, Operating systems often use different default TTL values. These values can provide useful clues.

3. TCP Behavior:

Systems may implement TCP differently. Small differences can help identify the platform.

4. Service Responses:

Applications running on the system may provide hints about the underlying operating system.

5. Network Configuration Patterns:

Configuration behavior sometimes reveals operating system characteristics.

What Information Can OS Fingerprinting Reveal?

OS fingerprinting does not always provide exact answers. Instead, it often provides estimates.

Examples:

  • Likely operating system family
  • Possible operating system version
  • Device type
  • Network appliance identification

This information contributes to a broader understanding of the environment.

OS Fingerprinting and Ethical Hacking

OS fingerprinting is commonly performed during reconnaissance and enumeration. A typical workflow might be as shown below:

  1. Information Gathering
  2. Host Discovery
  3. Port Scanning
  4. Service Identification
  5. OS Fingerprinting
  6. Analysis
  7. Reporting

OS fingerprinting helps security professionals understand what systems they are analyzing.

Real-World Example

Imagine a network contains:

  • A Windows workstation
  • A Linux web server
  • A router
  • A printer

At first glance, all you may see are IP addresses. OS fingerprinting helps determine what type of devices are behind those addresses. This makes the network much easier to understand.

Why OS Fingerprinting Isn’t Always Perfect

Many beginners assume OS fingerprinting provides exact answers. In reality, results are often estimates. Several factors can affect accuracy.

Firewalls:

Security controls may alter network behavior.

Network Devices:

Routers and security appliances may modify traffic.

Custom Configurations:

Administrators can change default operating system settings.

Similar Implementations:

Different operating systems sometimes behave similarly.

Because of this, OS fingerprinting should be viewed as one piece of evidence—not absolute proof.

Common Beginner Mistakes

Many beginners make these mistakes when learning OS fingerprinting. Please avoid doing them yourself.

Trusting Results Blindly:

Always remember that fingerprinting results are estimates. Verification is important before taking any action based on them.

Ignoring Networking Fundamentals:

Without understanding networking basics, fingerprinting results may seem confusing. Learn:

  • IP addresses
  • TCP/IP
  • Ports
  • Routing

These concepts make fingerprinting easier to understand.

Focusing Only on Tools:

Tools provide information. Your job is to interpret it. Understanding the underlying concepts is more important than memorizing commands.

Forgetting Documentation:

Document observations and findings. Good documentation improves learning and professionalism.

Scanning Unauthorized Systems:

Always practice ethically. Only analyze:

  • Your own systems
  • Home labs
  • Educational environments
  • Authorized networks

Permission matters.

Safe Ways to Practice

You don’t need access to large networks to be able to practice OS fingerprinting. Beginner-friendly practice options include:

Home Networks:

Observe devices you own.

Virtual Machines:

Create multiple operating systems in a lab environment.

Educational Cybersecurity Platforms:

Many learning environments provide safe practice opportunities.

Local Test Environments:

Build small practice networks and compare system behavior.

Skills Developed Through OS Fingerprinting

Learning OS fingerprinting improves several important cybersecurity skills. They are,

Observation:

Learning to notice subtle clues.

Analysis:

Interpreting technical information.

Investigation:

Connecting multiple pieces of evidence.

Documentation:

Recording findings clearly.

Network Understanding:

Developing deeper networking knowledge.

OS Fingerprinting and Cybersecurity Careers

OS fingerprinting is useful in many cybersecurity roles such as:

Understanding how systems identify themselves is a valuable skill across multiple disciplines.

Conclusion

OS fingerprinting is one of the most interesting aspects of network reconnaissance. It demonstrates how much information can be learned simply by observing network behavior. For beginners, OS fingerprinting teaches an important lesson:

Every system leaves clues.

By learning how to recognize those clues, you become better at understanding networks, analyzing systems and conducting security assessments.

Remember:

✔ OS fingerprinting identifies operating systems through network behavior
✔ Active and passive techniques gather information differently
✔ Results are often estimates rather than guarantees
✔ Networking fundamentals improve understanding
✔ Practice should always occur in authorized environments

As you continue learning cybersecurity, OS fingerprinting will become another useful tool in your investigative toolkit.