Writeup Aria
RoadMapCyber Security 101

Networking Part 1

Networking Concepts

OSI Model

Layer NumberLayer NameMain FunctionExample Protocols and Standards
Layer 7Application layerProviding services and interfaces to applicationsHTTP, FTP, DNS, POP3, SMTP, IMAP
Layer 6Presentation layerData encoding, encryption, and compressionUnicode, MIME, JPEG, PNG, MPEG
Layer 5Session layerEstablishing, maintaining, and synchronising sessionsNFS, RPC
Layer 4Transport layerEnd-to-end communication and data segmentationUDP, TCP
Layer 3Network layerLogical addressing and routing between networksIP, ICMP, IPSec
Layer 2Data link layerReliable data transfer between adjacent nodesEthernet (802.3), WiFi (802.11)
Layer 1Physical layerPhysical data transmission mediaElectrical, 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 NumberISO OSI ModelTCP/IP Model (RFC 1122)Protocols
7Application LayerApplication LayerHTTP, HTTPS, FTP, POP3, SMTP, IMAP, Telnet, SSH, DNS
6Presentation LayerApplication LayerTLS/SSL, MIME, JPEG, PNG
5Session LayerApplication LayerNetBIOS Session Service, RPC
4Transport LayerTransport LayerTCP, UDP
3Network LayerInternet LayerIP, ICMP, IPSec
2Data Link LayerLink LayerEthernet (802.3), WiFi (802.11), ARP
1Physical LayerLink LayerElectrical, 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

1767857371705

  • In the example above, what is the MAC address of 192.168.66.1?

44:df:65:d8:fe:6c

ICMP: Troubleshooting Networks

1767857469285

  • 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

1767857670549

  • 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 OPT

DNS: 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.txt
cat flag.txt
# THM{FAST-FTP}

1767884148245

  • 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.

1767884136884

  • 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

1767884178762

  • 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
  • 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[]

ProtocolTransport ProtocolDefault Port Number
TELNETTCP23
DNSUDP or TCP53
HTTPTCP80
HTTPSTCP443
FTPTCP21
SMTPTCP25
POP3TCP110
IMAPTCP143

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:
    1. Membuat CSR (Certificate Signing Request)
    2. Mengirim CSR ke Certificate Authority (CA)
    3. 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.

1767886531192

Sebelum browser meminta halaman web melalui HTTP, langkah-langkahnya adalah:

  1. Resolve domain name menjadi IP address
  2. TCP three-way handshake dengan server
  3. Komunikasi HTTP, misalnya GET / HTTP/1.1

Di Wireshark:

  • Paket pertama: TCP handshake
  • Paket selanjutnya: HTTP request & response
  • Paket terakhir: TCP connection termination

1767886567077

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:

  1. TCP three-way handshake
  2. TLS handshake (negosiasi enkripsi & kunci)
  3. 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

1767886607407

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

1767886687138

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: 1767887060503

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

1767887067820

Ini membuktikan bahwa:

  • Data HTTP tetap HTTP biasa
  • TLS hanya berfungsi sebagai lapisan pengaman

1767887657274

  • 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

1767887549987

  • 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

ProtocolDefault Port
HTTP80
SMTP25
POP3110
IMAP143

Tabel Port Protocol Aman

ProtocolDefault Port
HTTPS443
SMTPS465, 587
POP3S995
IMAPS993
  • 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@host

Port 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@hostname

Perintah umum:

  • get filename → download file
  • put filename → upload file

Perintah SFTP bersifat Unix-like dan berbeda dengan FTP.

1767888311731

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

FiturSFTPFTPS
Basis KeamananSSHTLS
Port Default22990
SertifikatTidak perlu TLS certPerlu TLS cert
KonfigurasiMudah (OpenSSH)Lebih kompleks
Firewall FriendlyYaTidak 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 1767888629002
  • Traffic dienkripsi sebelum melewati Internet
  • Di sisi server, traffic didekripsi dan diteruskan ke jaringan internal 1767888650198
  • 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.log

Perintah 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

  1. Klik kanan di mana saja, lalu pilih Protocol Preferences
  2. Dari submenu, pilih Transport Layer Security
  3. 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.log

karena 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 kanan di salah satu packet yang berisi TLS V.1.3

  • pilih Protocol Preferences > Transport Layer Security > Open Transport Layer Security preferences 1767889461985

  • klik Browse dan pilih file ssl-key.log yang ada di folder Documents 1767889570246

  • setelah di click OK, maka seluruh traffic TLS yang terenkripsi akan terdekripsi

  • setelah itu gunakan filter http2 dan mencari credensial login yang dikirim user 1767889820498

  • disini kita bisa cari packet yang ada /login, setelah itu menemukan DATA[15] yang ternyata berisi credensial login. 1767890019212

  • intinya:

    • HEADER -> POST /login HTTP/2
    • DATA ->
  • One of the packets contains login credentials. What password did the user submit?

    • Check packet number 366.

THM{B8WM6P}

On this page

Networking Part 1