SlideShare a Scribd company logo
Generarea de erori PERSISTENTE in
              BIOS
INTRODUCERE

Metode practice de injectare de cod in BIOS

          Persistenta adevarata

Comportamentul fluxului de date ROOTKIT

         Independenta fata de OS
PUTINA ISTORIE
• Cele mai folosite metode de a obtine
  persistenta sunt……..
• BACKDOOR-ul prin USER
• BACKDOOR-ul prin KERNEL

• Cum putem eficientiza aceste metode???
Bios- Soft cu caracteristici ciudate?
• Preia controlul inaintea oricarei alte aplicatii
• Nu prezinta interes pentru NICI UN SOFT
  ANTIVIRUS
• Independent de OS (Nu tine cont de nimic, si
  de nici o instructiune a sistemului)

• REZULTA…
BIOS-ul este…..



UN VIRUS DE TIP
  BACKDOOR
De fapt ce e BIOS-UL??
• BIOS –ul se traduce prin BASIC INPUT OUTPUT
  SYSTEM
• El initializeaza transferul de date(RAM, North
  Bridge, etc.)
• Capacitatea cipului:MINIM 256 Kb
• De obicei este stocat in format EEPROM sau
  flash
STRUCTURA BIOS-ULUI
• Este compus din diverse linii de tip LZH
  Compresate in module de 8 bit (un octet)
• Exista si module necompresate..cum ar fi:
   – Bootblock:Cand incarca afisajul POST poate bloca
     anumite actiuni, pentru a pastra integritatea
     sistemului
   – Boot-area de tip URGENTA:Decompreseaza restul
     moduleleor pentru a facilita anumite actiuni de tip
     RECOVERY sau MotherBord FLASH SAFE DISK
• Face verificari aleatorii a valorilor nominale ale
  sistemelor prezente pe masina de calcul..
Exemplu de elemente procesate
CUM FUNCTIONEAZA??
• Prima comanda executata de CPU este un cod
  operational de 16 byte localizat la adresa
  F000:FFF0
• Bootblock POST (Power On Self Test) urmeaza in
  executie.
• Urmeaza decompresia fiecarui modul si se
  executa.
• Se verifica si se executa modulele de tip PCI
  ROMs.
• Se verifica sectoarele de boot de pe HDD si se
  executa, pornind OS-ul.
Schema Logica A BIOS-ului
Procesul de Update/Flash
• BIOS –ul suporta update.
• Producatorii ofera update-uri pentru a asigura
  o cat mai buna functionare
• Update-urile se bazeaza, paradoxal pe cipul
  de South-Bridge si nu pe cipul vizat de update
• Interfata CoreBOOT intervine in procesul de
  update al BIOS-ului
Unde putem face un pach?

• BIOS –ul contine cateva linii de verificare a integritatii
• Orice modificare in acele linii aduce dupa sine un sistem
  care nu mai poate porni
• Eu folosesc doua technici
• 1) Folosesc un soft de generare a fisierului
• 2) Aletrez codul original si il codez in pachete de un octet
• Cum pot obtine un pach in trei pasi simpli:
• 1) Obtin validarea chipului folosind flashrom
• 2) Fac un pach cu bypass si il compresez
• 3) Re-flash
Unde putem interveni?
• Practic oriunde:
• f000:fff0: Este prima linie executata
  INT 0x19: Cheie rulata EXACT inaintea initializarii OS-ului
• Inserarea unui modul ROM : Valoarea executata inaintea
  verificarii POST
• Cea mai practica metoda gasita de mine: Nu compresati
  liniile care ar trebui compresate! (overload memory)
• Nu va chinuiti sa gasiti cheile in sistem, toti le pun in acelasi
  loc
• Solicitati aceleasi date de mai multe ori in timpul aceluiasi
  proces
Ce putem face de fapt?
• Depinde. Ce resurse avem la dispozitie?
      Acces standard la HDD(Int 13h)
      Memory Manager (PMM)
• network access ,modem sau alta piesa(Trebuie
  driver)
• Eu am o metoda pt a altera datele de pe HDD:
• 1) Modific fisierele de tip shadow (unix)
• 2) Injectie de cod in datele binare ale
  Windows-ului
Codurile Shell
• Aceste coduri sunt toate create in 16 biti
• Partea proasta este ca folosim sistemul bios-ul mereu,
  si aceste coduri actioneaza fara a le putea controla.
• Usor de decompresat: BIOS-ul executa un mediu de
  lucru care poate fi emulat cu fisiere COM sub DOS
• Pseudocod-uri:
• 1) Verifica semnalele de READY/STOP
• 2) Verifica initializarea codurilor de sistem
• 3) Ruleaza codul
Diagrama logica pentru un pseudocod
DEMO PE O MASINA VIRTUALA
DEMO PE O MASINA REALA
Ce putem imbunatati?
• Putem folosi vulnerabilitatile sistemului BIOS
  pentru a insera comenzi si parametrii proprii.
• Folosind o metoda proprie si cu ajutorul unui
  HEX editor,am modificat cipul, pentru a obtine
  o facilitate pe care o doream de mult
• CONTROLUL PROPRIULUI PC, DE LA DISTANTA,
  CU TELEFONUL MOBIL.
CE CONTINE UN FISIER ROM??
• Fisierul de update al bios-ului, este cu extensia
  ROM sau WPH (mai sunt si altele, dar acestea
  doua sunt cele mai intalnite)
• In realitate fisierul nostru de update este O
  ARHIVA.

• CAM ASA ARATA DACA O DECOMPRIMAM
CE CONTIE O “ARHIVA” ROM?
  1.FN            2.FNT           ACPI0.AML
  ACPI1.BIN       ACPI2.ROM       BB.ROM
  BB.ROM          BIOSCODE0.ROM   BIOSCODE1.ROM
  BIOSCODE2.ROM   BIOSCODE3.ROM   DECOMPC0.ROM
  DISPLAY0.ROM    LOGO0.PGX       LOGO1.PGX
  MISER0.ROM      MOD_2A00.ROM    OLD1.RLS
  ROBOEX32.DLL    ROM.LOG         ROM.SCR
  ROMEXEC0.ROM    ROMEXEC1.ROM    SETUPS0.ROM
  STRINGS0.ROM    TEMP.ROM        TEMPLAT0.ROM
                  UPDATE0.ROM
Pe ce lucram in definitiv????
• BIOSCODE0(1,2,3).ROM-aceste fisiere contin “inima” bios-
  ului. Aici vom defini si implementa functiiile
• SETUPS0.ROM- aici vom edita modul in care bios-ul isi face
  setup-ul. Acest fisier este executat defapt cand facem
  update
• STRINGS0.ROM –Aici confirmam valabilitatea si
  aranjamentul de string-uri, tot aici adaugam informatiile
  despre noile meniuri (Menu+Submenu)
• TEMPLAT0.ROM- Aici avem pratea grafica. Aici definim
  textul, pozitia si help-ul noului meniu
• UPDATE0.ROM- Acest fisier ajuta la RESTORE. Modificam
  data din el DATA si versiunea de release. Il comprimam in
  cadrul unei arhive functionale, si facem update.
Pe ce lucram in definitiv????
• LOGO0.PGX- acest fisier contine brogress bar-ul
  de boot (prezent DOAR in anumite cazuri. NU
  este obilgatoriu sa existe)
• LOGO1.PGX- ACEASTA este IMAGINEA care
  apare pe ecran.O editem, si punem ce poza vrem
  noi, cu conditia sa pastram proprietatile pozei
  originale
• ROBOEX32.DLL – Acest fisier stie sa “spuna”
  sistemului de operare ca are un nou BIOS, cu noi
  parametri. ESTE OBLIGATORIU corelat cu
  UPDATE0.ROM.
SI…CAM ATAT
• INTREBARI??

More Related Content

Similar to Generarea de erori persistente in BIOS

Prezentarea calculatorului
Prezentarea calculatoruluiPrezentarea calculatorului
Prezentarea calculatoruluiSima Sorin
 
Prezentarea calculatorului
Prezentarea calculatorului Prezentarea calculatorului
Prezentarea calculatorului
Nicky Nic
 
2011.01.21 - Webcast - Siguranta si securitate in windows 7
2011.01.21 - Webcast - Siguranta si securitate in windows 72011.01.21 - Webcast - Siguranta si securitate in windows 7
2011.01.21 - Webcast - Siguranta si securitate in windows 7ITSpark Community
 
Componentele unui-calculator-partea-i
Componentele unui-calculator-partea-iComponentele unui-calculator-partea-i
Componentele unui-calculator-partea-i
BalanTatiana1
 
Ghid ro
Ghid roGhid ro
Identificare nevoi invatare_elevi
Identificare  nevoi invatare_eleviIdentificare  nevoi invatare_elevi
Identificare nevoi invatare_eleviGeorge Brebenel
 
Sisteme de Operare: Introducere
Sisteme de Operare: IntroducereSisteme de Operare: Introducere
Sisteme de Operare: Introducere
Alexandru Radovici
 
Prezentarea Calculatorului
Prezentarea CalculatoruluiPrezentarea Calculatorului
Prezentarea CalculatoruluiNicky Nic
 
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
arhitectura-microprocesoarelor_cursul amp   profesor burileanu_44509arhitectura-microprocesoarelor_cursul amp   profesor burileanu_44509
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
Robin Cruise Jr.
 
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp   profesor burileanu...An2 derivat.ro arhitectura-microprocesoarelor_cursul amp   profesor burileanu...
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
Robin Cruise Jr.
 
Suport cls09-tic-cap01-l02-01-structura calculatorului personal
Suport cls09-tic-cap01-l02-01-structura calculatorului personalSuport cls09-tic-cap01-l02-01-structura calculatorului personal
Suport cls09-tic-cap01-l02-01-structura calculatorului personalGeorge Brebenel
 
Simatic step 7 v5
Simatic step 7 v5Simatic step 7 v5
Simatic step 7 v5
Neagoe Cristian
 
Simatic step 7 v5 prog
Simatic step 7 v5 progSimatic step 7 v5 prog
Simatic step 7 v5 prog
MARIUS scutaru
 
Calculatoru 000
Calculatoru 000Calculatoru 000
Calculatoru 000
Iacob Cupcea
 

Similar to Generarea de erori persistente in BIOS (20)

Partea 3
Partea 3Partea 3
Partea 3
 
A c partea 3
A c partea 3A c partea 3
A c partea 3
 
Prezentarea calculatorului
Prezentarea calculatoruluiPrezentarea calculatorului
Prezentarea calculatorului
 
Prezentarea calculatorului
Prezentarea calculatorului Prezentarea calculatorului
Prezentarea calculatorului
 
2011.01.21 - Webcast - Siguranta si securitate in windows 7
2011.01.21 - Webcast - Siguranta si securitate in windows 72011.01.21 - Webcast - Siguranta si securitate in windows 7
2011.01.21 - Webcast - Siguranta si securitate in windows 7
 
Componentele unui-calculator-partea-i
Componentele unui-calculator-partea-iComponentele unui-calculator-partea-i
Componentele unui-calculator-partea-i
 
Ghid ro
Ghid roGhid ro
Ghid ro
 
Identificare nevoi invatare_elevi
Identificare  nevoi invatare_eleviIdentificare  nevoi invatare_elevi
Identificare nevoi invatare_elevi
 
Sisteme de Operare: Introducere
Sisteme de Operare: IntroducereSisteme de Operare: Introducere
Sisteme de Operare: Introducere
 
Curs linux 2
Curs linux 2Curs linux 2
Curs linux 2
 
Arduino eeprom
Arduino   eepromArduino   eeprom
Arduino eeprom
 
Prezentarea Calculatorului
Prezentarea CalculatoruluiPrezentarea Calculatorului
Prezentarea Calculatorului
 
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
arhitectura-microprocesoarelor_cursul amp   profesor burileanu_44509arhitectura-microprocesoarelor_cursul amp   profesor burileanu_44509
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
 
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp   profesor burileanu...An2 derivat.ro arhitectura-microprocesoarelor_cursul amp   profesor burileanu...
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
 
Suport cls09-tic-cap01-l02-01-structura calculatorului personal
Suport cls09-tic-cap01-l02-01-structura calculatorului personalSuport cls09-tic-cap01-l02-01-structura calculatorului personal
Suport cls09-tic-cap01-l02-01-structura calculatorului personal
 
Simatic step 7 v5
Simatic step 7 v5Simatic step 7 v5
Simatic step 7 v5
 
Simatic step 7 v5 prog
Simatic step 7 v5 progSimatic step 7 v5 prog
Simatic step 7 v5 prog
 
Calculatoru 000
Calculatoru 000Calculatoru 000
Calculatoru 000
 
A c partea 4
A c partea 4A c partea 4
A c partea 4
 
Partea 4
Partea 4Partea 4
Partea 4
 

More from DefCamp

Remote Yacht Hacking
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht Hacking
DefCamp
 
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
DefCamp
 
The Charter of Trust
The Charter of TrustThe Charter of Trust
The Charter of Trust
DefCamp
 
Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?
DefCamp
 
Bridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UX
DefCamp
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...
DefCamp
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
DefCamp
 
Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)
DefCamp
 
Trust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFATrust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFA
DefCamp
 
Threat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical ApplicationThreat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical Application
DefCamp
 
Building application security with 0 money down
Building application security with 0 money downBuilding application security with 0 money down
Building application security with 0 money down
DefCamp
 
Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...
DefCamp
 
Lattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epochLattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epoch
DefCamp
 
The challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcareThe challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcare
DefCamp
 
Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?
DefCamp
 
Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured
DefCamp
 
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
DefCamp
 
We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.
DefCamp
 
Connect & Inspire Cyber Security
Connect & Inspire Cyber SecurityConnect & Inspire Cyber Security
Connect & Inspire Cyber Security
DefCamp
 
The lions and the watering hole
The lions and the watering holeThe lions and the watering hole
The lions and the watering hole
DefCamp
 

More from DefCamp (20)

Remote Yacht Hacking
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht Hacking
 
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
 
The Charter of Trust
The Charter of TrustThe Charter of Trust
The Charter of Trust
 
Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?
 
Bridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UX
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
 
Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)
 
Trust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFATrust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFA
 
Threat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical ApplicationThreat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical Application
 
Building application security with 0 money down
Building application security with 0 money downBuilding application security with 0 money down
Building application security with 0 money down
 
Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...
 
Lattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epochLattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epoch
 
The challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcareThe challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcare
 
Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?
 
Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured
 
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
 
We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.
 
Connect & Inspire Cyber Security
Connect & Inspire Cyber SecurityConnect & Inspire Cyber Security
Connect & Inspire Cyber Security
 
The lions and the watering hole
The lions and the watering holeThe lions and the watering hole
The lions and the watering hole
 

Generarea de erori persistente in BIOS

  • 1. Generarea de erori PERSISTENTE in BIOS
  • 2. INTRODUCERE Metode practice de injectare de cod in BIOS Persistenta adevarata Comportamentul fluxului de date ROOTKIT Independenta fata de OS
  • 3. PUTINA ISTORIE • Cele mai folosite metode de a obtine persistenta sunt…….. • BACKDOOR-ul prin USER • BACKDOOR-ul prin KERNEL • Cum putem eficientiza aceste metode???
  • 4. Bios- Soft cu caracteristici ciudate? • Preia controlul inaintea oricarei alte aplicatii • Nu prezinta interes pentru NICI UN SOFT ANTIVIRUS • Independent de OS (Nu tine cont de nimic, si de nici o instructiune a sistemului) • REZULTA…
  • 5. BIOS-ul este….. UN VIRUS DE TIP BACKDOOR
  • 6. De fapt ce e BIOS-UL?? • BIOS –ul se traduce prin BASIC INPUT OUTPUT SYSTEM • El initializeaza transferul de date(RAM, North Bridge, etc.) • Capacitatea cipului:MINIM 256 Kb • De obicei este stocat in format EEPROM sau flash
  • 7. STRUCTURA BIOS-ULUI • Este compus din diverse linii de tip LZH Compresate in module de 8 bit (un octet) • Exista si module necompresate..cum ar fi: – Bootblock:Cand incarca afisajul POST poate bloca anumite actiuni, pentru a pastra integritatea sistemului – Boot-area de tip URGENTA:Decompreseaza restul moduleleor pentru a facilita anumite actiuni de tip RECOVERY sau MotherBord FLASH SAFE DISK • Face verificari aleatorii a valorilor nominale ale sistemelor prezente pe masina de calcul..
  • 9. CUM FUNCTIONEAZA?? • Prima comanda executata de CPU este un cod operational de 16 byte localizat la adresa F000:FFF0 • Bootblock POST (Power On Self Test) urmeaza in executie. • Urmeaza decompresia fiecarui modul si se executa. • Se verifica si se executa modulele de tip PCI ROMs. • Se verifica sectoarele de boot de pe HDD si se executa, pornind OS-ul.
  • 10. Schema Logica A BIOS-ului
  • 11. Procesul de Update/Flash • BIOS –ul suporta update. • Producatorii ofera update-uri pentru a asigura o cat mai buna functionare • Update-urile se bazeaza, paradoxal pe cipul de South-Bridge si nu pe cipul vizat de update • Interfata CoreBOOT intervine in procesul de update al BIOS-ului
  • 12. Unde putem face un pach? • BIOS –ul contine cateva linii de verificare a integritatii • Orice modificare in acele linii aduce dupa sine un sistem care nu mai poate porni • Eu folosesc doua technici • 1) Folosesc un soft de generare a fisierului • 2) Aletrez codul original si il codez in pachete de un octet • Cum pot obtine un pach in trei pasi simpli: • 1) Obtin validarea chipului folosind flashrom • 2) Fac un pach cu bypass si il compresez • 3) Re-flash
  • 13. Unde putem interveni? • Practic oriunde: • f000:fff0: Este prima linie executata INT 0x19: Cheie rulata EXACT inaintea initializarii OS-ului • Inserarea unui modul ROM : Valoarea executata inaintea verificarii POST • Cea mai practica metoda gasita de mine: Nu compresati liniile care ar trebui compresate! (overload memory) • Nu va chinuiti sa gasiti cheile in sistem, toti le pun in acelasi loc • Solicitati aceleasi date de mai multe ori in timpul aceluiasi proces
  • 14. Ce putem face de fapt? • Depinde. Ce resurse avem la dispozitie? Acces standard la HDD(Int 13h) Memory Manager (PMM) • network access ,modem sau alta piesa(Trebuie driver) • Eu am o metoda pt a altera datele de pe HDD: • 1) Modific fisierele de tip shadow (unix) • 2) Injectie de cod in datele binare ale Windows-ului
  • 15. Codurile Shell • Aceste coduri sunt toate create in 16 biti • Partea proasta este ca folosim sistemul bios-ul mereu, si aceste coduri actioneaza fara a le putea controla. • Usor de decompresat: BIOS-ul executa un mediu de lucru care poate fi emulat cu fisiere COM sub DOS • Pseudocod-uri: • 1) Verifica semnalele de READY/STOP • 2) Verifica initializarea codurilor de sistem • 3) Ruleaza codul
  • 16. Diagrama logica pentru un pseudocod
  • 17. DEMO PE O MASINA VIRTUALA
  • 18. DEMO PE O MASINA REALA
  • 19. Ce putem imbunatati? • Putem folosi vulnerabilitatile sistemului BIOS pentru a insera comenzi si parametrii proprii. • Folosind o metoda proprie si cu ajutorul unui HEX editor,am modificat cipul, pentru a obtine o facilitate pe care o doream de mult • CONTROLUL PROPRIULUI PC, DE LA DISTANTA, CU TELEFONUL MOBIL.
  • 20. CE CONTINE UN FISIER ROM?? • Fisierul de update al bios-ului, este cu extensia ROM sau WPH (mai sunt si altele, dar acestea doua sunt cele mai intalnite) • In realitate fisierul nostru de update este O ARHIVA. • CAM ASA ARATA DACA O DECOMPRIMAM
  • 21. CE CONTIE O “ARHIVA” ROM? 1.FN 2.FNT ACPI0.AML ACPI1.BIN ACPI2.ROM BB.ROM BB.ROM BIOSCODE0.ROM BIOSCODE1.ROM BIOSCODE2.ROM BIOSCODE3.ROM DECOMPC0.ROM DISPLAY0.ROM LOGO0.PGX LOGO1.PGX MISER0.ROM MOD_2A00.ROM OLD1.RLS ROBOEX32.DLL ROM.LOG ROM.SCR ROMEXEC0.ROM ROMEXEC1.ROM SETUPS0.ROM STRINGS0.ROM TEMP.ROM TEMPLAT0.ROM UPDATE0.ROM
  • 22. Pe ce lucram in definitiv???? • BIOSCODE0(1,2,3).ROM-aceste fisiere contin “inima” bios- ului. Aici vom defini si implementa functiiile • SETUPS0.ROM- aici vom edita modul in care bios-ul isi face setup-ul. Acest fisier este executat defapt cand facem update • STRINGS0.ROM –Aici confirmam valabilitatea si aranjamentul de string-uri, tot aici adaugam informatiile despre noile meniuri (Menu+Submenu) • TEMPLAT0.ROM- Aici avem pratea grafica. Aici definim textul, pozitia si help-ul noului meniu • UPDATE0.ROM- Acest fisier ajuta la RESTORE. Modificam data din el DATA si versiunea de release. Il comprimam in cadrul unei arhive functionale, si facem update.
  • 23. Pe ce lucram in definitiv???? • LOGO0.PGX- acest fisier contine brogress bar-ul de boot (prezent DOAR in anumite cazuri. NU este obilgatoriu sa existe) • LOGO1.PGX- ACEASTA este IMAGINEA care apare pe ecran.O editem, si punem ce poza vrem noi, cu conditia sa pastram proprietatile pozei originale • ROBOEX32.DLL – Acest fisier stie sa “spuna” sistemului de operare ca are un nou BIOS, cu noi parametri. ESTE OBLIGATORIU corelat cu UPDATE0.ROM.