导航

Web安全手册

分享本身就是件快乐的事 我因别人得到帮助而感到幸福

« Fly_flash 0.1 releaseMicrosoft IIS 5.0/6.0 FTP Server Remote Stack Overflow Exploit (win2k) »

可以记录windows登陆密码的东东

from: t00ls.net



========原理:

windows的身份验证一般最终都是在lsass进程,默认模块是msv1_0.dll,而关键在其导出函数LsaApLogonUserEx2,

本程序通过注入代码到lsass进程hook LsaApLogonUserEx2,截取密码。只要有身份验证的过程,

LsaApLogonUserEx2就会触发,如ipc$,runsa,3389远程桌面登陆等。



程序对不同系统做了处理,在2000,2003,xp,vista上都可以截取,

在2000,2003,xp中,通过UNICODE_STRING.Length 的高8位取xor key,如果密码是编码过的,则通过ntdll.RtlRunDecodeUnicodeString解码,

vista则通过AdvApi32.CredIsProtectedW判断密码是否编码过,解码用AdvApi32.CredUnprotectW。



可以自己调试器挂lsass跑一下:)



========接口:

HRESULT WINAPI DllInstall( BOOL bInstall, LPCWSTR pszCmdLine);



这是本dll导出的一个函数原型,请不要被名字蛊惑了,这个程序是绿色的。

这个函数内部并没有做任何自启动安装的动作,没有修改注册表或系统文件。只是想选一个符合regsvr32调用的接口而已。



第一个参数本程序没用到,

第二个参数请指定一个文件路径(注意是UNICODE的),记录到的数据将保存到这里(是Ansi的)。

文件路径可以像这样 C:\x.log,

也可以像\\.\pipe\your_pipename, \\.\mailslot\yourslot,

所以你可以自己写loader来调用这个dll,让dll截取到密码时通过pipe或mailslot将数据发给你的程序。数据就是一个字符串(是Ansi的)



========测试:

你可以不急着写自己的loader来调用,用regsvr32作为loader来测试一下:(你可能需要关闭某些主动防御)

regsvr32 /n /i:c:\xxx.log c:\pluginWinPswLogger.dll

正常的话regsvr32弹出一个提示成功。



这时候你可以切换用户或锁定计算机,然后重新登陆进去,这个过程密码信息就被拦截下来了并保存到c:\xxx.log。



=========End



By LZX

2009.08.20



2009.08.22(更新了一下)

Download

  • 相关文章:
  • quote 1.nauticar
  • 文件不知道哪里下载.
    Trace 于 2009-9-10 15:57:54 回复
    有链接的,点击进去有广告,15秒自动跳转,也可以点右上角的Skip,跳过。
  • 2009-9-10 10:26:29 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright 2008-2009 Pcsec.org. Some Rights Reserved.苏ICP备08110306号

Search

网站分类

文章归档

最新评论及回复

最近发表