|
1 |
| -<p>Small nul-free shellcode that execute calc.exe. Runs on x86 and x64 versions of Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), all service packs. </p><p>Sizes (build 306) <table class="wikitable"><tr><td style="border: 1px solid #ccc; padding: 5px;"> platform </td><td style="border: 1px solid #ccc; padding: 5px;"> size </td><td style="border: 1px solid #ccc; padding: 5px;"> stack align </td><td style="border: 1px solid #ccc; padding: 5px;"> function wrapper </td><td style="border: 1px solid #ccc; padding: 5px;"> func+save regs </td><td style="border: 1px solid #ccc; padding: 5px;"> func+stack </td><td style="border: 1px solid #ccc; padding: 5px;"> func+stack+regs </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x86 </td><td style="border: 1px solid #ccc; padding: 5px;"> 72 </td><td style="border: 1px solid #ccc; padding: 5px;"> 75 </td><td style="border: 1px solid #ccc; padding: 5px;"> 77 </td><td style="border: 1px solid #ccc; padding: 5px;"> 77 </td><td style="border: 1px solid #ccc; padding: 5px;"> 84 </td><td style="border: 1px solid #ccc; padding: 5px;"> 84 </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x64 </td><td style="border: 1px solid #ccc; padding: 5px;"> 85 </td><td style="border: 1px solid #ccc; padding: 5px;"> 90 </td><td style="border: 1px solid #ccc; padding: 5px;"> 98 </td><td style="border: 1px solid #ccc; padding: 5px;"> 105 </td><td style="border: 1px solid #ccc; padding: 5px;"> 106 </td><td style="border: 1px solid #ccc; padding: 5px;"> 112 </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x86+x64 </td><td style="border: 1px solid #ccc; padding: 5px;"> 113 </td><td style="border: 1px solid #ccc; padding: 5px;"> 118 </td><td style="border: 1px solid #ccc; padding: 5px;"> 179 </td><td style="border: 1px solid #ccc; padding: 5px;"> 188 </td><td style="border: 1px solid #ccc; padding: 5px;"> 188 </td><td style="border: 1px solid #ccc; padding: 5px;"> 196 </td></tr> </table></p><p>Features: <ul><li>NUL Free </li><li>Windows version and service pack independent. </li><li><a href="http://en.wikipedia.org/wiki/Instruction_set" rel="nofollow">ISA</a> independent: runs on x86 (w32-exec-calc-shellcode) or x64 (w64-exec-calc-shellcode) architecture, or both x86 <i>and</i> x64 architecture (win-exec-calc-shellcode). </li><li>Stack pointer can be aligned if needed (if you are seeing crashes in WinExec, try using the stack aligning version). </li><li>No assumptions are made about the values in registers or on the stack. </li><li>x86: "<a href="http://en.wikipedia.org/wiki/3_GB_barrier" rel="nofollow">/3GB</a>" and <a href="http://en.wikipedia.org/wiki/WoW64" rel="nofollow">WoW64</a> compatible: pointers are not assumed to be smaller than 0x80000000. </li><li><a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention" rel="nofollow">DEP</a>/<a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization" rel="nofollow">ASLR</a> compatible: data is not executed, code is not modified. </li><li>Able to save and restore registers and return for use in PoC code that calls the shellcode as a function using <a href="http://en.wikipedia.org/wiki/X86_calling_conventions" rel="nofollow">cdecl/stdcall/fastcall</a> calling convention. </li></ul></p><p>Credits: <a href="http://skylined.nl/">Skylined</a> and <a href="http://pferrie.host22.com/">Peter Ferrie</a></p> |
| 1 | +win-exec-calc-shellcode |
| 2 | +----------------------- |
| 3 | +Small null-free shellcode that execute calc.exe. |
| 4 | +Runs on x86 and x64 versions of Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), all service packs. |
| 5 | + |
| 6 | +Sizes (build 306) |
| 7 | +----------------- |
| 8 | +<table class="wikitable"> |
| 9 | + <tr> |
| 10 | + <td style="border: 1px solid #ccc; padding: 5px;"> platform </td> |
| 11 | + <td style="border: 1px solid #ccc; padding: 5px;"> size </td> |
| 12 | + <td style="border: 1px solid #ccc; padding: 5px;"> stack align </td> |
| 13 | + <td style="border: 1px solid #ccc; padding: 5px;"> function wrapper </td> |
| 14 | + <td style="border: 1px solid #ccc; padding: 5px;"> func+save regs </td> |
| 15 | + <td style="border: 1px solid #ccc; padding: 5px;"> func+stack </td> |
| 16 | + <td style="border: 1px solid #ccc; padding: 5px;"> func+stack+regs </td> |
| 17 | + </tr><tr> |
| 18 | + <td style="border: 1px solid #ccc; padding: 5px;"> x86 </td> |
| 19 | + <td style="border: 1px solid #ccc; padding: 5px;"> 72 </td> |
| 20 | + <td style="border: 1px solid #ccc; padding: 5px;"> 75 </td> |
| 21 | + <td style="border: 1px solid #ccc; padding: 5px;"> 77 </td> |
| 22 | + <td style="border: 1px solid #ccc; padding: 5px;"> 77 </td> |
| 23 | + <td style="border: 1px solid #ccc; padding: 5px;"> 84 </td> |
| 24 | + <td style="border: 1px solid #ccc; padding: 5px;"> 84 </td> |
| 25 | + </tr><tr> |
| 26 | + <td style="border: 1px solid #ccc; padding: 5px;"> x64 </td> |
| 27 | + <td style="border: 1px solid #ccc; padding: 5px;"> 85 </td> |
| 28 | + <td style="border: 1px solid #ccc; padding: 5px;"> 90 </td> |
| 29 | + <td style="border: 1px solid #ccc; padding: 5px;"> 98 </td> |
| 30 | + <td style="border: 1px solid #ccc; padding: 5px;"> 105 </td> |
| 31 | + <td style="border: 1px solid #ccc; padding: 5px;"> 106 </td> |
| 32 | + <td style="border: 1px solid #ccc; padding: 5px;"> 112 </td> |
| 33 | + </tr><tr> |
| 34 | + <td style="border: 1px solid #ccc; padding: 5px;"> x86+x64 </td> |
| 35 | + <td style="border: 1px solid #ccc; padding: 5px;"> 113 </td> |
| 36 | + <td style="border: 1px solid #ccc; padding: 5px;"> 118 </td> |
| 37 | + <td style="border: 1px solid #ccc; padding: 5px;"> 179 </td> |
| 38 | + <td style="border: 1px solid #ccc; padding: 5px;"> 188 </td> |
| 39 | + <td style="border: 1px solid #ccc; padding: 5px;"> 188 </td> |
| 40 | + <td style="border: 1px solid #ccc; padding: 5px;"> 196 </td> |
| 41 | + </tr> |
| 42 | +</table> |
| 43 | + |
| 44 | +Features |
| 45 | +-------- |
| 46 | +* NUL Free |
| 47 | +* Windows version and service pack independent. |
| 48 | +* <a href="http://en.wikipedia.org/wiki/Instruction_set">ISA</a> independent: |
| 49 | + runs on x86 (w32-exec-calc-shellcode) or x64 (w64-exec-calc-shellcode) |
| 50 | + architecture, or both (win-exec-calc-shellcode). |
| 51 | +* Stack pointer can be aligned if needed (if you are seeing crashes in |
| 52 | + WinExec, try using the stack aligning version). |
| 53 | +* No assumptions are made about the values in registers or on the stack. |
| 54 | +* x86: <a href="http://en.wikipedia.org/wiki/3_GB_barrier">/3GB</a> and |
| 55 | + <a href="http://en.wikipedia.org/wiki/WoW64">WoW64</a>" compatible (pointers |
| 56 | + are not assumed to be smaller than 0x80000000). |
| 57 | +* <a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention">DEP</a> / |
| 58 | + <a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization">ASLR</a> |
| 59 | + compatible: data is not executed, code is not modified. |
| 60 | +* Able to save and restore registers and return, for use in PoC code that calls |
| 61 | + the shellcode as a function (using <a href="http://en.wikipedia.org/wiki/X86_calling_conventions"> |
| 62 | + cdecl/stdcall/fastcall</a> calling convention. |
| 63 | + |
| 64 | +Credits |
| 65 | +------- |
| 66 | +<a href="http://skylined.nl/">Skylined</a> and <a href="http://pferrie.host22.com/">Peter Ferrie</a> |
0 commit comments