39 lines
3.0 KiB
Markdown

{{#include ../banners/hacktricks-training.md}}
# Basic Information
**Trivial File Transfer Protocol (TFTP)** एक सरल प्रोटोकॉल है जो **UDP पोर्ट 69** पर उपयोग किया जाता है, जो बिना प्रमाणीकरण के फ़ाइल स्थानांतरण की अनुमति देता है। **RFC 1350** में उजागर, इसकी सरलता का मतलब है कि इसमें प्रमुख सुरक्षा सुविधाओं की कमी है, जिससे इसका सार्वजनिक इंटरनेट पर सीमित उपयोग होता है। हालाँकि, **TFTP** बड़े आंतरिक नेटवर्क में **कॉन्फ़िगरेशन फ़ाइलों** और **ROM छवियों** को उपकरणों जैसे **VoIP हैंडसेट्स** में वितरित करने के लिए व्यापक रूप से उपयोग किया जाता है, जो इन विशिष्ट परिदृश्यों में इसकी दक्षता के कारण है।
**TODO**: Bittorrent-tracker के बारे में जानकारी प्रदान करें (Shodan इस पोर्ट को इस नाम से पहचानता है)। यदि आपके पास इसके बारे में अधिक जानकारी है तो हमें बताएं, उदाहरण के लिए [**HackTricks टेलीग्राम समूह**](https://t.me/peass) में (या [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) में एक गिटहब मुद्दे में)।
**डिफ़ॉल्ट पोर्ट:** 69/UDP
```
PORT STATE SERVICE REASON
69/udp open tftp script-set
```
# Enumeration
TFTP डायरेक्टरी लिस्टिंग प्रदान नहीं करता है इसलिए `nmap` से स्क्रिप्ट `tftp-enum` डिफ़ॉल्ट पथों को ब्रूट-फोर्स करने की कोशिश करेगा।
```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`
{{#include ../banners/hacktricks-training.md}}