
आउटबाउंड ट्रैफ़िक में संदिग्ध, बीकन-जैसे कॉलबैक को सूँघता है, क्योंकि अगर यह नियमित रूप से वापस आता रहे, तो संभवतः यह नाश्ता नहीं है।
आउटबाउंड ट्रैफ़िक को सूँघता है संदिग्ध, बीकॉन-जैसे कॉलबैक के लिए, क्योंकि अगर यह नियमित रूप से वापस आता रहता है, तो शायद यह नाश्ता नहीं है।
Bacon Sampler एक हल्का आउटबाउंड-कनेक्शन कैचर है जो आपके नेटवर्क ट्रैफ़िक की चटपटी गंध को सूँघता है और "बीकॉन-जैसे" व्यवहार को चिह्नित करता है - वे आवर्ती, धीमी-और-धीमी कॉलबैक जो मैलवेयर को घर फोन करना पसंद है।
यह निष्क्रिय रूप से आउटबाउंड कनेक्शन और DNS लुकअप की निगरानी करता है, फिर स्थिर अंतराल, बार-बार आने वाले गंतव्य, अजीब जिटर, और लगातार बाइट आकार जैसे पैटर्न को हाइलाइट करता है - मूल रूप से कुछ भी जो सामान्य ब्राउज़िंग की तरह नहीं दिखता और एक बॉट के निर्देशों की जाँच करने जैसा अधिक लगता है।
इसे एक बीकॉन स्कैनर के रूप में सोचें, लेकिन स्वादिष्ट: अगर कुछ हर बार एक ही समय पर वापस आता रहता है... तो हम बेकन का नमूना ले रहे हैं।
.mmdb) या DB-IP Lite (.mmdb).BIN)pip install -r requirements.txt
एक GeoIP डेटाबेस डाउनलोड करें और पथ नोट करें:
.mmdb).BIN)यदि आप मुफ़्त ऑनलाइन लुकअप पसंद करते हैं, तो आप इसे छोड़ सकते हैं और --geoip-online का उपयोग कर सकते हैं।
इंटरफ़ेस सूचीबद्ध करें:
python capture_outbound.py --list-interfaces
एक इंडेक्स द्वारा इंटरफ़ेस चुनें:
python capture_outbound.py --interface 0
एकाधिक इंटरफ़ेस का उपयोग करें (दोहराए जाने योग्य):
python capture_outbound.py --interface "Ethernet" --interface "Wi-Fi"
या अल्पविराम से अलग किए गए नामों के साथ:
python capture_outbound.py --interfaces "Ethernet,Wi-Fi"
Pcap-केवल कैप्चर (A) ऑफ़लाइन GeoIP के साथ:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
Pcap + netstat सहसंबंध (B) ऑफ़लाइन GeoIP के साथ:
python capture_outbound.py --mode pcap_plus_netstat --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
Pcap + netstat संघ (A+B):
python capture_outbound.py --mode both --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
ऑनलाइन GeoIP (मुफ़्त, दर-सीमित, डिस्क पर कैश):
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi
IPinfo टोकन के साथ ऑनलाइन GeoIP:
$env:IPINFO_TOKEN="your_token_here"
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo
या टोकन स्पष्ट रूप से पास करें:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo --geoip-online-token "your_token_here"
ऑनलाइन GeoIP टाइमआउट और पुनः प्रयास ट्यून करें:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi --geoip-timeout 2.5 --geoip-retries 1
रिवर्स DNS अक्षम करें (तेज़ रन):
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --no-dns
DNS टाइमआउट ट्यून करें:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --dns-timeout 0.5
पैकेट गणना द्वारा कैप्चर सीमित करें:
python capture_outbound.py --mode pcap --duration 60 --packet-limit 5000
प्रोटोकॉल, रिमोट पोर्ट और IP CIDR द्वारा फ़िल्टर करें:
python capture_outbound.py --filter-protocol tcp --filter-port 80,443,1000-2000 --allow-ip 1.2.3.0/24 --deny-ip 1.2.3.4/32
समूह सारांश और शीर्ष N:
python capture_outbound.py --group-by remote_ip,process --top 10
प्रति कनेक्शन कुल बाइट्स ट्रैक करें:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --track-bytes
प्रगति आउटपुट अक्षम करें:
python capture_outbound.py --no-progress
कंसोल आउटपुट अक्षम करें:
python capture_outbound.py --no-console
Pcap + netstat संघ (A+B) + ऑनलाइन GeoIP + pcap + CSV + HTML लिखें:
python capture_outbound.py --mode both --duration 20 --interface "Ethernet,Wi-Fi" --geoip-online ipapi --pcap-out "C:\Path\capture.pcap" --csv "C:\Path\outbound.csv" --html "C:\Path\outbound.html"
Pcap-केवल + आउटपुट फ़ोल्डर + कस्टम CSV/JSON नाम:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --output-dir "C:\Path\Reports" --csv "C:\Path\Reports\outbound.csv" --json "C:\Path\Reports\outbound.json"
बीकॉन-जैसी गतिविधि का पता लगाना (धीमी-और-धीमी कॉलबैक):
python capture_outbound.py --duration 300 --beacon-min-duration 120 --beacon-min-interval 60 --beacon-max-interval 1800 --beacon-max-jitter 10 --beacon-min-packets 6 --beacon-max-rate 0.05
पैटर्न का पता लगाना (स्थिर अंतराल, जिटर, बार-बार आने वाले गंतव्य, लगातार आकार):
python capture_outbound.py --duration 300 --track-bytes --pattern-high-jitter 120 --pattern-repeat-destination 4 --pattern-max-byte-jitter 64 --dns-pattern-min-queries 4
फ़िल्टरिंग के साथ तंग बीकॉन + पैटर्न थ्रेसहोल्ड:
python capture_outbound.py --duration 600 --filter-protocol tcp --filter-port 443 --track-bytes --beacon-min-duration 180 --beacon-min-interval 90 --beacon-max-interval 900 --beacon-max-jitter 5 --beacon-min-packets 8 --pattern-high-jitter 60 --pattern-repeat-destination 5 --pattern-max-byte-jitter 32
DNS-केंद्रित कैप्चर (तेज़ DNS लुकअप + DNS पैटर्न):
python capture_outbound.py --duration 180 --dns-timeout 0.25 --dns-pattern-min-queries 5 --pattern-repeat-destination 3
outbound_connections.csvoutbound_connections.json--html "report.html"*_beacon_findings.csv / *_beacon_findings.json*_connection_patterns.csv / *_connection_patterns.json*_dns_patterns.csv / *_dns_patterns.json*_unique_connections.csv / *_unique_connections.json*_unique_processes.csv / *_unique_processes.jsonकस्टम CSV/JSON आउटपुट पथ:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --csv "C:\Path\outbound.csv" --json "C:\Path\outbound.json"
सभी आउटपुट एक फ़ोल्डर में भेजें:
python capture_outbound.py --mode pcap --duration 20 --output-dir "C:\Path\Reports"
HTML आउटपुट लिखें:
python capture_outbound.py --html "outbound.html"
एक pcap फ़ाइल लिखें:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --pcap-out "capture.pcap"
--mode {pcap,pcap_plus_netstat,both}: कैप्चर रणनीति (डिफ़ॉल्ट: pcap)--duration SECONDS: कैप्चर अवधि (डिफ़ॉल्ट: 15)--packet-limit COUNT: N पैकेट के बाद रुकें (0 = असीमित)--list-interfaces: Npcap इंटरफ़ेस दिखाएँ और बाहर निकलें--interface NAME: कैप्चर इंटरफ़ेस नाम (दोहराए जाने योग्य)--interfaces "NAME,NAME": अल्पविराम से अलग किए गए इंटरफ़ेस नाम--filter-protocol tcp,udp: प्रोटोकॉल फ़िल्टर (दोहराएँ या अल्पविराम से अलग)--filter-port 80,443,1000-2000: रिमोट पोर्ट फ़िल्टर--allow-ip CIDR: रिमोट IP CIDR(s) अनुमति देंमुख्य आउटपुट (--csv/--json) में फ़ील्ड शामिल हैं:
protocol, local_ip, local_portremote_ip, remote_port, remote_hostname, remote_fqdn, remote_countrypid, process_name, packet_countduration_seconds, avg_interval_seconds, interval_jitter_secondsfirst_seen, , व्युत्पन्न आउटपुट में शामिल हैं:
remote_ip, remote_port, remote_hostname, remote_fqdn, remote_countrypid, process_name, connection_count, unique_remote_ipsremote_ip, process, या country गणना और अद्वितीय मेट्रिक्सbeacon_reasonpattern_type/,
// ( के साथ), और गंतव्य कुल--mode pcap_plus_netstat केवल कैप्चर किए गए कनेक्शनों को PID/प्रक्रिया डेटा से समृद्ध करता है।--mode both अंतिम आउटपुट में netstat-केवल कनेक्शन जोड़ता है।2 के साथ बाहर निकलती है।--log-json चेतावनियों/त्रुटियों को JSON पंक्तियों के रूप में प्रारूपित करता है (अंतर्ग्रहण के लिए उपयोगी)।--duration सेकंड में है।--packet-limit अवधि शेष रहने पर भी N पैकेट के बाद कैप्चर रोकता है।--no-dns रिवर्स DNS रिज़ॉल्यूशन छोड़ता है (होस्टनाम/FQDN खाली होगा)।--dns-timeout DNS लुकअप टाइमआउट (सेकंड) नियंत्रित करता है।geoip_online_cache.json पर कैश किए जाते हैं जब तक कि --geoip-cache-path से ओवरराइड न किया जाए।--geoip-db-type auto फ़ाइल एक्सटेंशन का उपयोग करता है: -> MaxMind/DB-IP, -> IP2Location।*_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/json--deny-ip CIDR--group-by remote_ip,process,country: समूह सारांश आउटपुट--top N: समूह सारांश को शीर्ष N पंक्तियों तक सीमित करें--beacon-min-duration SECONDS: बीकॉन का पता लगाने के लिए न्यूनतम अवधि--beacon-min-packets COUNT: बीकॉन का पता लगाने के लिए न्यूनतम पैकेट गणना--beacon-min-interval SECONDS: बीकॉन का पता लगाने के लिए न्यूनतम औसत अंतराल--beacon-max-interval SECONDS: बीकॉन का पता लगाने के लिए अधिकतम औसत अंतराल--beacon-max-jitter SECONDS: बीकॉन का पता लगाने के लिए अधिकतम अंतराल जिटर--beacon-max-rate PPS: बीकॉन का पता लगाने के लिए अधिकतम पैकेट प्रति सेकंड--pattern-high-jitter SECONDS: यादृच्छिक पैटर्न के लिए अंतराल जिटर थ्रेसहोल्ड--pattern-repeat-destination COUNT: बार-बार आने वाले गंतव्य को चिह्नित करने के लिए न्यूनतम कनेक्शन--pattern-max-byte-jitter BYTES: स्थिरता के लिए अधिकतम बाइट आकार सीमा--dns-pattern-min-queries COUNT: पैटर्न चिह्नित करने के लिए न्यूनतम DNS क्वेरी--csv PATH: CSV आउटपुट पथ (डिफ़ॉल्ट: outbound_connections.csv)--json PATH: JSON आउटपुट पथ (डिफ़ॉल्ट: outbound_connections.json)--html PATH: HTML रिपोर्ट आउटपुट पथ--pcap-out PATH: कैप्चर किए गए पैकेट को pcap में लिखें--output-dir PATH: सभी आउटपुट फ़ाइलों को इस निर्देशिका में लिखें--no-console: कंसोल तालिका आउटपुट अक्षम करें--no-progress: प्रगति आउटपुट अक्षम करें--log-json: चेतावनियों/त्रुटियों को JSON पंक्तियों के रूप में stderr पर उत्सर्जित करें--track-bytes: उपलब्ध होने पर प्रति कनेक्शन कुल बाइट्स ट्रैक करें--geoip-db PATH: GeoIP डेटाबेस पथ (.mmdb या IP2Location .BIN)--geoip-db-type {auto,maxmind,dbip,ip2location}: GeoIP DB प्रकार (डिफ़ॉल्ट: auto)--geoip-online {ipapi,ip-api,ipinfo}: मुफ़्त ऑनलाइन GeoIP सेवा का उपयोग करें (दर-सीमित)--geoip-online-token TOKEN: ऑनलाइन GeoIP प्रदाता के लिए API टोकन (उदा. IPinfo)--geoip-cache-path PATH: ऑनलाइन GeoIP कैश JSON पथ ओवरराइड करें--geoip-timeout SECONDS: ऑनलाइन GeoIP अनुरोध टाइमआउट (डिफ़ॉल्ट: 3.0)--geoip-retries COUNT: ऑनलाइन GeoIP पुनः प्रयास प्रयास (डिफ़ॉल्ट: 2)--no-dns: रिवर्स DNS लुकअप अक्षम करें--dns-timeout SECONDS: DNS लुकअप टाइमआउट (डिफ़ॉल्ट: 2.0)last_seensourcebyte_count (जब --track-bytes सक्षम हो)pattern_reasonbyte_minbyte_maxbyte_range--track-bytesdns_query, query_count, resolver IP/पोर्ट, पैटर्न विवरण, और
byte_min/byte_max/byte_range (--track-bytes के साथ).mmdb.BINUS) लौटाता है।--geoip-db छोड़ा गया है, तो remote_country कॉलम खाली छोड़ दिया जाता है जब तक कि --geoip-online का उपयोग न किया जाए।--geoip-db और --geoip-online दोनों सेट हैं, तो डेटाबेस का उपयोग किया जाता है।--filter-port रिमोट पोर्ट (आउटबाउंड गंतव्य) पर लागू होता है।--track-bytes byte_count कॉलम जोड़ता है और आकार-स्थिरता पैटर्न सक्षम करता है।