Bug Bounty Hunting — Complete Guide (Part-11)

5 months ago 40
BOOK THIS SPACE FOR AD
ARTICLE AD

Mehedi Hasan Rafid

Photo by Digital Buggu: https://www.pexels.com/photo/monitor-displaying-computer-application-374559/

Network protocols

A network protocol defines the rules and conditions that dictate how devices communicate within a network. It establishes a standardized framework for creating and maintaining communication channels, as well as handling errors if they occur. These protocols enable various network devices, like laptops, tablets, smartphones, desktops, and servers, to communicate with each other.

Network protocols are crucial components in designing a network architecture for any organization. There are numerous types of network protocols, each with specific properties governing their usage and implementation.

What is a network address?

A network address serves as a distinct label identifying a device that can connect to a network. Typically, a network-enabled device may possess multiple types of addresses. Here, we’ll primarily discuss two fundamental address types.

The first type is a Media Access Control (MAC) address, which identifies the specific network interface at a hardware level. This address is unique to each network interface card (NIC) and is assigned by the manufacturer.

The second type is an Internet Protocol (IP) address, which identifies the network interface at a software level. IP addresses are crucial for communication across networks, enabling devices to locate and connect with each other using the Internet Protocol.

What is a data packet?

A data packet is a fundamental unit used for communication between devices on a network. It consists of three main parts: raw data, headers, and potentially a trailer.

The raw data within a packet carries the actual message being transmitted. Headers contain essential information such as sender and destination addresses, packet size, protocol details, and sequence numbers. These headers facilitate proper routing and delivery of the packet across the network.

Additionally, a trailer may be included for error-checking purposes, ensuring the data’s integrity during transmission.

To draw an analogy, sending data packets is akin to mailing someone a multi-page letter. Instead of stuffing all pages into one envelope, each page is sent in its own envelope. Each envelope (packet) includes enough information (headers and data) for the recipient to eventually reconstruct the entire message once all envelopes are received.

What is a datagram?

A datagram and a data packet are indeed often used interchangeably to refer to units of data transmitted over a network. Specifically, a datagram typically denotes a data packet used in connectionless communication protocols where delivery reliability cannot be assured.

In such protocols, like UDP (User Datagram Protocol), each datagram (or data packet) operates independently. They are sent without establishing a dedicated connection between the sender and receiver beforehand. This lack of connection means there’s no guarantee of delivery or that packets will arrive in the same order they were sent.

So, while datagrams and data packets share the same basic concept of being units of data sent over a network, “datagram” specifically emphasizes the context of unreliable, connectionless communication where delivery and ordering are not guaranteed.

What is routing?

Routing in the context of computer networks involves the process of determining and directing data packets along the optimal paths from a source device to a destination device across interconnected networks.

For instance, consider the PC you’re using to access a web page from a server. There are likely to be multiple networks involved between your PC and the server hosting the web page. Each network may offer several potential paths that data packets could take to reach their destination.

Routing mechanisms are responsible for selecting the best available paths based on various criteria, such as shortest distance, least congestion, or fastest response time. This ensures the efficient and reliable transmission of data across the complex web of interconnected networks that make up the internet and other large-scale networks.

Protocol categories

In a typical network environment, various applications and hardware devices depend on specific network protocols tailored to their functionalities. For instance, browsing the internet via a web browser utilizes a different protocol than sending or receiving emails. Similarly, transferring data displayed in a browser and sending this information over the network involves yet another distinct protocol.

Each protocol is designed to handle specific tasks efficiently:

Web browsing typically uses HTTP (Hypertext Transfer Protocol) or HTTPS (HTTP Secure) for secure connections. These protocols facilitate the retrieval and display of web pages and other resources from servers.

Email communication commonly relies on protocols like SMTP (Simple Mail Transfer Protocol) for sending emails and POP3 (Post Office Protocol version 3) or IMAP (Internet Message Access Protocol) for receiving emails from servers.

File transfer may use protocols such as FTP (File Transfer Protocol) or SFTP (Secure File Transfer Protocol) for securely transmitting files between devices.

These protocols define the rules and standards for communication between devices on a network, ensuring that different types of applications can operate effectively and securely. Each protocol optimizes data transmission according to the specific requirements and constraints of the tasks it supports.

Protocols fall into three main categories:

Network communication protocols:

In internet-based networks, communication protocols play a crucial role in establishing and maintaining connections between devices. Three foundational protocols are essential for logical data transmission across networks: Transmission Control Protocol (TCP), Internet Protocol (IP), and User Datagram Protocol (UDP).

Transmission Control Protocol (TCP):

TCP divides data into packets for secure and reliable transmission, minimizing data loss. It ensures the orderly and error-checked delivery of data packets across IP-based networks. TCP is connection-oriented, meaning it establishes a connection before transmitting data and guarantees packet delivery and order.

Internet Protocol (IP):

IP addresses data packets by adding addressing headers and specifying sender and recipient IP addresses. IP is responsible for routing packets across networks but does not ensure the delivery or order of packets. It handles the logical transmission of packets without the reliability guarantees provided by TCP.

User Datagram Protocol (UDP):

UDP is a connectionless protocol designed for low-latency and loss-tolerant transmission. It does not establish a connection before sending data and does not guarantee the delivery or order of packets. UDP is commonly used for applications that prioritize speed and efficiency over reliability, such as real-time video streaming or online gaming.

Beyond these foundational protocols, various application-specific protocols facilitate communication for different network services:

Hypertext Transfer Protocol (HTTP):

HTTP uses TCP/IP to deliver web content, including web pages, and handles file transfers between servers and browsers. It defines how web browsers and servers communicate over the internet.

File Transfer Protocol (FTP):

FTP is used for transferring files between computers on a network. It supports uploading and downloading files, typically used for managing files on remote servers.

Post Office Protocol 3 (POP3):

POP3 is an email protocol used by email clients to retrieve emails from a mail server. It uses TCP/IP for managing and delivering emails to user mailboxes.

Simple Mail Transfer Protocol (SMTP):

SMTP is another email protocol used for sending emails from email clients to mail servers. It manages the transmission of emails over TCP/IP networks.

Interactive Mail Access Protocol (IMAP):

IMAP is a more advanced email protocol that allows users to manage emails stored on a mail server. It enables synchronization between email clients and the server, providing access to a centralized mailbox.

These protocols define how different applications interact over networks, ensuring efficient and reliable communication tailored to specific service requirements. Each protocol’s design reflects its intended use case, whether it’s delivering web pages, transferring files, or managing email communications.

Network security protocols:

Network security protocols are essential for safeguarding data during transmission across networks. These protocols utilize encryption and cryptographic techniques to ensure the confidentiality, integrity, and authenticity of messages. Here’s an exploration of key network security protocols:

Secure Socket Layer (SSL):

SSL is a widely adopted encryption protocol that establishes a secure and encrypted connection between a client (such as a web browser) and a server (a website). It ensures that data transmitted between them remains private and integral.

Transport Layer Security (TLS):

TLS is the successor to SSL and provides enhanced security features. It encrypts data transmissions over networks to prevent eavesdropping, tampering, and message forgery. TLS is used to secure various applications, including web browsing, email, VoIP (voice over IP), and instant messaging.

Hypertext Transfer Protocol Secure (HTTPS):

HTTPS is an extension of HTTP that utilizes either SSL or TLS protocols to encrypt communications between web browsers and servers. It ensures that sensitive information such as login credentials, payment details, and personal data remains secure during transmission.

Secure Shell (SSH):

SSH is a cryptographic network protocol that enables secure remote access to devices and servers over an unsecured network. It provides strong authentication and encrypted communication for executing commands and transferring files securely (as in SFTP, or SSH File Transfer Protocol).

Kerberos:

Kerberos is a robust authentication protocol that uses secret-key cryptography to verify the identities of clients and servers in a networked environment. It supports secure authentication and ensures that communications between endpoints are encrypted to prevent unauthorized access.

These network security protocols are crucial for establishing secure connections and protecting sensitive data from interception and manipulation during transmission. Choosing the appropriate protocol depends on the specific security requirements of the applications and services being used within the network. Each protocol contributes to building a secure network infrastructure by implementing encryption and authentication mechanisms tailored to different communication needs.

Network management protocols:

In network management, alongside communication and security protocols, management protocols play a crucial role in ensuring the smooth operation and maintenance of networks. These protocols focus on monitoring network health, detecting faults, and optimizing performance.

Two key network management protocols are:

Simple Network Management Protocol (SNMP):

SNMP is an internet protocol designed for gathering information from network devices and managing their configurations. It allows network administrators to monitor devices such as switches, routers, servers, printers, and more. SNMP-enabled devices expose data through standardized Management Information Bases (MIBs), which SNMP managers can query to retrieve status and performance metrics. SNMP facilitates proactive monitoring, fault detection, and performance management across a network.

Internet Control Message Protocol (ICMP):

ICMP is an integral part of the Internet Protocol Suite (IP). Unlike other transport protocols like UDP and TCP, ICMP doesn’t carry data. Instead, it serves to provide feedback about network operations. ICMP messages include notifications about connectivity issues, errors encountered during packet delivery (such as unreachable hosts or network congestion), and other operational information. Network administrators use ICMP to diagnose network problems and ensure proper communication between devices.

These management protocols are essential tools for network administrators to maintain the stability, efficiency, and security of their networks. By leveraging SNMP for comprehensive device management and ICMP for real-time diagnostics and troubleshooting, administrators can effectively monitor network performance, detect issues promptly, and ensure reliable connectivity across their network infrastructure.

Ports

A port is a virtual gateway that directs incoming messages to specific programs. Each port is identified by a unique number ranging from 0 to 65535, known as a port number. Depending on whether TCP or UDP is used, these numbers are assigned by the sending layer.

Certain port numbers are reserved for common services; the first 1,024 are called well-known ports, while higher-numbered ports, known as ephemeral ports, are available for specific applications. Each port is associated with a particular service or protocol. This setup allows a server or other network device to handle multiple requests simultaneously on different ports without conflict.

Some well-known ports:

20: File Transfer Protocol (FTP): Data Transfer

21: File Transfer Protocol (FTP): Command Control

22: Secure Shell (SSH): Secure authentication

23: Telnet: Remote authentication service (unencrypted)

25: Simple Mail Transfer Protocol (SMTP): Email Routing

53: Domain Name System (DNS) service

80: Hypertext Transfer Protocol (HTTP): Web browsing

110: Post Office Protocol (POP3): Email retrieval

119: Network News Transfer Protocol (NNTP) — Usenet News

123: Network Time Protocol (NTP): Synchronizing computer clock times

143: Internet Message Access Protocol (IMAP) — Email Management

161: Simple Network Management Protocol (SNMP)

194: Internet Relay Chat (IRC)

443: HTTP Secure (HTTPS): Secure HTTP over TLS/SSL

Read Entire Article