作为尝试描述间谍软件构成的威胁以及如何减轻其威胁的一部分,我一直在寻找有关当前各种常见间谍软件特洛伊木马如何捕获密码数据的信息。我最好的猜测是他们要么记录击键,拦截浏览器提交或截取GUI消息。
我想要一些更确定的信息,但却找不到它。我在哪里可以找到这种分析?
答案 0 :(得分:0)
大多数恶意软件(我指的是高级恶意软件)都是用ASM或C ++编写的。当用户按下键时,他们中的许多人使用Windows高级API来挂钩当前窗口中的键盘按键活动。
例如,对于键盘活动,他们大多使用SetWindowsHookEx
函数和WH_KEYBOARD_LL
hook
他们还使用GetActiveWindow API来检测当前活动窗口的标题。所以在键盘记录器中,大多数情况下你会看到类似的东西:
[Gmail - Google Chrome Browser]
testuser@gmail.com {TAB} testpassword
所以收到键盘记录的人会读到它,如上所示。
另一种方法是在浏览器中注入一些特殊编写的DLL或扩展,我见过它主要用于Internet Explorer,他们使用BHO DLL来接收所有GET / POST数据,所以你不需要任何主动运行的EXE文件,只是一个在打开Internet Explorer时运行的DLL,DLL会直接将所有POST / GET数据发送到黑客的服务器。它主要是在同一时间完成的,BHO不会存储任何内容(大多数情况下)并将您发送给银行的相同POST / GET数据同时发送给黑客的服务器。但是其他键盘记录器大多存储键盘记录,直到它达到一个大小,例如5kb,然后木马将键盘记录提交给黑客。
还有一些“不常见”的技巧来捕捉击键,并且有一个低级驱动程序在ring-0(内核模式)下运行并捕获键盘数据,它更复杂,难以检测,但也很难对于黑客使用,你需要另一个合作环-3(用户模式)应用程序来获取当前窗口,当前键盘布局(英语,中文,阿拉伯语等)与内核接收键盘同时,因为不知道键盘用户按下这些键的布局和窗口,它“几乎”无用。
我还看到了使用GetAsynKeyState
API捕获关键笔划的“非专业”方式。它们主要编写循环函数,并通过每100毫秒(例如)调用此API来捕获键事件。
所以我想我已经介绍了许多键盘记录器用来捕获按键的技巧,如果你有更具体的问题,请告诉我。