
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Ottobre 2001 ml@sikurezza.org Soggetto: Re: Kernel capabilities weakness Mittente: Amodiovalerio Verde Data: 8 Oct 2001 16:11:16 -0000
Vecna on 08-10-2001 wrote : ( sembra proprio uno di quei reply automatici )
> ~ buf[0x20] &= 0xFFFFEFF0; /* trying disabling SYS_MODULE */
> ~ printf("Value in 0x01f0080 = 0x%08x \n\n",buf[0x20]);
> ~
> ~ buf[0x20] &= 0xFFFFFFFF; /* try to set capability back */
> ~ printf("New value in 0x01f0080 = 0x%08x \n\n",buf[0x20]);
> attacchi simili li ho sempre visti fare con fopen() fseek()
( ho letto questa riga che mi era sfuggita alla fine del mio reply...ecco
perche' forse mi hai detto che avrei dovuto poi salvare il byte :P ,
effettivamente
dopo la fopen e la fseek ci vorrebbe un fwrite :P )
>
> beh il programma li` sopra si limita ad aprire e a cambiare il valore in
modo
> che non risultino attivate quelle cap, quel codice sicuramente non le
> ripristinera` mai (bisognerebbe salvar quel byte buf[0x20] come backup
della
> kernel memory originale, e dopo aver droppato le capabilities rimettere il
> valore che c'era prima, in questo modo si tornerebbe alla situazione
> iniziale)
Ehm...non vorrei contraddirti :) ma e' errato solo il &= nel secondo
assegnamento...
lascia perdere il funzionamento stupido ( disabilita e rimetti... ) ...
essendo un mmap nel momento
in cui faccio un assegnamento a buf[0x20] lo sto facendo de facto in
/dev/mem :)
Ho scritto un programmino che sto finendo di completare che e' basato
sull'idea di LCAP, ma oltre
a levare le capabilities le puo' anche rimettere ( sempre se non ti sei
disabilitato la RAWIO ).
L'idea era proprio quella di eseguire tutti gli script di init, e poi
droppare tutto o quasi quello che non serve.
Considerando che solo init puo' riscrivere in /dev/mem, sarebbe possibile
patchare il codice di init in modo tale da
'istruirlo' a riabilitare la RAWIO in certi casi...non so se e' tecnicamente
possibile ( non vedo perche' no )...ma
potrebbe tornare molto utile.
> ~ Qualche idea ???
> non usare X
Veramente l'idea era sul perche' quel pezzo di codice non workava :) ... ma
ho solo scritto &= invece di = :P ( ho detto niente... )
Ciauz :)
ps...ma tu per caso conosci uno che programma in perl ?
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005