mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
176 lines
15 KiB
Markdown
176 lines
15 KiB
Markdown
# Σύνοψη Nmap (ESP)
|
||
|
||
<details>
|
||
|
||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||
|
||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||
|
||
</details>
|
||
```
|
||
nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
|
||
```
|
||
## Παράμετροι
|
||
|
||
### Διευθύνσεις IP για σάρωση
|
||
|
||
* **`<ip>,<net/mask>`:** Δηλώνει τις διευθύνσεις IP απευθείας
|
||
* **`-iL <ips_file>`:** Λίστα_IPs
|
||
* **`-iR <number>`**: Αριθμός τυχαίων IPs, μπορείτε να αποκλείσετε πιθανά IPs με `--exclude <Ips>` ή `--excludefile <file>`.
|
||
|
||
### Ανακάλυψη εξοπλισμού
|
||
|
||
Από προεπιλογή, το Nmap ξεκινά μια φάση ανακάλυψης που αποτελείται από: `-PA80 -PS443 -PE -PP`
|
||
|
||
* **`-sL`**: Δεν είναι επεμβατικό, καταγράφει τους στόχους κάνοντας αιτήσεις **DNS** για την ανάλυση ονομάτων. Είναι χρήσιμο για να γνωρίζουμε αν, για παράδειγμα, όλες οι διευθύνσεις IP www.prueba.es/24 είναι οι στόχοι μας.
|
||
* **`-Pn`**: **Χωρίς ping**. Αυτό είναι χρήσιμο αν γνωρίζετε ότι όλες είναι ενεργές (αλλιώς μπορείτε να χάσετε πολύ χρόνο, αλλά αυτή η επιλογή παράγει επίσης ψευδείς αρνητικά λέγοντας ότι δεν είναι ενεργές), αποτρέπει τη φάση ανακάλυψης.
|
||
* **`-sn`** : **Χωρίς σάρωση θυρών**. Αφού ολοκληρωθεί η φάση αναγνώρισης, δεν γίνεται σάρωση θυρών. Είναι σχετικά αόρατο και επιτρέπει μια μικρή σάρωση δικτύου. Με προνόμια, στέλνει ένα ACK (-PA) στη θύρα 80, ένα SYN(-PS) στη θύρα 443 και ένα αίτημα echo και ένα αίτημα Timestamp, χωρίς προνόμια ολοκληρώνει πάντα τις συνδέσεις. Αν ο στόχος είναι το δίκτυο, χρησιμοποιεί μόνο ARP(-PR). Αν χρησιμοποιηθεί με μια άλλη επιλογή, μόνο τα πακέτα της άλλης επιλογής απορρίπτονται.
|
||
* **`-PR`**: **Ping ARP**. Χρησιμοποιείται από προεπιλογή κατά την ανάλυση υπολογιστών στο δίκτυό μας, είναι πιο γρήγορο από τη χρήση pings. Αν δεν θέλετε να χρησιμοποιήσετε πακέτα ARP, χρησιμοποιήστε `--send-ip`.
|
||
* **`-PS <ports>`**: Στέλνει πακέτα SYN σε θύρες, αν απαντήσει με SYN/ACK είναι ανοιχτή (απαντά με RST για να μην τερματίσει τη σύνδεση), αν απαντήσει με RST είναι κλειστή και αν δεν απαντήσει είναι μη προσβάσιμη. Σε περίπτωση έλλειψης προνομίων, χρησιμοποιείται αυτόματα μια ολοκληρωμένη σύνδεση. Αν δεν δοθούν θύρες, το στέλνει στη θύρα 80.
|
||
* **`-PA <ports>`**: Όπως το προηγούμενο αλλά με ACK, η συνδυασμένη χρήση και των δύο δίνει καλύτερα αποτελέσματα.
|
||
* **`-PU <ports>`**: Ο στόχος είναι το αντίθετο, στέλνονται σε θύρες που αναμένεται να είναι κλειστές. Ορισμένα τείχη προστασίας ελέγχουν μόνο τις συνδέσεις TCP. Αν είναι κλειστή, απαντά με port unreachable, αν απαντά με άλλο icmp ή δεν απαντά, θεωρείται ότι είναι μη προσβάσιμη.
|
||
* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να διαπιστωθεί αν ο στόχος είναι ενεργός.
|
||
* **`-PY<ports>`**: Αποστέλλει προβολές SCTP INIT στη θύρα 80 από προεπιλογή, μπορεί να απαντήσε
|
||
**--osscan-guess** Όταν η ανίχνευση του λειτουργικού συστήματος δεν είναι τέλεια, αυτή η επιλογή τον αναγκάζει να προσπαθήσει περισσότερο.
|
||
|
||
**Σενάρια**
|
||
|
||
\--script _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_\[,...]
|
||
|
||
Για να χρησιμοποιήσετε τα προεπιλεγμένα, αρκεί να χρησιμοποιήσετε -sC ή --script=default
|
||
|
||
Οι διαθέσιμες κατηγορίες είναι: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, και vuln
|
||
|
||
* **Auth:** εκτελεί όλα τα διαθέσιμα σενάρια για πιστοποίηση
|
||
* **Default:** εκτελεί τα προεπιλεγμένα βασικά σενάρια του εργαλείου
|
||
* **Discovery:** ανακτά πληροφορίες για τον στόχο ή το θύμα
|
||
* **External:** σενάριο για τη χρήση εξωτερικών πόρων
|
||
* **Intrusive:** χρησιμοποιεί σενάρια που θεωρούνται επιθετικά για το θύμα ή τον στόχο
|
||
* **Malware:** ελέγχει αν υπάρχουν ανοιχτές συνδέσεις από κακόβουλο κώδικα ή πίσω πόρτες
|
||
* **Safe:** εκτελεί μη επιθετικά σενάρια
|
||
* **Vuln:** ανακαλύπτει τις πιο γνωστές ευπάθειες
|
||
* **All:** εκτελεί όλα τα διαθέσιμα σενάρια NSE
|
||
|
||
Για την αναζήτηση σεναρίων:
|
||
|
||
**nmap --script-help="http-\*" -> Αυτά που ξεκινούν με http-**
|
||
|
||
**nmap --script-help="not intrusive" -> Όλα εκτός από αυτά**
|
||
|
||
**nmap --script-help="default or safe" -> Αυτά που είναι στο ένα ή στο άλλο ή και στα δύο**
|
||
|
||
**nmap --script-help="default and safe" --> Αυτά που είναι και στα δύο**
|
||
|
||
**nmap --script-help="(default or safe or intrusive) and not http-\*"**
|
||
|
||
\--script-args _\<n1>_=_\<v1>_,_\<n2>_={_\<n3>_=_\<v3>_},_\<n4>_={_\<v4>_,_\<v5>_}
|
||
|
||
\--script-args-file _\<όνομα αρχείου>_
|
||
|
||
\--script-help _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_|all\[,...]
|
||
|
||
\--script-trace ---> Παρέχει πληροφορίες για την πρόοδο του σεναρίου
|
||
|
||
\--script-updatedb
|
||
|
||
Για να χρησιμοποιήσετε ένα σενάριο, απλά πρέπει να πληκτρολογήσετε: nmap --script Όνομα\_Σεναρίου στόχος --> Με την προσθήκη του σεναρίου, θα εκτελεστεί τόσο το σενάριο όσο και ο σαρωτής, οπότε μπορούν επίσης να προστεθούν επιλογές του σαρωτή, μπορούμε να προσθέσουμε το "safe=1" για να εκτελεστούν μόνο τα ασφαλή.
|
||
|
||
Έλεγχος χρόνου
|
||
|
||
Το Nmap μπορεί να τροποποιήσει τον χρόνο σε δευτερόλεπτα, λεπτά, ms: --host-timeout arguments 900000ms, 900, 900s, and 15m all do the same thing.
|
||
|
||
Το Nmap διαιρεί τον συνολικό αριθμό των στόχων που θα σαρώσει σε ομάδες και αναλύει αυτές τις ομάδες σε μπλοκ, έτσι ώστε μέχρι να ολοκληρωθεί η ανάλυση όλων των ομάδων, δεν προχωρά στην επόμενη ομάδα (και ο χρήστης δεν λαμβάνει καμία ενημέρωση μέχρι να ολοκληρωθεί η ανάλυση της ομάδας). Με αυτόν τον τρόπο, είναι πιο αποδοτικό για το Nmap να χρησιμοποιεί μεγάλες ομάδες. Από προεπιλογή, χρησιμοποιεί 256 για την κλάση C.
|
||
|
||
Μπορείτε να το αλλάξετε με το\*\*--min-hostgroup\*\* _**\<αριθμός στόχων>**_**;** **--max-hostgroup** _**\<αριθμός στόχων>**_ (Προσαρμογή των μεγεθών παράλληλης σάρωσης ομάδας)
|
||
|
||
Μπο
|
||
**--proxies** _**\<Λίστα με διευθύνσεις URL των proxy χωρισμένες με κόμμα>**_ Για να χρησιμοποιήσετε proxy, μερικές φορές ένα proxy δεν διατηρεί τόσες ανοιχτές συνδέσεις όσες θέλει το nmap, γι 'αυτό θα πρέπει να τροποποιήσετε την παραλληλία: --max-parallelism
|
||
|
||
**-sP** Για να ανακαλύψετε τους οικοδεσπότες στο δίκτυο στο οποίο βρίσκεστε μέσω ARP
|
||
|
||
Πολλοί διαχειριστές δημιουργούν έναν κανόνα στο τείχος προστασίας που επιτρέπει την πέραση όλων των πακέτων που προέρχονται από ένα συγκεκριμένο θύρα (όπως οι θύρες 20, 53 και 67), μπορούμε να πούμε στο nmap να στείλει τα πακέτα μας από αυτές τις θύρες: **nmap --source-port 53 Ip**
|
||
|
||
**Έξοδοι**
|
||
|
||
**-oN αρχείο** Κανονική έξοδος
|
||
|
||
**-oX αρχείο** Έξοδος XML
|
||
|
||
**-oS αρχείο** Έξοδος για script kidies
|
||
|
||
**-oG αρχείο** Έξοδος που μπορεί να αναζητηθεί με grep
|
||
|
||
**-oA αρχείο** Όλα εκτός από -oS
|
||
|
||
**-v επίπεδο** Επίπεδο λεπτομερειών
|
||
|
||
**-d επίπεδο** Επίπεδο αποσφαλμάτωσης
|
||
|
||
**--reason** Αιτία του οικοδεσπότη και κατάσταση
|
||
|
||
**--stats-every χρόνος** Κάθε χρόνο μας λέει πώς πάει
|
||
|
||
**--packet-trace** Για να δούμε ποια πακέτα αποστέλλονται, μπορούν να καθοριστούν φίλτρα όπως: --version-trace ή --script-trace
|
||
|
||
**--open** εμφανίζει τα ανοιχτά, ανοιχτά|φιλτραρισμένα και τα μη φιλτραρισμένα
|
||
|
||
**--resume αρχείο** Παράγει ένα σύνοψη
|
||
|
||
**Διάφορα**
|
||
|
||
**-6** Επιτρέπει το ipv6
|
||
|
||
**-A** Είναι το ίδιο με -O -sV -sC --traceroute
|
||
|
||
**Χρόνος εκτέλεσης**
|
||
|
||
Κατά τη διάρκεια της εκτέλεσης του nmap μπορούμε να αλλάξουμε τις επιλογές:
|
||
|
||
v / V Αύξηση / μείωση του επιπέδου λεπτομερειών
|
||
|
||
d / D Αύξηση / μείωση του επιπέδου αποσφαλμάτωσης
|
||
|
||
p / P Ενεργοποίηση / απενεργοποίηση της ανίχνευσης πακέτων
|
||
|
||
? Εκτύπωση οθόνης βοήθειας αλληλεπίδρασης κατά τη διάρκεια της εκτέλεσης
|
||
|
||
**Vulscan**
|
||
|
||
Ένα script του nmap που ελέγχει τις εκδόσεις των υπηρεσιών που ανιχνεύονται σε μια offline βάση δεδομένων (που λαμβάνει από πολύ σημαντικές άλλες) και επιστρέφει τυχόν ευπάθειες
|
||
|
||
Οι βάσεις δεδομένων που χρησιμοποιεί είναι:
|
||
|
||
1. Scipvuldb.csv | [http://www.scip.ch/en/?vuldb](http://www.scip.ch/en/?vuldb)
|
||
2. Cve.csv | [http://cve.mitre.org](http://cve.mitre.org/)
|
||
3. Osvdb.csv | [http://www.osvdb.org](http://www.osvdb.org/)
|
||
4. Securityfocus.csv | [http://www.securityfocus.com/bid/](http://www.securityfocus.com/bid/)
|
||
5. Securitytracker.csv | [http://www.securitytracker.com](http://www.securitytracker.com/)
|
||
6. Xforce.csv | [http://xforce.iss.net](http://xforce.iss.net/)
|
||
7. Exploitdb.csv | [http://www.exploit-db.com](http://www.exploit-db.com/)
|
||
8. Openvas.csv | [http://www.openvas.org](http://www.openvas.org/)
|
||
|
||
Για να το κατεβάσετε και να το εγκαταστήσετε στον φάκελο του Nmap:
|
||
|
||
wget http://www.computec.ch/projekte/vulscan/download/nmap\_nse\_vulscan-2.0.tar.gz && tar -czvf nmap\_nse\_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/
|
||
|
||
Θα πρέπει επίσης να κατεβάσετε τα πακέτα των βάσεων δεδομένων και να τα προσθέσετε στο /usr/share/nmap/scripts/vulscan/
|
||
|
||
Χρήση:
|
||
|
||
Για να χρησιμοποιήσετε όλα: sudo nmap -sV --script=vulscan HOST\_TO\_SCAN
|
||
|
||
Για να χρησιμοποιήσετε μια συγκεκριμένη βάση δεδομένων: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST\_TO\_SCAN
|
||
|
||
## Επιτάχυνση της ανάλυσης υπηρεσιών του Nmap x16
|
||
|
||
Σύμφωνα με [**αυτήν την ανάρτηση**](https://joshua.hu/nmap-speedup-service-scanning-16x) μπορείτε να επιταχύνετε την ανάλυση υπηρεσιών του nmap τροποποιώντας όλες τις τιμές **`totalwaitms`** στο **300** και την τιμή **`tcpwrappedms`** σε **200** στο αρχείο **`/usr/share/nmap/nmap-service-probes`**.
|
||
|
||
Επιπλέον, οι αιτήσεις που δεν έχουν καθορισμένη τιμή **`servicewaitms`** χρησιμοποιούν μια προεπιλεγμένη τιμή **`5000`**. Επομένως, μπορούμε είτε να προσθέσουμε τιμές σε κάθε μια από τις αιτήσεις, είτε να **μεταγλωττίσουμε το nmap** μόνοι μας και να αλλάξουμε την προεπιλεγμένη τιμή στο αρχείο [**service\_scan.h**](https://github.com/nmap/nmap/blob/master/service\_scan.h#L79).
|
||
|
||
Εάν δεν θέλετε να α
|