SInon l’autre moyen de se cacher serait de remapper son propre binaire a l’exterieur d’une section tag SEC_IMAGE et apres de s’unload. Par contre faut vraiment en vouloir !
Eh ba c’est propre ça
Tu peux pas faire mieux avec les symboles ?
Sinon tu peux aussi forcer le loader win à utiliser une autre API que ZwMapViewOfSection (hook ou exécution contrôlée) pour loader ta dll et ainsi éviter la détection par VMMap
Après tu peux toujours loader ta dll à la main ca dépend ce que tu veux faire avec …
FilePointer va pointer sur un FILE_OBJECT(un peu différent sous Xp et Vista)
En faisant ca, il ne reste plus grande facon de détecter des dlls injecter ou caché à part la page table , et on deviens caché usermode et kernel mode sans aucun hook.
7.
un_craneur | janvier 3rd, 2010 at 12:21
Je me permet de repaster les structures de Flopik.
Et j’ai remarqué que les threads du processus étaient invisible dans Process Explorer.
Mais ça provoque plusieurs problèmes, surtout avec LoadLibrary et CreateThread.
[...] =) Récemment j’ai lu un post d’Ivanlef0u : LdrpHashTable dans lequel il montre comment cacher une dll de cette table. En lisant ce post on peut dire que [...]
12 Comments
1. mxatone | décembre 28th, 2009 at 20:12
Content que tu reviennes a la realite !
SInon l’autre moyen de se cacher serait de remapper son propre binaire a l’exterieur d’une section tag SEC_IMAGE et apres de s’unload. Par contre faut vraiment en vouloir !
2. Baboon | décembre 29th, 2009 at 14:25
#define HASHTABLE_DATA_OFFSET 0×260
Eh ba c’est propre ça
Tu peux pas faire mieux avec les symboles ?
Sinon tu peux aussi forcer le loader win à utiliser une autre API que ZwMapViewOfSection (hook ou exécution contrôlée) pour loader ta dll et ainsi éviter la détection par VMMap
Après tu peux toujours loader ta dll à la main ca dépend ce que tu veux faire avec …
3. admin | décembre 29th, 2009 at 22:06
@Baboon
Si on peut faire plus précis avec les symboles :]
Sinon modifier le loader je trouver ca un peu violent par contre un petit loader de DLL ferait clairement l’affaire.
4. Flopik | janvier 2nd, 2010 at 02:30
La meilleur facon pour retrouver les dlls, c’est avec le VAD
5. admin | janvier 2nd, 2010 at 13:23
@Flopik
Wai c’est ce que utilise ZwQueryVirtualMemory en fait.
6. Flopik | janvier 2nd, 2010 at 16:26
On est aussi fourer, si la node est delinker du VAD, sois en modifiant le FILE_OBJECT ou en nulliant/modifiant le VadRoot ou les enfants du MMVAD
typedef struct _MMVAD
{
ULONG u1;
PMMVAD LeftChild;
PMMVAD RightChild;
ULONG StartingVpn;
ULONG EndingVpn;
ULONG u;
EX_PUSH_LOCK PushLock;
ULONG u5;
ULONG u2;
union
{
PSUBSECTION Subsection;
PMSUBSECTION MappedSubsection;
};
PMMPTE FirstPrototypePte;
PMMPTE LastContiguousPte;
} MMVAD, *PMMVAD;
typedef struct _SUBSECTION
{
PCONTROL_AREA ControlArea;
typedef struct _CONTROL_AREA
{
PSEGMENT Segment;
LIST_ENTRY DereferenceList;
ULONG NumberOfSectionReferences;
ULONG NumberOfPfnReferences;
ULONG NumberOfMappedViews;
ULONG NumberOfUserReferences;
ULONG u;
ULONG u1;
EX_FAST_REF FilePointer;
FilePointer va pointer sur un FILE_OBJECT(un peu différent sous Xp et Vista)
En faisant ca, il ne reste plus grande facon de détecter des dlls injecter ou caché à part la page table , et on deviens caché usermode et kernel mode sans aucun hook.
7. un_craneur | janvier 3rd, 2010 at 12:21
Je me permet de repaster les structures de Flopik.
MMVAD (Win7 x86)
http://msdn.msuiche.net/win7rtm_x86/MMVAD.php
CONTROL_AREA (Win7 x86)
http://msdn.msuiche.net/win7rtm_x86/CONTROL_AREA.php
SUBSECTION (Win7 x86)
http://msdn.msuiche.net/win7rtm_x86/CONTROL_AREA.php
8. Mp8 | janvier 9th, 2010 at 05:10
Merci pour ton Article Ivan
Je me demandais si on pouvait cacher des threads avec une technique semblable (en modifiant le PEB / TEB) ?
L’autre jour, je testais le trick :
RtlLeaveCriticalSection( NtCurrentTeb()->Peb->LoaderLock );
Et j’ai remarqué que les threads du processus étaient invisible dans Process Explorer.
Mais ça provoque plusieurs problèmes, surtout avec LoadLibrary et CreateThread.
9. admin | janvier 11th, 2010 at 01:29
@Mp8
Yo, mail moi sur ivanlef0u@tuxfamily.org, j’ai qqch pour toi.
10. sloshy | janvier 17th, 2010 at 18:09
Yo,
J’ai un 403 sur tes sources est-ce normal?
11. admin | janvier 17th, 2010 at 21:34
@sloshy
Toujours des emmerdes avec le repo. J’espère le faire revenir bientôt. En attendant les sources sont la : http://download.tuxfamily.org/ivanblog/LdrpHashTable.rar
12. Hidding Module from the V&hellip | mars 8th, 2010 at 19:18
[...] =) Récemment j’ai lu un post d’Ivanlef0u : LdrpHashTable dans lequel il montre comment cacher une dll de cette table. En lisant ce post on peut dire que [...]
Trackback this post