网络安全
(CS05154)
5. Shellcode技术
主要内容
Shellcode是一段机器指令,用于在溢出之后 改变系统正常流程,转而执行Shellcode从而 入侵目标系统.
1. Linux x86平台Shellcode技术 2. Win32平台Shellcode技术 (参考《网络渗透技术》)
shellcode技术 2
5.1 Linux x86平台Shellcode技术
Shellcode是溢出后执行的一堆机器指令集,编 写 Shellcode需要有一些汇编基础语言程序设计 基础.x86的汇编指令语法常见的有AT&T和 Intel两种. Linux下的编译器和调试器使用的是AT&T语法 (mov src des), Win32下的编译器和调试器使用 的是Intel语法(mov des src). 在Intel网站有详细的x86指令手册,不过Masm 里的Opcodes.hlp文件也能够方便地查询指令的 含义及其opcode,可以作为读者写Shellcode时 查询指令的手册.
shellcode技术 3
5.1.1 熟悉系统调用
Linux下每一个函数实际上都是由系统调用实现 的,熟悉系统调用是编写shellcode的基础.看下 面这个简单的程序: [ns@Redhat9x0 3x1]$ cat exit.c main() { exit(0); }
shellcode技术 4
演示
使用静态编译,以避免动态链接干扰,运 行后查看结果:
[ns@Redhat9x0]$ gcc -static -o exit0 exit.c [ns@Redhat9x0]$./exit0 [ns@Redhat9x0]$echo $ 0
shellcode技术
5
exit函数会调用_exit
[ns@Redhat9x0 3x1]$ gdb exit0 (gdb) disas main 0x080481d0 : push %ebp …………… 0x080481e5 : call 0x8048608 …… (gdb) disas exit ...... 0x080486b8 : push %esi 0x080486b9 : call 0x804d9bc
shellcode技术 6
分析_exit的汇编码
(gdb) disas _exit Dump of assembler code for function _exit: 0x0804d9bc : mov 0x4(%esp,1),%ebx Linux的软中断指令 0x0804d9c0 : mov $0xfc,%eax 0x0804d9c5 : int $0x80 ;调用该语句()后,程序正常退出,以后的语句不会执行 0x0804d9c7 : mov $0x1,%eax 0x0804d9cc : int $0x80 0x0804d9ce : hlt 0x0804d9cf : nop End of assembler dump. (gdb) b *(_exit+9) Breakpoint 1 at 0x804d9c5 Linux的软中断指令 (gdb) r
shellcode技术 7
Linux的功能是用中断指令实现的
在gdb里看到_exit的反汇编代码里有个int $0x80指令,这是Linux的软中断指令. 执行软中断前,需要给eax赋相应的中断号 值才能执行各种功能.Linux的系统中断号 可以从头文件/usr/include/asm/unistd.h查 到. 有些系统调用需要参数,还要给其他寄存 器赋值,具体情况可以参考相关的文档.
shellcode技术 8
5.1.2 得到Shell的Shellcode
通常溢出后是为了得到一 个Shell以方便控制对方的 系统. 理解了系统中断就可以写 这样的Shellcode. [ns@Redhat9x0 3x1]$ gcc -static -o shellcode shellcode.c [ns@Redhat9x0 3x1]$ ./shellcode sh-2.05$
[ns@Redhat9x0 3x1]$ cat Shellcode.c #include int main ( int argc, char * argv[] ) { char * name[2]; name[0] = "/bin/sh"; name[1] = NULL; execve( name[0], name, NULL ); }
- catalystcs5 > 网络安全(CS05154) 第5讲 缓冲区溢出攻击
-
网络安全(CS05154) 第5讲 缓冲区溢出攻击
下载该文档 文档格式:PDF 更新时间:2010-09-02 下载次数:0 点击次数:1文档基本属性 文档语言: English 文档格式: pdf 文档作者: 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: Town of Orange 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:DEVB/CS/CR6/5/284
下一篇:TCP: connection-oriented transport 3.5 Connection-oriented tr...
点击查看更多关于catalystcs5的相关文档
- 您可能感兴趣的
- cctv5在线直播 cctv5 生化危机5 乡村爱情5 iphone5 cctv5节目表 苹果5 22选5开奖结果 死神来了5
- 大家在找
-
- · windows图形编程
- · 廉政文化建设ppt
- · 3www447.con
- · 平焊和对焊法兰图片
- · 2011房贷计算器
- · proe仿真prt运动图
- · h61主板bios设置
- · 高三古典概率
- · cad导入ansys
- · 毕业论文任务书怎么写
- · 重生之我是八阿哥
- · sj电脑主题
- · 植物学书
- · 注塑机调机资料
- · 弹塑性力学学习心得
- · 换热器cad图纸
- · 华南理工在职研究生
- · 机械迷城猫
- · cad填充不覆盖文字
- · 工程制图斜视图
- · 一寸等于多少厘米
- · 普通生物学课件下载
- · 会计岗位责任制度
- · 旧3d肉葡萄团下载观看
- · 关键第四号高清下载
- · crystaldiskinfo
- · 2010江苏高考物理试卷
- · 少女时代成员
- · 国家涉外文秘考试试题
- · 搅拌器价格
- 赞助商链接