Linux: GRUB Bootloader (#21)

Bine ați revenit, dragii mei greenhorn hackers!

Mulți dintre voi ați instalat Kali Linux pe o mașină virtuală (VM) utilizând VMware sau VirtualBox, în timp ce alții au instalat Kali pe un sistem dual-boot. Dezavantajul pentru instalarea acestor sisteme de hacking pe un VM este că acesta necesită apoi un adaptor wireless extern (adaptorul wireless este conectat prin VM ca dispozitiv cu fir, eth0), dar face ca acesta să fie un loc minunat pentru a testa hack-urile în timp ce aptitudinile vi se ascuțesc.

Folosirea Kali pe un sistem dual boot nu necesită un alt adaptor wireless și vă permite să utilizați resursele totale ale sistemului fizic. În acest fel, când aveți nevoie de Windows, faceți boot în Windows și când aveți nevoie de Kali, faceți boot în Kali.

Bootloader-ul

Pentru a putea rula un sistem dual-boot, trebuie să avem un bootloader, și aici apare problema. Bootloader-ul ne permite să alegem sistemul de operare ce dorim să-l pornim. Pentru a fi confortabili cu acest aranjament, trebuie să înțelegem un pic despre acest lucru numit bootloader.

Din punct de vedere istoric, Linux a folosit două bootloadere, LILO și GRUB. Puteți găsi LILO pe unele sisteme vechi, dar în mare parte a fost înlocuit de GRUB. GRUB are două versiuni, GRUB inițial și acum noul GRUB2, îmbunătățit! Sistemul nostru Kali vine cu GRUB2 în mod implicit, așa că îmi voi concentra atenția asupra acestei versiuni mai noi.


O mică istorie GRUB

GRUB este un acronim pentru GRand Unified Bootloader. Înlocuiește în mare parte bootloader-ul ce se găsește pe multe versiuni vechi Linux, LILO. GRUB funcționează prin interceptarea controlului procesului de boot atunci când sistemul BIOS transferă controlul la Master Boot Record (MBR) în primul sector al unității hard disk primare. Dacă MBR găsește prima partiție activă, GRUB înlocuiește MBR cu propriul cod ce controlează partiția care este bootată.

Pasul 1: Explorăm GRUB

Să aruncăm o privire la GRUB2 așa cum este instalat pe Kali. GRUB2, spre deosebire de primul GRUB, are toate fișierele instalate în trei locații principale. Acestea sunt:

  • /boot/grub/grub.cfg – acesta este fișierul de configurare principal (înlocuiește menu.lst)
  • /etc/grub.d – acest director conține scripturile ce construiesc grub.cfg
  • /etc/default/grub – acest fișier conține setările de meniu GRUB

Acum, să începem prin navigarea și căutarea în directorul GRUB.

kali > cd /boot/grub
kali >ls -l

După cum putem vedea, există multe fișiere în acest director, dar cel pe care dorim să ne concentrăm atenția aici este grub.cfg. Acesta este fișierul de configurare din noul GRUB2 care vine cu Kali, ce înlocuiește vechiul meniu.lst pe care îl vom întâlni pe GRUB-ul original. Să-l deschidem cu comanda more și să-l examinăm.


Grub.cfg este, în principiu, un script pentru rularea și configurarea GRUB2. Acesta este generat de script-urile din /etc/grub.d și, în general, NU ar trebui să încercăm să-l editați direct (reținem avertismentul de pe al doilea rând al fișierului).

Pasul 2: Directorul /etc/grub.d Directory

Să examinăm directorul /etc/grub.d.

kali > cd /etc/grub.d
kali > ls -l

După cum puteți vedea în captura de ecran de mai sus, acest director are un număr de script-uri care sunt executate pentru a crea fișierul grub.cfg. Să ne uităm la intrările de aici.

  • 00_header – acest script încarcă setările din /etc/default/grub
  • 05_debian_theme – acest script definește culorile, fundalul s.a.m.d.
  • 10_linux – acest script încarcă intrările din meniu
  • 20_memtest86 – acest script încarcă tester-ul de memorie
  • 30_os-prober – acest script scanează hardurile pentru alte sisteme de operare
  • 40_custom – acesta este un script șablon pentru a adăuga manual alte intrări în meniu

Pasul 3: Explorăm /etc/default/grub

Acum, hai să mergem către directorul /etc/default și să vedem ce se află în acest director.



kali > cd /etc/default
kali > ls -l

Acest director conține multe fișiere și scripturi ce configurează diferiți demoni sau servicii în Linux. Singurul care ne interesează aici, este fișierul grub pe care l-am subliniat în captura de ecran de mai sus. Să deschidem acest fișier cu comanda more.

kali > more /etc/default/grub

Când facem acest lucru, vom vedea următoarea ieșire.

 

Acest fișier conține mulți dintre parametrii personalizați pentru GRUB, cum ar fi TIMEOUT și alți parametri. Dacă schimbăm ceva în acest fișier, trebuie să executăm ,,update-grub” pentru ca aceste modificări să aibă efect, deoarece modifică după aceea fișierul grub.cfg.


Pasul 4: Cum funcționează GRUB2

Înainte de a merge mai departe, vreau să luăm o mică pauză pentru a detalia cum funcționează GRUB2. Este destul de diferit de GRUB-ul original și trebuie să înțelegeți acest lucru înainte de a încerca să adăugați modificări la GRUB2.

 

Fișierul /etc/default/grub conține parametri de personalizare.

Directorul /etc/grub.d/ conține scripturi pentru informațiile din meniul GRUB și scripturile pentru a încărca diferite sisteme de operare. Când se execută comanda update-grub, acesta citește conținutul fișierelor grub și scripturile grub.d și creează fișierul grub.cfg.

Pentru a modifica fișierul grub.cfg, trebuie să edităm fișierul grub sau script-urile de sub grub.d.

Rămâneți alături de BlackWeb.ro pentru a afla mai multe despre Linux și hacking…

Continuați să reveniți pe Blackweb, dragii mei greenhorn hackers, pentru mai multe tutoriale despre hacking și despre elementele de bază ale Linux-ului, ce ar fi bine să le cunoașteți, în drumul vostru de a deveni niște hackeri talentați.

Până data viitoare, să ne citim cu bine! 🙂



0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments