nc 瑞士军刀
[v1.10-41]
使用格式: nc [-参数] 主机名 端口[s] [端口] …
侦听入站: nc -l -p 端口[-参数] [主机名] [端口]
参数选项:
-c shell commands as `-e’; use /bin/sh to exec [dangerous!!] -e filename program to exec after connect [dangerous!!] -b 是否允许广播 -g gateway 源路由跳点[s], up to 8 -G num 源路由指针: 4, 8, 12, … -h this cruft -i secs 线路延时间隔, 端口扫描 -k set keepalive option on socket -l 监听模式, 入站链接 -n 只使用 IP 地址不通过 DNS解析 -o file 使用十六进制 -p port 本地端口号 -r 跟随本地和端口 -q secs quit after EOF on stdin and delay of secs -s addr 本地源地址 -T tos set Type Of Service -t 使用telnet连接 -u UDP 模式 -v verbose [use twice to be more verbose] -w secs 连接目标网络超时时间 -C Send CRLF as line-ending -z zero-I/O mode [used for scanning]
端口号可以是一个或者是一段: lo-hi [inclusive];
在端口名称处必须使用反斜杠 (e.g. ‘ftp/-data’).
nmap 扫描工具
Nmap 7.30 ( https://nmap.org )
使用方法: nmap [扫描类型(s)] [选项] {目标说明}
目标说明:
通过主机名称, IP 地址, 网段, 等等.
协议: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: 输入 主机或者网段 -iR <主机数>:随机选择目标 –exclude <主机1[,主机2][,主机3],…>: 排除的IP或者网段 –excludefile <exclude_file>: 从文件中排除
主机发现:
-sL: List Scan – 简单的列出目标进行扫描 -sn: Ping Scan – 禁用端口扫描 -Pn: Treat all hosts as online — 不使用主机发现 -PS/PA/PU/PY[portlist]: 通过TCP SYN/ACK, UDP or SCTP 等协议发现指定端口 -PE/PP/PM: 使用ICMP协议响应, 时间戳, 和子网掩码 请求 发现 探测 -PO[protocol list]: 使用ip协议 -n/-R: Never do DNS resolution/Always resolve [默认选项] –dns-servers <serv1[,serv2],…>: 自动以DNS –system-dns: 使用系统DNS –traceroute: 跟踪每个主机的路径
扫描技术:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 等协议扫描 -sU: UDP 扫描 -sN/sF/sX: 空的TCP, FIN, 和 Xmas 扫描 –scanflags <flags>:自定义tcp扫描 -sI <zombie host[:probeport]>: 空间扫描 -sY/sZ: SCTP初始化 或者 cookie-echo扫描 -sO: IP协议扫描 -b <FTP relay host>: FTP 反弹扫描
规范端口和扫描序列:
-p <port ranges>: 只扫描指定端口 使用规范: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 –exclude-ports <port ranges>: 排除指定端口扫描 -F: 快速扫描- 扫描常用端口 -r: 连续端口扫描 – 不随机 –top-ports <number>: 扫描 <number> 常见的端口 –port-ratio <ratio>: Scan ports more common than <ratio>
服务和版本检测:
-sV: 探索开放的端口 以确定服务和版本号 –version-intensity <level>:设置从0-9所有的探针 –version-light:最有可能的漏洞探针(intensity 2) –version-all: 尝试每一个漏洞探针 (intensity 9) –version-trace: 显示详细的版本扫描活动 (调试)
扫描脚本的使用:
-sC: 默认脚本进行探测 –script=<Lua scripts>: <Lua scripts> 用 逗号分隔的列表, 脚本目录or 脚本类别 –script-args=<n1=v1,[n2=v2,...]>: 为脚本提供参数 –script-args-file=filename:在一个文件中提供NSE脚本(自定义脚本) –script-trace: 显示所有发送和接收的数据 –script-updatedb: 更新脚本数据库 –script-help=<Lua scripts>: 显示脚本帮助 <Lua scripts> 是一个逗号分隔的脚本文件列表或脚本类.
操作系统识别:
-O: 使用操作系统探测 –osscan-limit: Limit OS detection to promising targets –osscan-guess: Guess OS more aggressively
定时和性能:
用于定时任务 <时间> 在多少秒, 或者追加’毫秒’ , ‘秒’ , ‘分钟’ , 或者 ‘小时’去设置 (e.g. 30m). -T<0-5>: 设置定时模板 (更方便) –min-hostgroup/max-hostgroup <size>: 并行扫描的最大值和最小值 –min-parallelism/max-parallelism <numprobes>: 并行扫描 –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: 指定扫描结束时间 –max-retries <tries>: Caps number of port scan probe retransmissions. –host-timeout <time>: Give up on target after this long –scan-delay/–max-scan-delay <time>: 调整每次扫描的延迟 –min-rate <number>: 发送的数据包不低于《数值》 –max-rate <number>: 发送的数据包不超过《数值》
防火墙/ IDS逃避和欺骗:
-f; –mtu <val>: 碎片包 (可以选择 w/given MTU) -D <decoy1,decoy2[,ME],…>: Cloak a scan with decoys -S <IP_Address>: 源地址欺骗 -e <iface>: 使用指定的接口 -g/–source-port <portnum>:使用给定的端口号 –proxies <url1,[url2],…>: Relay 通过使用 HTTP/SOCKS4 代理 –data <hex string>:附加一个自定义的有效载荷发送数据包 –data-string <string>: 添加一个自定义的ASCII字符串发送的数据包 –data-length <num>: 附加随机数据发送数据包 –ip-options <options>: 用指定的IP选项发送数据包 –ttl <val>: 设置ip到达目标的时间 –spoof-mac <mac address/prefix/vendor name>:欺骗本地MAC地址 –badsum:发送用来效验的伪造数据包 TCP/UDP/SCTP
输出:
-oN/-oX/-oS/-oG <file>:输出正常的扫描, XML格式, s|<rIpt kIddi3,和 Grepable 格式, respectively,或者指定的文件名 -oA <basename>: 一次输出三种主要格式 -v: 增加详细程度 (使用 -vv 显示更详细) -d: 提高测试的详细程度 (使用 -dd参数更详细) –reason: 显示端口处于某个特定状态的原因 –open: 只显示开放的端口 –packet-trace: 显示发送和接收的所有数据包 –iflist:打印主机接口和路由 –append-output: 附加到指定的输出文件 –resume <filename>: 回复终止的扫描 –stylesheet <path/URL>: XSL样式表转换XML输出HTML –webxml: 从Nmap参考样式。或者更便携的XML –no-stylesheet: Prevent associating of XSL stylesheet w/XML output
杂项:
-6: 启用ipv6扫描 -A: 使操作系统版本检测,检测,脚本扫描和跟踪 –datadir <dirname>: 指定自定义可以使用的数据文件位置 –send-eth/–send-ip:发送使用原始以太网帧或IP数据包 –privileged: 假设用户是最高权限 –unprivileged: 假设用户缺乏原始套接字特权 -V: 打印当前版本 -h: 显示英文帮助文档.
举例:
nmap -v -A scanme.nmap.org nmap -v -sn 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -Pn -p 80
查看帮助网页 (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
sqlmap
使用格式: sqlmap [参数]
参数:
-h, –help 显示基本的帮助文档 -hh 显示高级帮助 –version 显示当前版本号 -v VERBOSE Verbosity level: 0-6 (default 1)
目标:
至少要提供这些参数中的一个来定义
参数:
-d DIRECT 用于连接数据库的连接字符串 -u URL, –url=URL 目标URL (e.g. “http://www.site.com/vuln.php?id=1“) -l LOGFILE 用Burp 或者 WebScarab解析目标代理文日志 -x SITEMAPURL 远程解析目标网站的路径 -m BULKFILE 扫描文件中的多个目标 -r REQUESTFILE 从文件中加载http地址 -g GOOGLEDORK 用谷歌解析目标 -c CONFIGFILE 从ini的配置文件加载
要求:
这些参数是用来如何连接到目标网站 –method=METHOD 对给定的HTTP方法(例如把武力使用) –data=DATA 将要发送的数据字符串 –param-del=PARA.. 用于分裂参数值的字符 –cookie=COOKIE HTTP Cookie标头值 cooike注入 –cookie-del=COO.. 用于分割饼干值的字符 –load-cookies=L.. 含Netscape / wget cookies文件格式 –drop-set-cookie 忽略设置的头部信息 –user-agent=AGENT HTTP用户代理标头值 –random-agent 使用随机选择HTTP用户代理标头值 –host=HOST HTTP主机头值 –referer=REFERER HTTP Referer报头值 -H HEADER, –hea.. 额外的头部信息 (e.g. “X-Forwarded-For: 127.0.0.1″) –headers=HEADERS 额外的标题 (e.g. “Accept-Language: fr/nETag: 123″) –auth-type=AUTH.. HTTP 的认证类型 (Basic, Digest, NTLM or PKI) –auth-cred=AUTH.. HTTP认证证书(name:password) –auth-file=AUTH.. HTTP认证PEM证书/私钥文件 –ignore-401 忽略HTTP 401错误(未授权的) –proxy=PROXY 使用代理连接到目标网址 –proxy-cred=PRO.. 代理身份验证凭据(名称:密码) –proxy-file=PRO.. 从文件中加载代理列表 –ignore-proxy 忽略系统默认代理设置 –tor 使用洋葱路由网络 –tor-port=TORPORT 设置洋葱路由的代理端口 –tor-type=TORTYPE 设置Tor代理类型(HTTP、SOCKS4或SOCKS5(默认)) –check-tor 查看洋葱路由的正确使用 –delay=DELAY 每个HTTP请求之间的想应时间 –timeout=TIMEOUT 等待超时连接(默认30)默认为秒 –retries=RETRIES 重试时,连接超时(默认3) –randomize=RPARAM 给定参数的随机变化值(s) –safe-url=SAFEURL 在测试过程中经常访问的网址地址 –safe-post=SAFE.. post数据发送到一个安全的网址 –safe-req=SAFER.. 安全HTTP请求从文件加载 –safe-freq=SAFE.. 一个给定的安全地址的两次访问之间的测试请求 –skip-urlencode 跳过有效载荷数据的网址编码 –csrf-token=CSR.. 参数用来举行反CSRF令牌 –csrf-url=CSRFURL URL地址访问提取防CSRF令牌 –force-ssl 使用SSL / HTTPS力 –hpp 使用HTTP参数污染的方法 –eval=EVALCODE Evaluate provided Python code before the request (e.g.”import hashlib;id2=hashlib.md5(id).hexdigest()”)
优化参数:
这些选项可用于优化性能sqlmap -o 打开所有的优化开关 –predict-output 普通查询输出预测 –keep-alive 使用持久HTTP(S)连接 –null-connection 检索页面长度没有实际的HTTP响应体 –threads=THREADS 最大并发HTTP请求数(S)(默认为1)
注入:
这些选项可以用来指定要测试的参数,提供自定义注入有效载荷和随意篡改剧本 -p TESTPARAMETER 可检验参数(s) –skip=SKIP 对给定参数的跳过测试(s) –skip-static 跳过不出现动态的测试参数 –dbms=DBMS 强制后端数据库管理系统到这个值 –dbms-cred=DBMS.. 数据库管理系统认证证书(用户:密码) –os=OS 强制后端的数据库管理系统操作系统到这个值 –invalid-bignum 使用大数字无效值 –invalid-logical 使用逻辑操作的无效值 –invalid-string 使用随机字符串无效值 –no-cast 关闭有效载荷模块 –no-escape 关闭字符串逃逸机制 –prefix=PREFIX 注入有效载荷前缀字符串 –suffix=SUFFIX 注入有效载荷后缀字符串 –tamper=TAMPER 用于篡改注入数据的给定脚本
检测:
这些选项可用于自定义检测阶段 –level=LEVEL 要执行的测试水平(1-5,默认为1) –risk=RISK 要执行的测试的风险(1-3,默认为1) –string=STRING 当查询评估为真时的字符串匹配 –not-string=NOT.. 当查询评估为假时的字符串匹配 –regexp=REGEXP 正则表达式匹配查询时进行真正的 –code=CODE HTTP代码时匹配的查询表达式为真 –text-only 仅基于文本内容的页面比较 –titles 仅根据他们的标题进行比较
技术:
这些选项可以用来调整特定SQL注入测试技术 –technique=TECH SQL注入技术的使用(默认“beustq”) –time-sec=TIMESEC 延迟数据库管理系统响应的秒数(默认为5) –union-cols=UCOLS 为联合查询的SQL注入测试列范围 –union-char=UCHAR 字符使用bruteforcing列数 –union-from=UFROM 表使用从联合查询的SQL注入的一部分 –dns-domain=DNS.. 使用的域名DNS泄露攻击 –second-order=S.. 搜索的第二级响应结果页面的网址
指纹:
-f, –fingerprint 执行广泛的数据库管理系统版本指纹
枚举参数:
这些选项可以用来枚举后端数据库管理系统信息、结构和数据中包含的平台.此外,你可以运行你自己的SQL语句 -a, –all Retrieve everything -b, –banner 检索数据库标志 –current-user 检索数据库管理系统当前用户 –current-db 检索数据库 –hostname 检索数据库服务器的主机名 –is-dba 检测当前用户是不是数据库的管理员 –users 枚举数据库用户 –passwords 枚举数据库用户密码的哈希值 –privileges 枚举数据库管理系统用户权限 –roles 枚举数据库管理系统用户角色 –dbs 枚举数据库 –tables 枚举数据库管理系统中的数据库表 –columns 枚举数据库管理中的数据库表列 –schema 枚举数据库架构 –count 搜索表的条目数 –dump 扒裤衩子 –dump-all 扒数据库数毛毛 –search 搜索数据库列和数据库名称 –comments 检测数据库的信息 -D DB 枚举数据库 -T TBL 枚举数据库的表 -C COL 枚举数据库表的列 -X EXCLUDECOL 不枚举的数据库管理系统数据库表 -U USER 数据库用户枚举 –exclude-sysdbs Exclude DBMS system databases when enumerating tables –pivot-column=P.. 主数据库表名称 –where=DUMPWHERE Use WHERE condition while table dumping –start=LIMITSTART 查询输出第一个输出条目的检索 –stop=LIMITSTOP 查询最后输出项的检索 –first=FIRSTCHAR 查询第一个输出字字符检索 –last=LASTCHAR 查询最后输出字字符检索 –sql-query=QUERY 要执行的SQL语句 –sql-shell 提示一个SQL shell –sql-file=SQLFILE 从给定的文件执行SQL语句(S)
暴力破解:
这些选项可以用来运行蛮力测试
–common-tables 检查常见表的存在性 –common-columns 检查公共列的存在
用户定义函数注入:
这些选项可用于创建自定义的用户定义函数 –udf-inject 注入用户自定义的函数 –shared-lib=SHLIB 共享库的本地路径
文件系统访问:
这些选项可用于访问后台数据库管理系统的底层文件系统 –file-read=RFILE 从后台的数据库管理系统文件系统中读取一个文件 –file-write=WFILE 在后台的数据库管理系统文件系统上写一个本地文件 –file-dest=DFILE 后台数据库的绝对路径写
操作系统访问:
这些选项可用于访问后台数据库管理系统底层操作系统 –os-cmd=OSCMD 执行操作系统命令 –os-shell 用于交互式操作系统shell的提示 –os-pwn 显示OOB shell, Meterpreter or或者VNC –os-smbrelay One click prompt for an OOB shell, Meterpreter or VNC –os-bof 存储过程缓冲区溢出开发 –priv-esc 数据库进程用户权限升级 –msf-path=MSFPATH 本地路径在metasploit框架安装 –tmp-path=TMPPATH 临时文件目录的远程绝对路径
Windows注册表访问:
这些选项可用于访问后台数据库管理系统的注册表 –reg-read 读取一个窗口注册表项 –reg-add 写一个窗口注册表项的数据 –reg-del 删除一个注册表项 –reg-key=REGKEY Windows注册表 –reg-value=REGVAL 注册表项的关键值 –reg-data=REGDATA 注册表键值数据 –reg-type=REGTYPE 注册表键值类型
常规:
这些选项可以用来设置一些常规的工作参数 -s SESSIONFILE 从存储加载会话(sqlite)文件 -t TRAFFICFILE Log all HTTP traffic into a textual file –batch Never ask for user input, use the default behaviour –binary-fields=.. Result fields having binary values (e.g. “digest”) –charset=CHARSET 用于数据检索的力字符编码 –crawl=CRAWLDEPTH 从目标网址开始抓取网站 –crawl-exclude=.. 正则表达式从爬行排除页 (e.g. “logout”) –csv-del=CSVDEL 限定使用CSV输出特性 (default “,”) –dump-format=DU.. 转储数据格式 (CSV (default), HTML or SQLITE) –eta 显示为每个输出估计的到达时间 –flush-session 当前目标的刷新会话文件 –forms 目标网址的解析和测试形式 –fresh-queries 忽略存储在会话文件中的查询结果 –hex 使用数据库管理系统的十六进制函数(S)进行数据检索 –output-dir=OUT.. 自定义输出目录路径 –parse-errors 解析和显示响应中的数据库管理系统错误消息 –save=SAVECONFIG 保存选项来配置INI文件 –scope=SCOPE 正则表达式过滤提供代理日志目标 –test-filter=TE.. 选择测试的有效载荷和/或头文件(e.g. ROW) –test-skip=TEST.. 跳过试验载荷和/或标题 (e.g. BENCHMARK) –update 更新sqlmap
杂项:
-z MNEMONICS 短期记忆(e.g. “flu,bat,ban,tec=EU”) –alert=ALERT 运行主机操作系统命令(s)时,SQL注入是发现 –answers=ANSWERS 漏洞答案集(e.g. “quit=N,follow=N”) –beep 当有注入点被发现的时候报警 –cleanup 清理数据库从sqlmap具体UDF和表 –dependencies 检查没有的(非核心)sqlmap依赖包 –disable-coloring 禁用控制台输出着色 –gpage=GOOGLEPAGE 使用谷歌这一结果从指定的页码 –identify-waf 使一个WAF/IPS / IDS保护全面测试 –mobile 模仿智能手机通过HTTP用户代理标头 –offline 在脱机模式下工作(只使用会话数据) –page-rank 显示网页排名(PR)为谷歌这一结果 –purge-output 安全地删除输出目录中的所有内容 –skip-waf 跳过WAF/IPS / IDS保护启发式检测 –smart 只有积极的启发式(S)进行彻底的测试 –sqlmap-shell 提示一个互动的sqlmap shell –tmp-dir=TMPDIR 用于存储临时文件的本地目录 –wizard 为初学者用户提供简单的向导界面
由于篇幅有限,加上本人英语常年不及格,略有错误 望见谅
文末 附加186个kali linux工具翻译链接
http://pan.baidu.com/s/1bK8WCu
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55202.html