
Windows ईवेंट लॉग को विज़ुअलाइज़ और विश्लेषण करके दुर्भावनापूर्ण Windows लॉगऑन की जांच करें
LogonTracer v2 विंडोज एक्टिव डायरेक्टरी ईवेंट लॉग को विज़ुअलाइज़ और विश्लेषण करके दुर्भावनापूर्ण लॉगऑन की जांच करने का एक उपकरण है। यह उपकरण लॉगऑन-संबंधित ईवेंट में पाए गए होस्ट नाम (या IP पता) और खाता नाम को जोड़ता है और इसे ग्राफ के रूप में प्रदर्शित करता है। इस तरह, यह देखना संभव है कि किस खाते में लॉगिन प्रयास होता है और किस होस्ट का उपयोग किया जाता है।
यह उपकरण विंडोज लॉगऑन से संबंधित निम्नलिखित ईवेंट आईडी को विज़ुअलाइज़ कर सकता है।
| ईवेंट आईडी | विवरण |
|---|---|
| 4624 | सफल लॉगऑन |
| 4625 | लॉगऑन विफलता |
| 4662 | किसी ऑब्जेक्ट पर कोई कार्रवाई की गई |
| 4672 | विशेष विशेषाधिकार सौंपें |
| 4719 | सिस्टम ऑडिट नीति बदली गई |
| 4720 | एक उपयोगकर्ता खाता बनाया गया |
| 4726 | एक उपयोगकर्ता खाता हटाया गया |
| 4728 / 4732 / 4756 | सुरक्षा-सक्षम समूह में एक सदस्य जोड़ा गया |
| 4729 / 4733 / 4757 | सुरक्षा-सक्षम समूह से एक सदस्य हटाया गया |
| 4768 | केरबेरोस प्रमाणीकरण (TGT अनुरोध) |
| 4769 | केरबेरोस सेवा टिकट (ST अनुरोध) |
| 4776 | NTLM प्रमाणीकरण |
| 5137 | एक निर्देशिका सेवा ऑब्जेक्ट बनाया गया |
| 5141 | एक निर्देशिका सेवा ऑब्जेक्ट हटाया गया |
अधिक विवरण निम्नलिखित दस्तावेज़ों में वर्णित हैं:

LogonTracer v2.0 OpenAI GPT मॉडल का उपयोग करके एक AI विश्लेषण इंजन को एकीकृत करता है जो पारंपरिक नियम-आधारित दृष्टिकोणों से परे बुद्धिमान खतरे का पता लगाने में सक्षम बनाता है।
LogonTracer ईवेंट लॉग से दुर्भावनापूर्ण होस्ट और खातों का पता लगाने के लिए PageRank, Hidden Markov Model, और ChangeFinder का उपयोग करता है।

LogonTracer के साथ, ईवेंट लॉग को कालानुक्रमिक क्रम में प्रदर्शित करना भी संभव है।

Python 3.9 या बाद का संस्करण (3.12 अनुशंसित)
Neo4j 5.x (सामुदायिक या एंटरप्राइज़)
OpenAI API कुंजी (वैकल्पिक — केवल AI विश्लेषण सुविधाओं के लिए आवश्यक)
Python मॉड्यूल
numpy
evtx
lxml
scipy
changefinder
flask
hmmlearn>=0.2.8
scikit-learn
elasticsearch-dsl>=7.0.0,<8.0.0
pyyaml
flask-sqlalchemy
flask-login
flask_wtf
flask-limiter
wtforms
GitPython
pysigma>=0.11.0
pysigma-backend-sqlite
openai>=1.0.0
aiohttp
neo4j
git clone https://github.com/JPCERTCC/LogonTracer.git
cd LogonTracer
pip3 install -r requirements.txt
Neo4j डाउनलोड करें और प्रारंभ करें। प्रारंभिक पासवर्ड सेट करें और Bolt पोर्ट (डिफ़ॉल्ट: 7687) नोट करें।
vi config/config.yml
मुख्य सेटिंग्स:
settings:
logontracer:
WEB_PORT: "8080"
default_user: "neo4j" # डिफ़ॉल्ट LogonTracer खाते के लिए Neo4j उपयोगकर्ता नाम
default_password: "password" # पहले रन से पहले इसे बदलें
neo4j:
NEO4J_USER: "neo4j"
NEO4J_PASSWORD: "password" # आपका Neo4j पासवर्ड
NEO4J_SERVER: "localhost"
WS_PORT: "7687"
python3 logontracer.py --run
अपना ब्राउज़र http://localhost:8080 पर खोलें।
python3 logontracer.py -e <path/to/Security.evtx> -z <UTC ऑफ़सेट> -s <Neo4j सर्वर> -u <उपयोगकर्ता> -p <पासवर्ड>
python3 logontracer.py -x <path/to/event.xml> -z <UTC ऑफ़सेट> -s <Neo4j सर्वर> -u <उपयोगकर्ता> -p <पासवर्ड>
python3 logontracer.py --es -s <Neo4j सर्वर> -u <उपयोगकर्ता> -p <पासवर्ड> --es-server <ES होस्ट:पोर्ट>
आयात के दौरान Sigma नियम डिटेक्शन चलाने के लिए --sigma फ़्लैग जोड़ें:
python3 logontracer.py -e <path/to/Security.evtx> -z 9 -s localhost -u neo4j -p password --sigma
python3 logontracer.py -e <path/to/Security.evtx> -z 9 -s localhost -u neo4j -p password --add
वेब एप्लिकेशन प्रारंभ करने के बाद, बाएं साइडबार में Upload Event Log पर क्लिक करें। आप यह कर सकते हैं:

Sigma स्कैनिंग सक्षम करके अपलोड करने के बाद, या API के माध्यम से पुनर्स्कैन ट्रिगर करने के बाद, परिणाम देखने के लिए साइडबार में Sigma Scan Results पर क्लिक करें।








Neo4j एंटरप्राइज़ संस्करण के साथ, LogonTracer कई स्वतंत्र जांच मामलों का समर्थन करता है — प्रत्येक एक अलग Neo4j डेटाबेस में संग्रहीत होता है।
docker run \
--detach \
--publish=7474:7474 --publish=7687:7687 --publish=8080:8080 \
-e LTHOSTNAME=<IP पता> \
jpcertcc/docker-logontracer
cd docker-compose
docker compose build
docker compose up -d
cd docker-compose-with-nginx
docker compose build
docker compose up -d
cd docker-compose-with-elasticstack
docker compose build
docker compose up -d
निम्नलिखित YouTube वीडियो दिखाता है कि LogonTracer का उपयोग कैसे करें।
अधिक जानकारी के लिए, कृपया LogonTracer विकि देखें।
| विकल्प | विवरण |
|---|
-r, --run | वेब एप्लिकेशन प्रारंभ करें |
-o PORT | वेब एप्लिकेशन पोर्ट (डिफ़ॉल्ट: 8080) |
--host HOST | बाइंड पता (डिफ़ॉल्ट: 0.0.0.0) |
-e EVTX [...] | EVTX फ़ाइल(एँ) आयात करें |
-x XML [...] | XML ईवेंट लॉग फ़ाइल(एँ) आयात करें |
-s SERVER | Neo4j सर्वर पता (डिफ़ॉल्ट: localhost) |
-u USER | Neo4j उपयोगकर्ता नाम (डिफ़ॉल्ट: neo4j) |
-p PASSWORD | Neo4j पासवर्ड |
--wsport PORT | Neo4j Bolt पोर्ट (डिफ़ॉल्ट: 7687) |
-z UTC | टाइमज़ोन ऑफ़सेट (जैसे JST के लिए 9) |
-f DATE | इस डेटटाइम से लॉग पार्स करें (जैसे 2024-01-01T00:00:00) |
-t DATE | इस डेटटाइम तक लॉग पार्स करें |
--add | डेटाबेस साफ़ किए बिना डेटा जोड़ें |
--delete | आयात करने से पहले डेटाबेस साफ़ करें |
--sigma | आयात के दौरान Sigma नियम स्कैनिंग चलाएं |
--sigma-only | केवल Sigma स्कैन चलाएं (कोई Neo4j प्रसंस्करण नहीं) |
--sigma-rules PATH | Sigma नियम फ़ोल्डर का पथ (डिफ़ॉल्ट: sigma) |
--es | Elasticsearch से डेटा आयात करें |
--postes | विश्लेषण परिणाम Elasticsearch पर भेजें |
--es-server HOST:PORT | Elasticsearch सर्वर |
--es-index INDEX | Elasticsearch इंडेक्स (डिफ़ॉल्ट: winlogbeat-*) |
--es-prefix PREFIX | Elasticsearch ईवेंट उपसर्ग (डिफ़ॉल्ट: winlog) |
--case NAME | Neo4j एंटरप्राइज़ मल्टी-डेटाबेस मोड के लिए केस नाम |
-c FILE | कॉन्फ़िगरेशन फ़ाइल पथ (डिफ़ॉल्ट: config/config.yml) |
--create_user USER | एक नया Neo4j उपयोगकर्ता बनाएं |
--create_password PASS | नए Neo4j उपयोगकर्ता के लिए पासवर्ड |
--role ROLE | नए उपयोगकर्ता के लिए भूमिका (admin, architect, reader) |
--delete_user USER | एक Neo4j उपयोगकर्ता हटाएं |
-l, --learn | मशीन लर्निंग विश्लेषण चलाएं (हिडेन मार्कोव मॉडल) |