如何在win 2003中得到登陆密码

发布时间:2007年02月24日      浏览次数:600 次
提高成功率的两种做法:
  1.程序直接写成服务,定时检查本地或远程登陆(其实没什么分别),当检测到登陆后,去搜索lsass进程内存,尝试得到密码。
  2.程序模拟一个登陆(使用logonuser()就能搞定),因为使用logonuser()这个api,你要提供帐号名和对应的正确的密码,才可以成功,然后你就可以去搜索lsass进程内存。因为知道密码是什么,我们就能定位到密码是保存在什么地方。因为登陆用户的密码都是保存在同一个地址或相离不远的地址中,模拟登陆和搜索,可以先定位以后登陆的用户的密码会大约保存在什么位置。
  无论怎说,三种方法中,最稳定,最安全的方法还是使用gina那种方法.hijack了winlogn一些api的方法,毕竟是改动了系统的东西,对系统的稳定性来说,会有考验,直接搜索lsass进程内存的方法呢,虽说也是困难,但准确性,成功率却又是低。
  下面的代码使用的是很笨,而且很原始的搜索方法,主要是搜索lsass内存中"localsystem remote procedure"这个字符串,因为在相当多的测试中,密码都是保存在有这个字符串的地址后一点的位置中,当然了,很多系统并没有这个字符串,或者就算有,我们得到的都是错误的密码。
 代码:
 findpass-2003.c
  附件程序相当于密码定位程序,用来测试在lsass内存中搜索指定的字符串或模拟登陆的密码.
  用法:
  1.locator 字符串 -> 在lsass进程内存中搜索指定的那个"字符串",返回确定的位置
  2.locator 用户名 密码 -> 在系统中建立一个参数指定的用户,并进行模拟登陆,然后搜索"密码"在lsass进程内存中的位置,生成的帐户程序运行完后会自动删除。
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!