吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5611|回复: 39
收起左侧

[漏洞分析] 简单的【缓冲区溢出之shellcode】(二)

  [复制链接]
Chost 发表于 2020-11-22 22:49
本帖最后由 Chost 于 2020-11-22 23:03 编辑

本文分析紧接上一篇文章【传送门】:简单的【缓冲区溢出原理】(一)https://www.52pojie.cn/thread-1310387-1-1.html(出处: 吾爱破解论坛)
什么是ShellcodeShellcode实际是一段代码(机器码),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务的。
1. 缓冲区溢出的shellcode
1.png


2.函数执行完毕的时候,函数返回前,此时ESP的值为0x0012FF2C
2.png


函数ret返回后,此时观察ESP的值为0x0012FF30,这个很关键。
微信截图_20201122221734.png


3.一般情况下,ESP总是指向系统栈且不会被溢出的数据破坏。函数返回后,ESP所指的位置是返回地址的下一位0x0012FF30

这样可用jmp esp作为跳板覆盖返回地址,动态定位shellcode(如第1中的图)


4.获取jmp esp指令的地址,一般来说一些动态链接库会被映射到内存,如kernel32.dll、user32.dll。编程搜索jmp esp的内存地址。
选择其中一个0x77d9ac8
4.png

5..shellcode的编写,实现一个弹窗效果。
5.png

6.首先要获取MessageBoxA弹窗函数的地址,而MessageBoxuser32.dll的导出函数,编写程序获取地址0x77d507ea
6.png


7.shellcode执行完,可能导致程序崩溃,所以这里还需要使用 ExitProcess() 函数来令程序终止,让程序正常退出。ExitProcess()Kernel32.dll的导出函数,这里编写程序获取地址为0x7c81bfa2
7.png


8.编写shellcode汇编代码
8.png

9.shellcode汇编代码中编译,然后加载到OllyDbg中调试,进而获得机器码
9.png

提取完后,每个字符前需要加上 \x
10.png


10.把这个shellcode加到payload里面,用jmp esp的地址覆盖返回地址,最后的程序。
11.png

11.将程序编译后载入OD中进行分析栈区溢出前后栈中的变化Strcpy()函数copy 12.png

Strcpy()函数copy
13.png


函数返回:返回到jmp esp的地址
14.png


15.png

到此开始执行shellcode的代码
16.png

12.运行结果:弹窗并正常退出而不报错。
17.png

平台:windows xp
工具:vc++ollydbg

参考文献《0day安全 软件漏洞分析技术》等

免费评分

参与人数 11吾爱币 +14 热心值 +11 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Raurean + 1 + 1 谢谢@Thanks!
花式划水运动员 + 1 + 1 谢谢@Thanks!
ls990928 + 1 + 1 我很赞同!
宅の士 + 1 用心讨论,共获提升!
zjun777 + 1 + 1 用心讨论,共获提升!
fengbolee + 1 + 1 用心讨论,共获提升!
哲大叔 + 1 + 1 谢谢@Thanks!
金色传说 + 1 我很赞同!
woyucheng + 1 + 1 谢谢@Thanks!
Nghitsong + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Nop_ 发表于 2020-11-22 23:40
学习了,感谢分享
1973dihao 发表于 2020-11-23 01:13
tsecond 发表于 2020-11-23 03:17
鸭子咯咯哒~ 发表于 2020-11-23 06:35
收藏收藏
okgjkk 发表于 2020-11-23 07:24
贼棒  受教了,谢谢
slzslz 发表于 2020-11-23 07:55
这2天正在琢磨怎么样内存中写入汇编,参考一下,谢谢
huchhc 发表于 2020-11-23 08:01
支持原创工具。
龙神邪少 发表于 2020-11-23 08:08
学习了,谢谢大佬
wangez 发表于 2020-11-23 08:19
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-8 19:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表