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