
🐸 कुछ भी पहचानें। pyWhat आसानी से आपको ईमेल, IP पते और और भी बहुत कुछ पहचानने देता है। इसे .pcap फ़ाइल या कुछ टेक्स्ट खिलाएँ और यह आपको बताएगा कि यह क्या है! 🧙♀️
➡️ Discord ⬅️
किसी भी चीज़ की पहचान करने का सबसे आसान तरीका
pip3 install pywhat && pywhat --help
क्या है?
इसकी कल्पना करें: आपके सामने कोई रहस्यमय टेक्स्ट 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 या dQw4w9WgXcQ आता है और आप सोचते हैं कि यह क्या है। आप क्या करते हैं?
खैर, what के साथ आपको बस what "0x52908400098527886E0F7030069857D2E4169EE7" पूछना है और what आपको बता देगा!
what का काम है यह पहचानना कि कोई चीज़ क्या है। चाहे वह कोई फ़ाइल हो या टेक्स्ट! या फिर किसी फ़ाइल का हेक्स भी! फ़ाइलों के भीतर मौजूद टेक्स्ट के बारे में क्या? वह भी हमारे पास है! what रिकर्सिव है, यह टेक्स्ट में मौजूद हर चीज़ और उससे भी अधिक की पहचान करेगा!
$ pip3 install pywhat
या
# installs optional dependencies that may improve the speed
$ pip3 install pywhat[optimize]
$ brew install pywhat
या हमारे MacPorts प्रशंसकों के लिए:
$ sudo port install pywhat

आपके सामने WantToCry नाम का मैलवेयर का एक नया टुकड़ा आता है। आप Wannacry के बारे में सोचते हैं और याद करते हैं कि इसे रोका गया था क्योंकि एक शोधकर्ता ने कोड में एक kill-switch पाया था।
जब Wannacry में हार्डकोड किया गया एक डोमेन रजिस्टर किया गया, तो वायरस रुक जाता था।
आप मैलवेयर में सभी डोमेन की पहचान करने के लिए What का उपयोग करते हैं, और सभी डोमेन को रजिस्टर करने के लिए एक डोमेन रजिस्ट्रार API का उपयोग करते हैं।

मान लीजिए आपके पास नेटवर्क हमले से एक .pcap फ़ाइल है। What इसे पहचान सकता है और आपके लिए जल्दी से ढूंढ सकता है:
what के साथ, आप pcap में महत्वपूर्ण चीज़ों की पहचान सेकंडों में कर सकते हैं, मिनटों में नहीं।
आप PyWhat का उपयोग उन चीज़ों को स्कैन करने के लिए कर सकते हैं जो आपको बग बाउंटी के माध्यम से पैसे दिलाएंगी जैसे:
ऐसा करने के लिए PyWhat को इस तरह चलाएँ:
pywhat --include "Bug Bounty" TEXT
यहाँ कुछ उदाहरण हैं 👇
# Download all repositories
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Will print when it finds things.
# Loops over all files in current directory.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Recursively download all web pages of a site
wget -r -np -k https://skerritt.blog
# Will print when it finds things.
# Loops over all files in current directory.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS: हम बग बाउंटी से अधिक फ़िल्टर का समर्थन करते हैं! pywhat --tags चलाएँ
जब भी आपके पास कोई फ़ाइल हो और आप उसमें उपयोगी संरचित डेटा ढूंढना चाहते हों, What आपके लिए है।
या यदि आपके सामने टेक्स्ट का कोई टुकड़ा आता है और आप नहीं जानते कि यह क्या है, तो What आपको बता देगा।
फ़ाइल खोलना आप what 'this/is/a/file/path' द्वारा एक फ़ाइल पथ पास कर सकते हैं। What यह पता लगाने में स्मार्ट है कि यह एक फ़ाइल है!
पूरी डायरेक्टरी के बारे में क्या? What उसे भी संभाल सकता है! यह रिकर्सिवली फ़ाइलों को खोजेगा और आपको वह सब आउटपुट करेगा जिसकी आपको आवश्यकता है!
एकाधिक इनपुट आप एक साथ कई फ़ाइलें, डायरेक्टरी या टेक्स्ट पास कर सकते हैं, जैसे what file1 file2 this/is/a/directory 'some text' या find . -name '*.log' -exec what {} +। What हर मैच की फ़ाइल दिखाता है, टेक्स्ट में मौजूद मैच text के अंतर्गत होते हैं, और --json सब कुछ एक JSON ऑब्जेक्ट में लौटाता है।
Unicode What में पाइप की गई फ़ाइलें और टेक्स्ट UTF-8, या byte order mark के साथ UTF-16 या UTF-32 हो सकते हैं, जैसे Windows द्वारा सहेजी जाने वाली "Unicode" टेक्स्ट फ़ाइलें। What बाइनरी फ़ाइलों में UTF-16 स्ट्रिंग्स को भी खोजता है (जैसे strings -el), जिस तरह Windows प्रोग्राम अपना अधिकांश टेक्स्ट संग्रहीत करते हैं। जिन वर्णों को आपका टर्मिनल नहीं दिखा सकता, उन्हें क्रैश होने के बजाय \u20bf जैसे escape sequences के रूप में प्रिंट किया जाता है।
कभी-कभी, आप केवल AWS से संबंधित चीज़ें देखने की परवाह करते हैं। या बग बाउंटी, या क्रिप्टोकरेंसी!
आप what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog का उपयोग करके आउटपुट फ़िल्टर कर सकते हैं। अधिक जानकारी के लिए what --help का उपयोग करें।
डिफ़ॉल्ट रूप से, what केवल 0.1 या अधिक rarity वाले मैच दिखाता है, क्योंकि कम rarity वाले मैच अक्सर false positives होते हैं। उदाहरण के लिए, अकेले एक YouTube वीडियो ID, जैसे dQw4w9WgXcQ, कोई भी 11 यादृच्छिक वर्ण हो सकते हैं, इसलिए what dQw4w9WgXcQ कुछ नहीं ढूंढता, लेकिन what --rarity 0: dQw4w9WgXcQ इसे दिखाता है। YouTube लिंक, जैसे https://youtu.be/dQw4w9WgXcQ या youtube.com/watch?v=dQw4w9WgXcQ&t=42s, डिफ़ॉल्ट रूप से दिखाए जाते हैं।
सभी फ़िल्टर देखने के लिए, pywhat --tags चलाएँ! आप उन्हें संयोजित भी कर सकते हैं, उदाहरण के लिए Ripple को छोड़कर सभी क्रिप्टोकरेंसी वॉलेट देखने के लिए आप यह कर सकते हैं:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
regexes के नाम tags की तरह काम करते हैं, और कई regexes के छोटे वैकल्पिक नाम भी होते हैं, जैसे Bitcoin (₿) Wallet Address के लिए BTC Wallet या Amazon Resource Name (ARN) के लिए ARN। केवल Bitcoin और Ethereum वॉलेट देखने के लिए:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
प्रत्येक regex का नाम उसके वैकल्पिक नामों के साथ देखने के लिए pywhat --names चलाएँ।
सॉर्टिंग आप what -k rarity --reverse TEXT का उपयोग करके आउटपुट को सॉर्ट कर सकते हैं। अधिक जानकारी के लिए what --help का उपयोग करें।
टॉप मैच बहुत अधिक मिल गए? what --top 10 TEXT केवल 10 सबसे संभावित मैच दिखाता है, सबसे संभावित पहले, और what --top 5% TEXT उनमें से सबसे संभावित 5% दिखाता है। किसी डायरेक्टरी या कई इनपुट के लिए, ये उन सभी के सबसे संभावित मैच हैं। सबसे संभावित मैचों में सबसे अधिक rarity होती है, लेकिन किसी लंबे शब्द या मैच के टुकड़े, जिन्हें boundaryless mode ढूंढता है, कम संभावित होते हैं: what --top 1 0x52908400098527886E0F7030069857D2E4169EE7 Ethereum पता दिखाता है, न कि उसमें मौजूद कार्ड और सोशल सिक्योरिटी नंबर। what -k likely TEXT सभी मैच इस क्रम में दिखाता है। API में, pywhat.ranking.top_matches(identified, 10) Identifier.identify() जो लौटाता है उसके 10 सबसे संभावित मैच रखता है, और मैच की "Fragment" key बताती है कि यह एक टुकड़ा है या नहीं।