目录
本机信息收集
查看系统配置信息
查看系统服务信息
查看系统登录信息
自动信息收集
域内信息收集
判断是否存在域
探测域内存主机&端口
powershell
arp扫描
小工具
telnet
查看用户&机器&会话相关信息
查看机器相关信息
查看用户相关信息
-
本机信息收集
-
查看系统配置信息
-
查看系统服务信息
-
查看系统登录信息
-
自动信息收集
-
-
域内信息收集
-
查看机器相关信息
-
查看用户相关信息
-
powershell
-
arp扫描
-
小工具
-
telnet
-
判断是否存在域
-
探测域内存主机&端口
-
查看用户&机器&会话相关信息
-
进入内网之后,是一种由点到线再到面的测试,先弄清楚当前机器的情况,如在域中角色,提供的服务等信息;再以此为跳板收集其它机器的信息,当收集的信息足够多,拿下域控的可能型也就越高。
本机信息收集
为了后续的提权等操作,首先要尽可能拿下当前机器的权限,所以对当前机器的信息收集也是必要的。
查看系统配置信息
ssysteminfo
查看系统信息,但是内容太多在某些时刻无法通过菜刀等工具看到返回的结果,可以将内容输出到某个文件,也可以结合findstr
查询指定内容,如查询操作系统即软件的信息 systeminfo | findstr /B /C:"OS"
该指令输入的内容是比较多的,除了使用finder
选择输出外,部分信息可以使用其它指令单独显示,比如echo %processor_architecture%
查看系统架构,net statistics workstation
查看系统启动时间
其中的补丁信息可以使用wmic qfe get caption,description,hotfixid,installedon
获取
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。在cmd中有些时候查到的数据不全,如某些进程的pid,这时可以使用wmic进行操作,WMIC提供了大量的全局开关、别名、动词、命令和丰富的命令行帮助增强用户接口。wmic product get name,version
,查看系统安装的软件版本等内容。
wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list
查杀软
初次之外,还可以使用netsh firewall show config
和netsh advfirewall firewall show config
查看防火墙配置信息
查看系统服务信息
wmic startup get command,caption
,查看启动程序信息
wmic service list brief
,查询本机服务信息
还可以使用tasklist
查询进程信息schtasks /query /fo LIST /V
,查看计划任务
netstat -ano
查看端口列表
注意,一般查看进程端口,先查进程pid,在根据pid查端口
查看系统登录信息
query user
,登录到系统的用户信息
net session
,列出连接会话信息,但是一般需要高权限才能执行
自动信息收集
很多后渗透模块都可以进行信息收集,这里不谈,分享个嫖到的脚本
复制为bat
文件,结果为out.html
保存在c盘根目录
,名称路径可自行修改。
域内信息收集
判断是否存在域
whoami
,如果当前账户为域用户,则返回结果通常为域名\用户名
ipconfig
,如果是双网卡,一般存在内网
systeminfo
,如果在域中,则如图,否则为workgroup
net config workstation
,在域中,通常计算机全名为计算机名.域名
不在域中如下图
net time /domain
,查看时间服务器,域中机器的dns服务器和时间服务器通常为域控机。如下图则是存在域且当前登录用户为域用户
如下图则表示不在域中
如下图则表示在域中,但当前用户非域用户
除此之外,收集其它内容的时候都能看到,比如系统信息,用户信息等
探测域内存主机&端口
探测存活主机和端口平时最容易想到的工具是nmap
,但这个工具太大,直接安装存在风险,端口转发受限于网络环境,这里聊聊其它方法
powershell
powershell
可以在渗透中提供强大的助力,下面这些脚本使用的时候记得修改 ip地址
扫描存活ip,最前面的1..255
是ip地址的d段,最后范围是192.168.0.1-255,判断和修改方式下同
-
1..255 | % {echo "192.168.0.$_"; ping -n 1 -w 100 192.168.0.$_} | Select-String ttl
判断主机类型,根据ttl值判断,范围192.168.0.1-255
-
1..255 | % {echo "192.168.0.$_"; ping -n 1 -w 100 192.168.0.$_} | Select-String ttl |% { if ($_ -match "ms") { $ttl = $_.line.split('=')[2] -as [int]; if ($ttl -lt 65) { $os = "linux"} elseif ($ttl -gt 64 -And $ttl -lt 129) { $os = "windows"} else {$os = "cisco"}; write-host "192.168.0.$_ OS:$os" ; echo "192.168.0.$_" >> scan_results.txt }}
扫描端口
-
24..25 | % {echo ((new-object Net.Sockets.TcpClient).Connect("192.168.1.119",$_)) "Port $_ is open!"} 2>$null
-
24..25 |% {echo "$_ is "; Test-NetConnection -Port $_ -InformationLevel "Quiet" 192.168.1.119}2>null
扫描指定端口的ip
-
foreach ($ip in 1..20) {Test-NetConnection -Port 80 -InformationLevel "Detailed" 192.168.0.$ip}
arp扫描
在内网里通常使用mac地址进行机器寻找,其可以通过arp
协议实现
小工具
由很多免安装的小工具也可以进行扫描,比如nbtscan
,直接传到目标服务器上运行即可,工具下载地址:http://www.unixwiz.net/tools/nbtscan.html ,用法:nbtscan.exe 网段
,更多用法参考:nbgtscam.exe /?
含义如下:
|Token|含义|
|——|——|
SHARING|机器正在运行的文件和打印共享服务,但这并不一定有内容共享
DC|机器可能是Windows NT域控制器,无论是主域还是辅助域。
U=user |机器可能有一个具有指定名称的登录用户
IIS |机器可能安装了Microsoft的Internet信息服务器(IIS)
EXCHANGE |机器可能安装Microsoft Exchange
NOTES |单机器可能安装Lotus Notes电子邮件客户端
? |没有识别出NETBIOS资源
telnet
telnet
常规使用是和服务器建立连接,也开业用来探测端口是否开放
用法:telnet 主机 端口
,如:telnet dc 3389
。注意:不是所有机器都安装了此服务。
查看用户&机器&会话相关信息
查看机器相关信息
net view /domain
,查询域信息,判断当前机器加入的域
net view /domain:域名
,查询域内所有主机
在域中,有一类至关重要的机器叫域控制器,简称域控,机器名通常为DC
,在实际环境中,域控为一主一备用两台。netdom query pdc
,查看域控名称
查看用户相关信息
net user
查询当前机器所有用户,net user /domain
查看域用户
net user 用户名
查看当前机器内的用户信息
net user 用户名 /domain
查看当前机器内的域用户信息
注意对比上述结果的区别,此外net user localgroup
,net user localgroup /domain
和net group /domain
也是有区别的wmic useraccount get /all
,获取域内用户的详细信息
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
没看够~?欢迎关注!