基础知识

Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址。

execstack -s xxx:将堆栈设为可执行状态

execstack -q xxx:查看文件pwn5302的堆栈是否是可执行状态

more /proc/sys/kernel/randomize_va_space:查看地址随机化的状态

echo "0" > /proc/sys/kernel/randomize_va_space:关闭地址随机化

(gdb) attach: GDB可以对正在执行的程序进行调度,它允许开发人员中断程序并查看其状态,之后还能让这个程序正常地继续执行。在GDB中使用“attach”命令是一个方法。

(gdb) disassemble foo: 反汇编一段内存地址,

(gdb) c: 继续执行被调试程序,直至下一个断点或程序结束,Continue的简写

(gdb) x/16x : 使用x命令(examine的简写)来查看内存地址中的值。

* x命令的语法:x/

实验过程:

编写shellcode代码:

配置环境

安装execstack

execstack -s xxx:将堆栈设为可执行状态

execstack -q xxx:查看文件pwn5302的堆栈是否是可执行状态

more /proc/sys/kernel/randomize_va_space:查看地址随机化的状态

echo "0" > /proc/sys/kernel/randomize_va_space:关闭地址随机化

做实验的时候忘截图了,就不在这附图了。

用anything+retaddr+nops+shellcode结构构造要注入的payload

注入buf:

此时不按回车。

打开另一个终端,先找到正在执行的 20145325pwn1 的进程号,再用attach指令对该进程进行调试且对foo函数进行反汇编并在ret处设置断点。

找到正在执行的 20145325pwn1 的进程号

用attach指令对该进程进行调试

对foo函数进行反汇编并在ret处设置断点。

确认地址被覆盖

在第一个终端按回车

把地址“\x10\x20\x30\x40” 换为 “\x31\xd3\xff\x”,就成功啦!

Return-to-libc 攻击实验

基础知识

即使栈有不可执行的能力,无法将shellcode放入堆栈中运行,但我们却可以直接让漏洞程序调转到现存的代码来实现我们的攻击。(本次实验所用的是已经载入内存的 libc 库中的 system()函数等)

实验过程

创建32位C语言可编译的环境并进入32位linux操作环境,进入bash,并关闭地址随机化

创建“retlib.c”文件,并编译设置SET-UID

在/tmp下创建“getenvaddr.c”文件用于读取环境变量,并编译。在/tmp下创建“exploit.c”文件用于攻击。并获取地址。

用gdb设置断点,调试运行获取system和exit的地址

修改exploit.c文件,保存到 /tmp 目录下

删除 exploit 和 badfile ,重新编译exploit.c,然后先运行攻击程序 exploit,再运行漏洞程序 retlib,可以看到攻击成功,获得了 root 权限

转载于:https://www.cnblogs.com/HZW20145322/p/6653850.html

20145322 何志威《网络对抗》shellcode注入Return-to-libc攻击深入相关推荐

  1. 20145317《网络对抗》shellcode注入Return-to-libc攻击深入

    20145317<网络对抗>shellcode注入&Return-to-libc攻击深入 学习任务 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻 ...

  2. 20145203盖泽双《网络对抗技术》拓展:注入:shellcode及return-into-libc攻击

    20145203盖泽双<网络对抗技术>拓展:注入:shellcode及return-into-libc攻击 一.注入:shellcode 1.编写一段用于获取Shellcode的C语言代码 ...

  3. 20145330 《网络对抗》PC平台逆向破解:注入shellcode 和 Return-to-libc 攻击实验

    20145330 <网络对抗>PC平台逆向破解:注入shellcode 实验步骤 1.用于获取shellcode的C语言代码 2.设置环境 Bof攻击防御技术 需要手动设置环境使注入的sh ...

  4. 20145223 杨梦云 《网络对抗》shellcode实验+return-to-libc实验

    20145223 杨梦云 <网络对抗>shellcode实验+return-to-libc实验 shellcode注入实践 Shellcode基础知识 ·Shellcode实际是一段代码( ...

  5. 20145335郝昊《网络攻防》Bof逆向基础——ShellCode注入与执行

    20145335郝昊<网络攻防>Bof逆向基础--ShellCode注入与执行 实验原理 关于ShellCode:ShellCode是一段代码,作为数据发送给受攻击服务器,是溢出程序和蠕虫 ...

  6. 2017-2018-2 20155314《网络对抗技术》Exp2 后门原理与实践

    2017-2018-2 20155314<网络对抗技术>Exp2 后门原理与实践 目录 实验要求 实验内容 实验环境 预备知识 1.后门概念 2.常用后门工具 实验步骤 1 用nc或net ...

  7. 2018-2019-2 网络对抗技术 20165239Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165239 Exp3 免杀原理与实践 win10 ip地址 192.168.18.1 fenix ip地址为 192.168.18.128 (1)杀软是如何 ...

  8. 2018-2019-2 20165315 《网络对抗技术》Exp2+ 后门进阶

    2018-2019-2 20165315 <网络对抗技术>Exp2+ 后门进阶 一.实验要求 以下三个课题三选一 1.其他专用后门工具研究(CROSSRAT ...) 2.恶意代码绑定技术 ...

  9. 2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

  10. #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践

    20145238荆玉茗<网络对抗>-逆向及Bof进阶实践 实践目的:注入shellcode 准备一段shellcode代码 Shellcode实际是一段代码(也可以是填充数据),是用来发送 ...

最新文章

  1. python八大排序算法 间书_python八大排序算法
  2. 矿用巷道巡检机器人_一种井下自动巡检机器人系统
  3. VS Supercharger插件的破解
  4. 【一步到胃解决】Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already
  5. Real to Int
  6. PostgreSQL 统计所有数据表各自的总行数
  7. iPhone越来越难打动你?从iOS平台转投安卓阵营 这招你得学会!
  8. 1 sqlserver修改表结构
  9. 正则爬取猫眼电影排行榜 待修改版
  10. java 项目启动后页面乱码_java生成的Html打开后展示乱码
  11. 重定向,用户管理,密码管理,权限管理
  12. android 蓝牙 底层api,Android提高之蓝牙隐藏API探秘
  13. unity 世界坐标间角度_Unity 世界坐标局部坐标下的旋转
  14. npm安装依赖报错:npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\misal\AppData\R
  15. 面试和谈薪技巧及如何避开常见的陷阱
  16. linux pppd源码下载_linux pppd脚本配置(转载)
  17. Flutter绘制指南09-动画曲线和方法
  18. 聊一聊28岁程序员被裁,我的思考和建议
  19. iOS QRcode识别及相册图片二维码读取识别
  20. 警察蜀黍,这有个装正经又不正经的App!

热门文章

  1. 2. shenyu(神禹)网关调用链及组装过程
  2. 微信跳一跳小游戏源码
  3. 产品经理听完《等你下课》心态崩了?选择汇新云重振旗鼓
  4. 概念数据模型(E-R模型)
  5. PMOS和NMOS的区分及导通方式
  6. 【MOS管知识汇总】分类、区分、寄生二极管、导通条件、开关电路、串联电阻
  7. PR免费转场 PR剪辑视频图形转场PR动态图形模板MOGRT
  8. Windows 9预览版今秋发布 正式版明年推出
  9. r语言如何计算t分布临界值_[统计]从p-value到q-value的计算(附代码)
  10. 中国60家最强汽车初创在此!芯片厂高调入局,智能网联强势霸榜