المشاركات : 59
المواضيع : 5
الإنتساب : Jan 2019
الإعجاب المعطى : 1002
الإعجاب المحصل : 30
فينك يا الهندسة العكسية طول هذه السنين؟
والله حاسس وكاني قفل!
اخي حاليا لا استخدم اي توزيعه!
اذا كم قلت!
مفتاح التشفير = 3E4F5612EF64305955D543B0AE350880
ومفتاح الـiv = يـ 8049E91025A6B54876C3B4868090D3FC
طيب السؤال كيف اتوصلت لهاذا المفتاحين؟
جربت البرنامج الرائع keygener assistant لكن لم افهم طريقة الغاء تشفير الملف بعد؟
وجربت ايضا بعض المواقع مستخدما كلا المفتاحين لكن حتى الان لم استطع الغاء تشفير الملف بعد!
اسف على الاسئلة!
أعضاء أعجبوا بهذه المشاركة :
المشاركات : 26
المواضيع : 3
الإنتساب : Nov 2018
السمعة :
5
الإعجاب المعطى : 19
الإعجاب المحصل : 86
18-02-2019, 04:35 PM
(آخر تعديل لهذه المشاركة : 18-02-2019, 04:52 PM بواسطة GamingMaster.)
باختصار شديد بعد تحميل الfirmware استخدم binwalk لاستخراج الملفات من ملف الbin
ستجد ملف يحتوي على YAF Filesystem او YAFFS.
قم باستخدام سكريبت yaffshiv لاستخراج الملفات :
yaffshiv -a -f input.yaffs -d yaffs_extracted
بعدها ستجد نظام ملفات شبيه بانظمة لينكس في مجلد yaffs_extracted .
بعد البحث وجدت دوال export و import لملف الconfig موجودة في مكتبة :
/lib/libcfmapi.so
ستجد دوال مثل ExtExportEncryptedPartCfgFile وعند تحليلها بida ستجد مكان الkey ونظام التشفير.
للمساعدة .. استخدم grep لتجد بسهولة اين تبدأ البحث عن الملفات التنفيذية لتحليلها :
بعد تحليل apt/bin/web ستجد انه يستدعي دوال مثل ExtExportEncryptedPartCfgFile .. قم باستخدام grep مرة اخرى :
المشاركات : 34
المواضيع : 0
الإنتساب : Oct 2018
السمعة :
0
الإعجاب المعطى : 41
الإعجاب المحصل : 70
محاولة بالباثيون:
from Crypto.Cipher import AES
KEYaesCbc128 = '3E4F5612EF64305955D543B0AE350880'.decode('hex')
IV = '8049E91025A6B54876C3B4868090D3FC'.decode('hex')
AESDecrypt = AES.new(KEYaesCbc128, AES.MODE_CBC, IV)
PlaintTextFile = open("configfile.conf", "rb")
CipherText = PlaintTextFile.read()
PlaintTextFile.close
PlaintText = AESDecrypt.decrypt(CipherText)
PlaintTextFile = open("decrypted.xml", "w")
PlaintTextFile.write(PlaintText)
PlaintTextFile.close
gone
المشاركات : 59
المواضيع : 5
الإنتساب : Jan 2019
الإعجاب المعطى : 1002
الإعجاب المحصل : 30
صدقوني كلمة شكر لا تكفي ابذا!
مالنا غير الدعاء!
جزاكم خير على كل شيء حتى ولو كان حرفا!
وبارك الله فيكم وايانا وزادكم وايانا من علمه!
بتوفيق للجميع.
أعضاء أعجبوا بهذه المشاركة :
المشاركات : 85
المواضيع : 10
الإنتساب : Nov 2018
السمعة :
0
الإعجاب المعطى : 925
الإعجاب المحصل : 134
11-03-2019, 11:55 AM
(آخر تعديل لهذه المشاركة : 11-03-2019, 12:50 PM بواسطة xdvb_dz.)
(17-02-2019, 02:04 AM)GamingMaster كتب : السلام عليكم
هذا ملفك بعد فك التشفير :
https://paste.ofcode.org/gU4Gkv96Gjw6sjwgDkDHVF
بارك الله فيك اخي الكريم على فك تشفير نص
اذا ممكن شرح فلاشي
.
للاسف رابط ليس شغال
.
المشاركات : 454
المواضيع : 33
الإنتساب : Oct 2018
السمعة :
41
الإعجاب المعطى : 752
الإعجاب المحصل : 1058
(11-03-2019, 11:55 AM)xdvb_dz كتب : اذا ممكن شرح فلاشي
اخي العزيز xdvb_dz
ممكن ترسلي رابط الfirmware تبعك لكي استخرج الملفات واحاول الاجابه عن بعض التساؤلات.
............
للاسف رابط ليس شغال
لاحظت ان الاخ العزيز GamingMaster استخدم مواقع مؤقتة لذلك لا الصور ولا ملف ما بعد التشفير يعملان
سبحان الله وبحمده، سبحان الله العظيم
المشاركات : 26
المواضيع : 3
الإنتساب : Nov 2018
السمعة :
5
الإعجاب المعطى : 19
الإعجاب المحصل : 86
https://www.huaweiflashfiles.com/2016/02/huawei-b593s-22-firmware.html
المشاركات : 454
المواضيع : 33
الإنتساب : Oct 2018
السمعة :
41
الإعجاب المعطى : 752
الإعجاب المحصل : 1058
18-03-2019, 09:06 PM
(آخر تعديل لهذه المشاركة : 19-03-2019, 07:41 PM بواسطة Gu-sung18.)
داخل الارشيف ستجد ملف بامتداد "BIN." هذا هو الملف المطلوب استخرجه وقم بالعمل عليه.
سنقوم اولاً بفحص و استخراج الملف عن طريق اداة binwalk
:~/Desktop/RE_test$ binwalk -e B710C0UPDATE_V200R001B180D15SP01C00.BIN
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
192 0xC0 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
678 0x2A6 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
33230 0x81CE gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
708910 0xAD12E gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
9310350 0x8E108E gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
9342242 0x8E8D22 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
13070352 0xC77010 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
35424962 0x21C8AC2 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
44533426 0x2A786B2 gzip compressed data, from NTFS filesystem (NT), last modified: 1970-01-01 00:00:00 (null date)
سيتم استخراج المحتويات الى مجلد باسم "_B710C0UPDATE_V200R001B180D15SP01C00.BIN.extracted"
داخل المجلد سنجد هذه الملفات، انا اخترت ترتيب الملفات حسب الحجم واخترت اكبرها حجما بافتراض انه سيحوي لنظام الملفات،
كما يمكنكم فحص كل ملف على حدى لكي تتأكدوا
LX:~/Desktop/RE_test/_B710C0UPDATE_V200R001B180D15SP01C00.BIN.extracted$ binwalk C77010
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 YAFFS filesystem, little endian
98688 0x18180 XML document, version: "1.0"
98738 0x181B2 Copyright string: "Copyright 2006, Google Inc."
111024 0x1B1B0 PEM RSA private key
115436 0x1C2EC Unix path: /var/dhcp/dhcps/leases
135996 0x2133C Unix path: /var/dhcp/dhcps/leasesF
148669 0x244BD Unix path: /usr/local/share/mt-daapd/admin-root.
148719 0x244EF Unix path: /usr/share/mt-daapd/admin-root
149219 0x246E3 Unix path: /var/cache/mt-daapd
151243 0x24ECB Unix path: /var/log/mt-daapd.log
172704 0x2A2A0 XML document, version: "1.0"
180928 0x2C2C0 XML document, version: "1.0"
189152 0x2E2E0 XML document, version: "1.0"
197376 0x30300 XML document, version: "1.0"
209712 0x33330 XML document, version: "1.0"
267280 0x41410 XML document, version: "1.0"
275504 0x43430 XML document, version: "1.0"
283728 0x45450 XML document, version: "1.0"
291952 0x47470 XML document, version: "1.0"
308400 0x4B4B0 XML document, version: "1.0"
320736 0x4E4E0 XML document, version: "1.0"
357744 0x57570 PEM RSA private key
370080 0x5A5A0 gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
407088 0x63630 PEM RSA private key
415878 0x65886 Unix path: /dev/socket/dbus</listen>
423536 0x67670 PEM RSA private key
457505 0x6FB21 Unix path: /dev/block/mtdblock10 /data
464656 0x71710 PEM certificate
505776 0x7B7B0 Zip archive data, at least v2.0 to extract, compressed size: 943, uncompressed size: 1675, name: testkey.x509.pem
506879 0x7BBFF End of Zip archive, footer length: 22
559232 0x88880 PEM certificate
567456 0x8A8A0 PEM certificate
583904 0x8E8E0 PEM certificate
585814 0x8F056 PEM certificate
604764 0x93A5C Unix path: /var/dhcp/dhcps/config
690816 0xA8A80 Executable script, shebang: "/bin/sh"
707264 0xACAC0 JPEG image data, JFIF standard 1.02
707294 0xACADE TIFF image data, big-endian, offset of first image directory: 8
707596 0xACC0C JPEG image data, JFIF standard 1.02
710582 0xAD7B6 JPEG image data, JFIF standard 1.02
716918 0xAF076 Copyright string: "Copyright (c) 1998 Hewlett-Packard Company"
731936 0xB2B20 JPEG image data, JFIF standard 1.02
731966 0xB2B3E TIFF image data, big-endian, offset of first image directory: 8
732268 0xB2C6C JPEG image data, JFIF standard 1.02
738606 0xB452E JPEG image data, JFIF standard 1.02
747746 0xB68E2 Copyright string: "Copyright (c) 1998 Hewlett-Packard Company"
773056 0xBCBC0 PNG image, 48 x 48, 8-bit/color RGBA, non-interlaced
773141 0xBCC15 Zlib compressed data, best compression
789504 0xC0C00 PNG image, 120 x 120, 8-bit/color RGBA, non-interlaced
789589 0xC0C55 Zlib compressed data, best compression
826812 0xC9DBC Unix path: /var/dns/resolv.conf
834736 0xCBCB0 XML document, version: "1.0"
879968 0xD6D60 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
1354768 0x14AC10 Unix path: /usr/share/locale
1367644 0x14DE5C Unix path: /usr/lib/locale
1370176 0x14E840 Unix path: /usr/lib/locale/locale-archive
1429248 0x15CF00 Unix path: /usr/share/zoneinfo
1429340 0x15CF5C ELF, 32-bit LSB no machine, version 1 (SYSV)
1492564 0x16C654 Unix path: /home/zqc/src/43236/173/src/include
1497618 0x16DA12 Unix path: /home/zqc/src/43236/173/src/shared/bcmwifi/src
1498795 0x16DEAB Unix path: /home/zqc/src/43236/custom/huawei/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/include
1506752 0x16FDC0 Unix path: /home/zqc/src/43236/173/src/router/wlconf
1636576 0x18F8E0 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
1653024 0x193920 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
1899136 0x1CFA80 SHA256 hash constants, little endian
2329844 0x238CF4 Unix path: /home/zqc/src/43236/173/src/../src/wps/brcm_apps/linux/wps_linux_main.c
2333412 0x239AE4 Base64 standard index table
2347672 0x23D298 SHA256 hash constants, little endian
2348184 0x23D498 Unix path: /usr/share/locale
2361068 0x2406EC Unix path: /usr/lib/locale
2363584 0x2410C0 Unix path: /usr/lib/locale/locale-archive
2422848 0x24F840 Unix path: /usr/share/zoneinfo
2422940 0x24F89C ELF, 32-bit LSB no machine, version 1 (SYSV)
2439308 0x25388C Base64 standard index table
2450960 0x256610 XML document, version: "1.0"
2452684 0x256CCC XML document, version: "1.0"
2542758 0x26CCA6 Unix path: /home/zqc/src/43236/custom/huawei/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/include
2544553 0x26D3A9 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2546150 0x26D9E6 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2547364 0x26DEA4 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2549511 0x26E707 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2551458 0x26EEA2 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2552290 0x26F1E2 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2553404 0x26F63C Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/upnp
2556052 0x270094 Unix path: /home/zqc/src/43236/6.30.173/src/router/libupnp/linux
2565409 0x272521 Unix path: /home/zqc/src/43236/173/src/router/nvram
2783824 0x2A7A50 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
2785289 0x2A8009 Unix path: /opt/4.5.1/lib
2796160 0x2AAA80 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
2808496 0x2ADAB0 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
2824612 0x2B19A4 Unix path: /var/voice/callstatus
2837280 0x2B4B20 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
2860536 0x2BA5F8 Unix path: /var/dhcp/dhcps/ipcheckdhcps
2860960 0x2BA7A0 Neighborly text, "neighborsghbors_new"
2861020 0x2BA7DC Neighborly text, "neighbors_newhcps/ipcheckdata"
2861164 0x2BA86C Unix path: /var/dhcp/dhcps/ipcheck.conf
2861260 0x2BA8CC Unix path: /var/dhcp/dhcps/ipcheckpid
2862024 0x2BABC8 Unix path: /var/dhcp/dhcps/leasesF
2874288 0x2BDBB0 ELF, 32-bit LSB shared object, ARM, version 1 (SYSV)
2875879 0x2BE1E7 mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit
3062130 0x2EB972 Unix path: /usr/share/cups
3063077 0x2EBD25 Base64 standard index table
3085328 0x2F1410 Unix path: /var/run/cups/cups.sock
3104560 0x2F5F30 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
3116896 0x2F8F60 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
3199032 0x30D038 XML document, version: "1.0"
3424422 0x3440A6 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3427365 0x344C25 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3428390 0x345026 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3430289 0x345791 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3431121 0x345AD1 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3431956 0x345E14 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include
3434846 0x34695E Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3445306 0x34923A Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3447928 0x349C78 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3453581 0x34B28D Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3455858 0x34BB72 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3457733 0x34C2C5 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3461219 0x34D063 Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3467774 0x34E9FE Unix path: /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/include
3655568 0x37C790 ELF, 32-bit LSB executable, ARM, version 1 (SYSV)
4140156 0x3F2C7C Unix path: /home/zqc/src/43236/6.30.173/src/router/nas/wpa.c
4140584 0x3F2E28 Unix path: /home/zqc/src/43236/6.30.173/src/router/nas/nas.c
4141368 0x3F3138 Unix path: /home/zqc/src/43236/6.30.173/src/router/nas/nas_wksp.c
4141792 0x3F32E0 Unix path: /home/zqc/src/43236/6.30.173/src/router/nas/nas_wksp_radius.c
4142904 0x3F3738 CRC32 polynomial table, little endian
4156812 0x3F6D8C Unix path: /usr/share/locale
4169452 0x3F9EEC Unix path: /usr/lib/gconv/gconv-modules.cache
4170092 0x3FA16C Unix path: /usr/lib/locale
4172608 0x3FAB40 Unix path: /usr/lib/locale/locale-archive
^Z
[1]+ Stopped binwalk C77010
وهكذا تأكدنا ان هذا الملف يحوي على نظام الملفات للروتر، ونظام الملفات هذا من نوع الـ YAFFS ، كما يوجد العديد من الدلائل بان الملف يحوي على نظام الملفات منها الاسماء الكثيرة للمكتبات والمسارات.
لنقم الان باستخراج الملف عن طريق binwalk
Desktop/RE_test/_B710C0UPDATE_V200R001B180D15SP01C00.BIN.extracted$ binwalk -e C77010
لاحظت انه يمكنكم استخراج ملفات YAFFS من دون اللجوء الى اداة yaffshiv ولكن يجب ان تكون هذه الاداة منصبة على نظامكم لكي تستخدم من قبل binwalk ، لتنصيبها اكتبوا التالي
git clone https://github.com/devttys0/yaffshiv
cd yaffshiv && sudo python setup.py install
تم استخراج الملفات الى مجلد "yaffs-root"
WOW عدد المكتبات هائل (بالمناسبة ليس لدي IDA Pro ولا الوقت لكي انظر للـ disassembly لكل مكتبه) لذلك ساستخدم الامر grep للبحث داخل كل هذه المكتبات عن المكتبة المسؤله عن الـconfg وبما انه يمكنك
استخراج او توريد ملف الـconfg أختاريت كلمه "export" لعلها تعطيني دليل وهذه كانت النتيجة
grep -i -r "export"
Binary file libatchannel_modematcommand.so matches
Binary file libssl.so.0.9.8 matches
Binary file libssl.so.0.9.7 matches
Binary file libssl_openssl.so matches
Binary file libcfmapi.so matches
خمس مكتبات تحوي هذه الكلمه داخلها وانا لا اريد تضييع وقتي بفحص كل واحدة على حدى لنجرب مره اخرى مع كلمه ادق ( مثل "exportconf" و"exportconfg" "config" و "cfg" اول ثلاثة النتيجة صفر ولكن الكلمة الرابعه اتت بالكثير من النتائج، لا عجب فكلمة "cfg" اختصار تقني لـ confg وتستخدم بكثرة) وهكذا قررت دمج "export" و "cfg" النتيجة "exportcfg"
Desktop/RE_test/...../yaffs-root/atp/lib$ grep -i -r "exportcfg"
Binary file libcfmapi.so matches
تطابق في "libcfmapi.so" فقط، هذا جيد، بما انه ليس لدي IDA Pro [ ساحدث هذا الرد مع نتائج من IDA Pro عندما اجد الوقت ] وهكذا وجدنا ضالتنا، حاليا سابحث عن دالة " ExtExportEncryptedPartCfgFile " التي تكلم عنها الاخ GamingMaster
yaffs-root/atp/lib$ grep -i -r "ExtExportEncryptedPartCfgFile"
Binary file libcfmapi.so matches
وجد تطابق مجدداً. وعند تحليلها بـ IDA Pro سنجد مكان الـ key ونظام التشفير.
..................
فك التشفير بعد ايجاد المفتاح ونظام التشفير
كان الامر ممتعاً شكرا لكم لاعطائي فرصة بأن اكون عضواً في هذا المجتمع المميز.
سبحان الله وبحمده، سبحان الله العظيم
|