
EXIST is a web application for aggregating and analyzing cyber threat intelligence.
⚠️ यह रिपॉजिटरी अनुरक्षित / संग्रहीत है। सुरक्षा मुद्दों को ठीक नहीं किया जाएगा।
EXIST एक वेब एप्लिकेशन है जो CTI (साइबर खतरा खुफिया) को एकत्र और विश्लेषण करने के लिए है।
EXIST निम्नलिखित सॉफ़्टवेयर द्वारा लिखा गया है।
EXIST एक वेब एप्लिकेशन है जो CTI को एकत्र करने के लिए है ताकि सुरक्षा ऑपरेटर संबंधित संकेतकों के आधार पर घटनाओं की जांच कर सकें।
EXIST स्वचालित रूप से कई CTI सेवाओं और Twitter से उनके APIs और फ़ीड के माध्यम से डेटा प्राप्त करता है। आप वेब इंटरफ़ेस और API के माध्यम से संकेतकों को क्रॉस-सर्च कर सकते हैं।
यदि आपके पास ग्राहकों के नेटवर्क व्यवहार को लॉग करने वाले सर्वर हैं (जैसे, DNS और HTTP प्रॉक्सी सर्वरों के लॉग), तो आप EXIST पर डेटा से सहसंबंध बनाकर लॉग का विश्लेषण करने में सक्षम होंगे। यदि आप API का उपयोग करके कुछ प्रोग्राम लागू करते हैं, तो आप स्वचालित CTI-संचालित सुरक्षा संचालन केंद्र का एहसास करेंगे।

बस सर्च फॉर्म में डोमेन टाइप करें।

बस सर्च फॉर्म में url टाइप करें।

बस Threat Hunter या Twitter Hunter में कीवर्ड जोड़ें।

ट्रैकर स्वचालित रूप से कई CTI सेवाओं से डेटा फ़ीड एकत्र करता है।
हंटर हमें कई CTI सेवाओं और Twitter से डेटा एकत्र करने के लिए क्वेरी सेट करने में सक्षम बनाता है।
लुकअप कई इंटरनेट सेवाओं (जैसे whois) से विशिष्ट जानकारी (जैसे IP पता, डोमेन) से संबंधित जानकारी प्राप्त करता है।
ट्विटर ट्रैकर से ट्वीट्स पर एनोटेट करने का उपकरण।
EXIST डेटाबेस में संग्रहीत डेटा को वेब API द्वारा प्रदान करें।
इसके बाद मैं CentOS 7 या Ubuntu 18.04 LTS का वातावरण मानता हूँ। कृपया अन्य वातावरण में तैनात करते समय अपने जोखिम पर करें।
$ sudo pip install -r requirements.txt
$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
$ sudo yum install MariaDB-server MariaDB-client
$ sudo apt install mariadb-server mariadb-client
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
.env.example के संदर्भ में .env बनाएँ। और अपनी DB सेटिंग्स के अनुसार संपादित करें।Django के लिए गुप्त कुंजी .env फ़ाइल में लिखी जानी चाहिए।
पहले, कुंजी जनरेटर चलाएँ:
$ python keygen.py
(example)> 70mm6h)()h3r&*b9xq$e52=-7($p=5983gfoyz%$d-j-gd7u5@
और .env फ़ाइल में गुप्त कुंजी लिखें:
...
# EXIST Application Settings
EXIST_SECRET_KEY="70mm6h)()h3r&*b9xq$e52=-7($p=5983gfoyz%$d-j-gd7u5@"
...
$ python manage.py makemigrations exploit reputation threat threat_hunter twitter twitter_hunter news news_hunter vuln
$ python manage.py migrate
Reputation tracker, Celery कैश सर्वर बैकएंड के रूप में redis का उपयोग करता है।
$ sudo yum install redis
$ sudo systemctl start redis
$ sudo systemctl enable redis
$ sudo apt install redis-server
$ sudo systemctl start redis-server
$ sudo systemctl enable redis-server
Reputation tracker, Celery का उपयोग असिंक्रोनस कार्य कार्य कतार के रूप में करता है।
# Name of nodes to start
# here we have a single node
CELERYD_NODES="w1"
# or we could have three nodes:
#CELERYD_NODES="w1 w2 w3"
# Absolute or relative path to the 'celery' command:
CELERY_BIN="/path/to/your/celery"
# App instance to use
# comment out this line if you don't use an app
CELERY_APP="intelligence"
# or fully qualified:
#CELERY_APP="proj.tasks:app"
# How to call manage.py
CELERYD_MULTI="multi"
# Extra command-line arguments to the worker
CELERYD_OPTS="--time-limit=300 --concurrency=8"
# - %n will be replaced with the first part of the nodename.
# - %I will be replaced with the current child process index
# and is important when using the prefork pool to avoid race conditions.
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_LOG_LEVEL="INFO"
/etc/systemd/system/celery.service पर एक celery सेवा प्रबंधन स्क्रिप्ट बनाएँ। साथ ही, आपको अपना celery config पथ EnvironmentFile में सेट करना होगा।[Unit]
Description=Celery Service
After=network.target
[Service]
Type=forking
User=YOUR_USER
Group=YOUR_GROUP
EnvironmentFile=/etc/sysconfig/celery
WorkingDirectory=/path/to/your/exist
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
--pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
[Install]
WantedBy=multi-user.target
$ sudo mkdir /var/log/celery; sudo chown YOUR_USER:YOUR_GROUP /var/log/celery
$ sudo mkdir /var/run/celery; sudo chown YOUR_USER:YOUR_GROUP /var/run/celery
#Type Path Mode UID GID Age Argument
d /var/run/celery 0755 YOUR_USER YOUR_GROUP -
$ sudo systemctl start celery.service
$ sudo systemctl enable celery.service
$ python manage.py runserver 0.0.0.0:8000
नोट: मैं उत्पादन वातावरण में चलाते समय Nginx और uWSGI का उपयोग करने की अनुशंसा करता हूँ।
डेटाबेस में फ़ीड डालने के लिए स्क्रिप्ट scripts/insert2db/*/insert2db.py हैं।
$ python scripts/insert2db/reputation/insert2db.py
$ python scripts/insert2db/twitter/insert2db.py
$ python scripts/insert2db/exploit/insert2db.py
$ python scripts/insert2db/threat/insert2db.py
$ python scripts/insert2db/news/insert2db.py
$ python scripts/insert2db/vuln/insert2db.py
नोट: सूचना संग्रह को स्वचालित करने के लिए, उन्हें अपने cron में लिखें।
Twitter Hunter विशिष्ट कीवर्ड और उपयोगकर्ता ID वाले ट्वीट का पता लगा सकता है। और यदि आवश्यक हो तो आप slack को सूचित कर सकते हैं।
Threat Hunter विशिष्ट कीवर्ड वाले खतरे की घटनाओं का पता लगा सकता है। और यदि आवश्यक हो तो आप slack को सूचित कर सकते हैं।
EXIST VirusTotal API का उपयोग करता है।
नोट: यदि आपके पास निजी API कुंजी है तो आपको अधिक जानकारी मिलती है।
IP / Domain लुकअप GeoLite2 Database का उपयोग करता है।
URL लुकअप wkhtmltopdf और Xvfb का उपयोग करता है।
$ sudo yum install xorg-x11-server-Xvfb
यदि आप Ubuntu 18.04 LTS पर EXIST तैनात करते हैं, तो आप apt का उपयोग करके इन पैकेजों को स्थापित कर सकते हैं।
$ sudo apt install wkhtmltopdf xvfb
ट्वीट्स के लिए प्रशिक्षण डेटा बनाने हेतु एक एनोटेशन टूल। यह टूल मशीन लर्निंग शोधकर्ताओं के लिए है।



यदि आपको कोई भेद्यता मिलती है, तो कृपया हमें ईमेल करें।
इस उत्पाद में MaxMind द्वारा निर्मित GeoLite2 डेटा शामिल है, जो https://www.maxmind.com से उपलब्ध है।
MIT लाइसेंस © Cybersecurity Laboratory, NICT