Networking Part 1
Networking Concepts
OSI Model
| Layer Number | Layer Name | Main Function | Example Protocols and Standards |
|---|---|---|---|
| Layer 7 | Application layer | Providing services and interfaces to applications | HTTP, FTP, DNS, POP3, SMTP, IMAP |
| Layer 6 | Presentation layer | Data encoding, encryption, and compression | Unicode, MIME, JPEG, PNG, MPEG |
| Layer 5 | Session layer | Establishing, maintaining, and synchronising sessions | NFS, RPC |
| Layer 4 | Transport layer | End-to-end communication and data segmentation | UDP, TCP |
| Layer 3 | Network layer | Logical addressing and routing between networks | IP, ICMP, IPSec |
| Layer 2 | Data link layer | Reliable data transfer between adjacent nodes | Ethernet (802.3), WiFi (802.11) |
| Layer 1 | Physical layer | Physical data transmission media | Electrical, optical, and wireless signals |
Intinya OSI Model adalah model konseptual yang digunakan untuk memahami dan merancang jaringan komputer. Model ini membagi proses komunikasi jaringan menjadi tujuh lapisan yang berbeda, masing-masing dengan fungsi spesifiknya sendiri.
-
Biasanya Model ini digunakan untuk pembelajaran dasar jaringan komputer.
-
Which layer is responsible for end-to-end communication between running applications?
4
- Which layer is responsible for routing packets to the proper network?
3
- In the OSI model, which layer is responsible for encoding the application data?
6
- Which layer is responsible for transferring data between hosts on the same network segment?
2
TCP/IP Model
| Layer Number | ISO OSI Model | TCP/IP Model (RFC 1122) | Protocols |
|---|---|---|---|
| 7 | Application Layer | Application Layer | HTTP, HTTPS, FTP, POP3, SMTP, IMAP, Telnet, SSH, DNS |
| 6 | Presentation Layer | Application Layer | TLS/SSL, MIME, JPEG, PNG |
| 5 | Session Layer | Application Layer | NetBIOS Session Service, RPC |
| 4 | Transport Layer | Transport Layer | TCP, UDP |
| 3 | Network Layer | Internet Layer | IP, ICMP, IPSec |
| 2 | Data Link Layer | Link Layer | Ethernet (802.3), WiFi (802.11), ARP |
| 1 | Physical Layer | Link Layer | Electrical, optical, and wireless signals |
TCP/IP Model adalah model konseptual yang digunakan untuk memahami dan merancang jaringan komputer berdasarkan protokol TCP/IP. Model ini membagi proses komunikasi jaringan menjadi empat lapisan utama.
-
Biasanya Model ini digunakan dalam implementasi jaringan komputer modern. karena TCP/IP adalah protokol dasar yang digunakan di internet.
-
To which layer does HTTP belong in the TCP/IP model?
Application Layer
- How many layers of the OSI model does the application layer in the TCP/IP model cover?
3
IP Addresses and Subnets
IP address adalah identitas unik setiap perangkat di jaringan, seperti alamat rumah, yang paling umum digunakan adalah IPv4 dengan format 4 oktet (misalnya 192.168.1.1), serta dibagi menjadi alamat publik dan privat. Router berfungsi meneruskan paket data antarjaringan dengan membaca IP address agar data sampai ke tujuan yang benar.
- Which of the following IP addresses is not a private IP address?
- 192.168.250.125
- 10.20.141.132
- 49.69.147.197
- 172.23.182.251
49.69.147.197
- Which of the following IP addresses is not a valid IP address?
- 192.168.250.15
- 192.168.254.17
- 192.168.305.19
- 192.168.199.13
192.168.305.19
UDP and TCP
- Which protocol requires a three-way handshake?
TCP
- What is the approximate number of port numbers (in thousands)?
65
Encapsulation
Encapsulation adalah proses setiap layer jaringan menambahkan header (dan kadang trailer) ke data sebelum dikirim ke layer bawah, sehingga data aplikasi dibungkus menjadi TCP/UDP, lalu IP packet, dan akhirnya frame. Dalam perjalanan paket, data dikirim dari aplikasi, dienkapsulasi berlapis, diteruskan oleh router berdasarkan IP tujuan, lalu dibuka kembali secara terbalik di sisi penerima hingga sampai ke aplikasi.
-
Segment (TCP) / Datagram (UDP) > Packet (Network) > Frame (Data Link) > Bits (Physical)
-
On a WiFi, within what will an IP packet be encapsulated?
Frame
- What do you call the UDP data unit that encapsulates the application data?
Datagram
- What do you call the data unit that encapsulates the application data sent over TCP?
Segment
Telnet
TELNET (Teletype Network) adalah sebuah protokol jaringan yang digunakan untuk melakukan koneksi terminal jarak jauh. Secara sederhana, telnet memungkinkan pengguna terhubung ke sistem lain melalui jaringan dan mengirimkan perintah berbasis teks. Meskipun awalnya digunakan untuk administrasi jarak jauh, telnet juga dapat digunakan untuk berkomunikasi dengan layanan apa pun yang berjalan pada port TCP tertentu.
Pada mesin virtual target, terdapat beberapa layanan yang berjalan dan dapat diuji menggunakan telnet, yaitu:
Echo Server (Port 7)
Server ini akan mengembalikan (meng-echo) setiap teks yang kita kirimkan. Apa pun yang diketik oleh pengguna akan langsung dikirim kembali oleh server. Koneksi dapat ditutup dengan menekan CTRL + ] lalu mengetik quit.
Daytime Server (Port 13)
Server ini akan mengirimkan informasi tanggal dan waktu saat ini. Setelah data dikirim, server secara otomatis menutup koneksi.
Web Server / HTTP (Port 80)
Telnet juga dapat digunakan untuk berkomunikasi langsung dengan server web. Setelah terhubung ke port 80, pengguna dapat mengirim permintaan HTTP secara manual, seperti:
- GET / HTTP/1.1
- Host: telnet.thm
- Setelah menekan Enter dua kali (baris kosong), server akan membalas dengan respons HTTP beserta isi halaman web.
Perlu dicatat bahwa echo server dan daytime server dianggap berisiko dari sisi keamanan dan umumnya tidak digunakan di sistem modern. Layanan tersebut diaktifkan hanya untuk tujuan pembelajaran, guna menunjukkan bagaimana komunikasi antara klien dan server dapat dilakukan menggunakan telnet.
telnet 10.81.188.249 7
Trying 10.81.188.249...
# Connected to 10.81.188.249.
# Escape character is '^]'.
# halo
# halo
# iam aria
# iam aria
# telnet> quit
# Connection closed.
telnet 10.81.188.249 13
# Trying 10.81.188.249...
# Connected to 10.81.188.249.
# Escape character is '^]'.
# Wed Jan 7 05:18:29 PM UTC 2026
# Connection closed by foreign host.
telnet 10.81.188.249 80
# Trying 10.81.188.249...
# Connected to 10.81.188.249.
# Escape character is '^]'.
# HTTP/1.0 400 Bad Request
# Content-Type: text/html
# Content-Length: 345
# Connection: close
# Date: Wed, 07 Jan 2026 17:18:47 GMT
# Server: lighttpd/1.4.63
# <?xml version="1.0" encoding="iso-8859-1"?>
# <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
# "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
# <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
# <head>
# <title>400 Bad Request</title>
# </head>
# <body>
# <h1>400 Bad Request</h1>
# </body>
# </html>
# Connection closed by foreign host.- Use telnet to connect to the web server on 10.81.188.249. What is the name and version of the HTTP server?
lighttpd/1.4.63
- What flag did you get when you viewed the page?
THM{TELNET_MASTER}
Networking Essentials
DHCP: Give Me My Network Settings
- How many steps does DHCP use to provide network configuration?
4
- What is the destination IP address that a client uses when it sends a DHCP Discover packet?
255.255.255.255
- What is the source IP address a client uses when trying to get IP network configuration over DHCP?
0.0.0.0
ARP: Bridging Layer 3 Addressing to Layer 2 Addressing
- What is the destination MAC address used in an ARP Request?
ff:ff:ff:ff:ff:ff

- In the example above, what is the MAC address of 192.168.66.1?
44:df:65:d8:fe:6c
ICMP: Troubleshooting Networks

- Using the example images above, how many bytes were sent in the echo (ping) request?
40
TTL -> Time To Live
-
merupakan field pada header IP yang digunakan untuk mencegah paket data beredar tanpa henti di jaringan.
-
setiap kali paket melewati router, nilai TTL akan berkurang satu, dan ketika mencapai nol, paket akan dibuang.
-
Which IP header field does the traceroute command require to become zero?
TTL
Routing
-
OSFP (Open Shortest Path First) adalah protokol routing dinamis yang menggunakan algoritma link-state untuk menentukan jalur terbaik bagi paket data dalam jaringan. Protokol ini bekerja dengan cara membangun peta topologi jaringan berdasarkan informasi yang dikumpulkan dari router tetangga, memungkinkan setiap router untuk memiliki gambaran lengkap tentang struktur jaringan.
-
EIGRP (Enhanced Interior Gateway Routing Protocol) adalah protokol routing dinamis yang dikembangkan oleh Cisco Systems. EIGRP menggunakan algoritma jarak-vektor yang ditingkatkan untuk menentukan jalur terbaik bagi paket data dalam jaringan. Protokol ini menggabungkan fitur-fitur dari protokol jarak-vektor dan link-state, memungkinkan konvergensi yang cepat dan efisien serta penggunaan bandwidth yang optimal.
-
BGP (Border Gateway Protocol) adalah protokol routing yang digunakan untuk mengelola bagaimana paket data diarahkan antar sistem otonom (AS) di internet. BGP adalah protokol routing eksternal yang memungkinkan pertukaran informasi routing antara jaringan yang berbeda, sehingga memastikan bahwa data dapat mencapai tujuan akhir melalui jalur yang paling efisien dan andal.
-
RIP (Routing Information Protocol) adalah protokol routing dinamis yang menggunakan algoritma jarak-vektor untuk menentukan jalur terbaik bagi paket data dalam jaringan. RIP bekerja dengan cara mengirimkan informasi routing secara berkala ke router tetangga, memungkinkan setiap router untuk memperbarui tabel routingnya berdasarkan jarak (hop count) ke tujuan tertentu.
-
Which routing protocol discussed in this task is a Cisco proprietary protocol?
EIGRP
NAT

- In the network diagram above, what is the public IP that the phone will appear to use when accessing the Internet?
212.3.4.5
perkiraan, router tersebut dapat mempertahankan sekitar 65 ribu (≈ 64 ribu) koneksi TCP simultan.
Penjelasan singkat:
-
NAT membedakan koneksi menggunakan nomor port TCP.
-
Port TCP berukuran 16-bit, sehingga tersedia sekitar 65.536 port.
-
Dengan satu IP publik, setiap koneksi TCP membutuhkan satu port unik.
-
Jadi, secara teoritis (dengan asumsi daya proses tak terbatas), router dapat menangani ≈ 64–65 ribu koneksi TCP bersamaan.
-
Assuming that the router has infinite processing power, approximately speaking, how many thousand simultaneous TCP connections can it maintai
65
Closing Notes
- Click on the View Site button to access the related site. Please follow the instructions on the site to obtain the flag.
THM{computer_is_happy}
Networking Core Protocols
# Capture DNS query and response packets
tshark -r dns-query.pcapng -Nn
# 1 0.000000000 192.168.66.89 → 192.168.66.1 DNS 86 Standard query 0x2e0f A www.example.com OPT
# 2 0.059049584 192.168.66.1 → 192.168.66.89 DNS 102 Standard query response 0x2e0f A www.example.com A 93.184.215.14 OPT
# 3 0.059721705 192.168.66.89 → 192.168.66.1 DNS 86 Standard query 0x96e1 AAAA www.example.com OPT
# 4 0.101568276 192.168.66.1 → 192.168.66.89 DNS 114 Standard query response 0x96e1 AAAA www.example.com AAAA 2606:2800:21f:cb07:6820:80da:af6b:8b2c OPTDNS: Remembering Addresses
- Which DNS record type refers to IPv6?
AAAA
- Which DNS record type refers to the email server?
MX
WHOIS
Pada tugas sebelumnya, kita telah membahas bagaimana sebuah nama domain diterjemahkan (di-resolve) menjadi sebuah alamat IP. Namun, agar hal ini dapat terjadi, seseorang harus memiliki kewenangan untuk mengatur A record, AAAA record, dan MX record, serta record DNS lainnya untuk domain tersebut. Pihak yang mendaftarkan sebuah nama domain diberikan kewenangan ini. Oleh karena itu, jika Anda mendaftarkan example.com, Anda dapat mengatur record DNS apa pun yang valid untuk example.com.
Anda dapat mendaftarkan nama domain apa pun yang masih tersedia untuk satu tahun atau lebih. Anda perlu membayar biaya tahunan, dan Anda diwajibkan untuk memberikan informasi kontak yang akurat sebagai registrant. Informasi ini merupakan bagian dari data yang tersedia melalui catatan WHOIS dan dapat diakses secara publik. (Meskipun ditulis dengan huruf besar, WHOIS bukanlah sebuah singkatan; pengucapannya adalah who is.) Namun, jangan khawatir jika Anda ingin mendaftarkan domain tanpa mengungkapkan informasi kontak Anda secara publik; Anda dapat menggunakan salah satu layanan privasi yang menyembunyikan seluruh informasi Anda dari catatan WHOIS.
Anda dapat melihat catatan WHOIS dari nama domain apa pun yang telah terdaftar menggunakan salah satu layanan daring atau melalui alat baris perintah whois, yang tersedia pada sistem Linux, dan lainnya. Seperti yang diharapkan, sebuah catatan WHOIS menyediakan informasi tentang entitas yang mendaftarkan sebuah nama domain, termasuk nama, nomor telepon, email, dan alamat. Pada tangkapan layar yang ditunjukkan di bawah ini, Anda dapat melihat kapan catatan tersebut pertama kali dibuat dan kapan terakhir kali diperbarui. Selain itu, Anda dapat menemukan nama, alamat, nomor telepon, dan email dari registrant.
whois x.com
# Domain Name: X.COM
# Registry Domain ID: 1026563_DOMAIN_COM-VRSN
# Registrar WHOIS Server: whois.godaddy.com
# Registrar URL: http://www.godaddy.com
# Updated Date: 2024-12-03T21:03:37Z
# Creation Date: 1993-04-02T05:00:00Z
# Registry Expiry Date: 2034-10-20T19:56:17Z
# Registrar: GoDaddy.com, LLC
# Registrar IANA ID: 146
# Registrar Abuse Contact Email: abuse@godaddy.com
# Registrar Abuse Contact Phone: 480-624-2505
# Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
# Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
# Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
# Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
# Name Server: A.R10.TWTRDNS.NET
# Name Server: A.U10.TWTRDNS.NET
# Name Server: B.R10.TWTRDNS.NET
# Name Server: B.U10.TWTRDNS.NET
# Name Server: C.R10.TWTRDNS.NET
# Name Server: C.U10.TWTRDNS.NET
# Name Server: D.R10.TWTRDNS.NET
# Name Server: D.U10.TWTRDNS.NET
# DNSSEC: unsigned
# URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
whois twitter.com
# Domain Name: TWITTER.COM
# Registry Domain ID: 18195971_DOMAIN_COM-VRSN
# Registrar WHOIS Server: whois.corporatedomains.com
# Registrar URL: http://cscdbs.com
# Updated Date: 2025-01-17T06:08:06Z
# Creation Date: 2000-01-21T16:28:17Z
# Registry Expiry Date: 2026-01-21T16:28:17Z
# Registrar: CSC Corporate Domains, Inc.- When was the x.com record created? Provide the answer in YYYY-MM-DD format.
1993-04-02
- When was the twitter.com record created? Provide the answer in YYYY-MM-DD format.
2000-01-21
HTTP(S): Accessing the Web
Saat Anda membuka browser, protokol utama yang digunakan adalah HTTP dan HTTPS. HTTP adalah singkatan dari Hypertext Transfer Protocol, sedangkan huruf S pada HTTPS berarti Secure. Protokol ini berjalan di atas TCP dan mengatur cara browser berkomunikasi dengan web server.
Beberapa metode HTTP yang umum digunakan oleh browser adalah:
- GET untuk mengambil data dari server, seperti file HTML atau gambar.
- POST untuk mengirim data baru ke server, misalnya saat mengirim formulir atau mengunggah file.
- PUT untuk membuat resource baru atau memperbarui data yang sudah ada di server.
- DELETE untuk menghapus file atau resource tertentu di server.
HTTP biasanya menggunakan port TCP 80, sedangkan HTTPS menggunakan port 443. Kadang juga digunakan port lain seperti 8080 dan 8443.
Pada contoh ini, Firefox digunakan untuk mengakses web server di alamat 10.48.165.25. Halaman web tampil normal di browser, tetapi di balik layar terjadi pertukaran data antara browser dan server.
Dengan Wireshark, kita bisa melihat pertukaran data tersebut secara detail. Data yang dikirim browser ditampilkan dengan warna merah, sedangkan respons dari server berwarna biru. Banyak informasi tambahan yang tidak ditampilkan ke pengguna, seperti versi web server dan waktu terakhir halaman diperbarui.
Seperti yang telah dibahas pada konsep jaringan, kita juga bisa menggunakan telnet untuk terhubung ke web server di port 80. Untuk mendapatkan halaman utama, kita mengirim perintah GET / HTTP/1.1 dan Host: anything. Metode ini juga bisa digunakan untuk mengakses file tertentu, misalnya GET /file.html HTTP/1.1. Cara ini berguna untuk troubleshooting karena kita berkomunikasi langsung menggunakan protokol HTTP.
Untuk soal ini, gunakan telnet untuk mengakses file flag.html pada alamat 10.48.165.25, lalu temukan hidden flag yang tersedia di dalamnya.
telnet 10.48.165.25 80
# Trying 10.48.165.25...
# Connected to 10.48.165.25.
# Escape character is '^]'.
GET /flag.html HTTP/1.0
# HTTP/1.1 200 OK
# Server: nginx/1.18.0 (Ubuntu)
# Date: Thu, 08 Jan 2026 14:35:02 GMT
# Content-Type: text/html
# Content-Length: 478
# Last-Modified: Thu, 27 Jun 2024 07:28:15 GMT
# Connection: close
# ETag: "667d148f-1de"
# Accept-Ranges: bytes
# <!DOCTYPE html>
# <html lang="en">
# <head>
# <meta charset="UTF-8">
# <meta name="viewport" content="width=device-width, initial-scale=1.0">
# <title>Hidden Message</title>
# <style>
# body {
# background-color: white;
# color: white;
# font-family: Arial, sans-serif;
# }
# .hidden-text {
# font-size: 1px;
# }
# </style>
# </head>
# <body>
# <div class="hidden-text">THM{TELNET-HTTP}</div>
# </body>
# </html>
# Connection closed by foreign host.
# root@ip-10-48-94-48:~#- Use telnet to access the file flag.html on 10.48.165.25. What is the hidden flag?
THM{TELNET-HTTP}
FTP: Transferring Files
FTP (File Transfer Protocol) digunakan khusus untuk mentransfer file, sehingga lebih efisien dibandingkan HTTP untuk keperluan tersebut. FTP menyediakan beberapa perintah utama seperti USER untuk username, PASS untuk password, RETR untuk mengunduh file, dan STOR untuk mengunggah file. Secara default, FTP berjalan pada port TCP 21 dan menggunakan koneksi terpisah untuk transfer data.
Pada contoh ini, koneksi dilakukan ke server FTP di 10.48.165.25 menggunakan username anonymous tanpa password. Setelah berhasil login, perintah ls digunakan untuk melihat daftar file, lalu mode dipindah ke ASCII, dan file coffee.txt diunduh menggunakan perintah get. Proses komunikasi antara client dan server dapat dianalisis dengan Wireshark, di mana perintah client dan respons server terlihat jelas, serta transfer file dilakukan melalui koneksi terpisah.
Untuk menjawab soal, gunakan FTP client pada AttackBox untuk terhubung ke server tersebut dan unduh file flag.txt guna menemukan flag yang diminta.
ftp 10.48.165.25
# Connected to 10.48.165.25.
# 220 (vsFTPd 3.0.5)
Name (10.48.165.25:root): Anonymous
331 Please specify the password.username: Anonymous, password: (tekan Enter saja)
ambil file flag.txt
ls
# -rw-r--r-- 1 0 0 1480 Jun 27 2024 coffee.txt
# -rw-r--r-- 1 0 0 14 Jun 27 2024 flag.txt
# -rw-r--r-- 1 0 0 1595 Jun 27 2024 tea.txt
get flag.txt
get coffee.txt
get tea.txtcat flag.txt
# THM{FAST-FTP}
- Using the FTP client ftp on the AttackBox, access the FTP server at 10.48.165.25 and retrieve flag.txt. What is the flag found?
THM{FAST-FTP}
SMTP: Sending Email
- SMTP adalah protokol yang digunakan untuk mengirim email
- Digunakan oleh mail client ke mail server
- Juga digunakan antar mail server
- Cara kerja SMTP mirip seperti mengirim paket di kantor pos
- Menyapa petugas
- Menyebutkan alamat tujuan
- Memberikan identitas pengirim
- Menyerahkan paket (email)
- Perintah penting dalam SMTP:
- HELO / EHLO → Memulai sesi SMTP
- MAIL FROM → Menentukan alamat email pengirim
- RCPT TO → Menentukan alamat email penerima
- DATA → Mulai mengirim isi email
- . → Menandakan akhir pesan email
- Port default SMTP:
- TCP port 25
- Pengiriman email via telnet:
- Bisa digunakan untuk memahami proses kerja SMTP
- Tidak praktis untuk penggunaan sehari-hari
- Membantu melihat perintah SMTP secara langsung
- Analisis dengan Wireshark:
- Pesan dari client ditampilkan dengan warna merah
- Respons dari server ditampilkan dengan warna biru
- Memudahkan memahami pertukaran data client–server
- Kesimpulan:
- Setelah memahami HTTP, FTP, dan SMTP
- Protokol berbasis teks lain seperti POP3 dan IMAP akan lebih mudah dipelajari
telnet 10.48.165.25 25
# Trying 10.48.165.25...
# Connected to 10.48.165.25.
# Escape character is '^]'.
# 220 ip-10-48-165-25.ap-south-1.compute.internal ESMTP Exim 4.95 Ubuntu Thu, 08 Jan 2026 14:52:37 +0000
HELO client.thm
# 250 ip-10-48-165-25.ap-south-1.compute.internal Hello client.thm [10.48.94.48]
MAIL FROM: <user@client.thm>
# 250 OK
RCPT TO: <strategos@server.thm>
# 250 Accepted
DATA
# 354 Enter message, ending with "." on a line by itself
From: user@client.thm
To: strategos@server.thm
Subject: Telnet email
Hello. I am using telnet to send you an email!
.
# 250 OK id=1vdrOR-0000NA-GJ
QUIT
# 221 ip-10-48-165-25.ap-south-1.compute.internal closing connection
# Connection closed by foreign host.
- Which SMTP command indicates that the client will start the contents of the email message?
DATA
- What does the email client send to indicate that the email message has been fully entered?
.
POP3: Receiving Email
- POP3 adalah protokol yang digunakan untuk mengambil email dari mail server ke mail client
- Alur kerja email:
- SMTP → mengirim email ke server
- POP3 → mengambil email dari server
- Analogi:
- SMTP seperti menyerahkan paket ke kantor pos
- POP3 seperti mengecek kotak surat pribadi
- Perbedaan peran:
- POP3 = kotak surat pribadi
- SMTP = kotak pengiriman di kantor pos
- Port default POP3:
- TCP port 110
- Perintah umum POP3:
- USER → identifikasi pengguna
- PASS → autentikasi pengguna
- STAT → melihat jumlah pesan dan total ukurannya
- LIST → menampilkan daftar pesan dan ukurannya
- RETR → mengambil pesan tertentu
- DELE → menandai pesan untuk dihapus
- QUIT → mengakhiri sesi dan menerapkan perubahan
- POP3 via telnet:
- Digunakan untuk memahami cara kerja POP3
- Menunjukkan proses login dan pengambilan email
- Email yang dikirim pada tugas sebelumnya berhasil diambil
- Keamanan POP3:
- Autentikasi username dan password diperlukan
- Data dikirim dalam bentuk teks biasa
- Siapa pun yang menangkap trafik jaringan bisa membaca password
- Analisis dengan Wireshark:
- Perintah client ditampilkan berwarna merah
- Respons server ditampilkan berwarna biru
- Kredensial login terlihat jelas di hasil tangkapan

- Kredensial login POP3:
- Username: linda
- Password: Pa$$123
telnet 10.48.165.25 110
# Trying 10.48.165.25...
# Connected to 10.48.165.25.
# Escape character is '^]'.
# +OK [XCLIENT] Dovecot (Ubuntu) ready.
AUTH
# +OK
# PLAIN
# .
USER linda
# +OK
PASS Pa$$123
# +OK Logged in.
STAT
# +OK 4 2216
LIST
# +OK 4 messages:
# 1 690
# 2 589
# 3 483
# 4 454
# .
RETR 1
# +OK 690 octets
# Return-path: <user@client.thm>
# Envelope-to: linda@server.thm
# Delivery-date: Thu, 12 Sep 2024 20:06:30 +0000
# Received: from [10.11.81.126] (helo=client.thm)
# by example.thm with smtp (Exim 4.95)
# (envelope-from <user@client.thm>)
# id 1soq4J-0007lF-2G
# for linda@server.thm;
# Thu, 12 Sep 2024 20:06:30 +0000
# From: user@client.thm
# To: linda@server.thm
# Subject: Cyber Security
# Cybersecurity refers to the practices, technologies, and processes designed to protect systems, networks, and data from cyberattacks, damage, or unauthorized access. It is essential for safeguarding sensitive information across various sectors, including personal, corporate, and governmental domains.
# .
RETR 2
# +OK 589 octets
# Return-path: <user@client.thm>
# Envelope-to: linda@server.thm
# Delivery-date: Thu, 12 Sep 2024 20:07:57 +0000
# Received: from [10.11.81.126] (helo=client.thm)
# by example.thm with smtp (Exim 4.95)
# (envelope-from <user@client.thm>)
# id 1soq67-0007lN-HT
# for linda@server.thm;
# Thu, 12 Sep 2024 20:07:57 +0000
# From: user@client.thm
# To: linda@server.thm
# Subject: Coffee
# Coffee is a widely consumed beverage made from roasted coffee beans derived from the berries of the Coffea plant. It is known not only for its rich flavor and aroma but also for its numerous health benefits.
# .
RETR 3
# +OK 483 octets
# Return-path: <user@client.thm>
# Envelope-to: linda@server.thm
# Delivery-date: Thu, 12 Sep 2024 20:09:54 +0000
# Received: from [10.11.81.126] (helo=client.thm)
# by example.thm with smtp (Exim 4.95)
# (envelope-from <user@client.thm>)
# id 1soq7c-0007lW-PU
# for linda@server.thm;
# Thu, 12 Sep 2024 20:09:54 +0000
# From: user@client.thm
# To: linda@server.thm
# Subject: Reading Books
# Reading is a fundamental activity that offers numerous benefits across various aspects of life.
# .
RETR 4
# +OK 454 octets
# Return-path: <user@client.thm>
# Envelope-to: linda@server.thm
# Delivery-date: Thu, 12 Sep 2024 20:12:42 +0000
# Received: from [10.11.81.126] (helo=client.thm)
# by example.thm with smtp (Exim 4.95)
# (envelope-from <user@client.thm>)
# id 1soqAj-0007li-39
# for linda@server.thm;
# Thu, 12 Sep 2024 20:12:42 +0000
# From: user@client.thm
# To: linda@server.thm
# Subject: Your Flag
# Hello!
# Here's your flag:
# THM{TELNET_RETR_EMAIL}
# Enjoy your journey!
# .
DELE 2
# +OK Marked to be deleted.
LIST
# +OK 3 messages:
# 1 690
# 3 483
# 4 454
# .
STAT
# +OK 3 1627
QUIT
# +OK Logging out, messages deleted.
# Connection closed by foreign host.- Looking at the traffic exchange, what is the name of the POP3 server running on the remote server?
Dovecot
- Use telnet to connect to 10.48.165.25’s POP3 server. What is the flag contained in the fourth message?
THM{TELNET_RETR_EMAIL}
IMAP: Synchronizing Email
-
IMAP digunakan ketika email diakses dari banyak perangkat
- Contoh: PC kantor, laptop, dan smartphone
-
Berbeda dengan POP3:
- POP3 → email diunduh lalu biasanya dihapus dari server
- IMAP → email tetap disimpan di server dan disinkronkan
-
Keunggulan IMAP:
- Sinkronisasi status email:
- Dibaca
- Dipindahkan
- Dihapus
- Semua perubahan terlihat di semua perangkat
- Cocok untuk penggunaan multi-device
- Sinkronisasi status email:
-
Kekurangan IMAP:
- Menggunakan lebih banyak storage server dibanding POP3
-
Port default IMAP:
- TCP port 143
-
Perintah umum IMAP:
- LOGIN → autentikasi user
- SELECT → memilih folder mailbox (misalnya inbox)
- FETCH → mengambil isi email tertentu
- MOVE → memindahkan email
- COPY → menyalin email
- LOGOUT → keluar dari sesi IMAP
-
IMAP via telnet:
- Digunakan untuk memahami cara kerja IMAP
- Client hanya mengirim beberapa perintah
- Server mengirim respons panjang berisi data email
-
Analisis dengan Wireshark:
- Perintah client ditampilkan berwarna merah
- Respons server ditampilkan berwarna biru
- Terlihat jelas proses sinkronisasi dan pengambilan email
-
Kesimpulan:
- POP3 cocok untuk satu perangkat
- IMAP cocok untuk banyak perangkat dengan sinkronisasi penuh
-
What IMAP command retrieves the fourth email message?
FETCH 4 body[]
| Protocol | Transport Protocol | Default Port Number |
|---|---|---|
| TELNET | TCP | 23 |
| DNS | UDP or TCP | 53 |
| HTTP | TCP | 80 |
| HTTPS | TCP | 443 |
| FTP | TCP | 21 |
| SMTP | TCP | 25 |
| POP3 | TCP | 110 |
| IMAP | TCP | 143 |
Networking Secure Protocols
Siap, bre 👍 Ini ringkasan materi TLS dari TryHackMe dalam bentuk kalimat singkat + poin inti yang enak buat catatan.
Ringkasan Materi TLS (Transport Layer Security)
Pada masa lalu, komunikasi jaringan sangat tidak aman karena data seperti chat, email, dan password dikirim dalam bentuk cleartext, sehingga siapa pun yang menggunakan packet sniffer dapat mencurinya. Pengguna tidak memiliki cara untuk melindungi kredensial mereka.
Untuk mengatasi masalah ini, Netscape mengembangkan SSL (Secure Sockets Layer) pada tahun 1995. Selanjutnya, IETF menggantikannya dengan TLS (Transport Layer Security) pada tahun 1999, dan versi terbaru TLS 1.3 dirilis pada 2018 setelah banyak perbaikan keamanan selama lebih dari dua dekade.
TLS adalah protokol kriptografi yang bekerja pada layer transport (OSI) dan bertujuan untuk menjamin:
- Kerahasiaan (confidentiality) → data tidak bisa dibaca pihak lain
- Integritas (integrity) → data tidak bisa diubah saat dikirim
Tanpa TLS, aktivitas penting seperti online banking, belanja online, email, dan messaging tidak akan aman dan sulit digunakan.
Saat ini, banyak protokol yang menjadi aman dengan penambahan TLS, contohnya:
- HTTP → HTTPS
- DNS → DoT (DNS over TLS)
- MQTT → MQTTS
- SIP → SIPS Huruf “S” berarti Secure (menggunakan SSL/TLS).
Inti Teknis TLS
- Server (atau client) membutuhkan TLS Certificate untuk membuktikan identitasnya
- Sertifikat diperoleh melalui proses:
- Membuat CSR (Certificate Signing Request)
- Mengirim CSR ke Certificate Authority (CA)
- CA memverifikasi dan menandatangani sertifikat
- Client memverifikasi sertifikat menggunakan trusted CA certificates yang sudah terpasang (misalnya di browser)
- Umumnya sertifikat berbayar, tetapi Let’s Encrypt menyediakan sertifikat gratis
- Self-signed certificate tidak dipercaya secara publik karena tidak diverifikasi oleh CA
SSL VS TLS
-
TLS adalah penerus SSL
-
TLS lebih aman dan efisien dibanding SSL
-
SSL sudah usang dan tidak lagi digunakan
-
What is the protocol name that TLS upgraded and built upon?
SSL
- Which type of certificates should not be used to confirm the authenticity of a server?
self-signed certificate
HTTPS
HTTP (Tanpa Enkripsi)
HTTP berjalan di atas TCP dan secara default menggunakan port 80. Semua data HTTP dikirim dalam bentuk cleartext, sehingga siapa pun yang melakukan packet sniffing (misalnya dengan Wireshark) dapat membaca request dan response dengan mudah.

Sebelum browser meminta halaman web melalui HTTP, langkah-langkahnya adalah:
- Resolve domain name menjadi IP address
- TCP three-way handshake dengan server
- Komunikasi HTTP, misalnya
GET / HTTP/1.1
Di Wireshark:
- Paket pertama: TCP handshake
- Paket selanjutnya: HTTP request & response
- Paket terakhir: TCP connection termination

Masalah utama HTTP: tidak ada kerahasiaan dan integritas data.
HTTP Over TLS (HTTPS)
HTTPS adalah HTTP yang dijalankan di atas TLS dan biasanya menggunakan port 443. Dengan HTTPS, data HTTP akan dienkripsi sebelum dikirim melalui jaringan.
Langkah komunikasi HTTPS setelah domain di-resolve:
- TCP three-way handshake
- TLS handshake (negosiasi enkripsi & kunci)
- Komunikasi HTTP (GET, POST, dll) di dalam TLS
Di Wireshark:
- Tahap 1: TCP handshake
- Tahap 2: TLS negotiation & session establishment
- Tahap 3: Encrypted Application Data

Isi data tidak terlihat dan hanya muncul sebagai “Application Data”, karena isinya terenkripsi.

Enkripsi dan Decryption Key
Tanpa encryption key, isi traffic HTTPS hanya terlihat sebagai data acak (gibberish).
Namun, jika private key / session key tersedia dan dimasukkan ke Wireshark:

- TCP dan TLS handshake tetap sama
- HTTP request dan response bisa dibaca kembali (misalnya
GET /)

Ini membuktikan bahwa:
- Data HTTP tetap HTTP biasa
- TLS hanya berfungsi sebagai lapisan pengaman

- How many packets did the TLS negotiation and establishment take in the Wireshark HTTPS screenshots above?
- hint: You need to count the packets to establish a TCP connection and the packets to negotiate the TLS session.
8

- What is the number of the packet that contain the GET /login when accessing the website over HTTPS?
- hint: Check the decrypted HTTPS screenshot. The packet number is displayed in the leftmost column.
10
SMTPS, POP3S, and IMAPS
Menambahkan TLS ke protokol email tidak berbeda dengan menambahkan TLS ke HTTP. Sama seperti HTTP menjadi HTTPS, protokol email juga mendapatkan huruf “S” yang berarti Secure.
Semua konsep yang berlaku pada HTTPS juga berlaku untuk: SMTPS, POP3S, dan IMAPS
Tabel Port Protocol Tidak Aman
| Protocol | Default Port |
|---|---|
| HTTP | 80 |
| SMTP | 25 |
| POP3 | 110 |
| IMAP | 143 |
Tabel Port Protocol Aman
| Protocol | Default Port |
|---|---|
| HTTPS | 443 |
| SMTPS | 465, 587 |
| POP3S | 995 |
| IMAPS | 993 |
- If you capture network traffic, in which of the following protocols can you extract login credentials: SMTPS, POP3S, or IMAP?
IMAP
SSH
Siap bre 😄 paham. Ini gue bikinin catatan versi pendek tapi tetep “berisi”, cocok buat dibaca ulang sebelum lab / ujian TryHackMe.
Catatan Singkat: TELNET vs SSH
TELNET digunakan untuk login jarak jauh, tetapi tidak aman karena semua data (termasuk username dan password) dikirim dalam cleartext, sehingga mudah disadap.
Untuk mengatasi hal ini, SSH (Secure Shell) dikembangkan oleh Tatu Ylönen pada tahun 1995. Versi aman yang digunakan sekarang adalah SSH-2, dan implementasi paling umum adalah OpenSSH.
SSH menyediakan:
- Enkripsi (confidentiality)
- Integritas data
- Autentikasi aman (password, public key, 2FA)
- Tunneling (mirip VPN)
- X11 forwarding untuk menjalankan aplikasi GUI jarak jauh
Perintah dasar SSH:
ssh user@hostPort default:
-
TELNET → 23
-
SSH → 22
-
What is the name of the open-source implementation of the SSH protocol?
OpenSSH
SFTP and FTPS
SFTP (SSH File Transfer Protocol))
SFTP (SSH File Transfer Protocol) adalah protokol transfer file yang berjalan di atas SSH dan menggunakan port 22. SFTP merupakan bagian dari SSH suite dan mudah digunakan karena cukup mengaktifkannya di OpenSSH server.
Koneksi SFTP dilakukan dengan:
sftp username@hostnamePerintah umum:
get filename→ download fileput filename→ upload file
Perintah SFTP bersifat Unix-like dan berbeda dengan FTP.

FTPS (FTP Secure)
FTPS (File Transfer Protocol Secure) adalah FTP yang diamankan menggunakan TLS, mirip dengan HTTPS. FTP biasa menggunakan port 21, sedangkan FTPS umumnya menggunakan port 990.
FTPS:
- Menggunakan TLS certificate
- Lebih sulit dikonfigurasi
- Bermasalah pada firewall ketat karena memisahkan koneksi control dan data
perbandingan singkat
| Fitur | SFTP | FTPS |
|---|---|---|
| Basis Keamanan | SSH | TLS |
| Port Default | 22 | 990 |
| Sertifikat | Tidak perlu TLS cert | Perlu TLS cert |
| Konfigurasi | Mudah (OpenSSH) | Lebih kompleks |
| Firewall Friendly | Ya | Tidak selalu |
SFTP is a secure file transfer protocol that runs over SSH, while FTPS secures FTP using TLS.
- Click on the View Site button to access the related site. Please follow the instructions on the site to obtain the flag.
THM{Protocols_secur3d}
VPN (Virtual Private Network)
VPN (Virtual Private Network) memungkinkan perusahaan atau pengguna jarak jauh untuk terhubung ke jaringan utama seolah-olah berada di lokasi yang sama. VPN memanfaatkan Internet sebagai media koneksi, sehingga menjadi solusi yang ekonomis dan fleksibel.
Internet (TCP/IP) hanya fokus pada pengiriman paket, bukan pada keamanan data. Oleh karena itu, VPN hadir untuk menyediakan privasi (enkripsi) dan integritas data yang dikirim.
Cara Kerja VPN (Intinya)
- VPN client membuat tunnel terenkripsi ke VPN server

- Traffic dienkripsi sebelum melewati Internet
- Di sisi server, traffic didekripsi dan diteruskan ke jaringan internal

- Digunakan untuk:
- Koneksi antar cabang perusahaan
- Akses karyawan jarak jauh
Manfaat VPN
- 🔐 Privasi & keamanan data
- 🌍 Mengakses jaringan seolah dari lokasi lain
- 🏢 Menghubungkan kantor cabang & remote user
- 🕵️ ISP hanya melihat traffic terenkripsi
- 🌐 Website melihat IP VPN server, bukan IP asli
Catatan
- Biasanya semua traffic Internet dilewatkan lewat VPN
- Beberapa VPN hanya memberi akses ke jaringan internal (split tunneling)
- Bisa terjadi IP leak / DNS leak
- VPN sering dipakai untuk bypass geo-restriction
- Penggunaan VPN bisa ilegal di beberapa negara
A VPN creates an encrypted tunnel over the Internet, allowing secure access to private networks as if the user were locally connected.
- What would you use to connect the various company sites so that users at a remote office can access resources located within the main branch?
VPN
Closing Notes
Dalam room ini, kita membahas tiga pendekatan utama untuk mengamankan traffic jaringan.
Pendekatan pertama adalah menggunakan TLS, yang menyediakan cara praktis untuk mengamankan banyak protokol seperti HTTP, SMTP, dan POP3. Protokol yang diamankan dengan TLS biasanya mendapatkan huruf S (Secure) di belakang namanya, seperti HTTPS, SMTPS, dan POP3S.
Pendekatan kedua untuk mengamankan traffic jaringan adalah menggunakan SSH. Meskipun SSH terutama digunakan untuk akses jarak jauh, SSH juga dapat digunakan untuk transfer file secara aman dan membuat secure tunnel. Membuat SSH tunnel merupakan pilihan yang baik jika ingin mengamankan traffic dari protokol plaintext, seperti VNC.
Pendekatan terakhir yang dibahas adalah penggunaan VPN. Koneksi VPN biasanya menjadi opsi terbaik untuk menghubungkan dua cabang perusahaan secara aman.
Challenge
Kita akan menutup room ini dengan tantangan praktik langsung.
Tekan tombol Start Machine di bawah.
Mesin akan berjalan dalam Split-Screen view. Jika tidak terlihat, gunakan tombol biru Show Split View di bagian atas halaman.
Kami telah mengatur browser agar mencatat TLS session keys, sehingga kita bisa menganalisis traffic menggunakan Wireshark. Pencatatan ini dilakukan dengan menambahkan opsi ekstra pada shortcut browser. Perintah berikut digunakan:
chromium --ssl-key-log-file=~/ssl-key.logPerintah ini akan menyimpan TLS keys ke file ssl-key.log.
File packet capture bernama randy-chromium.pcapng dan disimpan di folder Documents. Setelah membuka file ini di Wireshark, kamu dapat mengonfigurasi Wireshark agar menggunakan file ssl-key.log, sehingga seluruh traffic TLS dapat didekripsi.
Langkah Konfigurasi Wireshark
- Klik kanan di mana saja, lalu pilih Protocol Preferences
- Dari submenu, pilih Transport Layer Security
- Klik Open Transport Layer Security preferences
Setelah itu akan muncul dialog box. Klik tombol Browse untuk memilih file ssl-key.log (tersedia di folder Documents). Terakhir, klik OK, dan Wireshark akan menampilkan traffic TLS dalam kondisi terdekripsi.
Salah satu paket tersebut berisi kredensial login.
chromium --ssl-key-log-file=~/ssl-key.log
# Command 'chromium' not found, but can be installed with:
# sudo snap install chromium
ls Documents/
# randy-chromium.pcapng ssl-key.logkarena ketika dijalankan chromium tidak ditemukan, maka kita install dulu chromiumnya, namun tidak bisa di install karena ini adalahh attackbox tryhackme yang berbasis ubuntu server dan tidak memiliki akses internet. dan karena ketika saya lihat di folder Documents sudah ada file ssl-key.log, maka saya asumsikan file randy-chromium.pcapng juga sudah ada di folder Documents. maka langsung saja kita buka file randy-chromium.pcapng di wireshark
wireshark Documents/randy-chromium.pcapng-
setelah itu lakukan
click kanandi salah satu packet yang berisiTLS V.1.3 -
pilih
Protocol Preferences > Transport Layer Security > Open Transport Layer Security preferences
-
klik
Browsedan pilih filessl-key.logyang ada di folder Documents
-
setelah di click OK, maka seluruh traffic TLS yang terenkripsi akan terdekripsi
-
setelah itu gunakan filter
http2dan mencari credensial login yang dikirim user
-
disini kita bisa cari packet yang ada
/login, setelah itu menemukanDATA[15]yang ternyata berisi credensial login.
-
intinya:
- HEADER -> POST /login HTTP/2
- DATA ->
- Form item: "email" = "strategos@networking.thm"
- Form item: "pass" = "THM{B8WM6P}"
-
One of the packets contains login credentials. What password did the user submit?
- Check packet number 366.
THM{B8WM6P}