password
icon
URL
type
date
summary
status
slug
tags
category
我们的特洛伊木马在trojan.py
文件中实现。它试图伪装成一个普通的日志,从受害者那里收集数据,并秘密地发送到攻击者的服务器。服务器在server.py
文件中实现。我们应该能够看到所有写入日志的内容,而受害者对此一无所知。
特洛伊木马
我们的特洛伊木马在
trojan.py
文件中实现。它试图伪装成一个普通的日志,从受害者那里收集数据,并秘密地发送到攻击者的服务器。服务器在server.py
文件中实现。我们应该能够看到所有写入日志的内容,而受害者对此一无所知。行为演示
攻击者首先必须设置一个收集受害者发送的数据的服务器。这就是为什么我们在我们的计算机上运行
./server.py
设置一个运行的服务器。你应该看到以下文本:在第二个控制台以受害者的身份运行特洛伊(日记)命令
./trojan.py
。在攻击者的控制台,我们应该立即看到以下文本:这意味着我们的客户端已经成功地连接到我们的服务器。在日记中输入几行笔记。我们可以观察到所有的笔记都被攻击者看到了。
受害者看到什么
攻击者看到什么
创建基本的特洛伊是一个非常简单的过程,如下所述,任何人只要具备基本的编程知识和操作系统的理解就可以做到。这就是为什么我们在执行任何不常见或不受信任的文件时,应该始终保持谨慎。
它是如何工作的?
服务器
- 首先,我们创建我们的服务器,它应该收集从受害者执行的特洛伊获得的数据。服务器将在特定的端口上监听,这个端口必须和我们的特洛伊中指定的端口相同。在这个例子中,服务器和特洛伊都将在同一台计算机上执行,但是服务器可能是远程的,位于世界的任何地方。
通信是通过TCP协议实现的,由
socket.SOCK_STREAM
指定(要了解更多关于网络协议的信息,请参阅网络通信指南。<br>- 然后我们必须通过绑定到指定的端口来初始化服务器。
- 最重要的部分是与受害者的连接。这是在服务器提供的函数_collect_data_中实现的。它等待特洛伊在受害者的系统上执行后发起的连接。之后,它只是不断地检查客户端是否发送了任何数据。如果是,它们就会被记录到控制台,这样攻击者就可以看到它们。如果发送的数据是"空的",那么客户端已经关闭了连接。
特洛伊(客户端)
- 首先,我们必须创建我们的特洛伊。服务需要主机(服务器)的名称和指定的通信端口。主机名为
localhost
意味着服务器在与我们的客户端相同的系统上监听。
- 现在我们试图连接到服务器。这个连接应该对受害者保持隐藏。日志消息只是为了我们可以在我们的例子中发现任何错误。
- 然后特洛伊试图通过向受害者问候来表现得像一个无害的程序。
- 当受害者将他或她的笔记输入到日记(
stdin
)中时,每一行都被发送到攻击者的服务器。我们期望数据被编码为UTF-8,因为通信接口期望的是_二进制_数据,我们必须将获得的_字符串_转换为_字节_。
欢迎访问我们的网站和关注我们的公众号,获取最新的技术共享内容、创新想法和安全知识。
微信公众号:黑客驰
免责声明
本文为技术共享文章,仅有教育交流目的,不构成任何法律或专业建议。读者应自行承担使用该文章所产生的风险和责任。作者和组织不对使用该文章所引起的任何损失或损害负责。
本文严禁提供、讨论或鼓励任何网络安全违法行为。请遵守法律法规,进行合法的技术共享活动。
- 作者:黑客驰
- 链接:https://hackerchi.top/article/f92fb98e-4edc-40e6-b86d-558ba2664cb4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章