Mòdul Professional 4: Anàlisi forense informàtic - Anàlisi d'Evidències NO volàtils a MS Windows

Índex

1. Sistemes de fitxers

1.1. MBR i GPT

El sistema de particionatge de discos ens pot interesar a nivell forense ja sigui per analitzar i reparar algun disc per descartar que hagi estat utilitzat/manipulat amb males intencions.

Quan fem un peritatge forense pot ser interessant analitzar-ho per descartar que l'atacant estigui amagant informació en espais com:

  • Espais de definicions de particions no utilitzades.
  • Particions amb atributs hidden o reserved.
  • Espais del disc que hagin quedat "no utilitzades" o "no particionades", ja sigui al inici, final o entre particions.
  • Espais no utilitzats dels propis sistemes GPT / MBR.

Per tant, com veieu, un atacant pot amagar informació en molts llocs dins d'un disc o unitat d'emmagatzematge i pot valer la pena donar-hi un cop d'ull. Com sempre podem optar per eines típiques com fdisk, gdisk o altres, però de vegades no ens proporcionen tota la informació i el recurs que sempre ens queda, i on podem confiar, és en el nostre coneixement del sistema i un anàlisi manual a baix nivell.

1.1.1. MBR

Com ja sabem la seqüència d'arrencada del sistema passa per la càrrega d'un sistema d'arrencada i diagnòstic emmagatzemat a la ROM de l'equip, seguit de l'inici del sistema operatiu. Aquest sistema d'arrencada i diagnòstic en sistemes antics és, o era, la BIOS.

Associat a aquest sistema, trobem que la BIOS llegia el particionat del disc per trobar el sector d'arrencada del SO. Per fer-ho necessitava que el disc estigués particionat utilitzant el sistema MBT (Master Boot Record). La MBR és prèvia a sistemes MS Windows 2003 SP1, però tot i que a partir d'aquest punt s'ha anat substituïnt pel binomi UEFI-GPT encara avuí dia podem trobar sistemes utilitzant BIOS-MBR. Sistemes com per exemple Linux tan sols utilitzen GPT en els seus instal·ladors si en l'arrencada es detecta que s'ha arrencat en mode EFI (configuració sense compatibilitat amb BIOS), existeix un SO que funcioni amb GPT (Microsoft Windows o MAC principalment) o algun dels disco és de més de 2TB. En cas contrari per defecte es crea la taula de particions utilitzant MBR i per tant aquest sistema encara és vigent a dia d'avuí.

  1. Limitacions de MBR

    Per enumerar una mica les limitacions que trobarem en aquest sistema caldría remarcar que:

    • Els discos tenen un tamany màxim de 2TB.
    • Els discos tenen un màxim de 4 particions primàries. Una d'elles pot passar a ser extesa i aquesta pot contenir fins a X particions lògiques, limitades pel SO.
    • Windows i DOS tan sols pot arrencar des de particions primàries (no permet instal·lar el sector d'arrencada en lògiques).
  2. Estructura MBR

    L'estructura de particions MBR descansa dins dels primers 512 Bytes del disc, és a dir, el sector 0 del disc. La taula de particions la podem trobar a partir del byte 446.

    MBR_0.png En el sector 0 hi ha el MBR (Master Boot Record) on hi ha el codi per arrencar el SO i també la taula de particions del disc.

    Aquesta taula de particions ocupa 64 bytes i conté 4 registres de 16 bytes cadascun (corresponents a les 4 particions primàries possibles). Aquí s'emmagazema tota la informació respecte la partició, bàsicament:

    • Si es arrancable.
    • Format.
    • Mida.
    • Sector d'inici.

    MBR_1.png Cada entrada de partició, un total de 4, conté 6 seccions ben definides on s'emmagatzema la informació necessària per definir la partició.

    Fixem-nos que a MBR les particions es defineixem mitjançant el seu tipus i per determinar on estàn ubicades s'utilitza una referència al cilindre, head (inici) i mida, així com el sector d'inici i el tamany de la partició. En l'imatge de la pràctica d'anàlisi MBR es veu millor.

    Per finalitzar, notar que un MBR en bon estat sempre acaba amb el codi 55 AA.

  3. Espai efectiu de la MBR i primera partició possible de disc

    Cal afegir que un pensaria que després dels 512 bytes del MBR començaria la primer partició de disc, però si ho mirem en realitat això no pasa. Resulta que la MBR va substituïr un sistema prèvi de particionatge i arrencada del sistema DOS. Aquest sistema ocupava una pista (63 sectors) i per mantenir compatibilitat amb aquest sistema antic es va mantenir que la primera partició començes a partir d'aquest sector. Tanmateix en MBRs actuals veiem que això tampoc és cert i és que, si cerquem una mica, descobrirem que les noves eines de particionatge de disc guarden 2048 bytes en total des de l'inici del disc. La raó és per guardar aquest espai és facilitar la transició cap a GPT ja que aquest és l'espai que requereix. Així doncs, tot i que utilitzem MBR, podrem "convertir" la MBR a GPT donat que tenim espai per fer-ho alhora que mantindrem les particions i no perdrem informació.

  4. Eines

    Per detectar el sistema MBR o GPT podem utilitzar la comanda gdisk.

    gdisk -l imatge.raw
    

    Com podem veure aquesta comanda en dona el tipus de taula de particions, el nombre de sectors i la seva mida, identificador de disc (GUID) i recupera l'informació de cada partició (tipus, tamany i sectors inicial i final).

    Per fer-ne una còpia, podem utilitzar vari programari però el més simple és com sempre dd o un dels seus derivats com dc3dd.

    dd if=/dev/sda of=MBR.raw bs=512 count=1
    

    Fixem-nos en la comanda que fixmen el tamany dels sectors del disc amb bs=512 i el numero de sectors que volem copiar amb count=1.

    A partir d'aquí podem examinar a mà el MBR utilitzant un editor hexadecimal com per exemple hexeditor. Per interpretar la taula MBR cal tenim molt en compte el format de cada cam, ja que la lectura tot i coneixer l'estructura no és directe.

1.1.2. GPT

Per superar les limitacions de MBR es va desenvlupar GPT. Bàsicament augmenta de forma il·limitada (queda però limitat per el SO, per exemple Windows pot gestionar 128 particions) el nombre de particions, totes són arrencables i a més incorpora millores de seguretat.

A nivell de seguretatm, per exemple, GPT crea còpies de la taula de particions, de manera que no depenem tan sols d'un sector del disc per a que tot funcioni. La GPT està emmagatzemada en el sector 1 del disc (a diferència de MBR que està al 0), però existeixen altres còpies de manera que si aquest sector queda malmés podrem obtenir la informació d'una d'aquestes còpies.

També incorcora verificació CRC32, és a dir, una verificació de que les dades no han perdut integritat. D'aquesta manera GPT és capaç de detectar errors, cosa que MBR no pot fer.

Comparativa-MBR-GPT.gif Comparativa entre MBR i GPT a nivell d'estructura. Fixem-nos que GPT existeix al inici del disc i de forma inversa al final, com a backup.

A diferència de MBR a GPT per localitzar les particions s'utilitza el sistema LBA (Logical Block Addressing), aquests blocs poden ser de 512 bytes en endavant (en factor proporcional).

Si analitzem l'estructura trobarem:

  1. LBA 0

    El LBA 0 té una mida de 512 bytes per compatibilitat i correspont al sector 0 del disc. Conté una petita taula MBR que indica una única partició de disc de tipus GPT, d'aquesta manera els PCs amb BIOS detecten el disc i determien la partició, tot i que no puguin treballar amb ella. És una forma d'oferir certa compatibilitat amb sistemes antics.

    Un PC amb UEFI ignora aquest primer sector.

  2. LBA 1

    Conté l'anomenada Capçalera GPT.

    GPT_LBA_1.png Estructura de la capçalera GPT.

  3. LBA 2-23

    Aquí tenim les entrades per a les particions amb els seus corresponents atributs.

    GPT_LBA_2-33.png] Estructura definitoria d'una partició GPT.

    Per més informació sobre els possibles valors i opcions de cada camp millor consulteu directament la Wiki.

1.1.3. Extracció de particions

Per l'extracció de particions podem utilitzar tota l'informació anteriorment esmentada o simplement fer-ho com ho hem vist en l'apartat de recollida d'evidències.

1.2. FAT i NTFS

1.3. MFT

1.4. Fitxers eliminats

1.4.1. Slack Space

1.4.2. Anàlisi i Carving

1.4.3. Orphan Files

2. Artefactes

2.1. Prefetch

2.2. Logs

2.3. Fitxers d'hibernació

2.4. Volume Shadow Copy

2.5. Registres del sistema

2.6. Events EVTX

2.7. Enllaços LNK

2.8. Navegació

2.9. Paperera de reciclatge

2.10. Metadades

2.11. Dades de xarxa

2.12. Thumbnails

2.13. One Drive

2.14. Facebook App

2.15. Cortana

2.16. Notification Center (SIC)

2.17. USB Activity

2.18. FRS Deletion

2.19. Email

2.19.1. MS Outlook

2.19.2. Mozilla Thunderbird

2.20. Altres

2.20.1. Windows Error Reporting (WER)

2.20.2. Remote Desktop Protocol (RDP) Cache

3. Bibliografia

Data: 2021-04-08 dj. 00:00

Autor: Raul Gimenez Herrada

Created: 2022-01-12 dc. 16:14