注入Shellcode并运行攻击 shellcode就是一段机器指令(code) 通常这段机器指令的目的是为获取一个交互式的shell(像linux的shell或类似windows下的cmd.exe) 所以这段机器指令被称为shellcode. 在实际的应用中,凡是用来注入的机器指令段都通称为shellcode,功能可以是添加一个用户.运行一条指令等. 实验步骤 安装execstack apt-get install execstack 设置堆栈可执行 execstack -s pwn20155…
20145219<网络对抗>PC平台逆向破解 shellcode注入 1.shellcode shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 2.构造方法 (1)nop+shellcode+retaddr(适用于缓冲区大的情况) (2)retaddr+nop+shellcode(适用于缓冲区小的情况) 3.nop+shellcode+retaddr方法 用vim编写一段代码shellcode 安装execstack 设置堆栈可执行 查询地址随机化状态(2表示开启,0表…
20145219<网络对抗技术>PC平台逆向破解之逆向与Bof基础 实践目标 实践对象:一个名为pwn1的linux可执行文件. pwn1正常执行流程:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. 我们将学习两种方法实现目标: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数.(强行修改程序执行流) 利…
20155324<网络对抗>Exp1 PC平台逆向破解(5)M 实验目标 本次实践的对象是一个名为~pwn1~的~linux~可执行文件. 该程序正常执行流程是:~main~调用~foo~函数,~foo~函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,~getShell~,会返回一个可用~Shell~.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何~Shellcode~. 基础知识 掌…
20165221 <网络对抗技术>EXP1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.但是该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下: 直接修改程序机器指令…
2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解(BOF实验) 实验有三个模块: (一)直接修改程序机器指令,改变程序执行流程: (二)通过构造输入参数,造成BOF攻击,改变程序执行流: (三)注入Shellcode并执行: 回答一下老师的问题 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:90 JNE:75 JE:74 JMP:E9(JMP immed16)EA(JMP immed32)EB(JMP immed8) CMP:38(C…
- 2018-2019-2 20165206<网络对抗技术>Exp1 PC平台逆向破解 - 实验任务 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下…
2018-2019-2 20165317<网络对抗技术>Exp1 PC平台逆向破解 实验目的 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:无作用,英文"no operation"的简写,意思是"do nothing"(机器码90) JNE:若不相等则跳(机器码75) JE:若相等则跳(机器码74) JMP:无条件转移指令.段内直接短转Jmp short(机器码:EB),段内直接近转移Jmp near(机器码:E9),段内间接…
2018-2019-2 网络对抗技术 20165336 Exp1 PC平台逆向破解 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. 1.2实践内容如下: 手工修改可执行文件,改变程序执行流程,直接跳转到…
2018-2019-2 20165236郭金涛<网络对抗>Exp1 PC平台逆向破解 一.实验内容 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分) 2.掌握反汇编与十六进制编程器 (0.5分) 3.能正确修改机器指令改变程序执行流程(0.5分) 4.能正确构造payload进行bof攻击(0.5分) 二.实践目标 1.本次实践的对象是一个名为pwn1的linux可执行文件,如图: 2.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输…
2017-2018-2 20155228 <网络对抗技术> 实验一:PC平台逆向破解 实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下: 手…
2018-2019-2 网络对抗技术 20165305 Exp1 PC平台逆向破解 实验1-1直接修改程序机器指令,改变程序执行流程 先输入objdump -d 20165305pwn2查看反汇编代码,然后查看机器指令,找到并根据机器指令计算出要篡改的目标地址. 我们可以从下图中看到call 804891的 机器码指令为e8 d7 ff ff ff,然后我们可以通过知道,只要把d7改为c3就可以在运行文件时调用getshell. 以下是我要执行的一系列指令 首先输入vi 20165305pwn2…
2018-2019-2 <网络对抗技术> Exp1 PC平台逆向破解 20165215 目录 知识点描述 实验步骤 (一)直接修改程序机器指令,改变程序执行流程 (二)通过构造输入参数,造成BOF攻击,改变程序执行流 (三)注入Shellcode并执行 实验感想及问题回答 [知识点描述] 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:空指令,运行该指令时单片机什么都不做,但是会占用一个指令的时间,对应机器码为90 JNE:条件转移指令,ZF标志位为0时跳转,对应…
2018-2019-2 20165316 <网络对抗技术>Exp1 PC平台逆向破解 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何She…
20165309 <网络对抗技术>实验一:PC平台逆向破解 目录 实践目标 基础知识 实验原理.内容及步骤 问题与解决 实验收获 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的. 我们实践的目标就是想办法运行这个代码片段,然后学习如何注入运行任何Shellcode. 返回目录…
<网络对抗技术>Exp1 PC平台逆向破解之"逆向及Bof基础实践说明" Week3 一. 实验预习 1.什么是漏洞?漏洞有什么危害? 漏洞就是在计算机硬件.软件.协议.安全策略上存在的缺点.利用这些缺点,攻击者可以对计算机系统进行攻击,从而达到一定的目的.漏洞威胁了计算机的系统安全,给攻击者有可乘之机,可能引起经济损失.机密泄露.隐私暴露.数据篡改等问题. 2.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(以下为16进制) NOP:91,空指令 JNE…
2018-2019-2 网络对抗技术 20165228 Exp1 PC平台逆向破解 实验内容及步骤 第一部分:直接修改程序机器指令,改变程序执行流程 关键:通过修改call指令跳转的地址,将原本指向被调用函数入口的地址修为getshell函数入口的地址,从而达到目的 对pwn1进行反汇编,分析函数执行的步骤 objdump -d pwn1 getshell函数入口地址为0x0804847d foo函数入口地址为0x08048491 main函数中调用foo函数的机器码为e8 d7 ff ff f…
2018-2019-2 网络对抗技术 20165308 Exp1 PC平台逆向破解 NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP汇编指令:执行到NOP指令时,CPU仅仅当做一个指令执行过去并继续执行NOP后面的一条指令. JNE汇编指令:条件转移指令,如果不相等则跳转. JE汇编指令:如果条件相等则跳转. JMP汇编指令:直接跳转到所需跳转的位置. CMP汇编指令:减法指令,只是对操作数之间运算比较,不保存结果.cmp指令执行后,将对标志寄存器产生影响.其他相关指令通过识…
2018-2019-2 20165205 <网络对抗技术> Exp1 PC平台逆向破解 1. 实验任务 1.1实验概括 用一个pwn1文件. 该程序正常执行流程是:main调用foo函数,foo函数会回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不被运行的.实践的目标就是想办法运行这个代码片段. 我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 1.2实践内容 手工修改可执行文件,改变E…
20165315 2018-2019-2 <网络对抗技术>Exp1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.但是该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下:…
20155205 郝博雅 <网络对抗技术>Exp1 PC平台逆向破解 一.实验准备 1. 掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.(机器码:90) JNE:条件转移指令,如果不相等则跳转.(机器码:75) JE:条件转移指令,如果相等则跳转.(机器码:74) JMP:无条件转移指令.段内直接短转Jmp short(机器码:EB) 段…
20155208徐子涵 <网络对抗>Exp1 PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 一.基础知识学习 1.掌握NOP.JNE.J…
2017-2018-2 20155314<网络对抗技术>Exp1 PC平台逆向破解(5)M 目录 实验要求 实验内容 预备知识 实验步骤 0 准备工作:macOS下Parallels Desktop安装Kali Linux虚拟机及相关配置 1 逆向及Bof基础实践 1.1 实践目标 1.2 基础知识 2 直接修改程序机器指令,改变程序执行流程 3 通过构造输入参数,造成BOF攻击,改变程序执行流 3.1 反汇编,了解程序的基本功能 3.2 确认输入字符串哪几个字符会覆盖到返回地址 3.3 确认…
2018-2019-2 网络对抗技术 20165227 Exp1 PC平台逆向破解 实验内容及步骤 实验一:直接修改程序机器指令,改变程序执行流程 知识要求:Call指令,EIP寄存器,指令跳转的偏移计算,补码,反汇编指令objdump,十六进制编辑工具 首先将pwn1目标文件进行备份 cp pwn1 pwn5227 对pwn5227文件进行反汇编 objdump -d pwn5227 | more 并找到main函数中调用foo函数的机器码 使用 vi pwn5227 进行编辑 在vi里面进行…
2017-2018-2 『网络对抗技术』Exp1:PC平台逆向破解 --------CONTENTS-------- 1. 逆向及Bof基础实践说明 2. 直接修改程序机器指令,改变程序执行流程 3. 通过构造输入参数,造成BOF攻击,改变程序执行流 4. 注入Shellcode并执行 5. 实验中遇到的问题及思考 ELF文件具有什么样的格式? 如何编写Linux shellcode? 附:参考资料 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可…
2018-2019 2 20165203 <网络对抗技术> Exp1 PC平台逆向破解 实验要求 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 2.掌握反汇编与十六进制编程器 3.能正确修改机器指令改变程序执行流程 4.能正确构造payload进行bof攻击 实验内容 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数 注入一个自己制作的shellcode并运行…
20145325张梓靖 <网络对抗技术> PC平台逆向破解 学习任务 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode 的地址. Return-to-libc 攻击实验:即使栈有不可执行的能力,无法将shellcode放入堆栈中运行,但我们却可以直接让漏洞程序调转到现存的代码来实现我们的攻击.(本次实验所用的是已经载入内存的 libc 库中的 system()函…
20155202张旭<网络对抗技术> week1 PC平台逆向破解及Bof基础实践 1.实践目标: 实践对象:一个名为pwn1的linux可执行文件. 该程序正常执行流程是: main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell. 正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下:…
20155204 王昊<网络对抗技术>EXP1 PC平台逆向破解 (一)实验内容 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.(机器码:90) JNE:条件转移指令,如果不相等则跳转.(机器码:75) JE:条件转移指令,如果相等则跳转.(机器码:74) JMP:无条件转移指令.段内直接短转Jmp short(机器码:EB)段内直接…
20155217<网络对抗>Exp01 PC平台逆向破解(5)M 实验要求 掌握NOP,JNE,JE,JMP,CMP汇编指令的机器码 掌握反汇编与十六进制编程器 能正确修改机器指令改变程序执行流程 能正确构造payload进行bof攻击 汇编相关 NOP:空指令.执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.机器码:90 JNE:条件转移指令,与JNZ等价.ZF=0,转至标号处执行,即如果不相等则跳转.机器码:75 JE:条件转移指令.如果相等则…