RFIC est un programme compatible Windows et Linux qui va permettre de vérifier l'intégrité des fichiers souhaités et de restaurer ceux-ci en cas de problème d'intégrité d'un de ces fichiers. Le contrôle est basé sur la génération d'un hash de type MD5 qui est ensuite utilisé pour contrôler chaques fichiers.
Tout d'abord vous devez remplir le fichier de configuration de RFIC nommé rfic.conf. En premier lieu vous devez
spécifiez le répertoire dans lequel seront stocké les fichiers originaux pour que le programme puisse agir en cas de problème d'intégrité, ensuite vous allez devoir spécifier les fichiers sur lequels vous voulez vérifier l'intégrité.
Exemple de fichier de configuration pour RFIC :
# RFIC By R-e-D (r-e-d@redkod.com) # Configuration File # # No Return on the end of this file Or Dead # # Path for all Backup files [c:\backup\] # # Protected Files # [rfic.exe] [rfic.conf] [c:\boot.ini] [c:\autoexec.bat] [c:\winnt\explorer.exe] [c:\winnt\regedit.exe] [c:\winnt\system32\kernel32.exe] [c:\winnt\system32\ntoskrnl.exe] [c:\winnt\system32\kernel32.dll] [c:\winnt\system32\netstat.exe] [c:\winnt\system32\cmd.exe] [c:\winnt\system32\winlogon.exe] [c:\winnt\system32\ws2_32.dll] [c:\winnt\system32\wsock32.dll] [c:\winnt\system32\wininet.dll] [c:\winnt\system32\user32.dll] [c:\winnt\system32\taskmgr.exe] [c:\winnt\system32\ntdll.dll] [c:\winnt\system32\shell32.dll] [c:\winnt\system32\services.exe] [c:\winnt\system32\sfc.exe]Note : Ne pas terminer la fin du fichier de configuration avec un retour à la ligne.
Une fois le fichier de configuration correctement rempli, vous allez pouvoir générer les hashs MD5, voici un exemple :
C:\rfic>rfic.exe -g Loading Configuration File : rfic.conf... Number of files : 21 Generating All MD5 Sum and save in rfic.save... ..................... [OK]Les hash MD5 générés sont sauvés dans le fichier nommé RFIC.save se trouvant sans le même répertoire que l'exécutable du programme RFIC.
Maintenant que tous nos hashs sont générés nous allons devoir sauvegarder nos fichiers originaux dans le répertoire spécifié par le fichier de configuration rfic.conf. Voici un exemple présentant la manipulation à effectuée.
C:\rfic>rfic -b Loading Configuration File : rfic.conf... Backup all files in c:\backup\ . Copie de rfic.exe vers c:\backup\rfic.exe ... Size 196696 Octets [OK] Copie de rfic.conf vers c:\backup\rfic.conf ... Size 772 Octets [OK] Copie de c:\boot.ini vers c:\backup\boot.ini ... Size 186 Octets [OK] Copie de c:\autoexec.bat vers c:\backup\autoexec.bat ... Size 8 Octets [OK] Copie de c:\winnt\explorer.exe vers c:\backup\explorer.exe ... Size 243984 Octets [OK] Copie de c:\winnt\regedit.exe vers c:\backup\regedit.exe ... Size 76048 Octets [OK] Copie de c:\winnt\system32\kernel32.exe vers c:\backup\kernel32.exe ... Size 159835 Octets [OK] Copie de c:\winnt\system32\ntoskrnl.exe vers c:\backup\ntoskrnl.exe ... Size 1716240 Octets [OK] Copie de c:\winnt\system32\kernel32.dll vers c:\backup\kernel32.dll ... Size 781072 Octets [OK] Copie de c:\winnt\system32\netstat.exe vers c:\backup\netstat.exe ... Size 28432 Octets [OK] Copie de c:\winnt\system32\cmd.exe vers c:\backup\cmd.exe ... Size 249104 Octets [OK] Copie de c:\winnt\system32\winlogon.exe vers c:\backup\winlogon.exe ... Size 183568 Octets [OK] Copie de c:\winnt\system32\ws2_32.dll vers c:\backup\ws2_32.dll ... Size 68368 Octets [OK] Copie de c:\winnt\system32\wsock32.dll vers c:\backup\wsock32.dll ... Size 24336 Octets [OK] Copie de c:\winnt\system32\wininet.dll vers c:\backup\wininet.dll ... Size 590336 Octets [OK] Copie de c:\winnt\system32\user32.dll vers c:\backup\user32.dll ... Size 380176 Octets [OK] Copie de c:\winnt\system32\taskmgr.exe vers c:\backup\taskmgr.exe ... Size 92432 Octets [OK] Copie de c:\winnt\system32\ntdll.dll vers c:\backup\ntdll.dll ... Size 512272 Octets [OK] Copie de c:\winnt\system32\shell32.dll vers c:\backup\shell32.dll ... Size 2405136 Octets [OK] Copie de c:\winnt\system32\services.exe vers c:\backup\services.exe ... Size 88848 Octets [OK] Copie de c:\winnt\system32\sfc.exe vers c:\backup\sfc.exe ... Size 10512 Octets [OK]A partir de maintenant si RFIC découvre un problème dans l'intégrité d'un de ces fichiers, celui ci va restaurer selon votre avis le fichier endommagé grâce à ses copies crées.
Maintenant nous pouvons réaliser un contrôle de nos fichiers à chaque fois que nous le voudrons. Encore une fois, voice un exemple d'utilisation.
C:\rfic>rfic -c Loading Configuration File : rfic.conf Number of files : 21 Loading Saved MD5 Hash File : rfic.save Number of MD5 sums : 21 Global Checking for all MD5 sums... [OK] 1: 2E390CE00B23E46010E0222F894B39C6 rfic.exe [OK] 2: 59FAC85E6F2F141C6FD9AA45AD0F164B rfic.conf [OK] 3: 06893FD06CA0C562358A9AA15FB27CED c:\boot.ini [OK] 4: DD14876B3CDF5B26E3DC8C2FDB3D3170 c:\autoexec.bat [OK] 5: 0BCE2B10ACDC82EA62DF79ADEF06C14A c:\winnt\explorer.exe [OK] 6: C99ACFF4E913FA4CD477C5E62835511B c:\winnt\regedit.exe [OK] 7: 22A1A95396D1F2C9EC3398137E3D1F62 c:\winnt\system32\kernel32.exe [OK] 8: 617A85D37CF03F2C763E1471C7DFF9F3 c:\winnt\system32\ntoskrnl.exe [OK] 9: BDDBDC7945E44AEB8E02AF76DE35F438 c:\winnt\system32\kernel32.dll [OK] 10: 58936E88429DF0BAFD99B992AB5CF114 c:\winnt\system32\netstat.exe [OK] 11: 55249AAFE90717B3D33AAD76797AC71E c:\winnt\system32\cmd.exe [OK] 12: 67E37C434BD38688B779D74EFBC6838E c:\winnt\system32\winlogon.exe [OK] 13: FF33A8CC63D6972100A3A9890A99949E c:\winnt\system32\ws2_32.dll [OK] 14: 35C6D61A36CE97E0D0987C03A9D3B6F3 c:\winnt\system32\wsock32.dll [OK] 15: CDA73F069C9976EBBA4438170A618F95 c:\winnt\system32\wininet.dll [OK] 16: D6057EA9FE91E3EEE34BC0BE05233AA7 c:\winnt\system32\user32.dll [OK] 17: 6D8383A453B632C84F5A96C33CD05F49 c:\winnt\system32\taskmgr.exe [OK] 18: 631EA48650396CBC09BDD6F66691EB36 c:\winnt\system32\ntdll.dll [OK] 19: F2042CF3A617CBD0BDB3D979B21DE1F3 c:\winnt\system32\shell32.dll [OK] 20: 6FBBC26665227040205A9A3CE963B3E9 c:\winnt\system32\services.exe [OK] 21: AB42DC2BFDB6D65EAC37B73985600FBE c:\winnt\system32\sfc.exeIci on voit très bien que chaque fichier controlé n'a pas était modifiés depuis la génération des hashs MD5.
Maintenant voyons ce qui se passe si nous modifions un de ces fichiers.
C:\rfic>cat c:\autoexec.bat w00w00 C:\rfic>echo hello > c:\autoexec.bat C:\rfic>cat c:\autoexec.bat hello C:\rfic>rfic -c Loading Configuration File : rfic.conf Number of files : 21 Loading Saved MD5 Hash File : rfic.save Number of MD5 sums : 21 Global Checking for all MD5 sums... [OK] 1: 2E390CE00B23E46010E0222F894B39C6 rfic.exe [OK] 2: 59FAC85E6F2F141C6FD9AA45AD0F164B rfic.conf [OK] 3: 06893FD06CA0C562358A9AA15FB27CED c:\boot.ini [WARNING!] 4: c:\autoexec.bat Hour Wed Sep 25 21:04:58 2002 Saved MD5 Sum 0BCE2B10ACDC82EA62DF79ADEF06C14A New MD5 Sum DE1EC876FBB738255AA58BDB775D93C2 Restore the original file ? (Y/N)On voit ici que RFIC nous demande la confirmation pour restaurer le fichier qui à été modifié. Nous répondons 'Y'. Regardons ce qui se passe.
Y Ok ! Now Restoring the original file with backup. The file " c:\autoexec.bat " has been restored ! [OK] 5: 0BCE2B10ACDC82EA62DF79ADEF06C14A c:\winnt\explorer.exe [OK] 6: C99ACFF4E913FA4CD477C5E62835511B c:\winnt\regedit.exe [OK] 7: 22A1A95396D1F2C9EC3398137E3D1F62 c:\winnt\system32\kernel32.exe [OK] 8: 617A85D37CF03F2C763E1471C7DFF9F3 c:\winnt\system32\ntoskrnl.exe [OK] 9: BDDBDC7945E44AEB8E02AF76DE35F438 c:\winnt\system32\kernel32.dll [OK] 10: 58936E88429DF0BAFD99B992AB5CF114 c:\winnt\system32\netstat.exe [OK] 11: 55249AAFE90717B3D33AAD76797AC71E c:\winnt\system32\cmd.exe [OK] 12: 67E37C434BD38688B779D74EFBC6838E c:\winnt\system32\winlogon.exe [OK] 13: FF33A8CC63D6972100A3A9890A99949E c:\winnt\system32\ws2_32.dll [OK] 14: 35C6D61A36CE97E0D0987C03A9D3B6F3 c:\winnt\system32\wsock32.dll [OK] 15: CDA73F069C9976EBBA4438170A618F95 c:\winnt\system32\wininet.dll [OK] 16: D6057EA9FE91E3EEE34BC0BE05233AA7 c:\winnt\system32\user32.dll [OK] 17: 6D8383A453B632C84F5A96C33CD05F49 c:\winnt\system32\taskmgr.exe [OK] 18: 631EA48650396CBC09BDD6F66691EB36 c:\winnt\system32\ntdll.dll [OK] 19: F2042CF3A617CBD0BDB3D979B21DE1F3 c:\winnt\system32\shell32.dll [OK] 20: 6FBBC26665227040205A9A3CE963B3E9 c:\winnt\system32\services.exe [OK] 21: AB42DC2BFDB6D65EAC37B73985600FBE c:\winnt\system32\sfc.exeLe fichier à été restauré selon RFIC, mais vérifions quand même ceci par nous même.
C:\rfic>cat c:\autoexec.bat w00w00On observe que le programme a fait correctement son travail de restauration.