https://security.tencent.com/index.php/blog/msg/154 将Windows内网渗透总结的很好 可以好好学习一下

信息收集

在攻陷一台机器后,不要一味的直接去抓取机器密码、去做一些扫描内网的操作,因为如果网内有IDS等安全设备,有可能会造成报警,丢失权限。本节主要介绍当一台内网机器被攻破后,我们收集信息的一些手法。

(一般来说存在在内网中的Windows机器才是会在域中)

(就是不能使用fscan的情况下 因为ids会检测流量)

先查看是否存在域中

systeminfo命令就可以进行查看

image-20240520161537826

查看系统进程

首先的话我们是建议先使用tasklist查看系统进程 看看有没有杀毒软件这些 然后就生成对应的免杀马上去 进行权限维持住

image-20240520161204994

复制这些进程去杀软识别网站去进行查看

判断是否出网

然后根据杀软来使用特定的免杀来进行权限维持 然后搭建隧道

SPN

SPN:服务主体名称。使用Kerberos须为服务器注册SPN,因此可以在内网中扫描SPN,快速寻找内网中注册的服务,SPN扫描可以规避像端口扫描的不确定性探测动作。主要利用工具有:setspn、GetUserSPNs.vbs和Rubeus。

setspn -T domain.com -Q */*

image-20240520161629285

在上述截图中可以清晰的看到WIN2019机器上运行了dns服务。如果网内存在mssql,利用SPN扫描也可以得到相应的结果。 其实通过查看这个spn服务 看到了dns服务运行在win2019这台机器上 也能猜到了这个win2019的机器就是域控了 因为一般来说dns服务器是在域控上的

端口连接

利用netstat
-ano命令获取机器通信信息,根据通信的端口、ip可以获取到如下信息。如果通信信息是入流量,则可以获取到跳板机/堡垒机、管理员的PC来源IP、本地web应用端口等信息;如果通信信息是出流量,则可以获取到敏感端口(redis、mysql、mssql等)、API端口等信息。

image-20240520162214680

类似像这种 就能以此来获取相关的信息

查看主机路由

route print

image-20240523192833807

在网络目标中就能看到主机的ip 并且也能知道该机器存在两个网卡 (ipconfig也能查看到)

配置文件

一个正常的Web应用肯定有对应的数据库账号密码信息,是一个不错的宝藏。

可以使用如下命令寻找包含密码字段的文件:

cd /web findstr /s /m “password” .

下面是常用应用的默认配置路径:

a、

Tomcat: CATALINA_HOME/conf/tomcat-users.xml

b、

Apache: /etc/httpd/conf/httpd.conf

c、

Nginx: /etc/nginx/nginx.conf

d、

Wdcp: /www/wdlinux/wdcp/conf/mrpw.conf

e、

Mysql: mysql\data\mysql\user.MYD

用户信息

可以在网内收集用户等信息,对高权限用户做针对性的攻击,包括定位到域控,对域控发起攻击。

  • 查看域用户

net user /domain 普通域用户就行

image-20240520164512685

  • 查看域管理员

net group “domain admins” /domain

image-20240520164618197

其实域管的话一般都是Administrator (也可能是有别的账户也是域管 后面被加进去的)

  • 快速定位域控ip,一般是dns、时间服务器:

    其实在上面的查看spn服务的时候就可以定位到域控了 因为就是可以看到域控对应的是dns服务

    直接ping域名和域控机器名字就行了 就能看到域控的ip地址了 如果域控上有时间服务器的话 net time /domain也行

    image-20240520164855192

  • 查看域控

net group “domain controllers” /domain

image-20240520165057881

  • 查看当前会话信息 (查看当前主机与所连接的客户端之间的会话)

image-20240523201649141

  • 查看网络共享信息

image-20240523201725297

  • 查看已连接的网络共享

image-20240523201822489

  • 查看当前主机登录用户

query user

image-20240523201907625

  • 查看计划任务

schtasks /query /v /fo list

image-20240523202541002

内网主机发现

a、查看共享资料:

net view

b、查看arp表:

arp -a

image-20240520171052373

这种接口的话就是本机的ip地址 然后动态的也是内网中的ip地址 就是域内机器的ip

c、查看hosts文件:

linux: cat /etc/hosts

windows: type c:\Windows\system32\drivers\etc\hosts

d、查看dns缓存:

ipconfig /displaydns

image-20240520165346867

e、也可以利用一些工具 (知道怎么会对抗ids才能做)

不然一般的扫描工具应该一扫设备就会告警

(使用icmp协议 netbios协议 arp协议 smb协议)

扫端口的话就指定端口来扫 不使用1-65535 这种大范围的端口来扫

会话收集

在网内收集会话,如看管理员登录过哪些机器、机器被谁登录过,这样攻击的目标就会清晰很多。

可以使用NetSessionEnum api来查看其他主机上有哪些用户登录。

api相关介绍如下:

https://docs.microsoft.com/en-us/windows/win32/api/lmshare/nf-lmshare-netsessionenum

利用powershell脚本PowerView为例。

(直接拿别人的图了)

a、可以查看域用户登录过哪些机器:

img

b、也可以查看机器被哪些用户登陆过:

img

其他工具、api类似。当有了上述信息后,就可以对发现到的域管或者登录着域管的机器进行攻击,只要能拿下这些机器,就可以有相应的权限去登录域控。

在这一步的话就可以进行尝试进行密码hash值得抓取了

凭据收集

cmdkey /list

image-20240520174930475

还有一些常用软件的注册表地址

image-20240520175657484

还有Google浏览器记录

域信任 (等会细看一下)

信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。

查看域信任:

nltest /domain_trusts

img

上述结果显示child.jumbolab.com和jumbolab.com两个域是双向信任的。

域传送(等会看一下)

当存在域传送漏洞时,可以获取域名解析记录。当有了解析记录后,也能提高对网络环境的进一步认知,比如www解析的ip段可能在dmz区,mail解析的ip段可能在核心区域等等。

windows:

nslookup -type=ns domain.com nslookup sserver dns.domain.com ls domain.com

linux:

dig @dns.domain.com axfr domain.com

DNS记录获取

在网内收集dns记录,可以快速定位一些机器、网站。常用工具有Dnscmd、PowerView。

a、在windows server上,可以使用Dnscmd工具获取dns记录。

获取dns记录

1
dnscmd /ZonePrint vulntarget.com

image-20240520204915878

1
Dnscmd . /EnumRecords jumbolab.com .

image-20240520205010444

b、在非windows server机器上,可以使用PowerView获取。

1
Import-Module PowerView.ps1 Get-DNSRecord -ZoneName vulntarget.com

image-20240520205132756

Kerberoasting

就是说在进行tgt票据申请的时候 会进行预身份认证 如果验证通过才会返回tgt票据 但是如果关闭了 预身份认证的话 就会无条件返回tgt (那么在这个时候 也会返回用户密码加密过的sessionkey)

所以说我们就可以通过爆破这个session 然后获取到用户的密码

https://ke1nys.github.io/posts/9fa2b7fe.html

Bloodhound

我们可以利用Bloodhound做一些自动化的信息收集,包括用户、计算机、组织架构、最快的攻击途径等。但是自动化也意味着告警,该漏洞做自动化信息收集时,会在内网设备上产生大量的告警,按需使用。

这个收集域内的信息做成拓扑图确实很好用 但是容易产生告警

横向移动

账号密码连接

在上述流程中 如果我们对一台已经被入侵的域机器信息收集完成后 我们就可以收集到的信息 来攻击下一台机器

例如pth攻击

  • impacket套件
  • Psexec
  • WMI

等等方法都可以

其他方法 (后续补充一下)

我觉得 如果尝试其他方法都行不通的时候 可以尝试看看能不能打 委派 nopac 证书模板 ntlm-relay攻击等漏洞 能直接打到域控的洞