Newsgroup: it.comp.sicurezza.varie
Titolo: HELP!

Salve a tutti,
Ho bisogno di sapere se esiste un modo per rintracciare la data di ultimo
start-up e/o shutdown di un pentium 2 con sistema operativo Win98 SE. Ciò
per verificare se il pc è stato acceso e se i dati al suo interno manipolati
dopo una certa data.
Ho bisogno di queste informazioni, perché ad un mio amico è stato
sequestrato il pc dalla polizia postale. Siamo quasi certi che, dopo il
sequestro, il computer è stato acceso (non sono stati applicati i sigilli)
ed i dati che vi erano potrebbero essere stati manipolati.
Per questo motivo ci occorre verificare che:
1) il pc è stato acceso *dopo* la data del sequestro. In tal caso dalle
manipolazioni possono essere avenute; se fatte da persone esperte sarebbero
difficilmente riscontrabili.
2) verificare in tutti i modi possibili se i dati sono stati manipolati.
In linea di principio, è possibile accendere il pc dopo la data del
sequestro, modificare la data di sistema immettendo dati *compromettenti*.
Dopodiché, si rimette la data a posto, per fare lo shutdown. Mi sembra però,
che una tale operazione sia "rilevabile" nel senso che la data originale
(cioè dell'ultima accensione) dovrebbe risultare sul file system durante il
boot. Anche se poi questo problema potrebbe essere bypassato facendo il boot
con un HD esterno. Non so però quanto sia valido questo ragionamento.
Grazie in anticipo
Extrabyte


 Ultima considerazione che mi sento di fare è che i tuoi ragionamenti sono macchiavellici per i motivi sopra
già esposti (il backup e immagine dei dati).
Una curiosità.....se puoi......che cosa ha fatto di tanto grave il tuo amico per far si che la PP si
scomodasse
per sequestrarle il PC? E' molto inusuale........la deve avere fatta davvero grossa.......
By Frantic....

 dopo una certa data.
scusa relativamente ai files non ti basterebbe una ricerca per data degli
stessi?
Avvio, Trova, File o Cartelle----> Creati o Modificati da (data) a (data)
ciao

 By Frantic....
Una correzione importante: nel post ho sbagliato, non era la polizia
postale, ma la polizia giudiziaria. L'accusa è: molestia.
Extrabyte

 ciao
Grazie per la dritta. Avrei però un'osservazione da fare. Se io accendo il
pc, vado in bios, modifico la data di sistema, scrivo con word qualcosa di
compromettente, e alla fine salvo il file, in questo caso la data non
risulta alterata?
Ciao, Etrabyte


Vale quanto detto prima.....:)
By frantic...


*/ scusa GR se mi intrometto.......ma Extrabyte.....a me pare sufficiente che tu cambi la data anche dal
prompt
    oppure dalla barra di avvio di windows..... */
Altro consiglio.....se non sei piů che ferrato in queste cose non ti mettere contro certa gente......non sono
tutti
stupidi come si pensa.....ci sono reparti molto bene preparata (ndr....) Un esempio?
Se in questo NG ci fosse qualcuno interessato....beh.....dall'header del tuo messaggio compaiono messaggi
importanti.......:)
By Frantic....

 importanti.......:)
Lo so, lo so... Volendo potrebbero risalire anche al mio numero di
scarpe:-).
Ciao, Extrabyte

risulta alterata?
No. Ovviamente, a quel punto si trovano il proprietario e un pubblico
ufficiale davanti al cadavere compromettente, e ciascuno dei due dice
che e' colpa dell'altro.
Solo che:
	a) Il proprietario HA un motivo logico per negare, mentre
	   il pubblico ufficiale di norma non ha motivo per farlo
	b) Nel dubbio, il giudice e' *piu'* propenso a credere al
	   p.u., salvo che ci sia 'fumus persecutionis' (sp?) che
	   va documentato, e non e' semplice
Leonardo
-- 
"Open Source programs are designed and developed.
 Our products are tested."
 Steve Lipner, manager, Microsoft Security Response Center

    oppure dalla barra di avvio di windows..... */
A te pare. Ma non basta. Per cambiare la data in modo "sicuro", devi
cambiarla dal BIOS, *prima* di qualsiasi boot.



E dici bene. Però, la difesa si aggrappa a qualsiasi cosa.

Anche se ha fatto un sequestro illegittimo?
"Di norma". Sulla legittimita' del sequestro, decide l'autorita' di P.S.
e il magistrato.
Comunque, di un file CREATO da un furbacchione spesso si puo' DIMOSTRARE
la posterita' rispetto ad un altro documento. Mi e' in effetti successo,
una volta, di doverlo (e, fortunatamente, poterlo) fare.
Nel caso generale, si assume quanto segue:
	Se un documento, recante la data X, reca al proprio interno
	dei dati appartenenti ad un altro file, recante la data Y e
	tale che Y > X,
	ALLORA
	se ne deve concludere che o X, o Y, od anche entrambe, sono
	date falsificate.
Su un sistema FAT/VFAT, "interno" di un documento significa: "dentro lo
spazio dati o dentro lo slack space conseguente".
In un file Office, "spazio dati" significa "dati utente e spazio OLE".
Il furbacchione medio falsifica data e dati utente, e a volte dimentica
che grazie agli astvti programmatori di Redmond, lo spazio OLE contiene
dati appartenenti AD ALTRI DOCUMENTI DEL SISTEMA. Ecco quindi che se e'
possibile dimostrare che questi dati appartengono a documenti creati in
data SUCCESSIVA al documento incriminato, il documento incriminato deve
essere stato creato DOPO.
Anche i furbacchioni un po' piu' furbacchioni possono dimenticarsi che,
grazie agli astvti programmatori di Redmond, un file system *FAT soffre
del problema dello slack space, e piu', dell'UNCLEARED slack space. Nel
frammento di cluster che "arrotonda" al cluster successivo (quasi) ogni
file, potrebbero esserci pezzi di documento, di registro, o se si ha un
po' di, ehm, cuore, anche una DIRECTORY con tanto di timestamps.
O una chiave di registro appartenente a un software installato DOPO. Le
possibilita' di trovarci qualcosa di utile non sono elevatissime, pero'
ci sono.


 po' di, ehm, cuore, anche una DIRECTORY con tanto di timestamps.
Scusa la domanda sicuramente stupida, ma come lo trovo questo frammento
di cluster? Hai usato un tool particolare per l'analisi dei cluster o
basta un partition magic?
Grazie mille,
b.

THANX, sei stato chiarissimo.
Ciao, Extrabyte




Serve uno strumento apposta, che comunque non e' niente di complicato:
	size    = filesize($1);
	// Il cluster size ce lo dice CHKDSK, ad esempio
	newsize = floor((size + cluster-1)/cluster)*cluster;
	extra = newsize-size;
	if (extra > 4)
	{
		// che ce ne faremmo di 4 bytes? 5, invece... :-)
		fp = fopen($1, "rb+");
		fseek(fp, newsize, SEEK_SET);
		// WARNING [1]
		fseek(fp, size, SEEK_SET);
		fread(buffer, 1, (extra), fp);
		fseek(fp, size, SEEK_SET);
		ftruncate(fp);
		fclose(fp);
 
		fp = fopen(concat($1, ".extra"), "wb");
		fwrite(buffer, 1, (extra), fp);
		fclose(fp);
		printf("%ld bytes from %s saved into %s.extra\n",
			extra, $1, $1);
	}
[1] Questo si basa sul comportamento di fseek, "extend without rewrite".
    Questo comportamento costituisce una falla nella sicurezza, e perciň
    non e' disponibile su alcuni sistemi operativi. In questi, fseek() a
    offsets > EOF non fa altro che AZZERARE lo slack space > EOF, e DOPO
    lo lascia leggere.


 basta un partition magic?
Un qualunque programmillo come le norton utilities dei bei tempi che
furono.
Oppure dd if=/dev/hda1 of=~/disk.mirror
-- 
HappyCactus - Registered Linux User #209744
Cannot delete files, disk full. Try to delete some file.
rm -fr /bin/laden