
أداة OSINT للبحث عن الحسابات باستخدام اسم المستخدم في شبكات التواصل الاجتماعي.
طائرة لوكهيد إس آر-71 "بلاكبيرد" هي طائرة استطلاع استراتيجية بعيدة المدى وعالية الارتفاع بسرعة تفوق ماخ 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 طلبات 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
إذا كان لديك أي اقتراح لموقع ليتم تضمينه في البحث، قم بإنشاء طلب سحب (Pull Request) وفقًا للقالب.