1 of 26

1

POLITEHNICA BUCUREȘTI

FACULTATEA DE ELECTRONICĂ COMUNICAȚII ȘI CALCULATOARE

Prezinta: IONESCU VALERIU MANUEL

ENE ALEXANDRU

Hackathon @ FECC 2026

Sponsori:

2 of 26

2

CUPRINS

1. Linia de comanda Windows

  • Instrucțiuni de baza
  • Ascundere date in: Alternate Data Stream

2. Aplicația Wireshark

  • Captura trafic
  • Filtrare trafic: IP, protocol, port,
  • Analiza trafic necriptat: Telnet, ICMP, HTTP (GET, POST)
  • Accesare site FTP
  • Extragere atașamente din trafic

3. Criptare si decriptare date

  • Algoritmi clasici

4. Ascundere date

  • Stenografie in imagini

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 of 26

3

Securitatea cibernetica

Implica cunoaștere:

    • Sisteme de operare: Windows, Linux, Android, macOS, etc.

    • Retele de calculatoare: analiza trafic, cunoastere protocoale de comunicatii, Cloud

    • Programare:
    • majoritatea acțiunilor sunt repetitive si nu lasă loc de eroare
    • cantitatea de date care trebuie procesata este foarte mare
    • Necesita in principal Scripting (limbaje interpretate, pentru automatizare – Python, Javascript) dar si programare clasica (limbaje compilate, performanta – C/C++)

Obiective atacator cibernetic:

    • Date personale și bancare: pot fi vândute sau folosite pentru fraude financiare: parole, date de autentificare pentru servicii bancare, numere de carduri de credit.
    • Informații confidențiale: Documente personale, fotografii sau e-mailuri care pot fi folosite pentru santaj.
    • Identitate digitală: Preluarea controlului asupra conturilor de rețele sociale sau e-mail pentru a trimite mesaje de tip spam sau phishing către alte persoane.
    • Resurse hardware: Utilizarea puterii de calcul a calculatorului pentru a mina criptomonede sau pentru a lansa atacuri asupra altor site-uri.

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 of 26

4

Linia de comanda Windows

  • Linia de comanda permite:

-automatizare inspectare si configurare sistem

-compatibilitate cu multe sisteme de operare

-accesare sistem daca interfata grafica nu este accesibila (atac/eroare)

  • Modul privilegiat (“Run as Administrator)

  • Instrucțiuni de baza
    • creare foldere si fisiere
    • Listare continut foldere
    • Copiere/mutare
    • Stergere

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 of 26

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:

  • detectate cu: dir/r
  • vizualizate cu:

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 of 26

6

Rețele de calculatoare

  • Un protocol de comunicații este un set de reguli care definesc modul în care dispozitivele își transmit informații, asigurând înțelegerea reciprocă. Exista mii de protocoale in internet.
  • Protocolul Internet (IP) permite dispozitivelor să comunice între ele. Adresa IP identifica un sistem intr-o retea. Ex: 8.8.8.8
  • Un port identifica o aplicație conectata la rețea de pe un sistem de calcul (pot fi 65535 porturi deci mai multe aplicații conectate de la același IP)

Protocoale de interes:

  • ICMP (Internet Control Message Protocol) este un protocol utilizat de dispozitivele de rețea pentru a trimite informații de stare. Nu are port. Aplicata ping foloseste ICMP
  • HTTP (HyperText Transfer Protocol) - Permite accesare site-uri web (afisate de browser). Port TCP 80. Versiunea securizata se numește HTTPS (Secure HTTP) – port TCP 443.
  • Telnet (Telnet Protocol) - Ofera posibilitatea de conectare la un calculator gazda si de a executa diverse comenzi pe acel calculator.  Portul este TCP 21.
  • FTP (File Transfer Protocol) -Protocol de transfer de fisiere; Transfera fișiere text sau binar între un server si un client FTP. Porturi TCP 20 si 21
  • TFTP (Trivial File Transfer Protocol) –Protocol simplu de transfer de fișiere, - Port UDP 69
  • Domain Name System (DNS) traduce numele de domenii ușor de reținut (ex: google.com) în adrese IP numerice (ex. 216.58.205.142) Folosește porturile TCP/UDP 53
  • SMB (Server Message Block) este un protocol de rețea utilizat pentru partajarea fișierelor, imprimantelor și porturilor seriale între calculatoare. Portul TCP 445

HTTP, HTTPS, FTP, Telnet, SMB

DNS, TFTP

TCP

UDP

IP

Ethernet

Wi-Fi

ICMP

7 of 26

7

Wireshark

  • Utilizare aplicatie de captura traffic Wireshark
    • Captura traffic necriptat HTTP, Telnet si FTP
    • Salvare si încărcare fișier de captura
    • Filtrare trafic: IP, protocol, port. Pentru filtrare se introduce numele protocolului (litere mici/lowercase) sau pentru filtrare număr port se foloseste tcp.port == nr.port (de. ex tcp.port == 80 filtreaza HTTP)
    • Analiza trafic necriptat: Telnet
    • ping (protocol ICMP) si monitorizare conținut -> zona de date
    • HTTP are doua metode

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/

    • Accesare site FTP
    • SMB protocol pentru transfer de fisiere; filtrare in Wireshark cu smb sau smb2
    • Extragere atașamente din trafic
    • Urmărire flux TCP

https://linuxhint.com/examine-ftp-wireshark/

https://www.comptia.org/content/articles/what-is-wireshark-and-how-to-use-it

filtru: http.request

8 of 26

8

Exemplu 1: Wireshark - captura web si FTP

  • Traficul FTP nu este securizat si user/parola apar in zona de info

  • Exemplu de trafic de transfer de fișiere (FTP) gasiti aici:

  • Traficul nesecurizat (necriptat) de tip web are datele de login de obicei în linii de tip POST. Exemplu aici

🡨

  • Datele capturate pot fi exportate si salvate ca fisiere text prin meniul “Export Objects”

9 of 26

9

Exemplu 2: Wireshark - trafic Telnet

  • Traficul Telnet are particularitatea ca transmite caracterele unul cate unul (pe masura ce sunt tastate de utilizator)
  • userul si parola vor fi vizibile cu opțiunea Wireshark: Analyze -> Follow -> TCP stream

Exemplu de trafic Telnet aici:

https://github.com/markofu/pcaps/blob/master/PracticalPacketAnalysis/ppa-capture-files/telnet.pcap

10 of 26

10

Criptare si decriptare date

Cifruri de Substituție

  • Cifruri de Substituție

  • Cifrul lui Cezar (Caesar Cipher): Un cifru monoalfabetic simplu care rotește alfabetul cu un număr fix de poziții (cheia). De exemplu, cu o cheie de 3, 'A' devine 'D'.

  • Cifrul Playfair: Criptează perechi de litere (digrame) în loc de litere individuale, folosind o grilă de bazată pe un cuvânt cheie.

A

B

C

D

E

X

Y

Z

A

B

11 of 26

11

Criptare si decriptare date

Cifruri de Transpoziție

  • Cifruri de Transpoziție

https://en.wikipedia.org/wiki/Transposition_cipher

  • Transpoziția pe coloane: Mesajul este scris pe rânduri într-un tabel de o anumită lățime, apoi citit pe coloane, ordinea coloanelor fiind determinată de cheie.

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

  • Transpoziția Rail Fence: Mesajul este scris în zig-zag pe mai multe rânduri ("gard"), apoi citit rând cu rând.

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 of 26

12

Criptare si decriptare date

Operatori logici si pe biti

  • Un sistem de numerație reprezintă totalitatea regulilor și simbolurilor folosite pentru a scrie și a denumi numerele. Cel mai folosit este sistemul zecimal (baza 10), sistemul binar (baza 2) stă la baza funcționării calculatoarelor moderne, iar sistemul hexazecimal (baza 16) e folosit in programare si permite scrierea compacta valorilor.

  • Baza 2: 0, 1
  • Baza 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
  • Baza 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

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/

13 of 26

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 of 26

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 of 26

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 of 26

16

Tematica programare C/C++

  • instrucțiuni de atribuire;
  • operatori aritmetici, relationali;
  • operatori logici si pe biti;
  • instrucțiuni de scriere/citire;
  • modularizare - functii;
  • lucrul cu fișiere text si fisiere binare;
  • instrucțiuni de decizie/repetare;
  • algoritmi de baza:
    • sortare; cautare; nr. prime; nr pare;
    • Alti algoritmi: Run-Length Encoding; Codare Huffman

  • Platforma: Code::Blocks

17 of 26

17

FACULTATEA DE ELECTRONICĂ

COMUNICAȚII ȘI CALCULATOARE

Scenariu 1

  • 1. Utilizare Wireshark pentru captura trafic din rețea: ftp/web/telnet

  • 2. Se găsește nume de utilizator si parola

  • 3. Se accesează un server de unde se descarcă un fișier de parole
  • 4. Se scrie un program care caută in fișier parole cu anumite caracteristici
  • 5. Se accesează serverul principal cu userul/parola găsite!

18 of 26

18

FACULTATEA DE ELECTRONICĂ

COMUNICAȚII ȘI CALCULATOARE

Scenariu 2

  • 1. Deschidere fișiere Wireshark ( .pcap) care conțin trafic cu fișiere avand ADS

  • 2. Extragere fișiere ascunse în fluxul de date

  • 2. Se extrag datele ascunse si se interpreteaza/decripteaza (algoritmi clasici)

  • 5. Secvența este parola de acces la un server!

19 of 26

19

FACULTATEA DE ELECTRONICĂ

COMUNICAȚII ȘI CALCULATOARE

Scenariu 3

  • 1. Deschidere fișiere Wireshark ( .pcap) care conține trafic cu fișiere cu imagini

  • 2. Extragere fișiere ascunse în fluxul de date

  • 2. Se extrag ultimii biti din fiecare octet al imaginii si se interpreteaza informatia gasita (se decripteaza cu XOR daca e necesar)

  • 5. Secvența este parola de acces la un server!

20 of 26

20

FACULTATEA DE ELECTRONICĂ

COMUNICAȚII ȘI CALCULATOARE

Scenariu 4

  • 1. Deschidere fișiere Wireshark ( .pcap) care conține trafic HTTP de tip GET sau POST

  • 2. Decriptare mesaje si interpretare

  • 5. Secvența este parola de acces la un server!

21 of 26

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

https://www.pbinfo.ro/articole/62/operatii-pe-biti

https://www.geeksforgeeks.org/c/c-bitmasking/

22 of 26

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 of 26

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

http://imag.pub.ro/site_old/release/archive/08.pdf

https://www.geeksforgeeks.org/dsa/run-length-encoding/

24 of 26

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”.

  1. Alfabetul este A = {'a', 'n', ' ', 'r', 'e', 'm'}. Sirul de date are lungimea totala 12, iar pe baza frecventei fiecarui simbol in sir, putem asocia fiecarui simbol probabilitatile următoare:

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 of 26

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ă.

  • Dacă bitul curent este 0, ne mutăm la nodul din stânga arborelui.
  • Dacă bitul este 1, ne mutăm la nodul din dreapta arborelui.
  • Dacă în timpul traversării întâlnim un nod frunză, imprimăm caracterul acelui nod frunză și apoi continuăm parcurgerea datelor codificate începând de la pasul 1.

https://www.geeksforgeeks.org/dsa/huffman-decoding/

https://ocw.cs.pub.ro/courses/sd-ca/2015/teme/doc-tema04

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 of 26

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:

  1. Rezolvare punct:10puncte
  2. Departajare: timp rezolvare(mai mic este mai bun)
  3. Subiect de baraj in caz de egalitate