1
POLITEHNICA BUCUREȘTI
FACULTATEA DE ELECTRONICĂ COMUNICAȚII ȘI CALCULATOARE
Prezinta: IONESCU VALERIU MANUEL
ENE ALEXANDRU
Hackathon @ FECC 2026
Sponsori:
2
CUPRINS
1. Linia de comanda Windows
2. Aplicația Wireshark
3. Criptare si decriptare date
4. Ascundere date
5. Pregatire programare: Operatori logici si pe bit | Compresie: Run-Length Encoding | Compresie: Codare Huffman
Rezumatul este pe Google: T201 laborator -> Hackathon -> pregatire 2026
3
Securitatea cibernetica
Implica cunoaștere:
Obiective atacator cibernetic:
Scoaterea datelor se face de obicei:
-pe ascuns: steganografie
-criptat: transformate pentru a nu înțelege ce a fost scos
-comprimat/arhivat: pentru a reduce dimensiunea & timp necesar transfer date
Linia de comanda Windows
Wireshark, protocoale, unelte…
C
4
Linia de comanda Windows
-automatizare inspectare si configurare sistem
-compatibilitate cu multe sisteme de operare
-accesare sistem daca interfata grafica nu este accesibila (atac/eroare)
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands
cd |
dir |
copy |
move |
del |
ren |
more |
ftp |
ping |
md |
echo |
|
5
Linia de comanda Windows
Ascundere date in Alternate Data Stream (ADS)
În exemplul alăturat datele sunt ascunse în fluxurile de date asociate unui fișier pe o partie NTFS (Windows)
Datele ascunse pot fi:
notepad 1.txt:ADS
sau
more < 1.txt:ADS
Transmiterea ADS in retea se face in arhive:
cu 7-zip
7z a a.wim -sns *.txt
arhiva include si ADS
7z x a.wim
dezarhivare cu păstrare ADS
Transmiterea/extragerea cu WinRAR (optiune in meniul advanced)
Ascundere in flux ADS
Listarea normala nu arata anomalii
Listarea in detaliu arata datele ascunse
6
Rețele de calculatoare
Protocoale de interes:
HTTP, HTTPS, FTP, Telnet, SMB | DNS, TFTP |
TCP | UDP |
IP | |
Ethernet | Wi-Fi |
ICMP
7
Wireshark
GET: metodă folosită pentru a solicita serverului o resursă. Poate trimite date in URL
https://www.google.com/search?q=t201+laborator
POST: metoda este folosită pentru a trimite date la server, ascunse in corpul cererii (body)
https://reqbin.com/
https://linuxhint.com/examine-ftp-wireshark/
https://www.comptia.org/content/articles/what-is-wireshark-and-how-to-use-it
Exemple de trafic aici: https://wiki.wireshark.org/samplecaptures
filtru: http.request
8
Exemplu 1: Wireshark - captura web si FTP
🡨
9
Exemplu 2: Wireshark - trafic Telnet
Exemplu de trafic Telnet aici:
https://github.com/markofu/pcaps/blob/master/PracticalPacketAnalysis/ppa-capture-files/telnet.pcap
10
Criptare si decriptare date
Cifruri de Substituție
A | B | C | D | E | … |
X | Y | Z | A | B | … |
11
Criptare si decriptare date
Cifruri de Transpoziție
https://en.wikipedia.org/wiki/Transposition_cipher
Cheia este: COPAIE cu ordine litere in alfabet: (2 5 6 1 4 3) si mesajul: ACESTA ESTE UN MESAJ CRIPTAT
devine:
256143
ACESTA
ESTEUN
MESAJC
RIPTAT
Deci, rezultat citit pe coloane, in ordinea cheii: SEAT AEMR ANCT TUJA CSEI ETSP
A T T M J P
C S A S E N E A C I T T
E E U S R A
Limitări ale Criptografiei Clasice : Majoritatea algoritmilor pot fi compromiși comparand frecventa literelor din limba originală cu frecvența literelor din fișierul criptat.
Ex. In figura este frecventa literelor in limba romana
12
Criptare si decriptare date
Operatori logici si pe biti
Operațiile logice ȘI (AND), SAU (OR) și SAU Exclusiv (XOR) evaluează stările de adevărat (1) și fals (0) și pot fi înțelese rapid prin următoarele reguli:
&& ȘI (AND): Rezultatul este adevărat doar dacă ambele condiții sunt adevărate.
|| SAU (OR): Rezultatul este adevărat dacă cel puțin una dintre condiții este adevărată.
! NOT: Rezultatul este adevarat daca operandul este fals si invers.
^ XOR (SAU Exclusiv): Rezultatul este adevărat doar dacă exact una dintre condiții este adevărată (condițiile sunt diferite).
https://www.pbinfo.ro/articole/61/operatori-cpp
https://www.geeksforgeeks.org/cpp/operators-in-cpp/
Operatia XOR
Operatia XOR poate fi utilizata pentru a cripta date, pentru ca:
A XOR K = C XOR K = A
… in care A sunt date initiale, K este cheia, C sunt datele criptate.
…Verificati! Folosiți calculatorul pentru a transforma rapid
Ex: Se știe cheia de criptare * (A2) si textul HELLO (48 65 6C 6C 6F, sau in zecimal: 72, 101, 108, 108, 111). Criptati, apoi decriptati folosind operatia XOR
Criptare:
Citim datele: H E L L O
01001000 01100101 01101100 01101100 01101111
Aplicam cheia: 10100010 10100010 10100010 10100010 10100010
Rezulta date criptate: 11101010 11000111 11001110 11001110 11001101
(extended ASCII) ê Ç Î Î Í
Decriptare:
Citim datele criptate: 11101010 11000111 11001110 11001110 11001101
Aplicam cheia: 10100010 10100010 10100010 10100010 10100010
Rezulta date decriptate: 01001000 01100101 01101100 01101100 01101111
H E L L O
13
14
Ascundere informatii
Steganografia - ascunde informații (mesaje, fișiere) în interiorul unui alt fișier aparent inofensiv (imagine, video, sunet, text), astfel încât existența mesajului secret să fie cunoscută doar de către expeditor și destinatar
https://sts.ro/ro/steganografia/
Exercițiu:
Se cere ascunderea secvenței de biti: A7 in secvența de pixeli (nuante de gri) 2C 2D B3 FE . Se vor folosi ultimii 2 biti din fiecare octet.
Rezolvare: Se extrag bitii din secvența de pixeli (A7=10 10 01 11), apoi se inlocuiesc in ordine in ultimii doi biti ai fiecărui octet.
2C= 0010 1100 0010 1110=2E
2D= 0010 1101 0010 1110=2E
B3= 1011 0011 1011 0001=B1
FE= 1111 1110 1111 1111=FF
Rezultat: => 2E 2E B1 FF
15
Ascundere informatii (aplicatie)
Pentru a vedea biții unui document se poate folosi Notepad++ cu Plugin-ul Hex instalat
Aplicație:
Ascundeți bitii intr-o imagine RAW ( se poate vizualiza cu aplicația Irfan View). Atenție, trebuie precizata dimensiune imaginii si daca e imagine color/gri la deschidere
1. Se deschide fișierul in Notepad++
2. Se modifica biții
3. Se vizualizează rezultatul in IrfanView
4. Se analizeaza zona modificata … cu greu se vede rezultatul
16
Tematica programare C/C++
17
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Scenariu 1
18
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Scenariu 2
19
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Scenariu 3
20
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Scenariu 4
21
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Pregatire programare - Operatori pe biti
Operațiile pe biți sunt operații foarte eficiente, deoarece ele lucrează direct cu biții din reprezentările în memorie ale operanzilor.
Ascunderea datelor si extragerea lor in fisiere binare folosesc operatori pe biți
Se observa ca datele ascunse in fisierul binar de imagine au modificat imaginea.
https://ocw.cs.pub.ro/courses/programare-cc/breviar-10
22
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Pregatire programare - fisiere binare
Atacatorii unui sistem de calcul ascund datele nu numai in fișiere text unde pot fi identificate usor, ci si in bitii unui fisier binar (fişierele binare stochează informaţia brut, fără prelucrări, exact aşa cum apare ea în memorie: EXE, PDF, JPG sunt tipuri de fișiere binare).
Pentru a detecta dacă sunt ascunse date, este necesar sa citim/scriem acest tip de fișiere. Operațiunile asupra unui fișier binar sunt similare cu operațiunile asupra fișierelor text, cu o mică diferență.
Pentru a deschide un fișier în mod binar, folosim modurile de acces rb, rb+, ab, ab+, wb și wb+ în funcția fopen().
Se observa un fișier binar .exe deschis ca text (sus) si binar (jos).
23
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Pregatire programare - Codarea Run Length Encoding
Codarea RLE (Run-Length Encoding) este o metodă simplă și fără pierderi (lossless) de comprimare a datelor. Aceasta funcționează prin înlocuirea secvențelor lungi de elemente consecutive identice (caractere sau pixeli) cu o singură apariție a elementului, impreună cu numărul care indică de câte ori se repetă.
Metoda este ideală pentru date cu multe repetări. Se folosește in comprimare:
-Imagini și grafică simplă
-baze de date
-transmisii in retele de comunicații
Exemplu
Șir original: A A A A B B B B B B C D D (13 caractere)
Șir codat RLE: 4A 6B 1C 2D (8 caractere)
Pentru a separa perechile (numar repetitii, valoare) sunt folosite mai multe soluții:
-pentru text, se folosește spațiu sau un alt separator (, sau caractere speciale)
-pentru implementarea la nivel de byte/octet se folosesc dimensiuni fixe (pachete de 2 octeti, din care primul indica repetițiile, iar al doilea valoarea) sau byte de control care indica tipul următorului caracter.
https://en.wikipedia.org/wiki/Run-length_encoding
24
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Pregatire programare - Codarea Huffman (1)
Codurile Huffman sunt o metoda de compresie a simbolurilor sursei in siruri de caractere de lungime variabila. Caracterele care apar frecvent sunt convertite in siruri de biti scurte; simbolul cel mai putin frecvent i se atribuie cel mai lung sir de caractere. Datele codate folosind aceasta metoda sunt unic decodabile!
Exemplu, codificarea Huffman a sirului de date “ana are mere”.
2. Se construieste un arbore binar de simboluri astfel: #Construieste cate un nod frunza pentru fiecare simbol si probabilitate asociata. #Adauga nodurile frunza intr-o coada, sortandu-le in ordinea crescatoare a probabilitatilor, de la cele mai rare simboluri la cele mai frecvente. #Atata timp cat coada contine mai mult de un nod, executa: ##Extrage primele 2, cele mai infrecvente noduri, si creeaza un alt nod, cu probabilitatea egala cu suma probabilitatilor celor doua noduri. ##Adauga cele 2 noduri extrase ca descendenti stang (0), respectiv drept (1), la noul nod creat. ##Insereaza nodul creat inapoi in coada, pastrand ordinea de sortare in functie de probabilitatile nodurilor #Coada va contine un singur nod, si anume radacina arborelui Huffman, care va avea probabilitatea 1.
25
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Pregatire programare - Codarea Huffman (2)
Pentru a decodifica datele codificate, avem nevoie de arborele Huffman (sau de tabela de coduri). Iterăm prin datele codificate binare. Pentru a găsi caracterele corespunzătoare biților curenți, folosim următorii pași simpli:
Începem de la rădăcină și facem următoarele până când găsim o frunză.
Exemplu, decodarea Huffman a sirului de date 01 1100 01 111 01 00 10 111 1101 10 00 10
3. Pe baza arborelui Huffman generat, fiecare simbol va avea următoarea codificare:
Astfel, șirul “ana are mere” va fi codificat astfel:
01 1100 01 111 01 00 10 111 1101 10 00 10
26
FACULTATEA DE ELECTRONICĂ
COMUNICAȚII ȘI CALCULATOARE
Concluzii
1. Linia de comanda Windows -
2. Aplicația Wireshark - analiza/filtrare trafic capturat
3. Criptare si decriptare date - algoritmi clasici
4. Operatori logici si la pe biti. Operatorul XOR
5. Lucrul cu fișiere text/binare
6. Ascundere date: în ADS și în fișiere binare sau text
7. Criptarea/decriptarea folosind XOR
8. Codarea/decodarea: RLE, Huffman
Rezumatul este pe Google: T201 laborator -> Hackathon -> Pregatire 2026
Se va lucra fără telefon/smartwatch/internet
Discuție punctaj: