关于Build Your Own Botnet的尝试

2024-02-17 10:28
文章标签 build 尝试 botnet

本文主要是介绍关于Build Your Own Botnet的尝试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一次失败的尝试、

原文地址:关于Build Your Own Botnet的尝试 - Pleasure的博客

下面是正文内容:

前言

我在上一篇关于DDOS的文章种提到过这个项目,而且说明了由于这个项目是在2020年发布并开源的,并且已经有两年没有进行跟进,众多系统和模块的迭代导致如今这个项目已经很难再正常部署并运行(不是版本问题就是模块不兼容)。

在网上查阅相关资料的时候发现关于这方面的资料真的很少很少(毕竟谁闲的没事会去研究这玩意)

BYOB也是一个冷门的项目料想也不会有什么人来看,就当自我安慰一下,也算是成果的一部分。麻烦大家同情同情,点个关注谢谢。

在开始之前关于相关编程环境的配置可以去看我最近发的关于Windows编程环境配置的文章。

本人浪费了整整一周的时间尝试也没能成功,只能特此写一篇纪实。这应该是我迄今为止搞过最麻烦的一个项目了……

正文

BYOB——即Build Your Own Botnet。出于教育目的帮助网安人员快速建立botnet进行相应的操作。

GitHub上的一个开源项目,地址放在这:GitHub - malwaredllc/byob: An open-source post-exploitation framework for students, researchers and developers.

当下载完项目压缩包后就会立刻报毒,毕竟项目什么用途大家都心知肚明。打开后可以看到两个主要的文件夹:byob和web-gui。其中byob就是直接通过python进行操作的主程序,而web-gui则是通过部署网络图形界面从而方便不懂得程序的人进行操作。

虽然看着很强,但是由于作者开发的原因在部署上或许会有很多困难。很多模块现如今已经无法再安装了,大家看看就可以了。为了能将整个过程的全貌尽可能展现,所以图片的文字可能较小,大家体谅一下。

如果真心想研究可以参考一下下面两篇文章,还是很有帮助的。

僵尸网络-刺痛内网心脏的针 – XiaoliChan's Blog 或 搭建byob僵尸网络 | CTTalk 长亭合作伙伴技术社区

下面会分别从这两个方面来描述一下个人使用体验。

主应用程序

注意事项

我一开始准备的是两台Windows系统的电脑,一台是主机管理机,一台是Windows11的虚拟机受控机。

直到我看到了这一句话……我直接崩溃了,但总体的操作步骤是一样的,和自己和解了。

为了防止逆向工程,受控机默认是不允许是沙盒环境或是虚拟机的。但是我实在没有这么多的设备了总不好直接对其他人的设备下手吧……

我看网上成功的案例都是在2018年!而且使用的都是Python2.7版本!

命令行中需要事先准备的一些指令(配置环境变量),由于我使用的是Windows系统,所以需要安装Windows版本的git指令。还需要安装3.8.6版本的python。

另外就是upx模块,以及visual studio的C语言编译器。

题外话:由于python不断更新的问题导致了一些库的更新以及弃用:比如在3.4版本之后imp模块被importlib模块正式替代,在3.8版本中pyhook不再被直接支持,一些远古项目甚至要用到2.7版本……如果存在模块问题大家看着办解决吧,我也无能为力了。

首先安装环境

参考操作视频:https://www.youtube.com/watch?v=TBSh_w0I-z8

首先必须要安装相应的环境,即requirements.txt中所罗列的模块以及特定版本——如果在哪一行报错了就要相应的进行独立纠错再重新安装(很麻烦,为了截一张图真的不容易,大家点个关注)。

python ./setup.py 
或者
pip install -r ./requirements.txt

可以看到都是在安装到pyhook的时候中断了,重新下载部署完继续就可以成功。

相应操作环境搭建完成后就可以通过clients.py开始生成木马了

输入python clients.py 192.168.56.1 8888 --name test --compress --freeze 开始生成文件

成功生成exe可执行文件

另外打开一个命令行窗口输入python server.py --host192.168.56.1 --port 8888 等待受控机的连接

输入sessions可以检查受控机的状态

然后最令人崩溃的来了

就是连接木马的这一步,不是显示就是现实exe无法执行

大家另请高明吧

WEB应用程序

题外话:最好不要在VPS(即服务器)中进行这种项目试验。这种项目基于控制台内置了很多操作脚本,用于方便他人的使用,所以通常需要一个web-gui界面——即需要开放一个端口用URL访问来进行操作(https://127.0.0.1:5000类似这种)(类似的项目还有OpenVAS)。然而你可能会在不知情的情况下在VPS部署后造成端口占用进程占用从而发生如网站Nginx服务无法启动之类的情况。还是老老实实在虚拟机上试验吧。(由于装了太多的虚拟机和大型游戏1T的硬盘空间都快不够了……)

下面是作者的安装演示视频:https://www.youtube.com/watch?v=uVyniPrTzuk

这里再附带一个Ubuntu虚拟机的下载地址,管理机的相应操作好像需要在Linux系统中进行(可谓干货满满了,麻烦大家关注一下)

参考文章:技术|完整指南:使用 VirtualBox 在 Windows 上安装 Ubuntu

补充一句网上关于Windows11虚拟机的个人下载大多都需要通过网盘链接任务或是BT种子的模式进行下载

由于某些原因Linux开源中国现以停止更新,系统镜像在VirtualBox和VMware里安装都可以

官方下载地址:https://releases.ubuntu.com/23.10.1/ubuntu-23.10.1-desktop-amd64.iso

由于镜像大小超过4GB上传某度网盘需要开通超级会员,这里就不提供个人下载地址了

部署方式就按照通用的虚拟机部署方式,官网提供的参考参数

首先安装相应的环境,直接以管理员身份运行startup.sh或是分别安装requirements.txt中所需要的模块。

安装所需的时间较长,而且需要更改相应的镜像源!

安装成功后,运行run.py就可以打开网页:(Linux会默认开启apache服务)

进行网页操作的是服务端,命令行插入后门的是客户端即受控机。而在现实生活中,这个后门的插入,就可能会是因为一个连接,一个exe,一个U盘……

打开网址127.0.0.1:5000后显示的就是下面的界面

还是同样的问题,全部都弄好了,就是在木马连接受控机的时候出现问题始终无法成功!我也不知道是什么原因……

理论上是只需要通过这个webshell输入命令行就可以省去植入C2或是RAT后门的步骤,直接操控众多bot快速执行攻击命令从而起到放大攻击隐藏真实攻击IP的效果。

所以这边建议,如果你真的居心不妥而且想要通过DDOS搞垮目标服务器,还是直接去.onion寻找相关服务吧……比如,下面这张图片:后果自己承担!

尾声

在网络安全中存在通过php一句话木马结合PUTTY直接通过ssh连接接管服务器的可能。

byob还要求受控机上有相应的开发环境,可谓是要求重重。

这两种方法都需要对受控机拥有绝对的掌控权限,这样的话还不如直接去租一台VPS来的直接。

可能真正有意思的是整个部署的过程吧。

毕竟现实生活中存在杀毒软件和防火墙,受控机成功的可能性真的是少的可怜。

这篇关于关于Build Your Own Botnet的尝试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717486

相关文章

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题 GitHub Pages是一个直接从GitHub存储库托管的静态站点服务,‌它允许用户通过简单的配置,‌将个人的代码项目转化为一个可以在线访问的网站。‌这里使用flutter build web来构建web发布到GitHub Pages。 最近通过flutter build web,通过发布到GitHu

概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)

概率DP: 利用动态规划去解决 概率 期望 的题目。 概率DP 求概率(采用顺推) 从 初始状态推向结果,同一般的DP类似,只是经历了概率论知识的包装。 老题: 添加链接描述 题意: 袋子里有w只白鼠,b只黑鼠,A和B轮流从袋子里抓,谁先抓到白色谁就赢。A每次随机抓一只,B每次随机 抓完一只后 会有另外一只随机老鼠跑出来。如果两个人都没有抓到白色,那么B赢。A先抓,问A赢得概率。 w b 均在

重复采样魔法:用更多样本击败单次尝试的最强模型

这篇文章探讨了通过增加生成样本的数量来扩展大型语言模型(LLMs)在推理任务中的表现。 研究发现,重复采样可以显著提高模型的覆盖率,特别是在具有自动验证工具的任务中。研究还发现,覆盖率与样本数量之间的关系可以用指数幂律建模,揭示了推理时间的扩展规律。尽管多数投票和奖励模型在样本数量增加时趋于饱和,但在没有自动验证工具的任务中,识别正确样本仍然是一个重要的研究方向。 总体而言,重复采样提供了一种

尝试用java spring boot+VUE3实现前后端分离部署(8/31)

前言         这几天开学了,公司这边几个和学校对接的项目都挺忙的,然后我又开始有点闲的情况了。问大佬能不能继续看看若依的项目,大佬让我自己去学了。在看若依的项目的时候在想,python的FLASK后端实现和JAVA spring boot的实现差别大不大,两者实现的思路估计大差不差,那具体的代码逻辑和代码实现又有多大差别,java面向对象的编程思想又是怎么体现的。这些想法迫使我将原来使用

兔子-build.gradle中代码的含义

//声明构建的项目类型,这里当然是android了apply plugin: 'com.android.application'//设置编译android项目的参数android {// SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。compileSdkVersion 23//构建工具的版本,其中包括了打包工具aapt、dx等等。// 这个工具的目

尝试制作和使用lib与dll

前言 关于lib和dll这两种库的概念,网上已有很多讨论可以参阅。这篇博客主要记录我动手尝试用VS来制作lib和dll并随后使用的过程。 参考: lib和dll的区别与使用 - LuckyAnnika - 博客园 C++编写一个简单的DLL - _No.47 - 博客园 dumpbin工具 在开始之前,需要介绍一下VS提供的dumpbin工具,这个工具可以获取一些lib与dll中的信息。 它

【UE4源代码观察】尝试调试UBT

前言 在之前的博客《【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程》中我尝试动手搭建了一个用UBT进行编译的空白的工程。但是对UBT其中的逻辑并不理解。 后来在学习UE4源代码的过程中,又了解了它的一些行为。目前,对我影响较大的是:1.他会有一些逻辑去添加一些宏。2.他会有一些逻辑去给修改ModuleRules(和.build.cs中内容的角色一样)。这时候我发现一些和预期不太一

尝试进入Vulkan的ValidationLayer中的代码调用栈

问题 当前,我遇到了一个Vulkan中的错误断点: (可以看到最后的位置是“VkLayer_khronos_validation.dll”,即Validation Layer) 这个中断可以在工程YaksueGraphics的这个提交中复现: 当我双击最后的栈时,提示没有cpp文件可供查看 这个core_validation.cpp是Validation Layer中的代码,而对于V

UE4尝试用C++创建蓝图并添加变量

目标 使用C++创建蓝图资源,并尝试给蓝图添加变量。 (引擎版本4.26) 步骤0. 创建测试用插件 使用编辑器工具栏按钮为模板创建插件。 使用这个模板的理由是它初始会有个按钮,可以用来触发操作: 之后将会替换这其中所触发的操作。 步骤1. 创建蓝图 对KismetEditorUtilities.h进行include,因为创建蓝图需要用到其中的方法: #include"Kismet