46 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{#include ../banners/hacktricks-training.md}}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
# Βασικές Πληροφορίες
**Trivial File Transfer Protocol (TFTP)** είναι ένα απλό πρωτόκολλο που χρησιμοποιείται στο **UDP port 69** και επιτρέπει τη μεταφορά αρχείων χωρίς την ανάγκη αυθεντικοποίησης. Αναφέρεται στο **RFC 1350**, η απλότητά του σημαίνει ότι λείπουν βασικά χαρακτηριστικά ασφαλείας, οδηγώντας σε περιορισμένη χρήση στο δημόσιο Διαδίκτυο. Ωστόσο, το **TFTP** χρησιμοποιείται εκτενώς σε μεγάλες εσωτερικές δίκτυα για τη διανομή **αρχείων ρυθμίσεων** και **εικόνων ROM** σε συσκευές όπως **VoIP handsets**, χάρη στην αποδοτικότητά του σε αυτές τις συγκεκριμένες περιπτώσεις.
**TODO**: Παρέχετε πληροφορίες σχετικά με το τι είναι ένας Bittorrent-tracker (το Shodan αναγνωρίζει αυτή τη θύρα με αυτό το όνομα). Αν έχετε περισσότερες πληροφορίες σχετικά με αυτό, ενημερώστε μας για παράδειγμα στην [**ομάδα HackTricks στο Telegram**](https://t.me/peass) (ή σε ένα θέμα στο GitHub στο [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)).
**Προεπιλεγμένη Θύρα:** 69/UDP
```
PORT STATE SERVICE REASON
69/udp open tftp script-set
```
# Αριθμητική
Το TFTP δεν παρέχει λίστα καταλόγων, οπότε το σενάριο `tftp-enum` από το `nmap` θα προσπαθήσει να κάνει brute-force στους προεπιλεγμένους καταλόγους.
```bash
nmap -n -Pn -sU -p69 -sV --script tftp-enum <IP>
```
## Λήψη/Ανέβασμα
Μπορείτε να χρησιμοποιήσετε το Metasploit ή την Python για να ελέγξετε αν μπορείτε να κατεβάσετε/ανεβάσετε αρχεία:
```bash
msf5> auxiliary/admin/tftp/tftp_transfer_util
```
```bash
import tftpy
client = tftpy.TftpClient(<ip>, <port>)
client.download("filename in server", "/tmp/filename", timeout=5)
client.upload("filename to upload", "/local/path/file", timeout=5)
```
## Shodan
- `port:69`
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{{#include ../banners/hacktricks-training.md}}