Menu Zavrieť

Kategória: Network security

Scirius CE – Inštalácia

Scirius CE – Inštalácia

  • Autor: Miroslav Kohútik
  • Operačný systém : Ubuntu 16.04

Scirius Community Edition je webové rozhranie určené pre správu Suricata pravidiel. Stará sa o súbor rules a aktualizácie s ním spojených súborov.

V tomto návode si ukážeme ako nainštalovať Scirius Community Edition na Operačnom systéme Ubuntu 16.04.
Pred tým než začneme inštalovať Scirius CE, musíme mať nainštalovaný IDS Suricata. Návod na inštaláciu Suricaty sa nachádza tu.

Moloch upgrade

Moloch Upgrade

  • Autori: Tomáš Mokoš, Miroslav Kohútik

Upgrade Molocha na najnovšiu verziu nie je možný z akejkoľvek verzie. Pri niektorých starších verziách vyžaduje postupnú inštaláciu novších verzií v presnom poradí.

Upgrade na Moloch 1.1.0

Najstaršia verzia Molocha, ktorú sme mali nasadenú bola verzia 0.50.
Upgrade Molocha z verzie 0.50 na verziu 1.0 a vyššie vyžaduje, vzhľadom na veľké zmeny vo verzii 1.0, reindexovanie všetkých session dát. Reindexovanie sa deje na pozadí  po upgrade a preto trvá iba chvíľu, kým je server znova online.

Moloch v1.7.0 – Inštalácia systému

Inštalácia systému Moloch

  • Autor : Miroslav Kohútik
  • Testovaná verzia : 1.7.0
  • Operačný systém : Ubuntu 16.04

Inštalácia Molocha nie je triviálna, preto sme pripravili tento návod ako nasadiť systém Moloch v cloudovom prostredí.

Príprava pred inštaláciou

Pred inštaláciou samotného Molocha musíme nainštalovať databázu Elasticsearch a vykonať nasledovné zmeny v konfigurácii operačného systému.

Moloch – Možnosti použitia Molocha


Možnosti použitia Molocha

  • Autor : Tomáš Mokoš

Nástroj Moloch poskytuje rôzne príklady využitia, pričom ale množina môže byť pre jednotlivých používateľov aj širšia, pokiaľ nájdu pre Molocha aj iné uplatnenie, ako je tu uvedené.

  • DOS útoky – Analyzovanie spojení, ktoré sú podozrivé ako útoky pre odopretie služby.
  • Geolokácia – Identifikovanie krajiny pri spojení.
  • Access Intelligence – Pomáha analyzovať oprávnený/neoprávnený prístup k systémovým zdrojom, aplikáciám, serverom, prevádzkovaniu systému a funkcií. Môžeme tiež vykonať hĺbkovú analýzu pomocou značkovania (angl. taging) konkrétneho systému, aplikácie alebo služby, ktoré sú spustené v sieti.
  • Využitie portov pri spojeniach – množstvo spojení, ktoré boli spojené s konkrétnym portom.
  • Využitie URL pri spojeniach – množstvo spojení, ktoré boli spojené s konkrétnou URL pomocou dopytov.
  • Objemy dát

Na príklade ukážeme využitie Molocha pri analýze CICIDS 2017 datasetu, kde postupne analyzujeme DDoS Hulk útok.
Najskôr si prefiltrujeme prevádzku, kde pomocou filtra tags == CICIDS2017_WEDNESDAY && ip.dst == 192.168.10.50 získamé toky s cieľovou adresou webservera zo dňa útoku.

Moloch1

Násladne v záložke SPI Graph môžeme vidieť nastavením SPI Graph na ip.src zdrojové IP adresy, ktoré komunikovali s týmto webserverom.
Ako môžeme vidieť IP adresa 172.16.0.1 generovala z 85268 relácií práve 84315, z čoho môžeme usúdiť, že táto adresa predstavuje útočníka.

Moloch2

V záložke SPI View vidíme, že komunikácia neprichádzala iba z jedného portu ale bolo ich niekoľko tisíciek a takmer všetky mierili na port 80.
Ďalej vidíme, že drvivá väčšina komunikácia bola smerovaná na rôzne URI z čoho môžeme usúdiť, že to bol útok Hulk vzhľadom na to, že je charakteristický generovaním náhodných random URI, čím spôsobí vyťaženie zdrojov web servera a tým jeho nedostupnosť.
Moloch3Moloch4

Sources

Zdroje

      • CRZP Komplexný systém pre detekciu útokov a archiváciu dát – Moloch

       

Moloch – Popis nástrojov pre sledovanie zaťaženia systému


Popis nástrojov pre sledovanie zaťaženia systému

  • Autor : Tomáš Mokoš, Marek Brodec

Nload

Verzia : 0.7.4

Je konzolová aplikácia ktorá monitoruje sieťovú pre vádzku a rýchlosť toku v reálnom čase. Získané štatistiky zobrazuje v dvoch grafoch(1 pre uplink a 1 pre downlink). Poskytuje podrobnejšie informácie o celkovom množstve prenesených dát a priemernej, aktuálnej, minimálnej a maximálnej rýchlosti. Toto rozšírenie sme používali v najjednoduchšom režime nload interface, existuje však mnoho rozšírení zobrazení a doplňujúcej konfigurácie pomocou rôznych prepínačov o ktorých sa je možné dočítať v man page aplikácie $ man nload.

Inštalácia:

  • stiahnutie balíčka
apt-get install nload 

Použitie:

  • spustenie nástroja na rozhraní enp0s9
nload enp0s9 

Ukončenie: Ctrl+c alebo „q“

NLoad

Iftop

Verzia : 1.25

Iftop je aplikácia, ktorá monitoruje sieťovú prevádzku na pomenovanom rozhraní alebo na prvom rozhraní ktoré nie je špecifikované a zobrazuje tabuľku s aktuálnymi informáciami o toku v pároch teda zdrojová vs cieľová komunikácia. Opäť je možné použiť rôzne rozšírujúce možností a filtre pre požadované siete a podobne. O týchto možnostiach je možné dočítať sa v manuálovej stránke k nástroju $ man iftop.

Inštalácia:

  • stiahnutie balíčka
apt-get install iftop 

Použitie:

  • spustenie nástroja s počúvaním na rozhraní enp0s9 v promiskuitnom režime (-p) , pretože monitorujeme rozhranie ktorým prichádza zrkadlená prevádzka, a teda chceme aby sme sledovali aj pakety, ktorých cieľová adresa nie je naša IP adresa poprípade broadcast.
iftop -i enp0s9 -p  

Iftop

Bigdesk

Verzia : 2.5.0

Bigdesk je najjednoduchší dostupný plugin, ktorý veľmi uľahčuje sledovanie toho čo aktuálne Elasticsearch robí.

Inštalácia pluginu pozostávala z viacerých krokov:

  • presun do inštalačného priečinka elasticsearchu
cd /data/moloch/elasticsearch-2.4.0/bin  
  • inštalácia samotného pluginu s ignorovaním pravidiel prístupu užívateľov(-b) a zobrazením priebehu inštalácie na terminál(-v)
./plugin install https://github.com/lukas-vlcek/bigdesk/archive/master.zip -v -b 
  • prístup k danému pluginu pomocou IP adresy a portu na ktorých je v závislostí od konfigurácie spustený Elasticsearch klaster(cluster).

http://IP_adresa:číslo_portu/_plugin/bigdesk/

Ukážka grafov na ktorej je možné vidieť počet alokovaných GB RAM pamäte pre Elasticsearch a počet aktuálne využívaných GB za obdobie posledných 5 min. Toto obdobie je možné meniť v intervale od 10 sekúnd po max 1hodinu, rovnako je možné určiť interval aktualizácie informácií zaradených do grafu od 1 po 30 sekúnd.

Bigdesk1

V nasledujúcej ukážke je možné vidieť využitie procesora a RAM pamäte.V tomto prípade sa jedna o zaťaženie celkové, spôsobené všetkými bežiacimi procesmi nie len procesom Elasticsearch inštancie. Keďže swapovanie sme pri inštalácií Molocha vypli graf je prázdny.

Bigdesk2

V poslednej ukážke môžeme vidieť rôzne štatistiky prehľadávania a indexovania v dátach jednak v počtoch ale tiež v časových jednotkách.

Bigdesk3

Head

Verzia : 0.1.3

Head je front end Web API, ktoré umožňuje prehliadanie, vyhľadávanie a interakciu s klastrom Elasticsearch. Umožňuje jednak pohľad na stav elasticsearchu ale tiež prácu s jednotlivými dennými dávkami indexov.

Inštalácia pluginu ma viacero alternatív, uvediem dve najpoužívanejšie:

  • stiahnutie inštalačného repozitára pluginu
git clone git://github.com/mobz/elasticsearch-head.git 
  • presun do inštalačného priečinka
cd elasticsearch-head  
  • spustenie inštalácie
npm install 
  • spustenie pluginu
npm run start  
  • prístup k danému pluginu pomocou IP adresy a portu na ktorých je v závislostí od konfigurácie spustený Elasticsearch klaster(cluster).

http://IP_adresa:číslo_portu/_plugin/head/

alebo

  • spustenie inštalácie samotného pluginu
sh /data/moloch/elasticsearch-2.4.0/bin/plugin install mobz/elasticsearch-head 
  • prístup k danému pluginu pomocou IP adresy a portu na ktorých je v závislostí od konfigurácie spustený Elasticsearch klaster(cluster).

http://IP_adresa:číslo_portu/_plugin/head/

Head

Bigdesk a Elasticsearch Head pluginy nie sú funkčné od Elasticsearch verzie 5.x, kvôli zmenám v architektúre Elasticsearch databázy.

Zdroje

  • Report Projekt 1-2 – Marek Brodec

Moloch – Web interface specification


Web interface specification

  • Author : Tomáš Mokoš

Viewer is a feature of Moloch that makes processing of captured data easier with the use of web browser GUI. Viewer offers access to numerous services, most notably :

  • Sessions
  • SPI View
  • SPI Graph
  • Connections
  • Upload
  • Files
  • Users
  • Stats

Sessions

Main tab illustrated below contains:

  • Search field – here you can enter different search filtering rules. Being similar to Wireshark, it enables, for example, to search results containing source/destination IP address (ip.dst== X.X.X.X && ip.src== X.X.X.X), port(port.dst 80 || port.src 80), web URL (http.uri == www.foo.com), time of delivery, etc.
  • Country map – results are cross referenced with GeoIP database and the number of occurrences from a given country is displayed on a map using shades of the color purple.
  • Occurrence frequency chart – this bar chart represents traffic in a given time period. the y-axis can be set to represent number of sessions, packets or bytes of data.

Okno vyhladavania

  • Record window – displays individual connections and their parameters, including times of beginning and end of session, source and destination IP addresses, source and destination port, packet count and session size in bytes. After unpacking, the session can be exported to a PCAP file, where you can add your own tag and see detailed information about the nature and origin of the packet. A DNS request is Illustrated below

Okno zaznamov

SPI View

SPI (Session Profile Information) View is used to take a deeper look at connection metrics. Instead of writing queries manually, queries can be expanded by clicking on the respective actions in SPI view, which adds the requested item to a query by using AND or AND NOT operators. This tab also provides a quick view of occurrence frequency of all items requested the user. Furthermore, SPI view also offers a quick summary of monitored IP addresses in a given time period, HTTP response codes, IRC NICKs/channels, etc.

SPI View

SPI Graph

SPI Graph provides user with visualization of any given item contained in SPI View. This tab is very useful for displaying activity for a type of SPI, as well as in-depth analysis. Illustration below displays the demand for HTTP with http.method view selected. Displayed bar charts represent the amount of sessions/packets/databytes captured. To the right of each chart, after clicking View Map button, a map containing origins of the sessions is displayed. Methods GET, POST, HEAD OPTIONS and CONNECT are also displayed below. Maximum number of charts displayed can be set by the Max Elements field, with the default value being 20 and the maximum value being 500. Charts can also be sorted by number of sessions or by name. Moloch also offers a refresh rate setting from 5 to 60 seconds.

SPI Graph

Connections

Connections tab provides user with a tree graph rooted in a source or destination node of user’s own selection. Illustration below displays relations between source IP address and destination IP address and port, with 500 sessions displayed using the query size setting. Minimum query size is 100 and maximum size is 100000. Furthermore, minimum number of connections can be set to values from 1(like in the case below) to 5. Node dist defines the distance of nodes in pixels. Any node in the graph can be moved after clicking the Unlock button. Source nodes are marked in violet and destination nodes are marked in yellow. By clicking a node, information about the node is displayed: Type (source/destination), Links (number of connected nodes), number of sessions, bytes, databytes and packets. Nodes can also be hidden by clicking Hide Node. This tab is appropriate for users who prefer node data analysis over visualization.

Connections

Upload

This tab is used to import PCAP files selected by clicking on Search button and clicking upload. Tags (separated by commas) can be appended to the imported packets, however, this option must be enabled in data/moloch/etc/config.ini. The Upload option is in experimental state and can be enabled by the following command

/data/moloch/bin/moloch-capture --copy -n {NODE} -r {TMPFILE} 

NODE is the node name, TMPFILE is the file to be imported, CONFIG is the configuration file and TAGS are the tags to be appended.

Files

Files tab displays the table of archived PCAP files. Details include: file number, node, file name, whether the file is locked, upload date and file size. File size (in GB) is defined in data/moloch/etc/config.ini using the maxFileSizeG parameter. If a file is locked, Moloch cannot delete it and it must be deleted manually.

Users

Users tab defines access rights to individual users. It allows to add/remove user accounts and to edit their passwords.

Stats

Stats tab provides visual representation and table display of metrics for each node. Other display options can also be used:

Packets/Sec Sessions/Sec Active TCP Sessions Total Dropped/Sec Free Space (MB)
Free Space (%) Fragments Queue Active UDP Sessions Input Dropped/Sec Bytes/Sec
Memory Active Fragments Active ICMP Sessions Active Sessions Bits/Sec
ES Queue Overload Dropped/Sec Disk Queue CPU Memory (%)
Waiting Queue Fragments Dropped/Sec Closing Queue Packet Queue ES Dropped/Sec

Statistics for each node display: current time on the node, number of sessions, remaining free storage, CPU usage, RAM usage, number of packets in queue, number of packets per second, number of bytes per second, number of lost packets per second, number of packets dropped due to congestion and number of packets dropped by Elasticsearch per second. Charts depicting visualization of these stats can be displayed by clicking the plus(+) icon. Elasticsearch statistics contain number of files saved under unique ID, HDD size, Heap size, OS usage, CPU usage, bytes read per second, bytes written per second and number of searches per second.

  • CRZP Komplexný systém pre detekciu útokov a archiváciu dát – Moloch
  • Report Projekt 1-2 – Marek Brodec

Moloch – Port-Mirror


Port-Mirror

  • Autor : Tomáš Mokoš, Marek Brodec

Port-Mirror alebo zrkadlenie portov sa používa na sieťovom prepínači pre posielanie kópií sieťových paketov, ktoré je možné vidieť na jednom porte prepínača (alebo celej VLAN) pre monitorovanie siete pripojenej na inom porte prepínača. Port-Mirror sa bežne používa pre sieťové zariadenia, ktoré vyžadujú monitorovanie prevádzky v sieti, ako je napríklad systém detekcie narušenia, pasívna sonda alebo technológie real user management (RUM), ktorý sa používa na podporu riadenia výkonu aplikácií (APM).

V našom prípade nám katedra poskytla prepínač Cisco Catalyst 2960, ktorý sme nakonfigurovali tak, aby nám všetky dátové toky prechádzajúce rozhraním, ku ktorému sú pripojené zariadenia v laboratórií ďalej k Internetu, boli odzrkadlené na rozhranie, na ktorom je pripojený náš server so systémom Moloch. Z toho vyplýva, že aktuálne monitorujeme a archivujeme všetku prevádzku, ktorá prichádza alebo odchádza z laboratórií katedry.

Switch(config)#monitor session 1 source fa0/1 both  

– Určuje interface zdroja fa 0/1 a parameter both určuje oba smery.

Switch(config)#monitor session 1 destination interface fa0/24 

– Určuje cieľové rozhranie, na ktoré bude prevádzka zrkadlená.

Port-Mirror

Zdroje

  • CRZP Komplexný systém pre detekciu útokov a archiváciu dát – Moloch

Moloch – Inštalácia systému


Inštalácia systému Moloch

  • Autori : Tomáš Mokoš, Marek Brodec
  • Testovaná verzia : 0.20.0
  • Operačný systém : Ubuntu 14.04.5

Poznámka: tento článok je zastaralý, pre aktuálnejšiu verziu navštívte Moloch v1.7.0– Inštalácia systému

Inštalácia systému nie je triviálna, preto sme pripravili nasledovný návod ako sfunkčniť systém v cloudovom prostredí. Keďže sa serveru prideľuje IP adresa dynamicky pomocou DHCP, nie je potrebné meniť konfiguračný súbor interface-ou.

Na začiatok je potrebné pridať repozitáre pre balíček Java a následne ho nainštalovať.

add-apt-repository ppa:webupd8team/java 
apt-get install oracle-java8-installer 

Nainštalujeme potrebné balíčky.

apt-get install wget curl libpcre3-dev uuid-dev libmagic-dev pkg-config g++ flex bison zlib1g-dev libffi-dev gettext libgeoip-dev make libjson-perl libbz2-dev libwww-perl libpng-dev xz-utils libffi-dev 

Je potrebné stiahnuť si Node.js pričom doporučujeme verziu 6.x vzhľadom na to, že verzia 8.x nie je v súčasnosti podporovaná.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash – 
sudo apt-get install -y nodejs 

Stiahneme a nainštalujeme Elasticsearch.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.3.deb
sudo dpkg -i elasticsearch-5.5.3.deb

Nakopírujeme si Moloch na náš server.

git clone https://github.com/aol/moloch.git 

Využijeme inštaláciu pomocou dostupného skriptu.

./easybutton-build.sh 

V predchádzajúcich verziách bolo potrebné upraviť pravidlá firewallu.

iptables -A INPUT -m tcp -p tcp --dport 8005 -j ACCEPT 
iptables -A INPUT -m udp -p udp --dport 8005 -j ACCEPT 
iptables -A OUTPUT -m tcp -p tcp --sport 8005 -j ACCEPT 
iptables -A OUTPUT -m udp -p udp --sport 8005 -j ACCEPT 
iptables -A INPUT -m tcp -p tcp --dport 9200 -j ACCEPT 
iptables -A INPUT -m udp -p udp --dport 9200 -j ACCEPT 
sudo su -c 'iptables-save > /etc/iptables/rules.v4' 

Pomocou nasledujúcich príkazov sa doinštalujú ďalšie potrebné súbory pre Capture hosta a nakonfiguruje sa interface, na ktorom bude systém počúvať. Pri Elasticsearch sa volí no, vzhľadom na to, že sme si ho nainštalovali predtým a Elasticsearch, ktorý poskytuje tento skript je len v demo verzii.

make install 
make config 

Presunieme sa do adresára s Viewer-om, aktualizujeme Node.js a spustíme skript na vytvorenie účtu pre webové rozhranie.

cd /data/moloch/viewer 
npm update 
/data/moloch/bin/moloch_add_user.sh admin "Admin User" PASSWORD --admin 

Následne vytvoríme symbolickú linku v adresári s Viewer-om.

ln -sf /usr/bin/nodejs node 

Spustíme jednotlivé komponenty.

service elasticsearch start 
service molochcapture start
service molochviewer start

Pokiaľ sme všetko urobili správne mali by sme byť schopní pripojiť sa na webové rozhranie na adrese http://IPADDRESSOFINTERFACE:8005

Zdroje:

  • Github Informácie o systéme Moloch