-
本机信息收集
-
查看系统配置信息
-
查看系统服务信息
-
查看系统登录信息
-
自动信息收集
-
域内信息收集
-
查看机器相关信息
-
查看用户相关信息
-
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:\rootsecuritycenter2 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
,列出连接会话信息,但是一般需要高权限才能执行
自动信息收集
很多后渗透模块都可以进行信息收集,这里不谈,分享个嫖到的脚本
for/f "delims="%%A in('dir /s /b %WINDIR%system32*htable.xsl')doset"var=%%A"
wmic process getCSName,Description,ExecutablePath,ProcessId/format:"%var%">>out.html
wmic service getCaption,Name,PathName,ServiceType,Started,StartMode,StartName/format:"%var%">>out.html
wmic USERACCOUNT list full /format:"%var%">>out.html
wmic group list full /format:"%var%">>out.html
wmic nicconfig whereIPEnabled='true'getCaption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress/format:"%var%">>out.html
wmic volume getLabel,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace/format:"%var%">>out.html
wmic netuse list full /format:"%var%">>out.html
wmic qfe getCaption,Description,HotFixID,InstalledOn/format:"%var%">>out.html
wmic startup getCaption,Command,Location,User/format:"%var%">>out.html
wmic PRODUCT getDescription,InstallDate,InstallLocation,PackageCache,Vendor,Version/format:"%var%">>out.html
wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,SystemDirectory/format:"%var%">>out.html
wmic TimezonegetDaylightName,Description,StandardName/format:"%var%">>out.html
复制为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 100192.168.0.$_}|Select-String ttl
判断主机类型,根据ttl值判断,范围192.168.0.1-255
1..255|%{echo "192.168.0.$_"; ping -n 1-w 100192.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-objectNet.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 in1..20){Test-NetConnection-Port80-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
,获取域内用户的详细信息
★
原文始发于微信公众号(渗透安全团队):内网信息收集 | 干货
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论