Aller au contenu


IceSword : « HIDS » & « ARK »


  • Sujet fermé Ce sujet est fermé
5 replies to this topic

#1 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:05

Un très grand « merci » à « Alban » qui a découvert et signalé cet utilitaire, puis a largement contribué à la rédaction de cet article qui, sans lui, ne serait pas aussi riche d'informations utiles.




CITATION
C'est un puissant antirootkit (ARK) et aussi un utilitaire multifonctions développé par « pjf_ » (jfpan20000@sina.com) à partir de fin 2005, alors qu'il était étudiant à l'USTC (Univesity of Science and Technology of China) et membre de la Xfocus Team.


Quelques caractéristiques de IceSword (IS) ...
  • IS utilise un seul processus IceSword.exe, un driver IsDrv1xx.sys et une bibliothèque logicielle IceSword110.dll
  • IS ne requiert pas d'installation au sens habituel. Pour son driver « isdrv1xx.sys », IS implante cependant une clé ''Legacy'' dans les ruches [HKLM] [SYSTEM] [ControlSetxxx] [Enum] [Root]
  • Son lancement n'est pas perçu comme une agression par les outils de défense sérieux (RkUnhooker, Seem, Spyware Terminator, Winpooch etc.) qui, tout au plus, devraient vous demander une autorisation de le laisser fonctionner ou de lancer son driver. Il peut cependant entrer en conflit avec certains utilitaires de sécurité actifs avant lui et qui l'empêcheront alors de s'exécuter correctement.
  • Essentiellement, IS compare les APIs originales de Windows avec celles en fonction au moment de l'analyse pour déterminer quels sont les atteintes à l'intégrité du système (crochetages etc.).
  • Depuis la version 1.20, les performances de IS ont été améliorées grâce à l'implantation du système ''FileReg'' qui permet d'accéder directement au niveau le plus bas du disque.
  • Suivant les activités qu'il doit analyser, IceSword peut occuper entre moins de 4Mo et environ 16Mo de mémoire en crête.


…\…

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#2 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:08

.../...

Les différents « Modules » (fonctions) de IceSword.


[Process]
Liste des processus en activité avec des renseignements comme l'identification du bloc ''EPROCESS'' (structure de données en mode noyau contenant des informations qui peuvent permettre de cacher un processus) et l'utilisation de la mémoire dynamique et maximale.
Un « clic droit » sur un des processus provoque l'ouverture d'une fenêtre d'information où se trouve la possibilité d'interrompre l'intrus ... [Terminate Process].


[Port]
Liste des applications qui ouvrent des ports du PC avec indication des adresses IP (locale et distante), des ports utilisés, de l'identifiant PID et du statut de chaque connexion.


[Kernel Module]
Liste des fonctions logicielles du noyau (système ou gestion de périphérique) chargées dynamiquement en mémoire lorsqu'un programme requiert leurs services.
L'accès à ces fonctions n'est pas directement possible aux logiciels applicatifs ordinaires qui fonctionnent an mode utilisateur possible (''ring3'') et doivent passer par un système particulier (''system call''). Les rootkits en mode noyau (''ring0'') « crochètent » le système, y apportent des modifications. Ils introduisent dans le noyau un ''driver'' (petit programme ''.sys'') qui sera visible dans cette section.


[Startup]
Liste des applications au démarrage (équivalent du module « Démarrage »de SEEm).
Les rootkits y installent souvent une procédure de lancement automatique au démarrage du système.
CITATION(Alban)
On peut charger dynamiquement un driver ''.sys'' par un exécutable ce qui implique qu’il faut lancer cet exécutable. Après, le driver peut être chargé automatiquement par la mise en place d’un service driver ou par un service normal qui chargera l’exécutable.


[Win32 services]
Liste des composants de l'API Windows (version 32bits).
IceSword reprend les descriptions incluse dans l'aide de Microsoft incorporée au système ; elles apparaissent donc dans la langue d'installation. Ainsi, un doute éventuel est plus facilement levé en ce qui concerne ceux qui proviennent effectivement de Windows.
Un « clic droit » sur l'un des services permet de le démarrer (ou au contraire, de l'arrêter), de le mettre en pause, de le neutraliser etc.


[SPI]
(Service Provider Interface). Liste d'Interfaces logicielles (pilotes) de périphériques développées selon le standard de programmation ''WOSA'' pour permettre un accès commun aux services.


…\…

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#3 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:24

.../...

[BHO]
(Browser Helper Object - pour Internet Explorer ...). Liste des bibliothèques ''.dll'' qui fournissent une fonctionnalité supplémentaire. Exemple ... le plugin qui permet à des utilisateurs d'Internet Explorer de lire les dossiers ''.pdf''' d'Adobe Acrobat est un BHO.
L'API BHO est exposé au « crochetage » en vue de la prise de contrôle de la navigation.


[SSDT]
(System Service Descriptor Table) Tableau utilisé par Windows pour diriger des appels de système vers un traitement approprié : table d'adressage des APIs.
Le « crochetage » du tableau de descripteur de service du système (SSDT) en vue de sa modification est une technique fréquemment utilisée. En modifiant cette table, le rootkit peut réorienter l'exécution vers son code au lieu de l'appel original du système.
Les crochets inquiétants provoquent une alerte représentée par ligne marquée en rouge. Il faut cependant noter que des logiciels légitimes peuvent également se servir de cette technique pour cacher une partie de leurs activités ou traquer eux aussi les rootkits. Toutes les alertes ne correspondent donc pas à des logiciels malintentionnés.



[Message Hooks]
Liste des processus qui utilisent certaines fonctions API de Windows comme la sollicitation des périphériques d'entrée de données (clavier, souris etc.) et autres.
Le processus système ''USER32.DLL'' met en place une fonction d'interception des activités. Exemples ...
- ''WH_GETMESSAGE'' ... tous les événements passent par ce filtre, il contrôle tout type de message envoyé à une application.
- ''WH_MSGFILTER'' ... capte les événements générés à la suite d'une saisie dans une boite de dialogue, une zone de message, un menu ou une barre de défilement.
- ''WH_KEYBOARD'' ... capte les événements déclenchés par la frappe des touches du clavier.
Le « crochetage » de ces activités peut, par exemple, permettre à un rootkit de « sniffer » discrètement les saisies confidentielles etc. Attention cependant ...
CITATION(Alban)
SEEM « hook » les événements clavier seulement pour lui-même afin de gérer les raccourcis clavier. Donc on le voit apparaître dans cette section.
Là encore donc, méfiance, tous les crochetages ne sont pas faits dans le but de nuire.


[Log Process / Thread Creation]
Liste générale des « évènements » rapportés par les différentes applications installées sur le PC, applications Microsoft ou non, et liés au démarrage (ou à la fermeture) et aux activités des différents processus en fonction.
Cette liste présente les différents identificateurs PID (Process Identifier) et TID (Thread Identifier). Tous les modules d'un même processus ont le même PID mais ont leur propre identificateur TID.
CITATION(Alban)
Un thread à son propre espace mémoire et est donc indépendant d’autres thread. Un processus peut lancer deux threads (ou plus) qui vont réaliser deux traitements différents en même temp. Le deuxième thread ne sera pas obligé d’attendre que le premier se termine. C’est ce que l’on appelle du multi-thread.
La technique d’injection de code, consiste la plupart du temps, à accéder à la mémoire d’un processus, d’y injecter du code, et d’exécuter ce code (par ce processus) dans un nouveau thread. Malgré cela, il n’est pas évident de savoir si tel ou tel thread est sain. (excepté si l’on a développé le programme)



[System Ckeck]
A l'ouverture d'IceSword, à partir de la v1.16, contrôle général de l'existant sur le PC (processus cachés, drivers au fonctionnement inhabituel) ...

Note ... Les fonctions [Log Process / Thread Creation] et [System Ckeck] correspondent à des contrôles d'intégrité et de fonctionnement du système et non pas à la détection d'intrusion proprement dite. Cependant il est tout à fait possible que des processus, services et drivers y soient signalés, et, parmi eux ceux qui perturbent le fonctionnement du système.

La fonction [Check hidden process] de [System Ckeck] en particulier permet de repérer des rootkits qui auraient peut-être échappé aux autres techniques de détection.

…\…

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#4 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:27

.../...

Fonctionnement



Le lancement de IceSword peut être contrarié ...
  • s'il n'est pas fait depuis un compte pourvu de droits d'administrateur
  • par des logiciels de sécurité actifs sur le PC ...
    • ceux qui protègent déjà le « noyau » de Windows et empêchent IceSword d'y installer son « driver »,
    • ceux qui créent une « buffer zone » de sécurité ou, dans certains cas, un « sandbox » (bac à sable) ...
  • par un rootkit très évolué, déjà installé et pas encore contré.

Vérifiez quel utilitaire provoque ce type d'erreur et désactivez-le complètement avant de lancer IceSword.


[GDT/IDT]
Global Descriptor Table (GDT) & Interrupt Descriptor Table (IDT) , sont des tables spécifiques aux processeurs de type x86 gérées par le NTLDR
Le GDT est employé pour décrire les segments de mémoire qui sont employés par le noyau. La modification des clefs GTD peut permettre à des applications malicieuses qui n'ont pas les privilèges nécessaires de modifier cependant la mémoire du noyau.
Dans le cadre d'une utilisation malveillante de l'IDT, il est possible d'intercepter les « interruptions » IRQ créées par certains matériels ou logiciels avant qu'elles soient transmises au noyau, afin de cacher les actions de ces matériels et logiciels.
Pour activer le contrôle de ces tables il faut cliquer sur le bouton [GDT/IDT].


[Log]
Créez un petit fichier vide (par exemple ''Log-IS.log'' ) et indiquez-en le chemin dans la fenêtre qui s'ouvre en cliquant sur le bouton [Log].
IceSword y enregistrera les processus en fonction et les anomalies afin que vous puissiez en garder la trace et étudier les problèmes éventuels à tête reposée.


[File] ... [Settings]
En standard, l'option [Don't display ''Deleting'' state process] est activée. En la désactivant on obtient un liste de [Process] plus étoffée où figurent des processus signalés en rouge : exemples ...
  • ''ssmypics.scr'' - Microsoft "slide show" screen saver - dont l'utilité est incertaine,
  • ''savedump.exe'' - processus de NT memory dump – qui écrit automatiquement l’ensemble de la mémoire dans le ''pagefile.sys'' lors d'un crash BSOD. Au reboot, Windows copie l’ensemble du ''pagefile.sys'' dans le ''memory.dmp''. Certains le considèrent comme important pour la stabilité du système et qu'il ne doit donc pas être supprimé. D'autres pensent au contraire qu'il n'est pas essentiel et peut être neutralisé pour booster le système.

Renseignez-vous avant d'agir (Google est votre ami ...) ...Notez que IceSword fonctionne très bien avec ses paramètres standards.


[Process rule]
IceSword permet la création de règles pour les processus et les « threads ».
Il suffit d'indiquer les références (PID compris) de ce qui doit être autorisé ou, au contraire, interdit.
.
CITATION(Alban)
Règles d'IceSword
1-- Une règle vas définir qu’aucun processus portant le nom de ‘hxdef100.exe’ ne pourra s’exécuter. Le résultat attendu est concluant :


2-- Filtrage sur le processus parent. Dans cet exemple, on refuse que le processus portant le PID 1516 ne puisse lancer de programme. Le résultat est également concluant, ainsi quelque soit le programme lancé, un message d'erreur apparait :


Ces règles restent pour le moment assez sommaires. Il n’est pas possible par exemple de gérer les multiples caractères avec ‘*’. L’interface de gestion reste également basique et s’avère peu pratique à l’utilisation.

Ce système de filtre est tout de même peu concluant puisque un simple changement de nom permet à un programme de se lancer. Le filtrage sur les PID ou TID reste compliqué à mettre en place puisque ces identifiants sont fournis aléatoirement par le système.

Si l’on connaît exactement la règle à définir, en sachant que les critères ne seront pas variables, cela peut être intéressant.
De nombreux programmes nuisibles camouflent leurs drivers sous des noms différents.
Le driver standard du rootkit « FU » se nomme ''msdirectx.sys''. On en trouve cependant des variantes à nom équivoque comme ''ms___32.sys'', ''win___.sys'', ''sys___.sys'' et bien d'autres..

…\…

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#5 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:29

.../...

Détection des fichiers douteux.

Pour détecter les traces d'un processus douteux, consultez en priorité ...
  • [Process]
  • [Win32 services]

Si des programmes exécutables ou des services sont cachés, ils seront affichés en [rouge].
... ''3psilon'' ...

Les processus et services cachés qui touchent au « noyau » du système peuvent également avoir laissé des traces et être repérés dans d'autres modules d'IceSword ... [Kernel Module], [Startup], [SSDT] etc.

CITATION(Johanna Rutkowska)
Rootkit technology is widely used in many innocent tools
/!\ Attention /!\ ... Tous les fichiers cachés et toutes les intrusions dans le « noyau » du système ne sont pas le fait de rootkits malfaisants. Certains logiciels « sains » peuvent être amenés à utiliser le « noyau » ou à cacher des fichiers pour plus d'efficacité.
  • Dans l'exemple ci-dessus, il s'agit de l'utilitaire PrevX (Prevx Home Intrusion Prevention) dont ''pxfsf.sys'' fait partie.
  • Plus haut, dans la liste des modules de IceSword - image de [SSDT] - ''bfcdi.sys'' est un service du firewall Jetico que SEEm sait très bien voir aussi et qui ne doit pas être interrompu.
Utilisez Google (ex. [google]hxdef100.exe[/google]) ou autre moteur de recherche pour trouver des explications sur les fichiers douteux afin d'agir en toute connaissance de cause.
Vous pouvez également consulter des sites qui vous renseignent sur les processus et services comme Processus Windows, WinTasks Process Library ou Task List Programs.



Neutralisation des fichiers malsains.

IceSword a la capacité d'interrompre le fonctionnement d'un rootkit ... « clic droit » sur le fichier malsain ...


Il rend ainsi « visible » par des outils plus ordinaires les processus et autres fichiers ou clés de registre qu'il cache.

Il permet aussi d'accéder de façon rustique ...
  • au Registre de Windows pour enlever les entrées des processus et services non désirés, (des entrées dans la partie ''Legacy'' - ''HKLM\System\ControlSetxxx\Enum\Root\LEGACY_xxx'' - par exemple)
  • aux fichiers du PC pour éradiquer définitivement les fichiers parasites (des dossiers comme ''Prefetch'' par exemple).
...


Une fois que le rootkit est devenu visible, vous pouvez aussi utiliser des outils plus confortables comme par exemple -> SEEm pour éliminer le processus du ''démarrage'' de Windows.
Les utilitaires standards les plus courants ne sont cependant pas aussi puissants que ceux d'IceSword pour un effacement efficace et partout dans le système des traces laissées par les indésirables ...
  • [File] permet de supprimer un fichier en activité,
  • [Register] permet de supprimer une clé ''Legacy'' du Registre.
CITATION(Txon)
Il demeure cependant plus sûr de disposer d'une sauvegarde « propre » du système et des applications installées et, après un formatage, de repartir de cette base saine dument restaurée.

…\…

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#6 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 28 mai 2007 - 17:31

.../...

Téléchargement de IceSword ...
  • Anciennes versions en anglais indisponibles sur le site d'origine, mais téléchargeables depuis Infomars ...
  • Version actuelle ...
    • Site officiel >>> IS v1.20 <<< (cn, en)
    • Infomars >>> IS v1.20 (en) / Windows XP.
    • Infomars >>> IS v1.20 (en) / Windows Vista
Note ... Depuis la version 1.16, le « service » de IceSword a changé de nom ... IsDrv116.sys puis IsDrv118.sys ... IsDrv120.sys
Il est visible dans le [ Kernel Module ], dans le Registre de Windows ...

CITATION(pjf_)
If you find any bugs, please mail me: jfpan20000@sina.com
Thanks.


La version 1.20 est accompagnée de FileReg Plug-in 1.1.
FileReg.icp permet d'accéder directement au niveau le plus bas du disque à l'aide des fonctions de IceSword. Il permet d'effectuer des opérations sur les fichiers du disque et dans le Registre Windows en contournant des composants du système comme ntfs.sys, fastfat.sys et Windows NT Configuration Manager. Les rootkits se retrouvent à découvert. et peuvent être éradiqués.

D'autre part, Mahesh Satyanarayana a réalisé un tutorial en anglais sur l'art et la manière de se débarrasser d'un rootkit avec IceSword par la méthode habituelle -> How To Remove Rootkits with IceSword


Commentaires et assistance pour IceSword >>> ICI <<< sur Informars


Sites et documents de référence ...
-> 3psilon (Alban ... les rootkits)
-> kareldjag... security overflow (en)
-> Blog.Tech-Security ... IceWord (en)
-> Interview de « pjf » (en)
-> Xfocus team (cn)
-> Site officiel de « pjf »


@+

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)