Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
lifer — Esaminatore di file di collegamento di Windows (scorciatoie) | Kitploit
Strumenti/GitHubGitHub/paul-tew/lifer
Informatica ForenseRaccolta InformazioniDigital ForensicsAnalisi di Binari
GitHubpaul-tew/lifer

lifer

Esaminatore di file di collegamento di Windows (scorciatoie)

Vedi Repository
6892 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

lifer

Uno strumento forense per l'esame dei file di collegamento di Windows (cioè le shortcut di Windows)

SYNOPSIS

'lifer' è uno strumento da riga di comando per Windows o *nix ispirato al whitepaper 'The Meaning of Link Files in Forensic Examinations' di Harry Parsonage e disponibile qui. Ha iniziato la sua vita come uno strumento leggero che ho scritto per estrarre determinate informazioni dai file di collegamento per assistere nelle indagini che stavo svolgendo mentre lavoravo come analista forense informatico. Ora sono in pensione, ma sto cercando di espanderne l'utilità e pubblicarlo in modo che altri possano trarne beneficio.

Le informazioni estratte sono conformi al documento di specifica aperta Microsoft 'MS-SHLLNK' che può essere trovato online qui. Al momento della scrittura, la maggior parte delle parti della specifica versione 4.0 sono state implementate. Spero di implementare in futuro l'analisi dei file di elenco di salti non aperti.

EXAMPLE USAGE

I dettagli dei file che si trovano nella directory Test e come usarli sono forniti nel file '.\Test\Tests.txt'. Quello che segue è un breve schema...

Una volta installato lo strumento, apri una shell a riga di comando (es. bash o Powershell) e dalla directory './lifer/src' digita:

root@kitploit:~
lifer -s ./Test/Test1.lnk

Questo dovrebbe dare l'output:

root@kitploit:~
LINK FILE -------------- .\Test\Test1.lnk
{**DATI (stat) DEL SISTEMA OPERATIVO**}
  Last Accessed:       2017-04-18 20:28:19 (UTC)
  Last Modified:       2017-04-18 20:28:19 (UTC)
  Last Changed:        2017-04-18 20:28:19 (UTC)

{**DATI INCORPORATI DEL FILE DI COLLEGAMENTO**}
  {S_2.1 - ShellLinkHeader}
    Attributes:          0x00000020   FILE_ATTRIBUTE_ARCHIVE
    Creation Time:       2008-09-12 20:27:17 (UTC)
    Access Time:         2008-09-12 20:27:17 (UTC)
    Write Time:          2008-09-12 20:27:17 (UTC)
    Target Size:         0 bytes
  {S_2.3 - LinkInfo}
    {S_2.3.1 - LinkInfo - VolumeID}
      Drive Type:        DRIVE_FIXED
      Drive Serial No:   307A8A81
      Volume Label:      [EMPTY]
      Local Base Path:   C:\test\a.txt
  {S_2.4 - StringData}
    {S_2.4 - StringData - RELATIVE_PATH}
      Relative Path:     .\a.txt
    {S_2.4 - StringData - WORKING_DIR}
      Working Dir:       C:\test
  {S_2.5 - ExtraData}
    {S_2.5.10 - ExtraData - TrackerDataBlock}
      MachineID:         chris-xps
      Droid1:            {94C77840-FA47-46C7-B356-5C2DC6B6D115}
      Droid2:            {7BCD46EC-7F22-11DD-9499-00137216874A}
        UUID Sequence:     153
        UUID Time:         2008-09-10 10:23:17 (UTC)
        UUID Node (MAC):   00:13:72:16:87:4A

NOTA: La sezione sopra intitolata '{DATI (stat) DEL SISTEMA OPERATIVO}' avrà date diverse perché queste dipenderanno dalle date in cui hai installato e hai acceduto a quel file di collegamento sul tuo sistema. I dati incorporati saranno comunque gli stessi.

Un output più completo (compresi timestamp più precisi) può essere ottenuto omettendo l'opzione '-s'.

Il maggior livello di dettaglio su un file di collegamento può essere ottenuto usando l'opzione '-i' che stamperà anche i dettagli noti su eventuali oggetti idlist. Questa opzione non è compatibile con l'opzione '-s'.

Tutti i file di collegamento in una directory (cartella) possono essere analizzati semplicemente passando il nome della directory:

root@kitploit:~
lifer ./src/Test/WinXP

(per brevità l'output non è stato mostrato).

L'output più utile per un certo numero di file di collegamento può essere creato inviando l'output come elenco separato da tabulazioni (o virgole) in un file che può quindi essere importato in un foglio di calcolo per l'analisi a piacere. Ciò può essere ottenuto così:

root@kitploit:~
lifer -o tsv ./src/Test/WinXP > WinXP.tsv

o

root@kitploit:~
lifer -so tsv ./src/Test/WinXP > WinXP.tsv

per un file che ha alcuni dei dati superflui e poco interessanti oscurati.

AVVISO SULL'OUTPUT SEPARATO DA VIRGOLE!!

Le stringhe all'interno dei file di collegamento possono talvolta contenere virgole. Poiché ciò causa un conflitto con il separatore di campo, tutte le virgole all'interno delle stringhe sono state sostituite con punti e virgola (cioè ',' sostituito con ';'). Questo è vero solo per l'opzione '-o csv' e non per le opzioni predefinite '-o txt' o '-o tsv' e '-o xml'.

INSTALLAZIONE DALLA RELEASE

Visita la Pagina delle Release e scegli il file eseguibile appropriato per la tua macchina dall'ultima release e scaricalo. Rinomina l'eseguibile in 'lifer' (o 'lifer.exe' per Windows). Assicurati che abbia gli attributi corretti per essere eseguito come file eseguibile e posizionalo in una cartella contenente i file di collegamento che vuoi esaminare oppure aggiungi la posizione alla tua variabile PATH e sarai a posto.

INSTALLAZIONE DAL SORGENTE

La prima cosa da fare è assicurarsi di avere git installato sulla tua macchina/dispositivo; in una shell a riga di comando, spostati nella directory principale del progetto desiderata e digita il comando:

root@kitploit:~
git clone https://github.com/Paul-Tew/lifer.git

Verrà creata una nuova directory chiamata 'lifer'.

INSTALLAZIONE LINUX (e altre piattaforme *nix)

(Potrebbe funzionare per installazioni Mac ma non ho il denaro necessario per testarlo con certezza...) Poiché questo strumento è piuttosto semplice, le dipendenze sono minime, assicurati di avere il compilatore 'gcc' e le librerie di sviluppo 'libc' appropriate installate, tutto qui. Avvia un terminale a riga di comando e naviga nella directory ./lifer/src. Digita il comando:

root@kitploit:~
gcc -Wall ./lifer.c ./liblife/liblife.c ./libbin2hex/libbin2hex.c -o lifer

Se non sono apparsi avvisi o errori, ora dovresti avere un file eseguibile 'lifer' nella directory, potresti verificarlo digitando il comando:

root@kitploit:~
ls -la

Se tutto è OK, puoi testare che lifer funzioni provandolo sul file specificato nel documento Microsoft che ho incluso come parte del repository git che hai clonato e che dovrebbe trovarsi nella directory ./Test/. Puoi farlo digitando il comando:

root@kitploit:~
./lifer ./Test/Test.lnk

Puoi anche testare che lifer funzioni su un gruppo di file di collegamento in una directory digitando il comando:

root@kitploit:~
./lifer ./Test/WinXP/

Installa lo strumento sul sistema operativo digitando il comando:

root@kitploit:~
sudo install ./lifer /usr/bin/

Questo ti permetterà di usare lifer ovunque sul tuo sistema senza specificare il prefisso della directory (es. lifer ./Test/Test.lnk invece di ./lifer ./Test/Test.lnk)

INSTALLAZIONE WINDOWS

Il progetto lifer su github viene fornito completo con una soluzione di progetto di Visual Studio 2017, quindi il modo più semplice per creare un eseguibile Windows è installare prima Visual Studio 2017. C'è una versione gratuita (conosciuta come versione 'community') disponibile qui. Una volta installato Visual Studio:

  • Fai clic sinistro su File->Open->Project/Solution e vai al file lifer.sln per caricare la soluzione in Visual Studio.
  • Sulla Barra degli Strumenti Standard, imposta le opzioni di Configurazione Soluzione su quelle adatte alla tua macchina e preferenza (ad esempio, io uso: 'x64' e 'Debug')
  • Compila la soluzione dal menu 'Build' o usa semplicemente la combinazione di tasti: Ctrl+Shift+B
  • Se non ci sono stati errori, dovresti avere un file eseguibile 'lifer.exe' nella sottocartella appropriata del tuo progetto.
  • A questo punto di solito apro un terminale Powershell e navigo verso la cartella contenente l'eseguibile, che per me si fa digitando il comando:
root@kitploit:~
cd "F:\\lifer\src\x64\Debug\"
  • Quindi testo l'eseguibile usando il comando:
root@kitploit:~
.\lifer.exe ..\..\Test\Test1.lnk

È possibile creare lifer in Windows senza installare Visual Studio, ma dovrai comunque scaricare e installare gli strumenti di compilazione Visual C++ disponibili qui Una volta installati, lifer può essere compilato nella directory ./src/ digitando il comando:

root@kitploit:~
CL lifer.c .\liblife\liblife.c .\Win\dirent.c .\Win\getopt.c .\libbin2hex\libbin2hex.c

RICONOSCIMENTI

'lifer' era originariamente uno strumento solo Linux/GNU che non era realmente portabile su Windows finché non ho trovato soluzioni ai principali ostacoli della navigazione di una directory e dell'analisi delle opzioni da riga di comando nello stesso modo in cui fa GNU. A tal fine sono profondamente grato ai seguenti due progetti:

  1. dirent Kevlin Henney
  2. getopt Ludvik Jerabek

INTERPRETAZIONE DELL'OUTPUT

Si invitano gli utenti a leggere il whitepaper prima di attribuire qualsiasi significato ai risultati. Nessun risultato dovrebbe essere attribuito a questo strumento senza una COMPLETA comprensione di ciò che rappresenta l'output; questo si applica in particolare alle questioni di fatto per la determinazione in un tribunale. In tali casi è compito dell'utente comprendere appieno entrambi i documenti menzionati, oltre ad avere una conoscenza approfondita di come Windows e altri sistemi operativi trattano la creazione, lo spostamento e la cancellazione di tali file. È inoltre necessaria una conoscenza pratica di come 'lifer' ha interpretato e presentato i dati (questo richiede la lettura e la comprensione del codice).

DICHIARAZIONE INFORMALE

Sono solo un programmatore autodidatta, quindi senza dubbio ci sono carichi di errori e 'trappole' nel codice. A tal fine, non faccio ASSOLUTAMENTE NESSUNA promessa che questo strumento non danneggi il tuo sistema. Ho cercato duramente di non rovinare la tua macchina, ma la strada per l'inferno è lastricata di buone intenzioni...

DICHIARAZIONE FORMALE

QUESTO MATERIALE È FORNITO "COSÌ COM'È" SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSE, MA NON LIMITATE A, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O NON VIOLAZIONE. ALCUNE GIURISDIZIONI NON CONSENTONO L'ESCLUSIONE DELLE GARANZIE IMPLICITE, PERTANTO L'ESCLUSIONE DI CUI SOPRA POTREBBE NON APPLICARSI A TE. IN NESSUN CASO SARÒ RESPONSABILE VERSO TERZI PER DANNI DIRETTI, INDIRETTI, SPECIALI O ALTRI DANNI CONSEQUENZIALI DERIVANTI DA QUALSIASI UTILIZZO DI QUESTO MATERIALE, INCLUSE, A TITOLO ESEMPLIFICATIVO E NON LIMITATIVO, EVENTUALI PERDITE DI PROFITTI, INTERRUZIONE DELL'ATTIVITÀ, PERDITA DI PROGRAMMI O ALTRI DATI SUL TUO SISTEMA DI GESTIONE DELLE INFORMAZIONI O ALTRO, ANCHE SE ESPRESSAMENTE INFORMATI DELLA POSSIBILITÀ DI TALI DANNI.

Paul Tew - Marzo 2020

Scarica lo strumento