Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
uniFuzzer — Unicorn और LibFuzzer पर आधारित बंद-स्रोत बाइनरी के लिए एक फ़ज़िंग टूल | Kitploit
उपकरण/GitHubGitHub/pagalaxylab/unifuzzer
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षाफज़िंगबाइनरी विश्लेषण
GitHubpagalaxylab/unifuzzer

uniFuzzer

Unicorn और LibFuzzer पर आधारित बंद-स्रोत बाइनरी के लिए एक फ़ज़िंग टूल

रिपॉजिटरी देखें
3465757 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

uniFuzzer

uniFuzzer एक फज़िंग टूल है जो क्लोज्ड-सोर्स बाइनरीज के लिए Unicorn और LibFuzzer पर आधारित है। वर्तमान में यह ARM/MIPS पर 32-बिट LSB ELF फ़ाइलों को फज़ करने का समर्थन करता है, जो आमतौर पर IoT उपकरणों में देखी जाती हैं।

中文介绍

Features

  • बहुत कम hack और बनाना आसान
  • किसी भी निर्दिष्ट फ़ंक्शन या कोड स्निपेट को लक्षित कर सकता है
  • काफी गति के साथ कवरेज-निर्देशित फज़िंग
  • निर्भरताएँ स्वचालित रूप से हल और लोड हो जाती हैं
  • PRELOAD द्वारा लाइब्रेरी फ़ंक्शन ओवरराइड

Build

  1. लक्ष्य बाइनरी को रिवर्स करें और फज़िंग के लिए दिलचस्प फ़ंक्शन खोजें।
  2. callback निर्देशिका में एक .c फ़ाइल बनाएं, जिसमें निम्नलिखित कॉलबैक होने चाहिए:
  • void onLibLoad(const char *libName, void *baseAddr, void *ucBaseAddr): यह हर बार कॉल किया जाता है जब Unicorn में एक आश्रित लाइब्रेरी लोड होती है।
  • int uniFuzzerInit(uc_engine *uc): यह सभी बाइनरी के Unicorn में लोड होने के तुरंत बाद कॉल किया जाता है। यहाँ स्टैक/हीप/रजिस्टर सेटअप किए जा सकते हैं।
  • int uniFuzzerBeforeExec(uc_engine *uc, const uint8_t *data, size_t len): यह फज़िंग निष्पादन के प्रत्येक दौर से पहले कॉल किया जाता है।
  • int uniFuzzerAfterExec(uc_engine *uc): यह फज़िंग निष्पादन के प्रत्येक दौर के बाद कॉल किया जाता है।
  1. make चलाएँ और uf नामक फज़िंग टूल प्राप्त करें।

Run

uniFuzzer निम्नलिखित पर्यावरण चर को पैरामीटर के रूप में उपयोग करता है:

  • UF_TARGET: लक्ष्य ELF फ़ाइल का पथ
  • UF_PRELOAD: प्रीलोड लाइब्रेरी का पथ। कृपया सुनिश्चित करें कि लाइब्रेरी का आर्किटेक्चर लक्ष्य के समान है।
  • UF_LIBPATH: वे पथ जिनमें आश्रित लाइब्रेरी स्थित हैं। कई पथों को अलग करने के लिए : का उपयोग करें।

और फज़िंग को निम्नलिखित कमांड का उपयोग करके शुरू किया जा सकता है:

root@kitploit:~
UF_TARGET=<target> [UF_PRELOAD=<preload>] UF_LIBPATH=<libPath> ./uf

Demo

बुनियादी उपयोग के लिए एक डेमो आता है। डेमो में निम्नलिखित फ़ाइलें हैं:

  • demo-vuln.c: यह फज़िंग का लक्ष्य है। इसमें vuln() नामक एक सरल फ़ंक्शन है जो स्टैक/हीप ओवरफ़्लो के लिए संवेदनशील है।
  • demo-libcpreload.c: यह PRELOAD हुकिंग के लिए है। यह एक खाली printf() और सरलीकृत malloc()/free() को परिभाषित करता है।
  • callback/demo-callback.c: यह डेमो vuln() फ़ंक्शन को फज़ करने के लिए आवश्यक कॉलबैक को परिभाषित करता है।

पहले, कृपया mipsel के लिए gcc इंस्टॉल करें (डेबियन पर पैकेज gcc-mipsel-linux-gnu) डेमो बनाने के लिए:

root@kitploit:~
# the target binary
# '-Xlinker --hash-style=sysv' tells gcc to use 'DT_HASH' instead of 'DT_GNU_HASH' for symbol lookup
# since currently uniFuzzer does not support 'DT_GNU_HASH'
mipsel-linux-gnu-gcc demo-vuln.c -Xlinker --hash-style=sysv -no-pie -o demo-vuln

# the preload library
mipsel-linux-gnu-gcc -shared -fPIC -nostdlib -Xlinker --hash-style=sysv demo-libcpreload.c -o demo-libcpreload.so

या आप केवल demo-vuln और demo-libcpreload.so फ़ाइलों का उपयोग कर सकते हैं, जो ऊपर दिए गए कमांड का उपयोग करके संकलित की गई हैं।

अगला, uniFuzzer बनाने के लिए make चलाएँ। कृपया ध्यान दें कि यदि आपने स्वयं MIPS डेमो संकलित किया है, तो कुछ पते प्रीबिल्ट एक से भिन्न हो सकते हैं और demo-callback.c को तदनुसार अपडेट किया जाना चाहिए।

अंत में, सुनिश्चित करें कि MIPS की libc लाइब्रेरी तैयार है। डेबियन पर यह पैकेज libc6-mipsel-cross इंस्टॉल करने के बाद /usr/mipsel-linux-gnu/lib/ में होती है, और यही UF_LIBPATH होना चाहिए:

root@kitploit:~
UF_TARGET=<path to demo-vuln> UF_PRELOAD=<path to demo-libcpreload.so> UF_LIBPATH=<lib path for MIPS> ./uf

Hack on Unicorn

Unicorn इस issue के कारण QEMU के JIT कैश को साफ़ करता है, जो फज़िंग की गति को धीमा कर देता है क्योंकि लक्ष्य बाइनरी को निष्पादन के प्रत्येक दौर के दौरान JIT पुनः संकलित करना होगा।

प्रदर्शन के लिए हम उस issue में बताए अनुसार tb_flush(env); को कमेंट आउट कर सकते हैं।

TODO

  • syscall के लिए समर्थन
  • अन्य आर्किटेक्चर और बाइनरी प्रारूपों के लिए समर्थन
  • support GNU_HASH
  • IFUNC का समर्थन
  • पर्यावरण सेटअप को एकीकृत करें और API प्रदान करें
टूल डाउनलोड करें