Linux: Conectarea fișierelor (#19)

Bine ați revenit, dragii mei green horn hackers!

După cum probabil ați descoperit până acum, sistemul de fișiere din Linux este structurat diferit de Windows. Nu există unități fizice – doar un arbore logic de fișiere cu rădăcină în partea de sus (da, știu, rădăcinile ar trebui să fie în partea de jos, dar acesta este un copac cu capul în jos).

În plus, numele de fișiere sunt adesea foarte lungi și complexe, cu o mulțime de liniuțe (-), puncte (.) și numere în numele lor. Acest lucru poate face dificilă tastarea acestora pentru cei care au abilități limitate de tastare.

Uneori vrem să simplificăm numele unui fișier sau dorim să conectăm un fișier dintr-un director cu altul dintr-un director separat. Linux are cel puțin două moduri de a face aceste link-uri simbolice . Pentru a înțelege cum funcționează aceste două sisteme și modul în care acestea sunt diferite, trebuie să ne gândim la baza structurii interne a sistemului de fișiere Linux.


Structura de fișiere în Linux

Știm că structura ierarhică a sistemului de fișiere Linux este diferită de structura ierarhică Windows, dar din interior, sistemul de fișiere ext2 sau ext3 din Linux este foarte diferit de NTFS-ul Windows. Linux stochează fișiere la nivel structural în trei secțiuni principale:

  • The Superblock
  • The Inode Table
  • Data Blocks

Să ne uităm la fiecare dintre acestea.

Superblock-urile

Superblock-urile este secțiunea care conține, în general, informații despre sistemul de fișiere. Aceasta include lucruri precum numărul inode (structura informațiilor într-un sistem de fișiere) blocurile de date, precum și numărul de date din fiecare fișier. E un fel de supraveghetor și îngrijitor al sistemului de fișiere.

Tabelul Inode

Tabelul inode conține mai multe noduri de informații care descriu un fișier sau un director în sistemul de fișiere. În esență, este pur și simplu o înregistrare care descrie un fișier (sau un director) cu toate informațiile critice, cum ar fi data creată, locația, modificarea datei, permisiunile s.a.m.d. Nu conține totuși datele din fișier.

Este important să înțelegem dintr-o perspectivă criminalistică că atunci când un fișier este șters, doar inodul este eliminat.

Blocurile de date

Blocurile de date reprezintă locul unde sunt stocate datele dintr-un fișier, precum și numele fișierului. Acum, cu această înțelegere, să introducem două moduri în care vom conecta fișierele, hard link-ul și link-ul simbolic.

Hard Link-urile

Fișierele legate printr-un hard link sunt identice. Ele au aceeași dimensiune și același nod. Când un fișier legat este modificat sau modificat, fișierul de care este conectat se schimbă și acesta. Putem să conectăm printr-un hard link un fișier ori de câte ori avem nevoie, dar link-ul nu poate traversa sistemele de fișiere. Ele trebuie să se afle pe același sistem de fișiere cu care împărtășesc nodul.


Link-urile simbolice (denumite și link-uri ușoare)

Legăturile simbolice sunt diferite de printr-un hard link prin faptul că nu împărtășesc același nod. O legătură simbolică este pur și simplu un indicator către celălalt fișier, similar cu link-urile din Windows, și au și alte dimensiuni de fișiere. Spre deosebire de hard link-uri, link-urile simbolice NU trebuie să fie pe același sistem de fișiere.

Pasul 1: Vizualizarea link-urilor

Să aruncăm o privire la cum arată legăturile în sistemul nostru de fișiere din Kali. Navigăm în directorul /bin. Amintiți-vă că directorul /bin este chiar sub rădăcina sistemului de fișiere și conține majoritatea comenzilor pe care le folosim zilnic în Linux.

cd /bin

Acum, haideți să ne uităm la fișierele din directorul bin.

ls -l

 

Observăm că mai multe fișiere afișează o săgeată (->) îndreptată spre alt fișier. Acestea sunt legături simbolice. De asemenea, observăm cât de mici sunt. Fiecare are doar 6 octeți. Acest lucru se datorează faptului că acestea sunt doar indicatori, ce indică un alt fișier. Blocul de date al legăturii conține pur și simplu calea spre fișierul de care este legată.



Când edităm fișierul conectat simbolic, edităm mai exact fișierul țintă, deoarece fișierul simbolic este doar calea către fișierul țintă. Sper că m-am făcut înțeles, da? 🙂

Pasul 2: Crearea link-urilor simbolice

O să creăm niște link-uri. Să începem cu legăturile simbolice, deoarece acestea sunt probabil cele mai întâlnite în sistemele celor mai mulți oameni. Deși legăturile simbolice pot fi create oriunde, le vom crea în directorul metasploit-framework pentru a face ca msfconsole să pornească mai ușor.

Mergem mai întâi către directorul /usr/share/metasploit-framework

cd /usr/share/metasploit-framework

Aruncăm o privire la acest director.

ls -l

Pentru a crea o legătură simbolică, folosim comanda ln (link) cu comutatorul -s (simbolic) și numele fișierului cu care vrem să-l conectăm (ținta) și numele linkului pe care dorim să-l creăm. Putem utiliza fie căi relative, fie căi absolute pentru a conecta cele două fișiere.



De obicei, când dorim să intrăm în consola Metasploit, introducem msfconsole, vă amintiți? Acum, să presupunem că vrem să o schimbăm, astfel încât să putem pur și simplu tasta metasploit pentru a intra în consolă, poate nu ne mai amintim msfconsole. Putem conecta un fișier nou, metasploit, la fișierul vechi, msfconsole, astfel încât ori de câte ori tastăm metasploit să le conecteze sau să redirecționeze la msfconsole.

Iată cum facem asta.

ln -s msfconsole metasploit

 

Observăm cât de mic este fișierul de legături simbolice, metasploit. Sunt doar 12 octeți, pentru că este doar un indicator. O cale spre fișierul la care este legat.

Acum, pentru a intra în msfconsole, putem tasta metasploit sau msfconsole și amândouă mă vor duce în același loc – consola Metasploit Framework.

Pasul 3: Crearea hard link-urilor

Pentru a crea un hard link, sintaxa este foarte asemănătoare, cu excepția faptului că folosim comanda ln (link) fără comutatorul -s (simbolic), apoi fișierul existent spre legătură și, în final, fișierul țintă care va fi creat în fișierul existent.

Ne întoarcem la exemplul nostru cu msfconsole, să adăugăm un hard link între msfconsole pentru o comandă mai simplă, msfblackweb. Putem face acest lucru tastând:

ln msfconsole msfblackweb

După cum puteți vedea mai sus, acum am creat un hard link numit msf. Amintiți-vă că hard link-urile partajează un nod cu fișierul conectat, deci sunt exact la aceeași mărime. Observați că noul nostru fișier, msf, are exact aceeași dimensiune ca msfconsole, 1195 octeți. Acum, când vrem să pornim msfconsole, avem opțiunea de a tasta metasploit, msf și msfconsole. Totul va funcționa la fel de bine.

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