
सोशल नेटवर्क्स में यूज़रनेम द्वारा खातों को खोजने के लिए एक OSINT टूल।
लॉकहीड SR-71 "Blackbird" एक लंबी दूरी, उच्च ऊंचाई, मैक 3+ सामरिक टोही विमान है जिसे अमेरिकी एयरोस्पेस कंपनी लॉकहीड कॉर्पोरेशन द्वारा विकसित और निर्मित किया गया था।
This or previous program is for Educational purpose ONLY. Do not use it without permission.
The usual disclaimer applies, especially the fact that me (P1ngul1n0) is not liable for any
damages caused by direct or indirect use of the information or functionality provided by these
programs. The author or any Internet provider bears NO responsibility for content or misuse
of these programs or any derivatives thereof. By using these programs you accept the fact
that any damage (dataloss, system crash, system compromise, etc.) caused by the use of these
programs is not P1ngul1n0's responsibility.
git clone https://github.com/p1ngul1n0/blackbird
cd blackbird
pip install -r requirements.txt
python blackbird.py -u username
python blackbird.py --web
ब्राउज़र में http://127.0.0.1:9797 खोलें
python blackbird.py -f username.json
python blackbird.py --list-sites
python blackbird.py -u crash --proxy http://127.0.0.1:8080
डिफ़ॉल्ट रूप से केवल मिले खाते दिखाए जाते हैं, हालाँकि आप सभी देखने के लिए नीचे दिए गए तर्क का उपयोग कर सकते हैं।
python blackbird.py -u crash --show-all
Blackbird का उपयोग Docker के साथ भी किया जा सकता है।
docker pull p1ngul1n0/blackbird:v2
docker run -p 9797:9797 p1ngul1n0/blackbird:v2 "--web"
परिणामों को PDF रिपोर्ट के रूप में निर्यात किया जा सकता है।
blackbird-pdf-cover
जब संभव हो, Blackbird उपयोगकर्ता का मेटाडेटा निकालेगा, जिसमें नाम, बायो, स्थान और प्रोफ़ाइल चित्र जैसा डेटा शामिल होता है।
Blackbird प्रत्येक अनुरोध में ब्लॉकिंग रोकने के लिए 1000 यूज़रएजेंट की सूची में से एक रैंडम यूज़रएजेंट का उपयोग करता है।
Blackbird async HTTP अनुरोध भेजता है, जिससे उपयोगकर्ता खातों की खोज में काफी अधिक गति मिलती है।
data.json फ़ाइल उन सभी साइटों को संग्रहीत करती है जिन्हें Blackbird सत्यापित करता है।
GET
{
"app": "ExampleAPP1",
"url": "https://www.example.com/{username}",
"valid": "response.status == 200",
"id": 1,
"method": "GET"
}
POST JSON
{
"app": "ExampleAPP2",
"url": "https://www.example.com/user",
"valid": "jsonData['message']['found'] == True",
"json": "{{\"type\": \"username\",\"input\": \"{username}\"}}",
"id": 2,
"method": "POST"
}
मेटाडेटा निष्कर्षण के साथ GET
{
"app": "Twitter",
"id": 3,
"method": "GET",
"url": "https://nitter.net/{username}",
"valid": "response.status == 200",
"metadata": [
{
"type": "generic-data",
"key": "Name",
"value": "soup.find('a', class_='profile-card-fullname')['title']"
},
{
"type": "generic-data",
"key": "Bio",
"value": "soup.find('div',class_='profile-bio').string"
},
{
"type": "generic-data",
"key": "Site",
"value": "soup.find('div',class_='profile-website').text.strip('\\t\\r\\n')"
},
{
"type": "generic-data",
"key": "Member since",
"value": "soup.find('div',class_='profile-joindate').find('span')['title']"
},
{
"type": "image",
"key": "picture",
"value": "'https://nitter.net'+soup.find('a', class_='profile-card-avatar')['href']"
},
{
"type": "location",
"key": "location",
"value": "soup.select_one('.profile-location:nth-of-type(2)').text.strip('\\t\\r\\n')"
}
]
}
मैं उन सभी योगदानकर्ताओं का आभारी हूँ जिन्होंने प्रोजेक्ट को बेहतर बनाया और बग फिक्स किए।
enumerate और फ़ंक्शनों के लिए कोड विभाजन लागू किया।मुझसे Twitter पर संपर्क करने में संकोच न करें।
यदि आपके पास खोज में शामिल करने के लिए किसी साइट का कोई सुझाव है, तो टेम्पलेट के अनुसार पुल रिक्वेस्ट करें।