经过1.1和1.2节的讲述,我们已经知道了怎样更改EIP的值。程序运行函数之后将跳转到我们设定的位置開始运行,因此,我们须要准备一个自己的程序,接手后面的工作。这是一个什么样的程序?是一个C语言编写的代码?是一个可直接调用的exe?肯定不是,由于EIP所指的地址保存的内容为指令的操作码,CPU读取该 ...
分类:
系统相关 时间:
2017-08-12 20:33:58
阅读次数:
256
前面的Shellcode中,我使用的都是自己XP机器上的硬编码地址。不论什么时候在Shellcode中使用硬编码地址都不是个好主意,这一点与动态库的重定位相似,一旦系统环境和程序编译设置发生变化。Shellcode差点儿肯定会失效。因此。我们要找到更好一点的方法。 前面的Shellcode中,我用到 ...
分类:
其他好文 时间:
2017-07-31 14:48:39
阅读次数:
144
#include <stdio.h>#include <windows.h> int main(){ __asm { CLD //清空标志位DF push 0x1E380A6A //压入MessageBoxA-->user32.dll push 0x4FD18963 //压入ExitProcess- ...
分类:
系统相关 时间:
2017-07-22 22:34:20
阅读次数:
208
这个周末,我一直在鼓捣Modbus,并利用汇编语言开发了一个stager,它可以从PLC的保持寄存器中下载payload。由于有大量的PLC都暴露在互联网上,我情不自禁地想到,是否可以利用它们提供的处理能力和内存来存储某些payload,以便以后(从stager)下载它们。 所以,我们不妨考虑下面的 ...
分类:
系统相关 时间:
2017-07-18 22:15:59
阅读次数:
227
一道写shellcode的题目, 首先申请一块内存,并以0x90(nop)清零,再复制字符串stub进入,最后再拼接用户输入并执行 先看一下stub的内容,是将所有寄存器清零 这对我们shellcode的执行没有影响,直接写操作就好。 题目中的沙箱限制了大多数函数的使用,只能使用read、write ...
分类:
其他好文 时间:
2017-07-14 13:14:31
阅读次数:
158
刚刚开始学习pwn,记录一下自己学习的过程。 今天完成了第一道pwn题目的解答,做的题目是2017年TSCTF的bad egg,通过这道题学习到了一种getshell的方法:通过在大小不够存储shellcode的空间内写入egg_hunter使其去找到真正的shellcode所在的地址执行拿到she ...
分类:
其他好文 时间:
2017-07-05 01:17:15
阅读次数:
2503
干货大放送!Github最全渗透测试资源!在线资源:渗透测试资源:Metasploit Unleashed 链接地址 - 免费攻防安全metasploita课程PTES 链接地址 - 渗透测试执行标准OWASP 链接地址 - 开源Web应用安全项目Shellcode开发:Shellcode Tuto ...
分类:
其他好文 时间:
2017-06-23 23:49:28
阅读次数:
357
我先写了一个小程序Test.exe(注意:由于我用的是控制台程序没有导入user32.dll所以我用的直接添加ShellCode是不行的,要么在ShellCode中导入user32.dll要么在程序中Load一下,如果没有以下测试不成功)。 用UE打开,添加我们要添加的ShellCode(弹出另一个 ...
分类:
系统相关 时间:
2017-05-15 16:55:35
阅读次数:
255
先使用Smbtouch模块检测一下是否有漏洞。 然后使用Doublepulsar写一个shellcode到本地。 生成成功后的截图: 再使用EternalRomance植入Doublepulsar后门。 成功的截图: PS:仿佛是由于之前已经上传过bin的缘故,第二次测试的时候失败了。但是不影响后续 ...
分类:
其他好文 时间:
2017-04-29 23:28:23
阅读次数:
999
这是一个简单的会溢出的程序 run时返现程序程序终止,并得到以下提示栈溢出而奔溃。eip的值并没有被改变。 查看寄存器的内容,发现eip的值并没有发生改变,这是因为gcc默认开启堆栈保护,当检测到有栈溢出时就会自动终止。 如果我们希望修改eip时不退出调试,比如编写shellcode时,我们需要关闭 ...
分类:
其他好文 时间:
2017-04-24 12:20:24
阅读次数:
268