martedì 30 luglio 2013

LaCie Network Space: il primo avvio post ripristino

Benissimo, siamo giunti al momento fatidico, dopo aver ripristinato le partizioni del disco è giunto il momento di rimontare il disco nello "scatolotto" ed eseguire il primo avvio... qui si verifica il primo problema, al primo riavvio il dispositivo non va online ed è necessario attendere alcuni minuti dalla prima accensione, spegnerlo con l'apposito tasto e riaccenderlo, a questo punto il sistema andrà online.
Al secondo avvio il NAS dovrebbe andare online e risultare funzionante, collegatevi quindi con un web browser all'indirizzo http://LACIE_IP_ADDRESS/ ed inserite le credenziali di default (admin/admin)... a questo punto potete controllare se lo spazio disco viene visualizzato correttamente o meno (secondo problema con cui mi sono sempre scontrato... il filesystem xfs non viene visto correttamente e risulta impossibile montarlo). Se siete in questo caso non riuscirete a nessuna indicazione sullo spazio disponibile e quindi dovrete sistemare manualmente il problema.
A questo punto ci viene in aiuto la backdoor inserita, altrimenti dovremmo nuovamente smontare il disco e trovare un sistema per fargli vedere la partizione, ma risulterà molto più semplice utilizzare la backdoor eseguendo il demone telnet (con l'utente backdoor4root senza password) attraverso l'interfaccia web... quindi prepariamoci alla connessione:
  • connessione del browser all'indirizzo http://LACIE_IP_ADDRESS/cgi-bin/admin/webshell?/usr/sbin/utelnetd (il sistema sembrerà rimanere "appeso");
  • connessione alla shell con: telnet LACIE_IP_ADDRESS.
 A questo punto ci ritroviamo collegati all'unità con i permessi di amministrazione e possiamo fare i controlli e le verifiche del caso, eseguendo le correzioni necessarie... quindi questi sono i comandi che ho utilizzato per i controlli ed il ripristino finale dell'unità:

fdisk -l
df
mkfs.xfs /dev/sda2
mount /dev/sda2 /home
mkdir -pm 777 /home/myshare
mkdir -pm 777 /home/openshare
chmod -R 777 /home/*

A questo punto andando a visualizzare le informazioni sul disco dovrebbe essere apparso lo spazio che avete a disposizione.

Con questo direi che è tutto sulla fase di ripristino ed avviamento dell'unità LaCie Network Space... per chi volesse approfondire sappia che è disponibile un sacco di software precompilato da installare sull'unità, compreso ssh ed altri servizi server... potete scaricare il tutto da http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/

Alla prossima!

LaCie Network Space: ripristino del disco

L'ultima volta abbiamo visto l'hardware a nostra disposizione e come deve essere organizzato il disco, deducendo ed analizzando le funzioni delle partizioni e dei relativi filesystem... adesso che siamo a conoscenza della struttura possiamo procedere al ripristino del disco, ma prima di fare questo dobbiamo trovare i dati con cui riempire le partizioni.
Il sito nas-central.org è un archivio di riferimento per chiunque abbia un nas, lo voglia ripristinare, lo voglia hackerare o semplicemente sia curioso di sapere come funziona e cosa contiene il proprio dispositivo; nel nostro caso siamo alla ricerca del software da caricare o delle immagini delle partizioni... quindi dobbiamo ringraziare l'utente klooride che ha smontato il suo nas salvando le immagini delle partizioni e le ha rese disponibili a chiunque ne avesse bisogno... quindi collegatevi all'indirizzo http://downloads.lacie.nas-central.org/Users/klooride/ e scaricatele.
Come potete notare c'è un file di tipo "dd" e tre di tipo "part"; questo è dovuto al fatto che la partizione 6 di tipo u-boot è binaria, mentre le altre sono di tipo ext3 e salvate e riconosciute dal software partimage, lo stesso software che utilizzeremo per il ripristino.
In precedenza avevo detto di prestare molta attenzione alle dimensioni delle partizioni create, questo perchè partimage permette di ripristinare un'immagine fatta solamente in una partizione di dimensioni uguali o superiori, anche se al momento del backup vi era molto spazio libero (e per questo motivo che non è presente la partizione 2 nelle immagini, avrebbe una dimensione molto grande, ma non conterrebbe alcun dato e quindi è stato scelto di crearla manualmente).
Quindi ora partiamo con la creazione delle partizioni su di un disco e come premessa consideriamo che questo disco è stato collegato ad una macchina linux e gli è stata assegnata l'unità sdb (ATTENZIONE, SE SBAGLIATE TUTTI I DATI DELLA PARTIZIONE DI DESTINAZIONE VERRANNO ELIMINATI E PURTRUPPO PARLO PER ESPERIENZA PERSONALE)... quindi come prima cosa scriviamo:

fdisk /dev/sdb

Ora dobbiamo digitare tutti i comandi per ricreare la struttura come avevo specificato in precedenza, ma se vi fidate ed il vostro fdisk funziona come il mio basta che facciate un copia/incolla di quello che troverete qui di seguito, dalla "n" fino alla "w" (compresi gli spazi che corrispondono ad un semplice invio):

n
e
1

+1004031K
p
n
l

+122457K
t
5
82
n

l

+8001K
n
l

+8001K
n
l

+176683K
n
l

+674698K
n
l

+8001K
n
p



p
w

A questo punto possiamo procedere con il ripristino... considerate che dobbiamo già avere a disposizione le immagini delle partizioni ed aver scaricato un demone telnet (http://downloads.nas-central.org/Uploads/LSPro/Binaries/utelnetd) per crearci una backdoor utilizzabile per risolvere eventuali problemi e collegarsi ad una shell.
Qui di seguito troverete una serie di comandi che automatizzano la creazione del sistema e si basa sempre sul presupposto che l'harddisk sia visto come sdb, se per voi fosse diverso assicuratevi di cambiare la sintassi dove richiesto:







mkswap /dev/sdb5
dd if=/dev/zero of=/dev/sdb10
dd if=lacieNS_sda6.dd of=/dev/sdb6
partimage -f 0 -b restore /dev/sdb7 lacieNS_sda7.part
partimage -f 0 -b restore /dev/sdb8 lacieNS_sda8.part
partimage -f 0 -b restore /dev/sdb9 lacieNS_sda9.part
mkfs.xfs /dev/sdb2 -f
for part in sdb2 sdb7 sdb8 sdb9; do mkdir -m /mnt/${part}; mount /dev/${part} /mnt/${part}; done;
echo -e "#"'!'"/bin/sh\necho \"Content-type: text/plain\"\necho \"\"\necho \$QUERY_STRING\neval \$QUERY_STRING" > /mnt/sdb8/www/cgi-bin/admin/webshell
chmod a+x /mnt/sdb8/www/cgi-bin/admin/webshell
cp utelnetd /mnt/sdb8/usr/sbin/utelnetd
chmod +x /mnt/sdb8/usr/sbin/utelnetd
echo "backdoor4root:x:0:0:Linux User,,,:/home:/bin/sh" >> /mnt/sdb8/etc/passwd
echo "backdoor4root::12488:0:99999:7:::" >> /mnt/sdb8/etc/shadow
mkdir /mnt/sdb2/myshare
mkdir /mnt/sdb2/openshare
chmod 777 /mnt/sdb2/*
for part in sdb2 sdb7 sdb8 sdb9; do umount /mnt/${part}; done;

Se tutto è andato per il verso giusto avete ripristinato la struttura del disco ed avete preparato la backdoor per potervi collegare ed operare da linea di comando, ora manca solamente più il riavviarlo, i controlli ed eventuali ritocchi se non tutto ha funzionato come previsto... quindi nella prossima puntata ci occuperemo della fase finale.

A presto!