20145303 刘俊谦《网络对抗》shellcode注入&Return-to-libc攻击深入
2017-03-27 21:27
405 查看
20145303 刘俊谦《网络对抗》shellcode注入&Return-to-libc攻击深入
Shellcode注入
shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode 的地址实验过程:
获取shellcode的C语言代码
下载安装execstack
配置环境
execstack -s pwn5303:将堆栈设为可执行状态 execstack -q pwn5303:查看文件pwn5302的堆栈是否是可执行状态 用more /proc/sys/kernel/randomize_va_space:查看地址随机化的状态 用echo "0" > /proc/sys/kernel/randomize_va_space:关闭地址随机化
构造要注入的payload
用anything+retaddr+nops+shellcode结构构造
注入这段攻击buf:
(先只按一下回车)
打开另外一个终端,用gdb来调试pwn1这个进程
(找到进程号为2375)
设置断点,来查看注入buf的内存地址:
在另外一个终端中按下回车:
(将返回地址改为0xffffd3c1)
(执行shellcode5303,可以看到成功注入)
Return-to-libc 攻击实验
即使栈有不可执行的能力,无法将shellcode放入堆栈中运行,但我们却可以直接让漏洞程序调转到现存的代码来实现我们的攻击。(本次实验所用的是已经载入内存的 libc 库中的 system()函数等)实验过程:
创建32位C语言可编译的环境
进入32位linux操作环境,进入bash,并关闭地址随机化
在/tmp下创建“retlib.c”文件,并编译设置SET-UID
(此程序有一个缓冲区溢出漏洞:该程序读取badfile文件,将40字节的数据读取到只有12字节大小的buffer,而fread函数不检查边界导致溢出)
在/tmp下创建“getenvaddr.c”文件用于读取环境变量,并编译。在/tmp下创建“exploit.c”文件用于攻击。并获取地址。
进入gdb设置断点,调试运行获取system和exit的地址
修改 exploit.c 文件
当时做太快,没来得及截图(很尴尬),事后想起来的时候,已经把练习都做完了。。。删除 exploit 和 badfile ,重新编译exploit.c,然后先运行攻击程序 exploit,再运行漏洞程序 retlib,可以看到攻击成功,获得了 root 权限
练习:
将/bin/sh重新指向/bin/bas
修改攻击程序
编译运行,可以看到攻击成功
相关文章推荐
- 20145215《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145239杜文超《网络对抗》- shellcode注入&Return-to-libc攻击深入
- 20145210姚思羽《网络对抗》——shellcode注入& Return-to-libc攻击深入
- 20145229吴姗珊《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145227鄢曼君《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145208 蔡野《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145222黄亚奇《网络对抗》- shellcode注入&Return-to-libc攻击深入
- 20145326蔡馨熠《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145334赵文豪《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145322 何志威《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145317《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145301《网络对抗》shellcode注入&Return-to-libc攻击深入
- 20145324王嘉澜 《网络对抗》进阶实践之 shellcode注入和Return-to-libc攻击深入
- 20145305 《网络对抗》注入Shellcode并执行&Return-to-libc 攻击实验
- 20145327《网络对抗》——注入shellcode并执行和Return-to-libc攻击深入
- 20145211《网络对抗》注入Shellcode并执行&&Return-to-libc攻击
- 20145330 《网络对抗》PC平台逆向破解:注入shellcode 和 Return-to-libc 攻击实验
- 20145312 《网络对抗》PC平台逆向破解:注入shellcode和 Return-to-libc 攻击实验
- 20145315《网络对抗》——注入shellcode以及 Return-to-libc攻击实验
- 20144303石宇森《网络对抗》注入shellcode和Return-to-libc攻击