
नेटवर्क विश्लेषण उपकरण
BruteShark एक नेटवर्क फोरेंसिक विश्लेषण उपकरण (NFAT) है जो नेटवर्क ट्रैफ़िक (मुख्यतः PCAP फ़ाइलें, लेकिन यह सीधे नेटवर्क इंटरफ़ेस से लाइव कैप्चर करने में भी सक्षम है) का गहन प्रसंस्करण और निरीक्षण करता है। इसमें शामिल हैं: पासवर्ड निकालना, नेटवर्क मैप बनाना, TCP सत्रों का पुनर्निर्माण करना, एन्क्रिप्टेड पासवर्ड के हैश निकालना और उन्हें ऑफ़लाइन ब्रूट फोर्स हमला करने के लिए Hashcat प्रारूप में परिवर्तित करना।
परियोजना का मुख्य उद्देश्य सुरक्षा शोधकर्ताओं और नेटवर्क प्रशासकों को नेटवर्क ट्रैफ़िक विश्लेषण के कार्य में समाधान प्रदान करना है, जब वे उन कमजोरियों की पहचान करने का प्रयास करते हैं जिनका उपयोग संभावित हमलावर नेटवर्क पर महत्वपूर्ण बिंदुओं तक पहुँच प्राप्त करने के लिए कर सकता है।
BruteShark के दो संस्करण उपलब्ध हैं, एक GUI आधारित एप्लिकेशन (Windows) और एक कमांड लाइन इंटरफ़ेस उपकरण (Windows और Linux)।
समाधान के विभिन्न प्रोजेक्ट्स का उपयोग लिनक्स या विंडोज मशीनों पर नेटवर्क ट्रैफ़िक के विश्लेषण के लिए स्वतंत्र रूप से बुनियादी ढांचे के रूप में भी किया जा सकता है। अधिक जानकारी के लिए आर्किटेक्चर अनुभाग देखें।
यह परियोजना मेरे खाली समय में मेरे दो मुख्य जुनूनों को संबोधित करने के लिए विकसित की गई थी: सॉफ्टवेयर आर्किटेक्चर और नेटवर्क डेटा का विश्लेषण करना।
मुझे BruteShark उपयोगकर्ताओं से प्रतिक्रिया प्राप्त करना पसंद है, आपकी राय मेरे लिए महत्वपूर्ण है! बेझिझक मुझसे [email protected] पर संपर्क करें या नया मुद्दा बनाएं।
यदि इस परियोजना ने आपकी मदद की है तो कृपया ⭐️ इस रिपॉजिटरी को तारांकित करें!
wget https://github.com/odedshimon/BruteShark/releases/latest/download/BruteSharkCli
./BruteSharkCli
नेटवर्क मैप बनाना
https://user-images.githubusercontent.com/18364847/131922221-5714f351-85f7-4490-bec9-8da4339b66b3.mp4
BruteSharkCli उपयोग उदाहरण - एकाधिक पासवर्ड और हैश निकालना (यूट्यूब पर भी उपलब्ध)
https://user-images.githubusercontent.com/18364847/131924013-8b2aa18b-0941-456e-a09d-799902554166.mp4





सामान्यतः, लोड करना, चलाना और परिणामों का अन्वेषण करना अनुशंसित है।
BruteShark की सभी क्षमताओं को प्रदर्शित करने वाली परिदृश्यों वाली उदाहरण PCAP फ़ाइलें यहाँ से डाउनलोड की जा सकती हैं।
ध्यान दें कि नेटवर्क ट्रैफ़िक का विश्लेषण एक ऐसा ऑपरेशन है जो समय और संसाधनों की खपत करता है, इसलिए बड़ी फ़ाइलों को लोड करते समय केवल आवश्यक मॉड्यूल का चयन करने की सिफारिश की जाती है।
"Build TCP Sessions" / "Build UDP Sessions" विकल्पों पर विशेष ध्यान दिया जाना चाहिए।
GUI काफी स्व-व्याख्यात्मक है, बस वांछित फ़ाइलें लोड करें, वांछित मॉड्यूल कॉन्फ़िगर करें और रन बटन दबाएँ।
BruteSharkCli लिनक्स और विंडोज उपयोगकर्ताओं के लिए BruteShark का CLI संस्करण है। इसमें BruteSharkDesktop की सभी विशेषताएँ हैं और इसे शेल से संचालित करने के लिए डिज़ाइन किया गया है। एक क्लासिक CLI टूल के रूप में यह प्रोसेसिंग के लिए सभी प्रासंगिक पैरामीटर प्राप्त करके और फिर परिणामों को stdout या फ़ाइलों पर प्रिंट करके काम करता है।
सहायता मेनू प्रिंट करें:
BruteSharkCli --help
एक निर्देशिका में सभी फ़ाइलों से क्रेडेंशियल प्राप्त करें (पासवर्ड और हैश stdout पर प्रिंट होंगे):
BruteSharkCli -m Credentials -d "C:\Users\King\Desktop\Pcap Files"
एक निर्देशिका में सभी फ़ाइलों से क्रेडेंशियल प्राप्त करें और निकाले गए हैश (यदि मिले) को Hashcat इनपुट फ़ाइलों में निर्यात करें।
BruteSharkCli -m Credentials -d C:\Users\King\Desktop\Pcap_Examples -o C:\Users\King\Desktop\Results
एक निर्देशिका में सभी फ़ाइलों पर एकाधिक मॉड्यूल चलाएँ और सभी परिणाम निर्यात करें।
BruteSharkCli -m Credentials,NetworkMap,FileExtracting -d C:\Users\King\Desktop\Pcap_Examples -o C:\Users\King\Desktop\Results
"Wi-Fi" नामक इंटरफ़ेस को सूँघें, एकाधिक मॉड्यूल चलाएँ और सभी परिणामों को एक निर्देशिका में निर्यात करें (परिणाम केवल तभी निर्यात होंगे जब CTRL + C दबाकर स्निफ़र को रोका जाएगा)।
BruteSharkCli -l Wi-Fi -m Credentials,NetworkMap,FileExtracting,DNS -o C:\Users\King\Desktop\Test Export
BruteShark एक मॉड्यूलर उपकरण है, जिसे विस्तार के लिए डिज़ाइन किया गया है।
यह मॉड्यूल उपयोगकर्ता नाम और पासवर्ड के साथ-साथ प्रमाणीकरण हैश को निकालने और एन्कोड करने के लिए जिम्मेदार है। वास्तव में यह मॉड्यूल दो प्रदर्शन तालिकाओं, पासवर्ड तालिका और हैश तालिका को अपडेट करने के लिए जिम्मेदार है। जबकि उपयोगकर्ता नाम और पासवर्ड उपयोग में सीधे हैं, हैश का उपयोग अक्सर अधिक जटिल हमलों जैसे पास-द-हैश या पासवर्ड प्राप्त करने के लिए ब्रूट-फोर्सिंग में किया जाता है। BruteShark Hashcat के साथ एकीकृत है, इसलिए निकाले गए सभी हैश को Hashcat इनपुट फ़ाइल में परिवर्तित किया जा सकता है।
| प्रोटोकॉल | हैश प्रकार | हैशकैट मोड (-m) |
|---|---|---|
| HTTP | HTTP-Digest | 11400 |
| SMTP\IMAP | CRAM-MD5 | 16400 |
| NTLM (जैसे SMB) | NTLMv1 | 5500 |
| NTLM (जैसे SMB) | NTLMv2 | 5600 |
| Kerberos | AS-REQ etype 23 | 7500 |
| Kerberos | AS-REP etype 23 | 18200 |
| Kerberos | TGS-REP etype 23 | 13100 |
| Kerberos (AES128) | TGS-REP etype 17 | 19600 |
| Kerberos (AES256) | TGS-REP etype 18 | 19700 |
यह मॉड्यूल नेटवर्क में घटकों और उनके बीच कनेक्शन की पहचान करके नेटवर्क मैप बनाने के लिए जिम्मेदार है। नेटवर्क मैप को दो JSON फ़ाइलों में निर्यात किया जा सकता है, एक फ़ाइल में नेटवर्क के सभी कनेक्शन होते हैं और एक में सभी एंडपॉइंट और उनसे संबंधित जानकारी (जैसे खुले पोर्ट, DNS मैपिंग आदि) होती है। उन फ़ाइलों का उपयोग Neo4j जैसे बाहरी उपकरणों के साथ विश्लेषण के लिए किया जा सकता है।

यह मॉड्यूल UDP / TCP सत्रों से फ़ाइलें निकालने का प्रयास करता है (इसलिए, ध्यान दें कि इस मॉड्यूल के प्रभावी होने के लिए, "Build TCP Sessions" / "Build UDP Sessions" चालू होना चाहिए)। वर्तमान में यह मॉड्यूल "Header-Footer" एल्गोरिदम द्वारा फ़ाइल कार्विंग की क्लासिक फोरेंसिक तकनीकों का समर्थन करता है, जो JPG, PNG, PDF जैसी ज्ञात फ़ाइल हेडर और फुटर वाली फ़ाइलों के लिए प्रभावी है।
यह मॉड्यूल SIP और RTP प्रोटोकॉल से VoIP कॉल निकालता है। निकाली गई कॉल को कच्ची ऑडियो फ़ाइलों के रूप में निर्यात किया जा सकता है और उपयुक्त ऑडियो प्लेयर (जैसे Audacity) का उपयोग करके चलाया जा सकता है।
सभी BruteShark प्रोजेक्ट्स को आधुनिक और क्रॉस-प्लेटफ़ॉर्म समर्थन के लिए .Net Core और .Net Standard का उपयोग करके कार्यान्वित किया गया है।
समाधान को तीन-स्तरीय आर्किटेक्चर के साथ डिज़ाइन किया गया है, जिसमें प्रत्येक स्तर पर एक या अधिक प्रोजेक्ट शामिल हैं - DAL, BLL और PL।
स्तरों के बीच पृथक्करण इस तथ्य से बनाया गया है कि प्रत्येक प्रोजेक्ट केवल अपनी वस्तुओं को संदर्भित करता है।
डेटा एक्सेस लेयर के रूप में, यह प्रोजेक्ट उपयुक्त ड्राइवरों (WinPcap, libpcap) और क्रिस मॉर्गन द्वारा अद्भुत रैपर लाइब्रेरी SharpPcap का उपयोग करके कच्ची PCAP फ़ाइलों को पढ़ने के लिए जिम्मेदार है। एक साथ फ़ाइलों की सूची का विश्लेषण कर सकता है, और सभी TCP सत्रों के पुनर्निर्माण (शानदार प्रोजेक्ट TcpRecon का उपयोग करके) जैसी अतिरिक्त सुविधाएँ प्रदान करता है।
बिज़नेस लॉजिक लेयर, नेटवर्क जानकारी (पैकेट, TCP सत्र आदि) के विश्लेषण के लिए जिम्मेदार, एक प्लग करने योग्य तंत्र लागू करती है। प्रत्येक प्लगइन मूल रूप से एक वर्ग है जो इंटरफ़ेस IModule को लागू करता है। सभी प्लगइन्स रिफ्लेक्शन के माध्यम से लोड किए जाते हैं:
private void _initilyzeModulesList()
{
// Create an instance for any available modules by looking for every class that
// implements IModule.
this._modules = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(s => s.GetTypes())
.Where(p => typeof(IModule).IsAssignableFrom(p) && !p.IsInterface)
.Select(t => (IModule)Activator.CreateInstance(t))
.ToList();
// Register to each module event.
foreach(var m in _modules)
{
m.ParsedItemDetected += (s, e) => this.ParsedItemDetected(s, e);
}
}
विंडोज के लिए डेस्कटॉप एप्लिकेशन WinForms पर आधारित है। यह एक क्रॉस-कटिंग प्रोजेक्ट का उपयोग करता है जिसका अर्थ है कि यह DAL और BLL दोनों स्तरों को संदर्भित करता है। यह प्रत्येक स्तर को संयोजित करके, उनकी घटनाओं के लिए पंजीकरण करके किया जाता है, जब घटना ट्रिगर होती है, तो ईवेंट ऑब्जेक्ट को अगले स्तर के समतुल्य ऑब्जेक्ट में डाला जाता है, और अगले स्तर पर भेजा जाता है।
public MainForm()
{
InitializeComponent();
_files = new HashSet<string>();
// Create the DAL and BLL objects.
_processor = new PcapProcessor.Processor();
_analyzer = new PcapAnalyzer.Analyzer();
_processor.BuildTcpSessions = true;
// Create the user controls.
_networkMapUserControl = new NetworkMapUserControl();
_networkMapUserControl.Dock = DockStyle.Fill;
_sessionsExplorerUserControl = new SessionsExplorerUserControl();
_sessionsExplorerUserControl.Dock = DockStyle.Fill;
_hashesUserControl = new HashesUserControl();
_hashesUserControl.Dock = DockStyle.Fill;
_passwordsUserControl = new GenericTableUserControl();
_passwordsUserControl.Dock = DockStyle.Fill;
// Contract the events.
_processor.TcpPacketArived += (s, e) => _analyzer.Analyze(Casting.CastProcessorTcpPacketToAnalyzerTcpPacket(e.Packet));
_processor.TcpSessionArived += (s, e) => _analyzer.Analyze(Casting.CastProcessorTcpSessionToAnalyzerTcpSession(e.TcpSession));
_processor.FileProcessingStarted += (s, e) => SwitchToMainThreadContext(() => OnFileProcessStart(s, e));
_processor.FileProcessingEnded += (s, e) => SwitchToMainThreadContext(() => OnFileProcessEnd(s, e));
_processor.ProcessingPrecentsChanged += (s, e) => SwitchToMainThreadContext(() => OnProcessingPrecentsChanged(s, e));
_analyzer.ParsedItemDetected += (s, e) => SwitchToMainThreadContext(() => OnParsedItemDetected(s, e));
_processor.TcpSessionArived += (s, e) => SwitchToMainThreadContext(() => OnSessionArived(Casting.CastProcessorTcpSessionToBruteSharkDesktopTcpSession(e.TcpSession)));
_processor.ProcessingFinished += (s, e) => SwitchToMainThreadContext(() => OnProcessingFinished(s, e));
InitilizeFilesIconsList();
this.modulesTreeView.ExpandAll();
}
सबसे पहले, योगदान देने के लिए समय निकालने के लिए धन्यवाद! BruteShark सभी से योगदान का स्वागत करता है।
इस रिपॉजिटरी में योगदान करते समय, कृपया पहले आप जो परिवर्तन करना चाहते हैं, उस पर मुद्दा या ईमेल के माध्यम से चर्चा करें।