Documente Academic
Documente Profesional
Documente Cultură
Perioada ...........................
CAPITOLUL I____________________________________________________5
Analiza modului în care au loc atacurile cibernetice din lumea reală, cât de
des au loc, tipurile de atacuri (de exemplu, rootkit-uri, troieni și exploit-uri) și
găsirea de modalități mai bune de a apărare împotriva unor astfel de atacuri.____5
Concluzii__________________________________________________________11
CAPITOLUL II:__________________________________________________13
B. Tipologie_____________________________________________________14
CAPITOLUL III__________________________________________________52
A. Introducere_____________________________________________________52
CAPITOLUL IV__________________________________________________59
CAPITOLUL V___________________________________________________64
CAPITOLUL VI__________________________________________________78
A. Introducere___________________________________________________78
B. Instalare si configurare__________________________________________81
Concluzii finale________________________________________________101
Pag.4
CAPITOLUL I
troienilor.
În ceea ce privește aria terminalelor mobile, un raport al F-Secure arăta că
84% din amenințări sunt reprezentate de către Troieni, principala motivare pentru
atacatori fiind una exclusiv bazată pe profit financiar. Totodată, utilizatorul trebuie să
fie atent și la modul cum operează în cadrul rețelelor de socializare. Acestea pot
constitui totodată modalități prin care creatorii de malware să ajungă la ținta dorită.
3. Injecție de cod
6. Denial of Service
precum băncile. Alte ținte sunt reprezentate de serviciile de plată online, rețelele de
socializare, furnizorii de servicii de internet, organizațiile non-profit, servicii de
coletărie sau site-urile unor sectoare guvernamentale.
8.Compromiterea informațiilor confidențiale
Concluzii
Referințe bibliografice:
prin utilizarea de spam, phishing, DDoS sau alte metode. Odată ce un atacator cade în
această capcană, honeypot-urile le permit administratorilor să obțină date valoroase
despre tipul de atacator, despre activitatea pe care a încercat-o și, în multe cazuri,
chiar să identifice atacatorul.
Scopul principal al tuturorhoneypot-uriloreste identificarea atacurilor
emergente împotriva diferitelor tipuri de software și colectarea rapoartelor pentru
analizarea și generarea datelor/informațiilor - care vor fi ulterior utilizate pentru a crea
tehnici de prevenire împotriva amenințărilor în rețea. În figura de mai jos avem
prezentat un model de schemă de rețea a unui honeypot.
B. Tipologie
Există atâtea tipuri de honeypot, câte tipuri de software. Deci crearea unei liste
definitivear fi destul de dificilă. Pe această listă am inclus câteva dintre cele mai
populare instrumente pentru honeypot-uri, care sunt, în experiența echipei de
cercetare din proiectul SAFEPic, un element indispensabil pentru toate echipele
albastre și roșii.
D.1.Honeypot-uriSSH (Secure Shell)
Kippo este foarte simplu pentru a începe în HoneyDrive. Pentru a porni Kippo,
deschidem un terminal și navigăm la / honeydrive / kippo / și executăm
start.sh. Apoi executăm unhoneypot SSH. A se vedea captura de ecran de mai
jos.
numele de gazdă. Accesăm directorul dvs. Kippo și edităm fișierul kippo.cfg. Găsim
următoarea linie și schimbăm numele de gazdă în funcție decomoditatea noastră.
Putem vedea exemplul din captura de ecran de mai jos.
Când atacatorul încearcă să se conecteze prin SSH pe serverul dvs., acesta va
fi prezentat cu numele de gazdă Banking-Server. Schimbați numele sistemului de
operare: Pentru a schimba numele sistemului de operare, accesați directorul Kippo și
editați fișierul / etc / problema. Modificați numele sistemului de operare după bunul
plac.
Succesele pe zi:
Pag.25
Această diagramă verticală de bare afișează cele mai de succes intrări pe zi
(Top 20) pentru sistemul special de hipo-uri. Numerele indică de câte ori au fost
acordate acreditări corecte de atacatori.
Număr de conexiuni pe IP unic:
Pag.26
Această diagramă verticală de bare afișează numărul de autentificări reușite de
la aceeași adresă IP (Top 20). Numerele indică de câte ori sursa particulară a
deschis o sesiune de succes.
Tabelul de mai sus afișează cele mai recente comenzi „wget” introduse de
atacatori în sistemul de honeypot.
Scripturi executate:
Tabelul de mai sus afișează cele mai recente scripturi executate de atacatori în
sistemul de honeypot.
Pag.30
Kippo-Malware în HoneyDrive este un script Python care va descărca toate
fișierele dăunătoare stocate ca adrese URL într-o bază de date Kippo SSH. Acest
lucru este util în situațiile în care v-ați pierdut fișierele sau s-a întâmplat ceva cu
serverul dvs., dar aveți în continuare DB-ul dvs. intact. Scriptul acceptă, de asemenea,
utilizarea proxy-ului HTTP pentru a-ți acoperi adresa IP de pe servere rău intenționate
și valori personalizate ale User-Agent.
cp cowrie.cfg.dist cowrie.cfg
După aceea, vom edita acest fișier modificând mai întâi numele de
gazdă, deoarece acest lucru îl va face pe atacator să creadă că este în serverul
nostru fără ca noi să știm:
Pag.36
Schimbați numele de gazdă de la svr04 la testserver5 la fel ca mai
jos:
Din netstat, putem vedea daemonul SSH și Telnet honeypot pe porturile 2222,
respectiv 2223. Apoi, trebuie să redirecționăm traficul porturilor 22 și 23 către porturile
2222 și 2223 folosind iptables:
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-
port 2222
iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223
Abordare generală:
acele cuvinte cheie (AKA „dork”) și le extrage în plus din cereri, extinzându-
și automat suprafața de atac. În consecință, rețelele dehoneypot devin din ce în
ce mai atractive cu fiecare nou atac încercat asupra lor.
Instalare: cd / opt /clonă sudo git https://github.com/mushorg/glastopf.git/cd
glastopf/instalare sudo python setup.py
Configurare:cd / opt / sudo mkdir myhoneypot/ cd myhoneypot/ sudo glastopf-
runner
Model testare Honeypot Glastopf:
sudo glastopf-runner
2013-03-14 08:34:08,129 (glastopf.glastopf) Initializing Glastopf using
"/opt/myhoneypot" as work directory
2013-03-14 08:34:08,130 (glastopf.glastopf) Connecting to main database
with: sqlite:///db/glastopf.db
2013-03-14 08:34:08,152 (glastopf.modules.reporting.auxiliary.log_hpfeeds).
Connecting to feed broker.
2013-03-14 08:34:08,227 (glastopf.modules.reporting.auxiliary.log_hpfeeds).
Connected to hpfeed broker.
2013-03-14 08:34:11,265 (glastopf.glastopf) Glastopf started and privileges
dropped
2013-03-1408:34:32,853 (glastopf.glastopf) 192.168.10.85 requested GET/ on
192.168.10.102
NODEPOT: Această aplicație web poate fi concentrată pe Node.js și permite
să o rulăm în hardware limitat, cum ar fi Raspberry Pi / Cubietruck. Dacă executăm o
aplicație Node.js și căutăm să obținem informații valoroase despre atacurile primite și
să descoperim cât de vulnerabili suntem, atunci acesta este unul dintre cele mai
relevantehoneypoturi pentru noi. Disponibil pe cele mai moderne sisteme Linux,
rularea acestuia depinde doar de câteva cerințe minimale de hardware.
Ce?
Blackhole for Bad Bots este un plugin simplu care creează o capcană de
tip honeypot pentru boții răi. Include un link ascuns către site-ul dvs. WordPress
și adăugați o linie în fișierul robots.txt pentru a interzice roboților să urmărească
linkul ascuns. Orice boți care ignoră sau nu ascultă regula robots.txt vor accesa
Pag.42
Ce?
StopBadBots blochează boții răi web de a vizita site-ul dvs. WordPress. Nu
folosește roboți.txt și .htaccess. Baza de date include peste 2570 de boți și se
actualizează automat. Puteți adăuga manual boturi nelimitate și opțiunea de a activa /
dezactiva blocarea pentru fiecare bot.
De ce?
Boții afectează performanțele site-ului dvs. web, vă fură conținutul, consumă
Pag.43
version: '2'
services:
wordpot:
image: stingar/wordpot:1.8
volumes:
- ./wordpot.sysconfig:/etc/default/wordpot
Pag.44
- ./wordpot:/etc/wordpot
ports:
- "8080:8080"
#
unattended installation
DEBUG=false
CHN_SERVER="http://<IP.OR.NAME.OF.YOUR.CHNSERVER>"
FEEDS_SERVER="<IP.OR.NAME.OF.YOUR.HPFEEDS>"
FEEDS_SERVER_PORT=10000
DEPLOY_KEY=
Pag.46
WORDPOT_JSON="/etc/wordpot/wordpot.json
# Wordpress options
WORDPRESS_PORT=8080
multe etichete. Prin urmare, folosim termenul de bază de date relațional.În baze de
date relaționale, modelăm date precum produse, categorii, etichete etc., folosind
tabele. Un tabel conține coloane și rânduri. Este ca o foaie de calcul.Un tabel se poate
raporta la un alt tabel folosind o relație, de exemplu, relații unu la unu și unul la mai
multe.Deoarece avem de-a face cu o cantitate semnificativă de date, avem nevoie de o
modalitate de a defini bazele de date, tabele etc. și să procesăm datele mai eficient. În
plus, dorim să transformăm datele în informații.
Și aici aprea rolul SQL.
SQL conține trei părți:
A. Limbajul de definire a datelor include enunțuri care vă ajută să definiți baza
de date și obiectele acesteia, de exemplu, tabele, vizualizări, declanșatoare, proceduri
stocate etc.
B. Limbajul de manipulare a datelor conține declarații care vă permit să
actualizați și să interogați datele.
C. Limbajul de control al datelor vă permite să acordați permisiunile unui
utilizator pentru a accesa date specifice din baza de date.
Acum, înțelegeți baza de date și SQL și este timpul să răspundem la următoarea
întrebare:
Ce este MySQL?
Numele este dat de numele fiicei co-fondatorului MySQL, Monty Widenius.
Numele MySQL este combinația dintre My și SQL, MySQL.
MySQL este un sistem de gestionare a bazelor de date care vă permite să
gestionați baze de date relaționale. Este un software open source susținut de Oracle.
Înseamnă că puteți utiliza MySQL fără să plătiți niciun ban. De asemenea, dacă doriți,
puteți modifica codul sursă pentru a se potrivi nevoilor dvs.
Chiar dacă MySQL este un software open source, puteți cumpăra o versiune de
licență comercială de la Oracle pentru a obține servicii de asistență premium.
MySQL este destul de ușor de gestionat în comparație cu alte programe de bază
de date precum Oracle Database sau Microsoft SQL Server.
MySQL poate rula pe diverse platforme UNIX, Linux, Windows etc. Se poate
instala pe un server sau chiar pe un desktop. În plus, MySQL este fiabil, scalabil și
rapid. Modul oficial de a pronunța MySQL este My Ess Que Ell. Dacă dezvoltați site-
Pag.48
uri web sau aplicații web, MySQL este o alegere bună. MySQL este o componentă
esențială a stivei LAMP, care include Linux, Apache, MySQL și PHP.
ELASTICHONEY: Acesta este un honeypot simplu, dar eficient, care ne va
permite să surprindem încercări de exploatare a vulnerabilităților RCE. Funcționează
primind cereri de atac pe mai multe puncte finale populare, cum ar fi /, / _search și /
_nodes, și apoi răspunde difuzând un răspuns JSON care este identic cu Elasticsearch
vulnerabilă. Toate jurnalele sunt salvate într-un fișier numit elastichoney.log. Este
important de menționat că este disponibil atât pentru sistemele de operare Windows
cât și pentru Linux.
totul).
SpamHAT:Acest honeypot este conceput pentru a prinde și a preveni atacarea
spamului din oricare dintre căsuțele dvs. de e-mail. Pentru a face acest lucru,
asigurați-vă că aveți Perl 5.10 sau o versiune superioară instalată, precum și unele
module CPAN precum IO :: Socket, Mail :: MboxParser, LWP :: Simple, LWP ::
UserAgent, DBD :: mysql, Digest: : MD5 :: Fișier, precum și un server MySQL care
rulează cu o bază de date numită 'spampot'.
D.6.HONEYPOT-uri IOT
D.7.Alte HONEYPOT-uri
protocol care oferă suport pentru protocoale precum FTP, HTTP, Memcache,
MSSQL, MySQL, SMB, TFTP, etc. Capacitățile sale de înregistrare oferă
compatibilitate cu Fail2Ban, hpfeeds, log_json și log_sqlite.
Miniprint:imprimantele fiind unele dintre cele mai ignorate dispozitive din
rețelele de calculatoare, Miniprint este aliatul perfect atunci când trebuie să detectați
și să colectați atacuri bazate pe imprimantă. Funcționează prin expunerea imprimantei
la Internet folosind un sistem de fișiere virtual unde atacatorii pot citi și scrie date
simulate. Miniprint oferă un mecanism de logare foarte profund și salvează orice
postscript sau lucrări simple de imprimare a textului într-un director de încărcare
pentru analiză ulterioară
Honeypot-ftp: Scris în Python, acest FTP tip hpot oferă suport complet pentru
FTP și FTPS simpli, astfel încât să puteți efectua o pistă profundă de credențe de
utilizator și parolă utilizate în încercările de conectare ilegale, precum și fișiere
încărcate pentru fiecare sesiune FTP / FTPS.
HoneyNTP: NTP este unul dintre cele mai ignorate protocoale de pe Internet
și de aceea este o idee bună să rulați un NTP Honeypot. Acesta este un server NTP
simulat Python, care rulează fără blocare atât pe sistemele de operare Windows cât și
pe Linux. Funcționează prin logarea tuturor pachetelor NTP și a numerelor de port
într-o bază de date Redis, astfel încât să puteți efectua o analiză ulterioară.
Pag.51
CAPITOLUL III
A. Introducere
productie. Acesta ruleaza servicii care vă permite să imitați simultan mii de sisteme de
operare și caracteristicile acestora, fiind capabil să simuleze sistemul de operare la
nivelul stivei TCP/IP, astfel încât să vă permită să înșelați instrumente de scanare a
rețelei și a porturilor, cum ar fi nmap și xprobe. Deoarece este un sistem virtual, vă
permite să aveți servicii reale precum http, ftp sau telnet, cu scopul de a-l face pe
atacator să creadă că se află într-un mediu real.
Pentru mediile industriale, trebuie luate în considerare diferite aspecte pentru a
configura o rețea cât mai completă posibil, în special în ceea ce privește dispozitivele
PLC, HMI sau serverele SCADA, în sensul că decide care dintre aceste echipamente
trebuie sa fie reale si care simulate. Actul de a simula complet rețeaua industrială
presupune un balans fin între costurile implementării și folosirea echipamentelor
virtuale cu posibile efecte adverse in prezentarea unui mediu cât mai real cu putință
atacatorilor.
Instrumentul Honeyd este creat pentru a oferi topologie falsă pe Internet. Acest
lucru poate fi realizat prin configurarea unei topologii de rețea virtuală pentru întreg
spațiul de adrese IP, cu excepția intervalului de adrese care este servit de DHCP.
Acest lucru se poate face fără ca laptopul să fie conectat la internet în sine. Există
diferite tipuri de scenarii de atac pe care straturile rețelei sunt configurate odată cu
Pag.57
Pag.58
CAPITOLUL IV
Avantaje:
1. Simplu de înțeles și întreținut;
2. Rezultate fals pozitive foarte reduse - în cazul în care majoritatea
tehnologiilor de detectare (IDS, IPS), o mare parte din alerte sunt avertismente false,
în timp ce în cazul Honeypot-urilor acest lucru nu este valabil;
3. Rentabilitate;
4. Colectați date reale – Honeypot-urile colectează un volum mic de date, dar
aproape toate aceste date sunt un atac real sau o activitate neautorizată;
5. Criptare IPv6.
Dezavantaje:
1. Risc - un honeypot, odată atacat, poate fi folosit pentru a infiltra sau dăuna
altor sisteme sau organizații;
2. Câmpul îngust al vizualizării - dacă un atacator intră în rețeaua dvs. și atacă
o varietate de sisteme, honeypot-ul dvs. nu va cunoaște în mod fericit activitatea decât
dacă este atacat direct;
3. Honeypot-urile pot fi folosite ca un zombie pentru a ajunge la alte sisteme și
a le compromite.
Acest lucru poate fi foarte periculos.
B. Preocupări etice legate de honeypot-uri
Practic, un firewall este conceput pentru a-i ține pe atacatori în afara rețelei, în
timp ce honeypot-urile sunt concepute pentru a atrage hackerii să atace sistemul.
Acest lucru se face astfel încât un cercetător de securitate să știe cum funcționează
hackerii și să știe în ce sisteme și porturi sunt cei mai interesați hackerii. De
asemenea, activitățile de jurnal de firewall conțin și evenimente legate de sistemele de
Pag.60
Source: http://www.water-simulation.com/wsp/2013/08/13/hackers-caught-
taking-over-honeypot-water-pumping-station
Ubuntu: http://opensourceforu.com/2013/12/secure-scada-network-using-
honeypot/
Pag.63
CAPITOLUL V
Caseta mare din partea de jos a figurii de mai sus (Fig. 10) reprezintă
computerul. În computer se află Sistem de operare gazdă Linux care rulează VMware
cu două mașini virtuale, un VM Honeywall și un VM. Comunicarea se schimbă și se
împarte între cele trei sisteme, după cum este necesar.
Diagrama prezintă două interfețe fizice, 1 care este expusă hackerilor și 0 care
este utilizat pentru management. Eticheta fizică de fapt nu are o adresă IP. Tot traficul
este transferat prin VM Honeywall către interfața eth0 a VM.
Simulare Web
Cele mai multe distribuitoare automate din ultimii cinci ani oferă o interfață
web pentru administrare, care expune un protocol atacat frecvent adversarilor care,
inițial, ar putea să nu aibă cunoștințe despre sistemele de control. Atacurile
Pag.65
automatizate asupra tcp / 80 pot identifica vulnerabilitățile serverului web sau datele
slabe de autentificare. Atacurile manuale pot vizualiza paginile web ale PLC-ului,
identifica dispozitivul și permit unui atacator să cerceteze vulnerabilitățile cunoscute
pentru a crea un atac pe serverul web sau porturile SCADA. PLC-ul țintă pe care
SCADA îl simulează are o interfață administrativă web.
Un serviciu http trebuie să fie realist și să crească suprafața atacului. Am
selectat FizMez, un proiect autorizat GPL bazat pe Java, pentru serviciul web. FizMez
este un serviciu portabil intuitiv pentru a emula o interfață web PLC. Emularea unor
servicii SCADA poate necesita simulatoare sau servicii proprii care rulează pe
Microsoft Windows, iar Java oferă această flexibilitate viitoare. Atacatorii pot
determina de multe ori furnizorul de server web și numărul versiunii, prin telneting la
tcp / 80 și emiterea unei comenzi GET. Deoarece PLC-ul țintă nu utilizează serviciul
http FizMez, a fost necesară modificarea amprentei serverului web PLC, așa cum se
arată mai jos.
telnet popular.plc.digitalbond.com 80
Connected to popular.plc.digitalbond.com.
Escape character is '^]'.
GET index.htm HTTP/1.1
HTTP/1.0 200 OK
Server: DECORUM/2.0
Content-Type: text/html
Emularea daemonului serviciului web PLC a necesitat o modificare minoră a
sursei fișierului FizMezWebServer.java. După cum a arătat ieșirea câmpului antetului
de răspuns al serverului, răspunsul realist pentru a emula este:
“DECORUM/2.0”.
conf.put("ServerString","DECORUM/2.0");
Al doilea pas esențial pentru emularea daemonului serverului web este
propagarea FizMez cu conținut PLC. Acest lucru se poate face cu ușurință prin
copierea conținutului de pe dispozitivul PLC cu un instrument precum wget.
Instrumentele Spidering precum wget se conectează la serviciile web PLC, se
autentifică cu acreditările implicite corespunzătoare și încep să descarce tot conținutul
într-o ieșire ierarhică. Acest conținut conține aplicații Java și grafică pe care FizMez
Pag.66
portabil licențiat GPL, iFTPd. Am constatat că iFTPd este flexibil și permite sisteme
de fișiere virtuale, utilizatori și grupuri. Acest lucru are avantajul de a permite
cercetătorilor să ignore structura reală a sistemului de fișiere și utilizatorii / grupurile
de sistem, păstrând platforma de servicii FTP independentă.
Serverul FTP al actualului PLC conține informații despre versiune în bannere
de conectare. Detaliile despre versiunile software pot oferi atacatorului informații
utile pentru cercetarea vulnerabilităților și colectarea exploatărilor. Acesta este un pas
tipic de recunoaștere timpurie a unui atacator direcționat. Un client FTP sau o
telnetare către portul 21 al PLC-ului țintă va afișa un banner similar cu cel de mai jos.
telnet popular.plc.digitalbond.com 21
Connected to popular.plc.digitalbond.com
Escape character is '^]'.
220 VxWorks FTP server (VxWorks 5.3.1)
530 USER and PASS required
Connection closed by foreign host.
Furnizorii de PLC au început recent să elimine informațiile despre versiune de
pe bannere de conectare. Nu se știe dacă aceasta se face în scopuri de securitate sau,
eventual, ca efect secundar al diferitelor procese de dezvoltare. Mai jos este un
eșantion dintr-un PLC fără informații despre versiunea serverului FTP.
telnet popular.plc2.digitalbond.com 21
Connected to popular.plc.digitalbond.com
Escape character is '^]'.
220 FTP server ready.
530 USER and PASS required
Connection closed by foreign host.
SCADA Honeynet a duplicat banner-ul de conectare FTP al PLC-ului țintă
modificând o setare din fișierul de configurare ifpd.conf, așa cum se arată mai jos.
# Server Name
servername = VxWorks FTP server (VxWorks 5.3.1)
Dacă adresa IP a simulatorului folosește Network Address Translation (NAT)
pentru conectivitate, așa cum este în proiectul SCADA Honeynet, iFTPd trebuie
Pag.68
groups=standard
access=
Un fișier de grup poate fi creat pentru gestionarea mai ușoară a permisiunilor
pentru mai mulți utilizatori. Mai jos este ceea ce este conținut în fișierul conf /
groups / standard.
De reținut este că directorul rădăcină prezentat utilizatorilor FTP se mapează
într-o locație fizică de pe dispozitiv.
“/digitalbond/simulators/ftp/vfs/" r+ "/"
A. SNMP Service
Protocolul de gestionare a rețelei simple (SNMP) este utilizat pentru
monitorizarea stării dispozitivelor conectate la rețea. Administratorii pot citi un număr
mare de valori de pe dispozitive, de la statistici de interfață, versiuni de software și
temperaturi interne ale componentelor. SNMP oferă, de asemenea, capacitatea de a
scrie anumite valori de la distanță ca o formă de administrare automată.Simularea
SNMP pe SCADA Honeynet a fost realizată utilizând un emulator SNMP. Există
două proiecte, fake-snmp și Net-Raddle, ambele concepute pentru a interopera cu
Honeyd. Ambele proiecte furnizează informații unui atacator atunci când efectuează
un snmpwalk pe un Honeynet. Scriptul fake-snmp nu modifică valori precum
statisticile interfeței sau timeticks, acest lucru poate fi suspect pentru un atacator. Net-
Raddle oferă posibilitatea de a schimba timeticks și de a crește statisticile interfeței.
Ambele proiecte au fost foarte utile la asamblarea unei rețele de tip honeypot.SCADA
Honeynet folosește serviciul fake-snmp cu valori statice. Am integrat Net-Raddle în
laborator, dar am găsit probleme de stabilitate care nu au fost încă rezolvate. PLC-ul
țintă are o bază de informații de gestionare SNMP (MIB), iar acest MIB a fost
implementat în SCADA Honeynet.
Serviciul Telnet
Multe PLC-uri sunt încă gestionate de telnet, chiar dacă problemele de
securitate legate de transmiterea de parole în text clar sunt cunoscute pe scară largă.
PLC-ul țintă acceptă telnet, deci este implementat și în SCADA Honeynet. În plus
față de problema cu text clar, unele PLC-uri vor îngheța sau reîncărca dacă șirurile de
caractere mari sunt trecute în câmpurile de nume de utilizator sau parolă ale PLC-ului.
Pag.70
Nu știm dacă aceasta este o problemă în unele servicii telnet RTOS sau tehnici slabe
de programare ale furnizorilor de PLC. În ambele cazuri este interesant să vedem dacă
și cum vor merge atacatorii după serviciul telnet. Furnizarea unui atacator cu
capacități de conectare a fost esențială pentru dezvoltarea SCADA Honeynet.
Daemon-ul telnet simulat disponibil de la Honeynet Project nu a îndeplinit
specificațiile Java portabile ale celorlalte servicii, dar a folosit un script Python
portabil. Un proiect SCADA Honeynet mai vechi a folosit un daemon telnet VxWorks
cu interacțiune mică până la medie pentru atacator. Acest script Python a necesitat o
editare minoră, dar a îndeplinit cerințele de a permite unui atacator să se conecteze și
să emită comenzi bazate pe telnet VxWorks. Editarea minoră a cuprins personalizarea
rezultatului atunci când un atacator lansează o comandă „ajutor” și schimbă calea
fișierului jurnal. Mai jos este un exemplu de autentificare furnizat de simulatorul
telnet și o comandă „help” emisă.
VxWorks login:
Password:
PLC# help
help Print this list
ioHelp Print I/O utilities help info
dbgHelp Print debugger help info
nfsHelp Print nfs help info
netHelp Print network help info
spyHelp Print task histogrammer help info
timexHelp Print execution timer help info
h [n] Print (or set) shell history
i [task] Summary of tasks' TCBs
ti task Complete info on TCB for task
sp adr,args... Spawn a task, pri=100, opt=0,
stk=20000
taskSpawn name,pri,opt,stk,adr,args... Spawn a task
td task Delete a task
ts task Suspend a task
tr task Resume a task
Pag.71
Honeynet să pară foarte asemănător cu unul dintre propriile PLC-uri și să-l facă mai
eficient ca dispozitiv de avertizare timpurie. De asemenea, ar fi o modalitate ușoară
pentru cercetători de a implementa o varietate de SCADA Honeynets.
2. Adăugarea unuia sau mai multor HMI virtuale care rulează pe Windows, un
server OPC virtual și alte câteva dispozitive pe SCADA Honeynet. Aceasta ar oferi o
suprafață țintă de atac mai mare și ar simula un sistem de control mic sau o porțiune
mică a unui sistem de control mai mare.
Analizarea atacurilor
Rețelele de honeypot-uri sunt adesea desfășurate pentru a afla cum adversarii
își vor efectua atacurile și pentru a furniza informații pentru variabilele de amenințare
și vulnerabilitate ale ecuației riscului. Cele mai multe honeypot-uri desfășurate astăzi
imită dispozitive care sunt foarte populare și comune în rețelele corporative. Acestea
pot părea a fi servere web vulnerabile, cu defecte inerente ale aplicației care se
conectează la servere de baze de date back-end. Honeypot-urile SCADA sunt destul
de rar întâlnite. Acestea prezintă un set de servicii unice, neobișnuite pentru
majoritatea atacatorilor. În acest proiect a fost expus SCADA Honeynet în două
scenarii diferite.
C. Implementare SCADA Honeynet I - Expunerea la Internet
SCADA Honeynet a fost conectat direct la Internet la 1 august 2006 fără a fi filtrat
printr-un modem GPRS Raven recomandat de Verizon. Până la sfârșitul anului
calendaristic 2006, SCADA Honeynet nu a primit atacuri „SCADA”. Nu a existat
nicio activitate pe portul Modbus / 502. Portul tcp / 10000, care este utilizat de DNP3,
a fost scanat de atacatori și capturat de SCADA Honeynet. Analiza a determinat că
scanările au fost destinate unei vulnerabilități populare în concentratorii VPN Cisco
care deservesc conectivitatea VPN pe tcp / 10000.
Deși lipsa atacurilor specifice SCADA nu este neașteptată, aceasta oferă unele
indicații că atacurile automate care au loc pe internet nu atacă încă porturile și
protocoalele SCADA. Acest lucru garantează continuarea monitorizării, iar SCADA
Honeynet-urile reprezintă o modalitate de a urmări acest lucru. Activitatea pe Internet
a expus SCADA Honeynet și reflectă ceea ce s-ar putea vedea pe orice sistem expus
de pe Internet. Un număr mare de atacuri HTTP au fost vizate pentru vulnerabilități în
aplicațiile și serviciile web care nu au afectat serviciul web al PLC-ului simulat. Cele
mai interesante au fost scanările și încercările de conectare pe serverul FTP. În timpul
unui atac, peste 775 de combinații de nume de utilizator și parolă au fost lansate
împotriva serverului FTP SCADA Honeynet. Atacul a durat 15 minute, iar serviciul
FTP a devenit instabil, ceea ce probabil a scurtat ceea ce ar fi fost un atac și mai
susținut. Acest tip de atac a fost automatizat, deoarece momentul introducerii numelui
de utilizator și a parolei a fost foarte rapid și nu s-a depus niciun efort cercetând ce
poate fi dispozitivul.
Pe baza dovezilor foarte limitate, se pare că acreditările implicite pentru
dispozitivele SCADA nu au fost încă adăugate la instrumentele populare de atac
automat. SCADA Honeynet este un instrument pentru a determina dacă și când se
schimbă acest lucru. Internetul expus SCADA Honeynet nu a arătat nicio dovadă că
un atacator face cercetări pentru a exploata PLC-ul simulat. Ar fi fost o sarcină simplă
să ne uităm lainterfață web, determinarea tipului PLC și obținerea acreditări implicite.
Din nou, aceasta nu este o surpriză, deoarece adresa IP nu se află într-o gamă de
utilități sau alte ținte interesante. Ar fi util să vedem date de la o rețea SCADA
Honeynet desfășurată într-un interval de adrese IP ale proprietarului activului
SCADA.
D. SCADA Honeynet Deployment II - Stație electrică
Pag.75
Rețelele LAN fără fir sunt un alt suport de comunicare popular, deoarece sunt
ușor de implementat și elimină timpul și costul cablării. Poate oferi un ROI rapid și o
comoditate semnificativă pentru fabricile, stațiile electrice, instalațiile de pompare și
alte facilități în care dispozitivele sistemului de control trebuie conectate în rețea.
SCADA Honeynet Deployment II a fost implementat și a constat dintr-un punct de
acces wireless 802.11g deschis într-o stație electrică. SSID a fost numit în mod
intenționat pentru a reprezenta utilitatea electrică și DHCP a fost activat pentru a
permite conectarea cu ușurință a computerelor la distanță. După cum ne așteptam,
aproape toată comunicarea către acest SCADA Honeynet a implicat utilizatorii de
computere din zonă care încercau să obțină acces la Internet.
Concluzii
Proiectul de cercetare Digital Bond a avut succes în proiectarea și
implementarea unei interacțiuni ridicate SCADA Honeynet, care este o simulare
realistă a unui PLC popular. Utilizarea mașinilor virtuale Vmware (VM’s) facilitează
folosirea unui SCADA Honeynet pentru un profesionist IT cu o calificare rezonabilă,
cu cunoștințe minime despre Honeynets sau PLC’s. VM-urile SCADA Honeynet sunt
pe site-ul Digital Bond și sunt disponibile oricărui participant. Datele din numărul mic
de SCADA Honeynets desfășurate indică faptul că sistemele de control au în
continuare avantajul securității prin obscuritate. Unul dintre cele mai mari beneficii
ale unei rețele SCADA Honeynet poate fi identificat când se schimbă acest lucru.
Dacă atacurile asupra porturilor SCADA sau folosind acreditările implicite SCADA
sunt văzute într-o rețea SCADA Honeynet, aceasta ar indica o schimbare a profilului
de amenințare. Dat fiind că există taxă de licență asociată cu software-ul SCADA
Honeynet, o implementare mai largă a SCADA Honeynets este ieftin și ar oferi o
evaluare mai semnificativă statistic a amenințării. Această tehnologie poate fi un
proiect ideal pentru unul sau mai mulți dintre mulți studenți absolvenți și doctoranzi
care încep cercetări în domeniul securității SCADA.
Referințe
[1] Spitzner, Lance. Honeypots: Tracking Hackers. Addison-Wesley,
Pag.76
September 2002.
[2] The Honeynet Project. Know Your Enemy: Learning About Security
Threats. Addison-Wesley, Second Edition, 2004.
[3] Pothamsetty, Venkat. SCADA Honeynet: PLC Simulation Concepts,
Design, and Implementation.
[4] MODBUS Application Protocol Specification V1.1, November 2002
Pag.77
CAPITOLUL VI
A. Introducere
LOGO-ul proiectului
https://github.com/mushorg/conpot
Datorită faptului că honeypot-ul CONPOT este afiliat cu “The Honeynet
Project”, acesta poate fi configurat pentru a raporta datele de atacîn cadrul proiectului,
pentru a oferi cercetătorilor date valoaroase despre metodele de atac și răspândire a
programelor malițioase în cadrul sistemelor informaționale industiale.
Oferind o serie de protocoale comune de control industrial, CONPOT pune la
dispozitia dezvoltatorilor de systeme honeypot/honeynet elementele de bază pentru
dezvoltarea propriului sistem capabil să imite infrastructuri complexe pentru a
convinge un adversar că tocmai a găsit un imens complex industrial. Pentru a
îmbunătăți capacitățile înșelătoare, CONPOT oferă posibilitatea de a emula o interfață
personalizată om-mașină (HMI) cu scopul de a crește suprafața de atac a sistemului
emulat. De asemenea, timpii de răspuns ai serviciilor pot fi întârziați artificial pentru a
imita comportamentul unui sistem sub încărcare constantă.
B. Instalare si configurare
honeypot-ului:
conpotadmin@conpot:~/.local/bin$ sudo apt-get
install python3-pip
Se instalează CONPOT:
conpotadmin@conpot:~/.local/bin$pip3 install conpot
Version 0.6.0
MushMush Foundation
WARNING:root:--force option specified. Using testing
configuration
2020-09-01 05:18:26,985 --force option specified.
Using testing configuration
--------------------------------------------------
Available templates:
--------------------------------------------------
--template kamstrup_382
Unit: Kamstrup - 382
Desc: Register clone of an existing
Kamstrup 382 smart meter
Protocols: Kamstrup
Created by: Johnny Vestergaard
Pag.82
--template ipmi
Unit: IPMI - 371
Desc: Creates a simple IPMI device
Protocols: IPMI
Created by: Lukas Rist
--template default
Unit: Siemens - S7-200
Desc: Rough simulation of a basic
Siemens S7-200 CPU with 2 slaves
Protocols: HTTP, MODBUS, s7comm, SNMP
Created by: the conpot team
--template guardian_ast
Unit: Guardian - Guardian AST tank-
monitoring system
Desc: Guardian AST tank-monitoring
system
Protocols: guardian_ast
Created by: the conpot team
--template IEC104
Unit: Siemens - S7-300
Desc: Creates a simple device for IEC
60870-5-104
Protocols: IEC104, SNMP
Created by: Patrick Reichenberger
--template proxy
Pag.83
conpotadmin@conpot:~/.local/lib/python3.8/site-
packages/conpot/templates$ ls -p
default/ guardian_ast/ IEC104/ ipmi/
kamstrup_382/ proxy/
SNMP</entity>
<entity name="creator">the conpot team</entity>
</template>
<databus>
<!-- Core value that can be retrieved from the
databus by key -->
<key_value_mappings>
<key name="FacilityName">
<value type="value">"Mouser Factory"</value>
</key>
<key name="SystemName">
<value type="value">"Technodrome"</value>
</key>
<key name="SystemDescription">
<value type="value">"Siemens, SIMATIC,
S7-200"</value>
</key>
<key name="Uptime">
<value
type="function">conpot.emulators.misc.uptime.Uptime</valu
e>
</key>
<key name="sysObjectID">
<value type="value">"0.0"</value>
</key>
<key name="sysContact">
<value type="value">"Siemens AG"</value>
</key>
<key name="sysName">
<value type="value">"CP 443-1 EX40"</value>
Pag.85
</key>
<key name="sysLocation">
<value type="value">"Venus"</value>
</key>
<key name="sysServices">
<value type="value">"72"</value>
</key>
<key name="memoryModbusSlave0BlockA">
<value type="value">[random.randint(0,1) for b in
range(0,128)]</value>
</key>
<key name="memoryModbusSlave0BlockB">
<value type="value">[random.randint(0,1) for b in
range(0,32)]</value>
</key>
<key name="memoryModbusSlave255BlockA">
<value type="value">[random.randint(0,1) for b in
range(0,128)]</value>
</key>
<key name="memoryModbusSlave255BlockB">
<value type="value">[random.randint(0,1) for b in
range(0,32)]</value>
</key>
<key name="memoryModbusSlave1BlockA">
<value type="value">[random.randint(0,1) for b in
range(0,128)]</value>
</key>
<key name="memoryModbusSlave1BlockB">
<value type="value">[random.randint(0,1) for b in
Pag.86
range(0,32)]</value>
</key>
<key name="memoryModbusSlave2BlockC">
<value type="value">[random.randint(0,1) for b in
range(0,8)]</value>
</key>
<key name="memoryModbusSlave2BlockD">
<value type="value">[0 for b in range(0,32)]</value>
</key>
<key name="Copyright">
<value type="value">"Original Siemens
Equipment"</value>
</key>
<key name="s7_id">
<value type="value">"88111222"</value>
</key>
<key name="s7_module_type">
<value type="value">"IM151-8 PN/DP CPU"</value>
</key>
<key name="empty">
<value type="value">""</value>
</key>
</key_value_mappings>
</databus>
</core>
Pag.88
_
___ ___ ___ ___ ___| |_
| _| . | | . | . | _|
|___|___|_|_| _|___|_|
|_|
Version 0.6.0
MushMush Foundation
tar:///home/conpotadmin/.local/lib/python3.8/site-
packages/conpot/data.tar
2020-09-01 06:58:33,455 Initializing Virtual File
System at /home/conpotadmin/.local/lib/python3.8/site-
packages/conpot/ConpotTempFS/__conpot__anp777ia. Source
specified :
tar:///home/conpotadmin/.local/lib/python3.8/site-
packages/conpot/data.tar
Please wait while the system copies all specified
files
2020-09-01 06:58:33,593 Fetched 89.41.152.195 as
external ip.
2020-09-01 06:58:33,597 Conpot modbus initialized
2020-09-01 06:58:33,597 Found and enabled ('modbus',
<conpot.protocols.modbus.modbus_server.ModbusServer
object at 0x7f8a391efee0>) protocol.
2020-09-01 06:58:33,600 Conpot S7Comm initialized
2020-09-01 06:58:33,600 Found and enabled ('s7comm',
<conpot.protocols.s7comm.s7_server.S7Server object at
0x7f8a39196c10>) protocol.
2020-09-01 06:58:33,603 Found and enabled ('http',
<conpot.protocols.http.web_server.HTTPServer object at
0x7f8a3915fc40>) protocol.
2020-09-01 06:58:33,604 Found and enabled ('snmp',
<conpot.protocols.snmp.snmp_server.SNMPServer object at
0x7f8a3915fb50>) protocol.
2020-09-01 06:58:33,606 Conpot Bacnet initialized
using the /home/conpotadmin/.local/lib/python3.8/site-
packages/conpot/templates/default/bacnet/bacnet.xml
template.
2020-09-01 06:58:33,607 Found and enabled ('bacnet',
<conpot.protocols.bacnet.bacnet_server.BacnetServer
object at 0x7f8a386c80a0>) protocol.
2020-09-01 06:58:33,609 IPMI BMC initialized.
Pag.90
hostului în care este instalată mașina virtuală. Acest lucru poate fi modificat în cadrul
fisierului conpot.conf.
- serverele pe care le pornește, subliniate cu roșu mai sus, și porturile aferente
acestora;
- porturile folosite pentru serverele pornite nu sunt cele standard ale PLC-ului
Siemens Simatic S7-200. Motivele pentru care nu se folosesc porturile standard
MODBUS (tcp/502), Siemens S7 (tcp/102), HTTP (tcp/80), SNMP (udp/161), IPMI
(udp/623), FTP (tcp/21) si TFTP (udp/69) țin de securitatea honeypotului în timpul
procedurii de instalare și configurare. Orice pornire de test a honeypot-ului l-ar putea
expune în Internet parțial configurat, cu posibile consecințe negative în demascarea
rolului real al acestuia. Se recomandă ca după configurarea și testarea
functionalităților dorite, fie să se configureze source Port Network Address
Translation (PAT) pe firewall-ul care se instalează în cadrul rețelei honeynet, la
frontiera cu Internetul, fie sa se configureze porturile standard, folosind fisierul de
configurare global conpot.conf, pentru fiecare serviciu SACADA pornit de CONPOT.
Singura excepție de la regula de mai sus o reprezintă BACnet (udp/47808), protocol
care are standard configurat portul de producție real și care se afla deja în zona
superioară a spațiului de adrese tcp/udp 0-1024 (zona de risc maxim la expunerea in
Internet).
192.168.2.254:11019. (85c00cb0-3008-4c1b-a92f-
5537b09e4dde)
ERROR:conpot.protocols.modbus.modbus_server:Exceptio
n occurred in ModbusServer.handle() at sock.recv(): timed
out
File "/home/conpotadmin/.local/lib/python3.8/site-
packages/gevent/baseserver.py", line 34, in
_handle_and_close_when_done
return handle(*args_tuple)
File "/home/conpotadmin/.local/lib/python3.8/site-
Pag.95
File "/home/conpotadmin/.local/lib/python3.8/site-
packages/conpot/protocols/ipmi/fakesession.py", line 55,
in __init__
self._initsession()
File "/home/conpotadmin/.local/lib/python3.8/site-
packages/pyghmi/ipmi/private/session.py", line 603, in
_initsession
self.logoutexpiry = _monotonic_time() +
self._getmaxtimeout()
File "/home/conpotadmin/.local/lib/python3.8/site-
packages/pyghmi/ipmi/private/session.py", line 736, in
_getmaxtimeout
192.168.2.254 (032e6f81-631d-4bbf-8f09-5eda8e7ef26f)
2020-09-01 08:13:13,752 New FTP connection from
192.168.2.254:11034. (032e6f81-631d-4bbf-8f09-
5eda8e7ef26f)
2020-09-01 08:13:13,753 FTP traffic to
('192.168.2.254', 11034): {'response': b'200 FTP server
ready.\r\n'} (032e6f81-631d-4bbf-8f09-5eda8e7ef26f)
2020-09-01 08:13:13,753 FTP traffic to
('192.168.2.254', 11034): {'request': b'USER red_hacker\
r\n'} (032e6f81-631d-4bbf-8f09-5eda8e7ef26f)
2020-09-01 08:13:13,754 Received command USER : USER
red_hacker from FTP client ('192.168.2.254', 11034):
032e6f81-631d-4bbf-8f09-5eda8e7ef26f
2020-09-01 08:13:13,755 FTP traffic to
('192.168.2.254', 11034): {'response': b'331 Now specify
the Password.\r\n'} (032e6f81-631d-4bbf-8f09-
5eda8e7ef26f)
2020-09-01 08:13:27,577 FTP traffic to
('192.168.2.254', 11034): {'request': b'PASS Gotcha1234\
r\n'} (032e6f81-631d-4bbf-8f09-5eda8e7ef26f)
2020-09-01 08:13:27,578 Received command PASS : PASS
Gotcha1234 from FTP client ('192.168.2.254', 11034):
032e6f81-631d-4bbf-8f09-5eda8e7ef26f
2020-09-01 08:13:27,578 FTP traffic to
('192.168.2.254', 11034): {'response': b'530
Authentication Failed.\r\n'} (032e6f81-631d-4bbf-8f09-
5eda8e7ef26f)
REFERINTE
Pag.99
Pag.100
Concluzii finale
Toate elementele din acest studiu ne vor ajuta să definim cât mai bine
functionalitățile pentru modulul din cadrul platformei SafePIC numit ”Simulare
componente SCADA (PLC, HMI) de tip honeypot în vederea identificării potențialilor
atacatori ai infrastructurilor critice (Safe-SCADA)”
Pag.101
Referințe suplimentare pentru cercetări ulterioare:
1. http://www.thewindowsclub.com/what-are-honeypots
2. https://en.wikipedia.org/wiki/Honeypot_(computing)
3. http://searchsecurity.techtarget.com/definition/honeynet
4. https://www.sans.org/reading-room/whitepapers/attacking/honey-pots-honey-nets-
security-deception-41
5. http://opensourceforu.com/2013/12/secure-scada-network-using-honeypot/
6. http://www.honeyd.org/concepts.php
7. https://books.google.ca/books?
id=CrIVBAAAQBAJ&pg=PA269&dq=honeypot+modbus&hl=en&sa=X&ved=0ah
UKEwirnr7ll-_YAhUU7GMKHYrgBfQQ6AEIJzAA#v=onepage&q=honeypot
%20modbus&f=false
8. http://www.thewindowsclub.com/what-are-honeypots
9. http://www.informit.com/articles/article.aspx?p=30489&seqNum=2
10. https://www.slideshare.net/amitpoonia404/seminar-report-on-honeypot
11. https://books.google.ca/books?
id=qrk7BAAAQBAJ&pg=PA183&dq=honeypot+modbus&hl=en&sa=X&ved=0ahU
KEwirnr7ll-_YAhUU7GMKHYrgBfQQ6AEILjAB#v=onepage&q=honeypot
%20modbus&f=false
12. https://pdfs.semanticscholar.org/
c437/2e695acd7636367c106d6c347544ed131b98.pdf
13. http://www.diva-portal.org/smash/get/diva2:327476/fulltext01
14. http://www.honeyd.org/concepts.php
15. https://arxiv.org/pdf/1608.06249.pdf
16. https://books.google.ca/books?
id=xbE_DwAAQBAJ&pg=PA203&lpg=PA203&dq=bacnet+honeypot&source=bl&
ots=jWG2zGrRaL&sig=SCFli34LSviVkSEz-
hF557I9STs&hl=en&sa=X&ved=0ahUKEwjV6LKQl-
_YAhUQymMKHXMqDlAQ6AEIWDAH#v=onepage&q=bacnet
%20honeypot&f=false
17. https://www.digitalocean.com/community/tutorials/how-to-install-kippo-
an-ssh-honeypot-on-an-ubuntu-cloud-server
18. http://blog.donovanhubbard.com/2013/10/customizing-kippo-ssh-
Pag.102
honeypot.html
19. http://edgis-security.org/
20. http://www.unixmen.com/kippo-ssh-honeypot-monitor-brute-force-
attacks-debian-7-ubuntu-13-10/
21. http://www.delaat.net/rp/2011-2012/p26/report.pdf
Pag.103