行业动态

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
黑客为什么钟情Shellcode?
2022-08-30 15:08:49 【

Shellcode是嵌入在恶意程序中的一段代码,在感染受害者的目标系统后,可以获取命令shell代码,例如类UNIX操作系统中的/bin/bash, Microsoft Windows 操作系统上的 MS-DOS 和cmd .exe。shellcode经常被用作漏洞利用负载。


Shellcode

1.如你所知,仅仅感染系统、利用漏洞或安装某些系统服务是不够的。在许多情况下,黑客的所有这些行为都是为了获得对受感染机器的管理员访问权限。

2.所以恶意软件只要感染了机器,得到一个shell,也就是控制权的一种方式。这是信息泄露、创建僵尸网络将目标系统变成僵尸的直接途径,或者只是在被黑客入侵的机器上执行其他破坏性功能。

3.Shellcode通常被注入到正在运行的程序的内存中,然后通过利用堆栈溢出或堆缓冲区溢出等编程错误或使用格式字符串攻击将控制权转移给它。

4.通过用注入的shellcode的地址覆盖堆栈上的返回地址、覆盖被调用函数的地址或更改中断处理程序来将控制权转移到shellcode。这一切的结果就是shellcode的执行,它打开了通道供破解者使用。


5.在利用远程漏洞(即漏洞利用)时,shellcode可以在易受攻击的计算机上打开预定义的 TCP 端口,以便进一步远程访问 shell。这样的代码称为端口绑定shellcode。

6.如果shellcode连接到攻击者计算机的端口(为了绕过防火墙或通过NAT泄漏),那么这样的代码称为反向shell(reverse shell shellcode)。


将 shellcode 运行到内存中的方法

有两种方法可以将shellcode运行到内存中执行:

1.位置无关代码 (PIC) 方法是使用二进制代码(即,将在内存中执行的代码)硬绑定到特定地址或数据的代码。Shellcode本质上是一个 PIC。为什么硬绑定如此重要?shell 无法确切知道 RAM 的位置,因为在执行受感染程序或恶意软件的不同版本期间,它们可以将shellcode加载到不同的内存单元中。


2.识别执行位置方法意味着当访问位置独立的内存结构中的数据时,shellcode必须取消引用基指针。从基指针中添加(ADD)或减去(Reduce)值可以让你安全地访问作为shellcode一部分的数据。




】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇什么是DDos攻击工具? 下一篇解析DDOS带宽消耗攻击的原理和防..

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
E-Mail:800@fangyuba.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800