关于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来的直接。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/389536.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

react+ts【项目实战一】配置项目/路由/redux

文章目录 1、项目搭建1、创建项目1.2 配置项目1.2.1 更换icon1.2.2 更换项目名称1.2.1 配置项目别名 1.3 代码规范1.3.1 集成editorconfig配置1.3.2 使用prettier工具 1.4 项目结构1.5 对css进行重置1.6 注入router1.7 定义TS组件的规范1.8 创建代码片段1.9 二级路由和懒加载1.…

【JS逆向+Python模拟API请求】逆向某一个略微中等的混淆网站,并模拟调用api请求 仅供学习。注:不是源代码混淆,而是一个做代码混淆业务的网站,

逆向日期:2024.02.16 使用工具:Node.js 加密方法:RSA标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&#xf…

Dynamo读取Revit警告

Hello大家好!我是九哥~ 之前看到群里小伙伴经常会问如何去掉Revit重复的图元,有推荐各种插件的,其实的,Revit本身就会提示你有哪些图元是重复的,就在管理选项卡下面的警告里,即查阅警告信息。 点击警告后…

【JAVA-Day81】 线程休眠: Java 中暂停线程执行的方法 ⏸️

线程休眠: Java 中暂停线程执行的方法 ⏸️💤 线程休眠: Java 中暂停线程执行的方法 ⏸️💤摘要 📝引言 🚀正文 📚一、什么是线程休眠 ⏸️二、线程什么情况下会休眠 ❓三、模拟线程休眠 &#…

OpenAI发布全新文本生成视频大模型Sora,可以生成无比逼真的最长60秒的视频,且生成的视频尺寸可以任意指定

本文原文来自DataLearnerAI官方网站: OpenAI发布全新文本生成视频大模型Sora,可以生成无比逼真的最长60秒的视频,且生成的视频尺寸可以任意指定 | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/1051708046782555 Open…

自动化机器学习(AutoML)入门简介

近期在学习研究一些关于自动化机器学习方面的论文,本文作为该系列的第一篇文章,就AutoML的一些基本概念和现状进行简单分享,权当抱砖引玉。 图片源自《Taking Human out of Learning Applications: A Survey on Automated Machine Learning》…

【JavaEE】spring boot快速上手

SpringBoot快速上手 文章目录 SpringBoot快速上手Maven会出现的一个官方bug创建完项目之后常用的的三个功能依赖管理Maven仓库中央仓库本地仓库国内源配置私服 springboot项目创建什么是springspring boot项目的创建Hello Worldweb服务器 SpringMVC什么是SpringWebMVC什么是MVC…

变分自编码器(VAE)PyTorch Lightning 实现

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

165基于matlab的各类滤波器

基于matlab的各类滤波器。汉宁窗设计Ⅰ型数字高通滤波器、切比雪夫一致逼近法设计FIR数字低通滤波器、模拟Butterworth滤波器设计数字低通滤波器、频域抽样法的FIR数字带阻滤波器设计、频域抽样法的FIR数字带通滤波器设计、汉宁窗的FIR数字高通滤波器设计、双线性法设计巴特沃斯…

关于java的网图下载

关于java的网图下载 我们在上篇文章中,学习到了用Thread类去创建多线程,我们本篇文章来向大家介绍一下网图下载功能,利用多线程同时下载多个图片😉 一、下载器 我们下载网络图片的时候,首先需要自己定义一个下载器&…

可变参数(c/c++)

目录 一、C语言版本 二、C的实现方法 2.1数据包 2.2sizeof...运算符 2.3可变参数模板的使用 2.4emplace_back() 有时候我们在编写函数时,可能不知道要传入的参数个数,类型 。比如我们要实现一个叠加函数,再比如c语言中的printf,c中的emp…

WebGPT与WebGLM

WebGPT paper: WebGPT:Browser-assisted question-answering with human feedbackDemo: https://openaipublic.blob.core.windows.net/webgpt-answer-viewer/index.html webgpt的论文发表最早,但论文本身写的比较"高山仰止",可能先…

汇报工作时,你的工作会让领导满意吗?

当前你正在做的事 众所周知,跟领导汇报,第一件事需着重汇报你正在做的事,否则领导会感觉你无所事事。 举个例子: 完成了某某项目,在这项目中我负责:协调不同科室之间的纠纷,并把问题集中上报给…

《春山》中的贝叶斯统计——白敬亭衣服合理概率及决策比重。

目录 1. 全身黑衣服合理概率2. 真的是导演组允许?3. 粉丝的证据是否站得住?4.总结 感谢up主链接: 【理工春山学】只谈事实 从统计角度深度剖析春山学,她使用贝叶斯统计合理分析了在舞台中白敬亭、双魏、导演组出错的概率。接下来我采用一个新…

Acwing---846. 树的重心

树的重心 1.题目2.基本思想3.代码实现 1.题目 给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1∼n 1∼n)和 n − 1 n−1 n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 …

百度云AI

百度云AI概述 Face腾讯优图科大讯飞 百度人脸识别基于深度学习的人脸识别方案,准确识别图片中的人脸信息,提供如下功能: 人脸检测:精准定位图中人脸,获得眼、口、鼻等72个关键点位置,分析性别、年龄、表…

【JAVA-Day89】Java字符串和XML数据结构的转换

Java字符串和XML数据结构的转换 Java字符串和XML数据结构的转换,高效灵活转变数据摘要引言一、什么是XML二、XML格式的应用场景三、XML字符串转对象3.1 使用 DOM 解析器实现 XML 字符串转对象3.2 使用 JAXB 实现 XML 字符串转对象 四、XML对象转字符串4.1 使用 DOM …

【实战】一、Jest 前端自动化测试框架基础入门(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(一)

文章目录 一、前端要学的测试课1.前端要学的测试2.前端工程化的一部分3.前端自动化测试的例子4.前端为什么需要自动化测试?5.课程涵盖内容6.前置技能7.学习收获 二、Jest 前端自动化测试框架基础入门1. 自动化测试背景及原理前端自动化测试产生的背景及原理 2.前端自…

Linux中sigaction函数和SIGCHLD信号的使用

sigaction函数: 函数说明:注册一个信号处理函数 函数原型:int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 函数参数: signum:捕捉的信号act:传入参数,…

IDEA工程与模块管理

一、IDEA项目结构 层级关系: project(工程) - module(模块) - package(包) - class(类)具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class二、Project和Module的概念 在 IntelliJ IDEA 中&…