目录

  1. 1. 前言
  2. 2. wpscan
  3. 3. sqlmap
    1. 3.1. 基础选项
    2. 3.2. 目标
    3. 3.3. 请求
    4. 3.4. 优化选项
    5. 3.5. 注入选项
  4. 4. nmap
    1. 4.1. 扫描技术
    2. 4.2. 其它
  5. 5. Metasploit Framework
    1. 5.1. 模块
    2. 5.2. 基础命令
      1. 5.2.1. 启动
      2. 5.2.2. 数据库管理
      3. 5.2.3. 查找和使用模块
      4. 5.2.4. 配置模块
      5. 5.2.5. 执行模块
      6. 5.2.6. 会话管理
      7. 5.2.7. 辅助命令
      8. 5.2.8. 系统命令

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

kali上一些工具的使用方法

2023/10/25 渗透
  |     |   总文章阅读量:

前言

记录一下kali tools上有的工具用法https://www.kali.org/tools/

或许会偏渗透一点

wpscan

参考文章:https://blog.csdn.net/guo15890025019/article/details/118548932

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。

最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能

主要参数:

参数 说明
-h 帮助文档
–url 扫描站点
–update 更新版本
-e vp 扫描插件漏洞
-e ap 扫描所有插件
-e p 扫描流行的插件
-e vt 扫描主题漏洞
-e at 扫描所有主题
-e t 更新流行的主题
-U 爆破指定的密码列表
-P 爆破指定的用户名列表
–api-token token值 扫描主题、插件漏洞时,需要用到

通常使用:

wpscan --url http://node4.buuoj.cn:29957/

sqlmap

参考大菜鸡师傅的文档

基础选项

参数 功能
-h, –help 显示基础的帮助信息,然后退出
-hh 显示高级的帮助信息,然后退出
–version 显示脚本的版本,然后退出
-v VERBOSE 显示测试细节 默认数字1-6

目标

至少选择下列一种模式

参数 功能
-d 转发模式 给定连接字符串,连接目标数据库
-u 直连模式, –url= 直接连接目标地址,如http://www.site.com/vuln.php?id=1
-l 日志模式 从Burp或者WebScarab载入代理日志文件
-m 批量模式 从给定的文本文件扫描多个目标地址
-r 请求模式 从文件中载入http请求
-g 谷歌傻瓜模式 从谷歌搜索地址做为目标地址
-c 配置模式 从ini配置文件载入目标地址

请求

下面的选项是用来详细说明如何连接目标地址

参数 功能
–method=方法 强制使用指定的方式进行连接,例如 PUT
–data=数据 通过POST发送数据字符串,例如: --data="id=1"
–param-del=参数分割 参数分割字符,例如:&
–cookie=COOKIE HTTP Cookie 头的值,例如: PHPSESSID=a8d127e..
–cookie-del=COO.. cookie分割字符,例如:;
–load-cookies=L.. 从文件载入cookie值
–drop-set-cookie 忽略响应数据中的 Set-Cookie,即使用响应cookie
–user-agent=AGENT 设置HTTP User-Agent 的值
–random-agent 使用随机 User-Agent 的值
–host=HOST 设置 HTTP Host 的值
–referer=REFERER 设置 HTTP Referer 的值
-H HEADER, –hea.. 设置拓展头 例如:X-Forwarded-For: 127.0.0.1
–headers=HEADERS 设置多个HTTP头 例如:Accept-Language: fr\nETag: 123
–auth-type=AUTH.. 设置HTTP认证类型 (Basic, Digest, NTLM 或 PKI)
–auth-cred=AUTH.. 设置HTTP认证账密 例如:name:password
–auth-file=AUTH.. 设置PEM私钥证书文件
–ignore-code=IG.. 忽略HTTP错误码,例如:401
–ignore-proxy 忽略系统的代理设置
–ignore-redirects 忽略重定向尝试
–ignore-timeouts 忽略连接超时
–proxy=PROXY 使用代理连接目标地址
–proxy-cred=PRO.. 使用代理进行HTTP认证 例如:name:password
–proxy-file=PRO.. 从文件中载入代理列表
–tor 使用洋葱匿名网络
–tor-port=TORPORT 设置洋葱匿名代理的非默认端口
–tor-type=TORTYPE 设置洋葱匿名代理的类型 例如:HTTP, SOCKS4 或 SOCKS5(默认)
–check-tor 检查洋葱匿名代理网络是否可用
–delay=DELAY 设置两次请求之间的延时,单位:秒
–timeout=TIMEOUT 设置连接目标地址超时时间 (默认30秒)
–retries=RETRIES 设置连接超时重试次数 (默认3次)
–randomize=RPARAM 对给定的请求参数值进行随机化
–safe-url=SAFEURL 设置在测试目标地址前访问的安全链接
–safe-post=SAFE.. 设置安全链接POST发送的数据
–safe-req=SAFER.. 从文件中载入安全链接列表
–safe-freq=SAFE.. 设置两次注入测试前访问安全链接的次数
–skip-urlencode 跳过对攻击载荷的URL编码
–csrf-token=CSR.. 保存反CSRF令牌
–csrf-url=CSRFURL 提取CSRF令牌的地址
–force-ssl 强制使用 SSL/HTTPS
–hpp 使用HTTP参数污染
–eval=EVALCODE 请求前使用自定义python脚本,例如:import hashlib;id2=hashlib.md5(id).hexdigest()

优化选项

下面的选项是用来优化sqlmap的性能

参数 功能
-o 打开所有优化选项开关
–predict-output 预测常见查询输出
–keep-alive 使用 HTTP(s) 持久化连接
–null-connection 只检测响应数据长度,不检测响应内容
–threads=THREADS 设置最大运行线程 (默认1线程)

注入选项

下面的选项用来指定注入测试的定制参数和篡改脚本

参数 功能
-p TESTPARAMETER 设置要注入的参数
–skip=SKIP 设置要跳过注入的参数
–skip-static 设置跳过静态参数
–param-exclude=.. 对要注入参数进行正则匹配 例如:ses
–dbms=DBMS 指定注入地址的后台数据库名称
–dbms-cred=DBMS.. 指定数据库认证账密 例如:user:password
–os=OS 指定注入地址的操作系统
–invalid-bignum 对注入参数使用超大数字使其失效
–invalid-logical 对注入参数使用逻辑运算使其失效
–invalid-string 对注入参数使用随机字符串使其失效
–no-cast 关闭攻击载荷的生成器
–no-escape 关闭字符逃逸的生成器
–prefix=PREFIX 攻击载荷的前缀
–suffix=SUFFIX 攻击载荷的后缀
–tamper=TAMPER 指定攻击载荷的篡改脚本

nmap

参考:https://www.cnblogs.com/yurang/p/12046809.html

扫描技术

参数 功能(前五项均为TCP扫描)
-sS SYN扫描,半连接扫描,nmap只发送SYN报文,通过服务器是否响应SYN+ACK来判断对应端口是否开放
-sT 全连接扫描会和服务器建立完整的三次握手,效率低
-sA 发送ACK报文,通过服务器响应来判断是否开放,有的服务器不开会回复ICMP端口不可达,当回复RST时表示可能被拦截或者端口开放,不是一个准确的判断条件
-sW 窗口扫描,发出的报文和ACK一样,利用的是在某些系统中如果端口开放,收到ACK包后会响应一个窗口非0的RST包
-sM Maimon扫描,使用发现者的名字命名。其原理是向目标服务器发送FIN/ACK报文,在某些系统中如果端口开放则会丢弃该报文不做响应,如果端口关闭则回复RST或者ICMP,Nmap可借此判断服务器端口的开放情况。不准
-sU UDP扫描,某些系统如果UDP端口不开放会回复ICMP差错报文(这也是Linux系统中traceroute的实现原理)。Nmap UDP端口扫描的强大之处在于它会针对知名端口构造初始交互报文,比如会针对UDP 500构造一个主模式协商的IKE报文
-sN/sF/sX 特定TCP标志位的扫描,N是空标志位;F是FIN置位;X是Xmas扫描将FIN、PSH、URG同时置位。收到RST说明端口关闭,无响应说明被过滤或者端口开放,不准。
–scanflags 可以让用户自定义TCP标志位
-sI Idle扫描需要一台没有流量的僵尸主机
-sY/sZ SCTP协议INIT或cookie-echo扫描
-sO 基于IP协议的扫描,通过变换IP报文头中的Protocol值来对服务器进行探测
-b FTP反弹扫描,借助FTP特性,通过FTP服务器连接想要扫描的主机实现隐身的目的

其它

参数 功能
-T<0-5> 时间模板,越大速度越快
-6 IPv6探测
-A 系统探测、版本检测、脚本扫描、路由追踪
-V 打印版本号
-v 增加输出的详细程度

Metasploit Framework

参考:https://blog.csdn.net/h1008685/article/details/137371725

Metasploit Framework 简称MSF,是一款开源的安全漏洞检测工具。可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台,集成数千个漏洞利用、辅助测试模块

组件:

  • msfconsole:Metasploit的主要接口,提供了命令行界面来访问和使用框架的所有功能。
  • msfvenom:用于生成各种格式的漏洞利用载荷(payloads),包括但不限于apk、exe、php等。
  • Meterpreter:一个高级的payload,允许深入控制和操作目标系统。

模块

  1. Exploit Modules:漏洞利用模块是Metasploit最著名的模块类型之一,用于利用远程或本地系统上的漏洞。这些模块尝试对目标系统执行代码,通常用于获取对系统的控制。每个漏洞利用模块都针对特定的漏洞,并且需要根据目标系统的具体环境进行配置。
  2. Payload Modules:载荷模块包含在成功利用漏洞后应该执行的代码。载荷可以是简单的命令,也可以是如Meterpreter这样的复杂脚本,它提供了一个功能丰富的命令行界面,用于与受害者机器交互。载荷分为两大类:反向(连接回攻击者)和正向(连接到远程服务器)
  3. Auxiliary Modules:辅助模块提供了除了漏洞利用外的其他功能,例如扫描、嗅探、指纹识别等。这些模块不会返回shell,但对于信息收集和目标识别等渗透测试的准备阶段非常有用。辅助模块是理解目标系统和网络的重要工具。
  4. Post-Exploitation Modules:后渗透模块用于在成功渗透一个系统后执行操作。这些操作包括收集系统信息、提权、维持访问、清理痕迹等。通过这些模块,攻击者可以更深入地控制系统、收集敏感信息或进一步扩大攻击范围。
  5. Encoder Modules:编码器模块用于对载荷进行编码,以绕过非执行策略、杀毒软件检测或其他安全防护措施。编码器可以帮助载荷在不被目标系统防御机制识别的情况下成功执行。
  6. Nops Modules:Nops模块生成无操作指令序列,通常用于保持载荷大小的一致性或用于缓冲区溢出攻击中的填充。虽然这些模块在渗透测试中的使用不如其他模块频繁,但它们在某些特定情况下非常有用。
  7. Evasion Modules:规避模块旨在帮助载荷或漏洞利用代码绕过目标机器的安全检测机制,如入侵检测系统(IDS)和防病毒软件(AV)。通过使用这些模块,攻击者可以增加渗透测试的成功率。

基础命令

启动

普通\静默模式进入msf控制台

msfconsole [-q:静默]

数据库管理

msfdb init	# 初始化Metasploit的数据库
db_status	# 查看数据库连接状态

查找和使用模块

search [关键字]:搜索与关键字相关的模块,如漏洞(exploit)、载荷(payload)、辅助功能(auxiliary)等

例如,search type:exploit platform:windows smb可搜索针对Windows SMB服务的漏洞

use [模块路径]:选择一个模块来使用。

例如,use exploit/windows/smb/ms08_067_netapi

配置模块

  • show options:显示当前模块的配置选项。
  • set [选项] [值]:设置一个选项的值,如 set RHOSTS 192.168.1.1。
  • setg [选项] [值]:全局设置一个选项的值,对后续的模块也有效。
  • unset [选项]:清除一个选项的值。
  • unsetg [选项]:清除全局设置的选项的值。

执行模块

  • exploit 或 run:执行当前模块。exploit通常用于漏洞利用模块,而run用于辅助功能模块。
  • exploit -j:在后台作业中执行模块,允许同时执行多个模块。

会话管理

  • sessions:列出所有活跃的会话。
  • sessions -i [会话号]:与一个特定的会话交互。
  • background:将当前的Meterpreter会话放到后台。

辅助命令

  • help 或 ?:显示可用命令的帮助文档。
  • info [模块路径]:显示一个模块的详细信息。
  • ? show:查看show指令的帮助
  • back:退出当前模块的上下文。

系统命令

  • exit 或 quit:退出msfconsole。
  • banner:显示一个新的Metasploit标语。