当前位置:   article > 正文

2021-08-31《内网安全攻防》学习笔记,第二章-域内信息收集(转自PowerLiu)_查找指定地域内有弱口令、可匿名登录的网络设备(路由器、网关、服务器等

查找指定地域内有弱口令、可匿名登录的网络设备(路由器、网关、服务器等

《内网安全攻防》学习笔记,第二章-域内信息收集

2.1 内网信息搜集概述

渗透测试人员进入内网后,面对的是一片“黑暗森林”,所以渗透测试人员首先会对当前所处的网络环境进行判断,通常的判断分为三种。

  • 我是谁?——对机器角色的判断。
  • 这是哪?——对目前机器所处网络环境的拓扑结构进行分析和判断。
  • 我在哪?——对目前机器所处位置区域的判断。

2.2 搜集本机信息

1:查询网络配置信息

获取本机网络配置信息:

ipconfig /all

    2:查询操作系统及软件的信息

    (1)查询操作系统和版本信息
    英文版系统用这条命令:
    systeminfo | findstr /B /C:"OS Nmae" /C:"OS Version"
    
    • 1
    • 2

    中文版系统用这条命令:
    systeminfo | findstr /B /C:“OS 名称” /C:“OS 版本”

    (2)查看系统体系结构
    echo %PROCESSOR_ARCHITECTURE%
      (3)查看安装的软件及版本、路径等
      wmic product get name,version
        (4)使用powershell命令,搜集软件的版本信息
        powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"

          3:查询本机服务信息

          wmic service list brief

            4:查询进程列表

            查看当前进程列表和进程用户、分析软件、邮件客户端、v**和杀毒软件等进程

            tasklist
              wmic process list brief

                5:查看启动程序信息

                wmic startup get command,caption

                  6:查看计划任务

                  schtasks /query /fo LIST /v

                    7:查看主机开机时间

                    net statistics workstation

                      8:查询用户列表

                      (1)查看有那些用户
                      net user
                        (2)获取本地管理员、包含域用户信息
                        net localgroup administrators
                          (3)查看当前在线用户
                          query user || qwinsta
                            (4)列出或断开本地计算机与所连接的客户端之间的会话
                            net session
                              (5)查询端口列表
                              netstat -ano
                                (6)查询补丁信息
                                systeminfo
                                  wmic qfe get Caption,Description,HotFixID,InstalledOn
                                    (7)查询本机共享列表
                                    net share
                                      wmic share get name,path,status

                                        9:查询路由表及所有可用接口的ARP缓冲表

                                        route print
                                        arp -a
                                        • 1

                                        10:查询防火墙相关配置

                                        (1)关闭防火墙
                                        win 2003及之前的版本用这条命令:
                                        netsh firewall set opmode disable
                                        • 1
                                        • 2

                                        win 2003之后的版本用这条命令:
                                        netsh advfirewall set allprofiles state off

                                        (2)查看防火墙配置
                                        netsh firewall show config
                                          (3)修改防火墙配置
                                          win 2003及之前的版本,运行指定程序全部连接:
                                          netsh firewall add allowedprogram c:\nc.exe “allow nc” enable
                                          • 1

                                          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=in localport=3389 action=allow

                                          自定义防火墙日志储存位置
                                          netsh advfirewall set currentprofile logging filename “C:\windows\temp\fw.log"

                                          11:查看代理配置情况

                                          reg query “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

                                            12:查询并开启远程连接服务

                                            (1)查看远程连接端口

                                            cmd 下使用注册表查询语句,命令如下,得到连接端口为 0xd3d,转换后为 3389

                                            REG QUERY “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /V PortNumber
                                              (2)在 Windows Server 2003 中开启 3389 端口
                                              wmic path win32_terminalservicesetting where (__CLASS !=””)  call setallowtsconnections 1
                                                (3)在Windows Server 2008和Windows Server 2012中开启3389端口
                                                wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
                                                
                                                • 1

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

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

                                                2.2 自动收集信息

                                                使用WMIC自动脚本来收集信息,打开运行 wmic_info.bat 会自动生成一个 out.html 文件

                                                Empire下的主机信息搜集

                                                Empirer提供了收集主机的模块。

                                                下载地址:https://github.com/EmpireProject/Empire.git

                                                2.3 查询当前权限

                                                1、查看当前权限

                                                whoami

                                                  本地管理员用户,或者是本地用户:

                                                  域内用户:

                                                  在以上三种情况下,如果当前内网中存在域,那么本地普通用户只能查询本机相关信息,不能查询域内信息;而本地管理员用户和域内用户可以查询域内信息。其原理是:域内的所有查询都是通过域控制器实现的(基于LDAP协议),而这个查询需要经过权限认证,所以只有域用户才拥有这个权限;当域用户执行查询命令时,会自动使用kerberos协议进行认证,无须额外输入账号密码。

                                                  2、获取域SID

                                                  whoami /all

                                                    当前域 hackerSID 为:

                                                    3、查询指定用户的详细信息

                                                    net user 用户名 /domain

                                                      2.4 判断是否存在域

                                                      1、使用ipconfig命令

                                                      ipconfig /all

                                                        然后可以使用反向解析查询命令 nslookup 来解析域名的IP地址。用解析到的IP地址进行对比,判断域控制器和DNS服务器是否在同一台服务器上:

                                                        nclookup hacker.lab

                                                          2、查看系统详细配置

                                                          使用 systeminfo 命令,如果存在域就会显示:

                                                          如果不存在就会显示一个:WORKGROUP

                                                          3、查询当前登录域及登录用户信息

                                                          执行命令如果存在域那么就会显示工作站域和工作站域DNS等信息:

                                                          net config workstation

                                                            执行命令如果不存在域那么就会显示WORKGROUP

                                                            4、判断主域

                                                            判断主域:域服务器通常会同时作为时间服务器使用

                                                            net time /domain

                                                              有三种情况,第一种中存在域,当前是域用户:

                                                              第二种是,不存在域,环境是工作组:

                                                              第三种是,存在域,但是当前用户不是域用户

                                                              2.5 探测域内存活主机

                                                              1、使用nbtscan

                                                              nbtscan是一个命令行工具,用于扫描本地或远程TCP/IP网络上开放的NetBIOS名称服务器。

                                                              NetBOIS是局域网程序使用的一种程序编程接口(API),为程序提供了请求低级别服务的统一命令集,为局域网提供了网络及其他特殊功能。几乎所有局域网都是在NetBIOS协议的基础上工作的。NetBIOS也是计算机的标识名,主要用于局域网中计算机的互访问。NetBIOS的工作流程就是正常的机器名解析查询应答过程,因此推荐优先使用。

                                                              使用命令格式:

                                                              nbtscan.exe 10.10.10.0/20

                                                                第一列为IP地址,第二列为机器名和所在域的名称,第三列是机器所开启的服务列表。

                                                                服务列表具体含义:

                                                                Token:			含义:
                                                                SHARING 该机器中存在运行的文件和打印共享服务,但不一定有内容共享
                                                                DC 该机器可能是域控制器
                                                                U=USER 该机器中有登陆名为User的用户(不太准确)
                                                                IIS 该机器中可能安装了IIS服务
                                                                EXCHANGE 该机器中可能安装了Exchane
                                                                NOTES 该机器中可能安装了Lotus Notes电子邮箱客户端
                                                                ? 没有识别出机器的NetBIOS资源(可以使用 -F 选项再次扫描)
                                                                • 1
                                                                • 2
                                                                • 3
                                                                • 4
                                                                • 5
                                                                • 6
                                                                • 7

                                                                2、利用ICMP协议快速探测内网

                                                                除了使用NetBIOS探测内网,还可以使用ICMP协议去探测内网情况。

                                                                使用ping命令,依次对内网中的每个IP地址执行Ping命令,可以快速找出内网中所有存活的主机(比较慢):

                                                                for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

                                                                  还可以使用VBS脚本进行探测,脚本源代码如下:

                                                                  strSubNet = “10.10.10.”
                                                                  Set objFSO= CreateObject(“Scripting.FileSystemObject”)
                                                                  Set objTS = objfso.CreateTextFile(“C:\Windows\Temp\Result.txt”)
                                                                  For i = 1 To 254
                                                                  strComputer = strSubNet & i
                                                                  blnResult = Ping(strComputer)
                                                                  If blnResult = True Then
                                                                  objTS.WriteLine strComputer & " is alived !
                                                                  声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/76494
                                                                  推荐阅读
                                                                  相关标签