Skip to main content

Ενεργή αναγνώριση — Καθοδηγούμενη επίδειξη

Ένα lab, τρεις στόχοι. Περνάμε από όλα τα στρώματα της σάρωσης, διαβάζουμε κάθε έξοδο, καταλήγουμε σε ένα καθαρό σχέδιο επίθεσης στο τέλος. Τίποτα καταστροφικό — θέλουμε τον χάρτη, όχι τις στάχτες.

Υπενθύμιση του πλαισίου

Όλα τα παρακάτω συμβαίνουν στο host-only lab της ενότητας 1, επεκτεταμένο σε τρία μηχανήματα. Καμία εντολή δεν είναι νόμιμη εκτός ενός lab που κατέχετε ή ενός στόχου υπό RoE.

Τι θα ξέρετε να κάνετε μετά από αυτό το μάθημα​

  • Να ανακαλύπτετε τους ζωντανούς κεντρικούς υπολογιστές χωρίς να χρησιμοποιήσετε γνωστή IP εκ των προτέρων.
  • Να χαρτογραφείτε υπηρεσίες και εκδόσεις σε τρία λογικά περάσματα Nmap.
  • Να απαριθμείτε έναν κοινόχρηστο πόρο SMB χωρίς κωδικό πρόσβασης και να βγάζετε λίστα χρηστών.
  • Να εντοπίζετε μια ξεχασμένη υπηρεσία UDP (SNMP), με την προεπιλεγμένη community string.
  • Να ενοποιείτε μια αναφορά αναγνώρισης 2 σελίδων.

Το επεκταμένο σκηνικό​

Ξαναπάρτε το lab της εβδομάδας 1 και προσθέστε ένα τρίτο ευάλωτο Linux VM.

ΜηχάνημαΡόλοςIP
KaliΕπιτιθέμενος10.10.10.5
Metasploitable 3 (Windows)Στόχος 110.10.10.12
Metasploitable 2 (Linux)Στόχος 210.10.10.20

Το Metasploitable 2 κατεβαίνει από το SourceForge. Εισαγάγετέ το, βάλτε το στο ίδιο host-only network, επιβάλετε την IP του σε 10.10.10.20.

Δημιουργήστε τον φάκελο αποστολής:

mkdir -p ~/labs/semaine-04/{scans,captures,rapport}
cd ~/labs/semaine-04

Βήμα 1 — Ανακάλυψη επιπέδου 2 (ARP)​

Μια ανακάλυψη παθητική στον θόρυβό της: το ARP είναι εγγενές στο LAN, δεν προσελκύει IDS.

sudo arp-scan --interface=eth0 --localnet | tee scans/arp.txt

Έξοδος:

Interface: eth0, type: EN10MB, MAC: 08:00:27:aa:bb:cc, IPv4: 10.10.10.5
Starting arp-scan 1.9.7 with 256 hosts

10.10.10.1 0a:00:27:00:00:0a VirtualBox
10.10.10.12 08:00:27:c3:5f:1e PCS Systemtechnik GmbH (VirtualBox)
10.10.10.20 08:00:27:aa:12:34 PCS Systemtechnik GmbH (VirtualBox)

3 packets received by filter, 0 packets dropped by kernel

Τρεις γραμμές, δύο στόχοι. Το 10.10.10.1 είναι ο host VirtualBox (να αγνοηθεί). Το πάρκο δοκιμών μας: .12 και .20.


Βήμα 2 — Ανακάλυψη με ping (ICMP + TCP)​

Το arp-scan δεν λειτουργεί εκτός LAN. Για ευρύτερη σάρωση, το nmap -sn συνδυάζει ICMP echo, TCP SYN στο 443 και 80, και ARP όταν είναι δυνατό.

sudo nmap -sn 10.10.10.0/24 -oA scans/hosts
cat scans/hosts.gnmap | grep Up

Έξοδος:

Host: 10.10.10.12 () Status: Up
Host: 10.10.10.20 () Status: Up

Επιβεβαιώνει ό,τι είπε το ARP. Καλά.


Βήμα 3 — Πλήρης σάρωση θυρών TCP​

Όλες μαζί, όλες οι θύρες, αλλά ένα μηχάνημα κάθε φορά. Καταγράφουμε:

sudo nmap -sS -Pn -p- --min-rate 2000 10.10.10.12 -oA scans/12-ports
sudo nmap -sS -Pn -p- --min-rate 2000 10.10.10.20 -oA scans/20-ports

Απόσπασμα για το .20 (Metasploitable 2):

PORT     STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
3632/tcp open distccd
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown

Γρήγορη ανάγνωση:

  • telnet (23), rsh/rexec/rlogin (512-514): πρωτόκολλα σε καθαρό κείμενο — ορυχεία ευπαθειών· θα έκαναν κάθε έλεγχο να ουρλιάζει.
  • distccd (3632): distributed compiler — ιστορικό RCE.
  • ingreslock (1524): γνωστό backdoor του VM (απευθείας root shell).
  • X11 (6000): εκτεθειμένος γραφικός διακομιστής στο δίκτυο.
  • MySQL και PostgreSQL εκτεθειμένα χωρίς να περνούν από frontend.

Αυτό το VM έγινε για να καταστραφεί — έχει όλα ανοιχτά. Σε πραγματικό στόχο, μια τέτοια λίστα θα ήταν σήμα εγκαταλελειμμένης υποδομής.


Βήμα 4 — Ανίχνευση εκδόσεων​

Ζητάμε τις εκδόσεις μόνο για τις ανοιχτές θύρες. Ξαναπάρτε τη λίστα:

sudo nmap -sV -p 21,22,23,25,53,80,111,139,445,512-514,1099,1524,2049,3306,3632,5432,5900,6000,6667,8009,8180 \
10.10.10.20 -oA scans/20-versions

Απόσπασμα:

PORT     STATE SERVICE     VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1

Η μαγική λέξη: vsftpd 2.3.4. Αυτή η συγκεκριμένη έκδοση περιέχει ένα δημόσιο backdoor (το περίφημο vsftpd 2.3.4 smiley face backdoor, CVE-2011-2523). Αρκεί να στείλετε ένα login που περιέχει :) για να ανοίξει ένα root shell στη θύρα 6200. Θα το αγγίξουμε στην ενότητα 5.

Ομοίως στο Samba 3.x: ιστορικό ευπαθειών (usermap script, EternalRed…). Επιβεβαιωμένος στόχος.


Βήμα 5 — Στοχευμένη σάρωση UDP​

Το nmap -sU -p- είναι πολύ αργό (10 ώρες+). Στοχεύουμε τις θύρες UDP που συχνά κρύβουν κάτι:

sudo nmap -sU --top-ports 20 10.10.10.20 -oA scans/20-udp

Έξοδος:

PORT     STATE         SERVICE
53/udp open domain
69/udp open|filtered tftp
111/udp open rpcbind
137/udp open netbios-ns
161/udp open snmp
2049/udp open nfs

SNMP (161) ανοιχτό. Το SNMP σε UDP, με την προεπιλεγμένη κοινότητα public, είναι ο πράκτορας που αποκαλύπτει το πλήρες απόθεμα της μηχανής.

Επαλήθευση:

snmpwalk -v 2c -c public 10.10.10.20 sysDescr
snmpwalk -v 2c -c public 10.10.10.20 hrSWRunName | head

Έξοδος:

SNMPv2-MIB::sysDescr.0 = STRING: Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
HOST-RESOURCES-MIB::hrSWRunName.1 = STRING: "init"
HOST-RESOURCES-MIB::hrSWRunName.2 = STRING: "sshd"
HOST-RESOURCES-MIB::hrSWRunName.3 = STRING: "mysqld"
HOST-RESOURCES-MIB::hrSWRunName.4 = STRING: "apache2"
...

Ξέρετε τώρα τον ακριβή πυρήνα, την έκδοση της διανομής, τη λίστα των τρεχουσών διεργασιών. Χωρίς αυθεντικοποίηση. Χωρίς exploit.


Βήμα 6 — Απαρίθμηση SMB με nxc​

Στο 10.10.10.12 (Windows) και 10.10.10.20 (Linux με Samba), το ίδιο εργαλείο:

nxc smb 10.10.10.12 10.10.10.20

Έξοδος:

SMB  10.10.10.12  445  METASPLOITABLE3  [*] Windows Server 2008 R2 SP1  (name:METASPLOITABLE3) (domain:METASPLOITABLE3) (signing:False) (SMBv1:True)
SMB 10.10.10.20 445 METASPLOITABLE [*] Unix (Samba 3.0.20-Debian) (name:METASPLOITABLE) (domain:WORKGROUP) (signing:False) (SMBv1:True)

Signing:False παντού: οι επιθέσεις SMB relay θα είναι εφικτές. Σημειώστε το για την ενότητα 10.

Ας απαριθμήσουμε τους κοινόχρηστους πόρους χωρίς αυθεντικοποίηση:

nxc smb 10.10.10.12 -u '' -p '' --shares
nxc smb 10.10.10.20 -u '' -p '' --shares

Έξοδος στο .20:

SMB  10.10.10.20  445  METASPLOITABLE   [+] METASPLOITABLE\: 
SMB 10.10.10.20 445 METASPLOITABLE [*] Enumerated shares
SMB 10.10.10.20 445 METASPLOITABLE Share Permissions Remark
SMB 10.10.10.20 445 METASPLOITABLE ----- ----------- ------
SMB 10.10.10.20 445 METASPLOITABLE print$ READ Printer Drivers
SMB 10.10.10.20 445 METASPLOITABLE tmp READ,WRITE oh noes!
SMB 10.10.10.20 445 METASPLOITABLE opt READ
SMB 10.10.10.20 445 METASPLOITABLE IPC$ NO ACCESS IPC Service

Κοινόχρηστος πόρος tmp σε READ,WRITE σε null session. Ένας επιτιθέμενος μπορεί να αποθέσει εκεί ένα φορτίο και να το εκτελέσει απομακρυσμένα (βλ. ενότητα 8).

Απαριθμήσιμοι χρήστες;

enum4linux-ng -U 10.10.10.20

Απόσπασμα:

users:
user: games
user: msfadmin
user: postgres
user: user
user: service

msfadmin — ο προεπιλεγμένος λογαριασμός διαχειριστή του VM. Σε πραγματικό στόχο, η λίστα χρηστών μέσω null session είναι μεγάλη διαρροή. Εδώ, τη σημειώνουμε και προχωράμε.


Βήμα 7 — Wireshark ενώ σαρώνουμε​

Ανοίξτε το Wireshark στο Kali, καταγράψτε στο eth0, και εκτελέστε μια ελαφριά σάρωση:

sudo nmap -sS -p 22,80,445 10.10.10.20

Στο Wireshark, φίλτρο:

tcp.flags.syn == 1 and tcp.flags.ack == 0 and ip.dst == 10.10.10.20

Βλέπετε:

  • Τρία SYN από την IP σας προς .20:22, .20:80, .20:445.
  • Τρία SYN/ACK σε απάντηση (ανοιχτές θύρες) → κάθε φορά, το Kali σας στέλνει πίσω ένα RST (χαρακτηριστικό της SYN scan).

Βλέπετε τώρα τι θα είχε δει ο στόχος στα δικά του logs — ίδια IP πηγής, ίδια ακολουθία, ίδιο παράθυρο TCP. Αυτό είναι το αποτύπωμά σας. Σε θορυβώδες pentest, το αναλαμβάνουμε· σε red team, το συγκαλύπτουμε (βλ. ενότητα 8).


Βήμα 8 — Scapy σε επίδειξη​

Μια σάρωση Xmas μιας μοναδικής θύρας, με το χέρι:

from scapy.all import IP, TCP, sr1

for port in [22, 445, 3389, 8080]:
reponse = sr1(
IP(dst="10.10.10.12") / TCP(dport=port, flags="FPU"),
timeout=2, verbose=0
)
if reponse is None:
print(f"{port}/tcp open|filtered (pas de réponse)")
elif reponse.haslayer(TCP):
flags = reponse[TCP].flags
if flags == 0x14: # RST+ACK
print(f"{port}/tcp closed (RST reçu)")
else:
print(f"{port}/tcp ? (flags={hex(int(flags))})")

Έξοδος:

22/tcp  open|filtered  (pas de réponse)
445/tcp open|filtered (pas de réponse)
3389/tcp open|filtered (pas de réponse)
8080/tcp closed (RST reçu)

Ερμηνεία: οι θύρες Windows επιστρέφουν RST σε συνηθισμένα πακέτα, αλλά τα Windows σε σάρωση Xmas δεν απαντούν — συμπεριφορά μη σύμφωνη με το RFC 793. Χρήσιμο για να διακρίνετε Windows από Linux, σε πολύ χαμηλό επίπεδο. Αυτό είναι το είδος του κόλπου όπου το Scapy ξεπερνά το nmap.


Βήμα 9 — Ενοποίηση​

Ανοίξτε το ~/labs/semaine-04/rapport/reconnaissance.md και συμπληρώστε:

# Αναφορά αναγνώρισης — Lab εβδομάδα 4  (2026-04-16)

## 1. Ζωντανοί κεντρικοί υπολογιστές
- 10.10.10.12 Windows Server 2008 R2 (Metasploitable 3)
- 10.10.10.20 Linux Ubuntu 8.04 (Metasploitable 2)

## 2. Στόχος 10.10.10.12 — Windows
- Ανοιχτές θύρες TCP: 22, 80, 135, 139, 445, 3306, 3389, 4848, 8080
- SMB: SMBv1, signing:False, ευάλωτο σε MS17-010 (επανέλεγχος εβδομάδα 1)
- Προτεραιότητα 1: επανεκμετάλλευση EternalBlue αν δεν έχει γίνει patch.

## 3. Στόχος 10.10.10.20 — Linux
- Ανοιχτές θύρες TCP: βλ. scans/20-ports.gnmap (24 ανοιχτές θύρες)
- Αξιοσημείωτες θύρες UDP: 53, 161 (SNMP public), 2049 (NFS)
- Εντοπισμένες ευάλωτες υπηρεσίες:
- ΚΡΙΣΙΜΟ: vsftpd 2.3.4 → backdoor CVE-2011-2523
- ΚΡΙΣΙΜΟ: Samba 3.0.20 → usermap script (CVE-2007-2447)
- ΚΡΙΣΙΜΟ: distccd → RCE (CVE-2004-2687)
- ΚΡΙΣΙΜΟ: ingreslock 1524 → backdoor απευθείας root shell
- ΥΨΗΛΟ : SNMP community "public" → διαρροή αποθέματος
- Null session SMB: ελήφθη λίστα χρηστών (msfadmin, user, service…)
- Κοινόχρηστος πόρος tmp εγγράψιμος σε null session.

## 4. Σχέδιο για τις εβδομάδες 5-8
1. Επιβεβαίωση καθεμιάς από τις 4 CVE της .20 μέσω στοχευμένων NSE.
2. Επιβεβαίωση MS17-010 στη .12.
3. Εξαγωγή του πλήρους αποθέματος SNMP της .20.
4. Προετοιμασία εκμετάλλευσης vsftpd (εβδομάδα 8, Metasploit).

## 5. Τεχνουργήματα
- scans/*.gnmap, scans/*.xml, scans/*.nmap (12 αρχεία)
- captures/wireshark-syn-scan.pcapng
- rapport/reconnaissance.md (αυτό το αρχείο)

Απολογισμός​

Σε 45 λεπτά καλά διεξαχθείσας σάρωσης, χωρίς να σπάσει ούτε μία υπηρεσία:

  • Χαρτογραφήσατε δύο μηχανήματα σε βάθος.
  • Απομονώσατε πέντε κρίσιμες ευπάθειες επιβεβαιωμένες ή πολύ πιθανές.
  • Έχετε ένα αποτύπωμα κίνησης στο Wireshark, που μπορείτε να δείξετε στον πελάτη («να τι θα έπρεπε να έχουν δει τα IDS σας»).
  • Έχετε ένα σχέδιο για τις εβδομάδες 5 έως 8.

Αυτό είναι το τέλος της αναγνώρισης. Από την ενότητα 5, μπαίνουμε στην εκμετάλλευση.