网站开发工程师面试问题,创建全国文明城市方案,网页界面设计论文,软件上市公司排名一. 简介 Metasploit 是一个开源的渗透测试开源软件#xff0c;也是一个逐步发展成熟的漏洞研究与渗透测试代码开发平台#xff0c;此外也将成为支持整个渗透测试过程的安全技术集成开发与应用环境#xff0c;2009年10月#xff0c;Metasploit项目被一家渗透测试技术领域的…一. 简介 Metasploit 是一个开源的渗透测试开源软件也是一个逐步发展成熟的漏洞研究与渗透测试代码开发平台此外也将成为支持整个渗透测试过程的安全技术集成开发与应用环境2009年10月Metasploit项目被一家渗透测试技术领域的知名安全公司Rapid7所收购。Rapid7公司随后与2010年10月推出了Metasploit Express 和Pro商业版本。 优点 模块化灵活框架界面友好简单易用代码安全 二. MSF 数据库操作 msf init msfconsole 初始化数据库并且启动msf 1.启动数据库PostgreSQL 端口5432 2.初始化数据库 3.启动msf msfconsole -q 快速启动不显示banner msfdb init启动并初始化数据库 msfdb reinit 重新初始数据库 msfdb delete 删除数据库 msfdb start 启动数据库 msfdb stop 关闭数据库 msfdb status查看数据库状态 msfdb run 启动数据库并启动msf 将PostgreSQL设置成开机自启 systemctl enable postgresql 开启开机自启动 systemctl list-units --typeservice 查看开启开机自启动的程序列表 三. MSF常用命令
终端命令
命令解释show exploits列出所有渗透攻击模块show payloads列出所有的攻击载荷show auxiliary列出所有的辅助模块search查询所有包含关键字的模块info展示出制定渗透攻击或模块的相关信息info -d更详细的信息会打开网页文件显示use装载一个模块LHOST目标主机RHOST远程主机或目标主机set设置配置参数setg设置配置全局参数unset取消配置参数unsetg取消配置全局参数show options列出当前模块中所有的参数配置show targets列出当前模块支持的平台set target num指定你所知道的目标的操作系统以及补丁版本类型set payload指定你想使用的攻击载荷msf6是有默认的msf5是需要指定的show advanced列出所有高级配置选项check检测目标是否对选定的模块存在相应的漏洞exploit执行渗透攻击模块exploit -j在计划任务下进行渗透攻击攻击将在后台进行exploit -z渗透攻击成功后不进行会话交互exploit -e 编码方式指定攻击荷载的编码方式exploit -h列出exploit命令的帮助信息sessions -l列出可用的交互会话sessions -l -v列出所有可用的交互会话以及会话详细信息sessions -s 脚本在所有活跃的meterpreter会话中运行一个特定的meterpreter脚本sessions -K杀死所有会话sessions -c 命令在所有活跃的metaerprter会话上执行一个命令如cmdsessions -u 将指定的一个会话从win32shell升级到meterpeter shellsessions -i 选着一个会话到当前窗口运行db_create 数据库名称创建一个数据库驱动攻击所需要的数据库db_nmap利用nmap并把所有扫描数据存入到数据库中db_autopwn -p -r -e对所有发现的开放端口执行db_autopwn攻击所有系统并使用一个反弹式shelldb_destroy删除当前数据库db_nmap利用nmap并把所有扫描数据存入到数据库中db_destroy user:passwordhost:port/database使用高级选项来删除数据库
show exploits 列出所有渗透攻击模块 show payloads 列出所有攻击载荷模块
show auxiliary 列出所有辅助模块 search 17_010 搜索关键字包含17_010 的这里的17_010是指漏洞的时间 info 查看当前模块的详细信息 info -d 查看当前模块的跟多详情详细 use 0 选择一个模块进行加载这里的0是指序号也可以用名称 show options 和 options 效果一样 列出当前模块的参数详细信息 set rhosts 172.30.1.133 设置RHOSTS(目标主机的IP地址) show targets 列出当前模块支持的平台 check 检测目标对象是否存在对于模块的漏洞 sessions -l 列出所有连接 sessions -l -v 列出所有连接并显示连接利用的信息详细 show advanced 显示模块的高级参数 sessions -i 1 选择一个连接到前台
metapreter常用命令
命令解释help打开帮助run 脚本名称运行meterpreter脚本在scripts/meterpreter目录可查看到的所有脚本名称sysinfo列出受控主机的系统信息ls列出目标主机的文件和文件夹信息use priv加载权限提示控制模块来扩展meterpreterps显示所有运行进程及其关联的用户账户migrate PID迁移到指定的进程IDuse incognito加载inconito功能用来盗窃目标主机的令牌或者冒充用户list_tokens -u列出目标主机用户组的可用令牌impersonate_token DOMAIN_NAME\USERNAME假冒目标主机上的可用令牌steal_token盗窃给定进程的可用令牌并进行令牌假冒drop_token停止假冒当前的令牌getsystem提供各种攻击向量来提示到系统用户权限shell以所有可用令牌来运行一个交互的shellexecut -f com.exe -i执行cmd.exe命令交互execut -f com.exe -i -t以所有可用令牌来执行cmd命令execute -f cmd.exe -i -H -t以所有可用令牌来执行cmd命令并隐藏该进程rev2self回到控制目标主机的初始用户账户下reg command在目标主机注册表中进行交互创建删除和查询等操作setdesktop number切换到另一个用户界面该功能基于那些用户已经登录screenshot对目标主机进行截屏upload file向目标主机上传文件download file从目标主机上下载文件keyscan_dump储存目标主机上的键盘记录getprivs尽可能的获取到目标主机上的更多权限uietl enable keyboard/mouse接管目标主机的键盘和鼠标background将当前会话放入后台运行use sniffer加入嗅探模块sniffer_interface列出目标主机上的所有开放网络接口sniffer_stats interfaceID pcapname在目标主机上启动嗅探sniffer_start interfaceID packet_buffer在目标主机上针对特定范围的数据包缓冲区启动嗅探sniffer_stats interfaceID获取正在实施嗅探网络接口的统计数据sniffer_stop interfaceID停止嗅探add_user username password -h ip在远程目标主机上添加一个用户add_group_user “Domain Adimins”username -h ip将用户添加到目标主机的域管理员组中clearev清除目标主机上的日志记录timestomp修改文件属性例如修改文件的创建时间反取证调差reboot重启目标主机
sysinfo 列出当前被控制的主机的系统信息 ls 列出目标主机文件和文件夹 ps 显示所有运行进程及其关联的用户账户 use incognito 加载inconito功能用来盗窃目标主机的令牌或者冒充用户 screenshot 截取目标主机的屏幕 shell 获取一个交互shell
四. MSF 常用模块
Exploits 渗透模块 这是一段程序运行时会利用目标的安全漏洞进行攻击Payloads 攻击荷载模块在成功对目标完成一次渗透之后这段程序开始在目标计算机上运行它能帮助我们在目标系统上获取需要的访问和权限创建后面和维护访问等。Auxiliary 辅助模块包含了一系列的辅助支持模块包括扫描fuzz模块模糊测试漏洞发掘检测模块网络协议欺骗等模块。辅助是使Metasploit 更加灵活。Encoder (编码器模块)编码器模块通常用来对于攻击模块进行代码混淆来逃过目标安全保护机制的检测。Meterpreter 内存攻击载荷是一种使用内存技术的攻击载荷可以注入到程序之中提供各种可以在目标上执行的功能如开启摄像头停用键盘等。Post 后渗透模块前提是已经拿到了目标系统的基本访问权限可以使用post模块对系统进行进一步的渗透nop 模块 在汇编语音种nop是指无操作指令nop在编写exploit或shellcode时有时是有用的。添加nop可以显著帮助修改payload特征从而绕过安全检测。