针对内网的信息搜集

信息收集(Information Gathering),信息收集是指通过各种方式获取所需要的信息,在整个渗透测试环节中,信息搜集是整个渗透过程中最为重要的一环,信息搜集可占据整个渗透测试80%左右的工作量,同样的如果尽可能搜集更多的信息,对于后期的渗透工作是非常有帮助的,本章将针对内网(域)环境进行信息的搜集工作,以作为学习笔记收录。

收集本机信息

ipconfig: 获取本地主机的IP地址,与子网。

C:\>ipconfig

Windows IP 配置
以太网适配器 以太网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fcc0::fbb0:8226:511e:bcc4%19
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.2
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.1.1

net localgroup: 查本机主机组中的管理权限。

C:\>net localgroup administrators
别名     administrators
注释     管理员对计算机/域有不受限制的完全访问权
-------------------------------------------------------------------------------
Administrator
LyShark

netstat: 查询本机端口开放情况。

C:\>netstat -ano

活动连接
  协议  本地地址          外部地址        状态           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       404
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:902            0.0.0.0:0              LISTENING       4000
  TCP    0.0.0.0:912            0.0.0.0:0              LISTENING       4000
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       6364
  TCP    0.0.0.0:5357           0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:8082           0.0.0.0:0              LISTENING       1180
  TCP    0.0.0.0:49664          0.0.0.0:0              LISTENING       704
  TCP    0.0.0.0:49665          0.0.0.0:0              LISTENING       1432

systeminfo: 查询当前主机的详细信息。

C:\>systeminfo

主机名:           DELL
OS 名称:          Microsoft Windows 10 企业版
OS 版本:          10.0.17763 暂缺 Build 17763
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Multiprocessor Free
注册的所有人:     LyShark
注册的组织:       暂缺
产品 ID:          00425-00000-00002-AA474
初始安装日期:     2019/8/21, 19:53:20
系统启动时间:     2019/8/24, 7:31:16
系统制造商:       Dell Inc.
系统型号:         Inspiron 
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。

wmic share: 查看共享

C:\>wmic share get name,path,status
Name    Path        Status
ADMIN$  C:\Windows  OK
C$      C:\         OK
D$      D:\         OK
E$      E:\         OK
IPC$                OK

whoami: 获取域的SID,把这个作为访问令牌

C:\>whoami /all

用户名       SID
============ =============================================
dell\lyshark S-1-5-21-2451267939-1622466721-1234564-1001

net user: 查询本机的用户信息。

C:\>net accounts
强制用户在时间到期之后多久必须注销?:     从不
密码最短使用期限(天):                    0
密码最长使用期限(天):                    42
密码长度最小值:                          0
保持的密码历史记录长度:                  None
锁定阈值:                                从不
锁定持续时间(分):                        30
锁定观测窗口(分):                        30
计算机角色:                              WORK
命令成功完成。

C:\>net user
-------------------------------------------------------------------------------
Administrator            Guest            LyShark
命令成功完成。

netsh wlan: 查询本机无线网的连接密码。

C:\>netsh wlan show profiles
C:\>netsh wlan show profile name="lyshark" key=clear

接口 WLAN 上的配置文件 瑞发百货:
=======================================================================

已应用: 所有用户配置文件

配置文件信息
-------------------
    版本                   : 1
    类型                   : 无线局域网
    名称                   : lyshark
    控制选项               :
        连接模式           : 手动连接
        网络广播           : 只在网络广播时连接
        AutoSwitch         : 请勿切换到其他网络
        MAC 随机化: 禁用

安全设置
-----------------
    身份验证         : WPA2 - 个人
    密码                 : CCMP
    身份验证         : WPA2 - 个人
    密码                 : GCMP
    安全密钥               : 存在
    关键内容            : 1234567890     # 此处为密码

wmic qfe: 查询本机的补丁情况,并生成patch.html 文件

C:\>wmic qfe list full /format:htable>c:\patch.html

route: 查询路由记录。

C:\>route print
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0      192.168.1.1      192.168.1.2     35
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    331
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
      192.168.1.0    255.255.255.0            在链路上       192.168.1.2    291
      192.168.1.2  255.255.255.255            在链路上       192.168.1.2    291
    192.168.1.255  255.255.255.255            在链路上       192.168.1.2    291
     192.168.81.0    255.255.255.0            在链路上      192.168.81.1    291
     192.168.81.1  255.255.255.255            在链路上      192.168.81.1    291
   192.168.81.255  255.255.255.255            在链路上      192.168.81.1    291
    192.168.222.0    255.255.255.0            在链路上     192.168.222.1    291

arp: 查询arp记录。

C:\>arp -a

接口: 192.168.222.1 --- 0xd
  Internet 地址         物理地址              类型
  192.168.222.254       00-52-56-f3-a5-99     动态
  192.168.222.255       ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-20-5e-00-60-02     静态
  224.0.0.22            01-30-5e-04-00-16     静态

提取注册表: 提取注册表中的关键数据。

C:\>reg save HKLM\Security sec.hive
操作成功完成。
C:\>reg save HKLM\System sys.hive
操作成功完成。
C:\>reg save HKLM\SAM sam.hive
操作成功完成。

net: 命令大合集。

net user /domain            查看域用户
net view /domain                查询域列表
net group /domain           查看域里面的工作组
net group "domain admins" /domain       查询域管理员用户组 
net localgroup administrators /domain   查询登录本机的域管理员
net group "domain controllers" /domain  查看域控制器
net time /domain                判断主域,主域服务器都做时间服务器
net config workstation          查询当前登录域
net share               查看共享文件路径
net view                            查询同一域内机器列表 
net view \\ip                       查询某IP共享
net view /domain:test.com           查看test域中计算机列表

使用Nmap 探测网络

Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,正如大多数被用于网络安全的工具,Nmap也是不少黑客及骇客爱用的工具,如下是内网中最常用的使用方式,更多Nmap 使用方式参考:https://www.cnblogs.com/LyShark/p/11136300.html

主机发现: 通过使用 -sn 参数发现内网中存活的主机,也可以使用 -sP 选项。

root@kali:~# nmap -sn 192.168.1.0/24 | grep "Nmap scan" | awk '{print $5}'

192.168.1.1
192.168.1.2
192.168.1.4
192.168.1.5
192.168.1.10
192.168.1.40

端口扫描: 扫描主机 192.168.1.10 的前1-1024端口是否开放。

root@kali:~# nmap -sS -p1-1024 192.168.1.10 | grep "open"

80/tcp  open  http
100/tcp open  newacct
135/tcp open  msrpc
139/tcp open  netbios-ssn
443/tcp open  https
902/tcp open  iss-realsecure
912/tcp open  apex-mesh

系统识别: 检测指定主机安装了什么操作系统,通过指纹识别。

root@kali:~# nmap -O 192.168.1.2 | grep "Running"
Running (JUST GUESSING): FreeBSD 6.X|10.X (89%), AVtech embedded (89%)

root@kali:~# nmap -O 192.168.1.3 | grep "Running"
Running: Google Android 5.X|6.X, Linux 3.X

root@kali:~# nmap -O 192.168.1.10 | grep "Running"
Running: Microsoft Windows XP

服务识别: 识别目标主机常用端口开放服务的具体版本,仅供参考。

root@kali:~# nmap -sV 192.168.1.10 | grep "open"

80/tcp   open  http        Apache httpd 2.4.18 ((Win32) OpenSSL/1.0.2e mod_fcgid/2.3.9)
135/tcp  open  msrpc       Microsoft Windows RPC
139/tcp  open  netbios-ssn Microsoft Windows netbios-ssn
443/tcp  open  ssl/https?
902/tcp  open  nagios-nsca Nagios NSCA
912/tcp  open  vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
1433/tcp open  ms-sql-s    Microsoft SQL Server 2000 8.00.2039; SP4
2869/tcp open  http        Microsoft HTTPAPI httpd 1.0 (SSDP/UPnP)
3306/tcp open  mysql       MySQL (unauthorized)

UDP端口扫描: 指定 -sU 扫描UDP,-p指定扫描端口。

root@kali:~# nmap -sU -T5 -sV --max-retries 1 -p 139 192.168.1.10

Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-24 19:32 CST
Nmap scan report for 192.168.1.10
Host is up (0.00022s latency).

PORT    STATE  SERVICE     VERSION
139/udp closed netbios-ssn
MAC Address: ZZ:9C:PP:3A:11 (Elitegroup Computer Systems)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.91 seconds

通过NetBios发现主机: 使用script指定一个脚本,-p指定端口。

root@kali:~# nmap -sU --script nbstat.nse -p137 192.168.1.10 -T4
Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-24 19:40 CST
Nmap scan report for 192.168.1.10
Host is up (0.00022s latency).

PORT    STATE SERVICE
137/udp open  netbios-ns

Host script results:
|_nbstat: NetBIOS name: WANG, NetBIOS user: <unknown>, NetBIOS (Elitegroup Computer Systems)
Nmap done: 1 IP address (1 host up) scanned in 0.76 seconds

通过ARP发现主机: ARP 协议发现内网存活主机。

root@kali:~# nmap -sn -PR 192.168.1.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-24 19:41 CST
Nmap scan report for 192.168.1.1
Host is up (0.00039s latency).
Nmap scan report for 192.168.1.2
Host is up (0.00020s latency).
Nmap scan report for 192.168.1.10
Host is up (0.00010s latency).
Nmap scan report for 192.168.1.40
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.06 seconds

broadcast脚本: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务

root@kali:~# nmap --script=broadcast 192.168.1.10
Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-24 19:56 CST
Pre-scan script results:
| broadcast-dhcp-discover: 
|   Response 1 of 1: 
|     IP Offered: 192.168.1.7
|     Server Identifier: 192.168.1.1
|     Subnet Mask: 255.255.255.0
|     Router: 192.168.1.1
|_    Domain Name Server: 192.168.1.1
...More...

vuln检测漏洞: 用于检测系统常见漏洞,并有相应的解释。

root@kali:~# nmap --script=vuln 192.168.1.10

Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-24 20:00 CST
Host script results:
| smb-vuln-cve2009-3103: 
|   VULNERABLE:
|   SMBv2 exploit (CVE-2009-3103, Microsoft Security Advisory 975497)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2009-3103
|           Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
|           Windows Server 2008 Gold and SP2, and Windows 7 RC allows remote attackers to execute arbitrary code or cause a
|           denial of service (system crash) via an & (ampersand) character in a Process ID High header field in a NEGOTIATE
|           PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
|           aka "SMBv2 Negotiation Vulnerability."
|           
|     Disclosure date: 2009-09-08
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
|_      http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103

searchsploit: 通过本地漏洞数据库,查询漏洞的详细描述和使用方法。

root@kali:~# searchsploit ms17-010
--------------------------------------------------------------------------------------------- ----------------------------------------
 Exploit Title                                                                               |  Path
                                                                                             | (/usr/share/exploitdb/)
--------------------------------------------------------------------------------------------- ----------------------------------------
Microsoft Windows - 'EternalRomance'/'EternalSynergy'/'EternalChampion' SMB Remote Code Exec | exploits/windows/remote/43970.rb
Microsoft Windows - SMB Remote Code Execution Scanner (MS17-010) (Metasploit)                | exploits/windows/dos/41891.rb

在线主机探测: 探测目标主机是否在线,用于收集网络主机或内部网段在线情况.

# ----------------------------------------------------------------------------------------
nmap -F 192.168.1.0/24             # 执行快速扫描
nmap -p T:80,8080,22 192.168.1.20  # 扫描TCP端口
nmap -p U:80,8080,22 192.168.1.20  # 扫描UDP端口

nmap -sV 192.168.1.20         # 扫描并查询主机服务号
nmap -sP 192.168.1.0/24       # 批量ping探测,探测主机存活数
nmap -P0 192.168.1.1          # 跳过ping探测,加快扫描速度(有些主机屏蔽了ping,这里就要跳过)
nmap -sn 192.168.1.0/24       # 扫描网段内的在线主机
nmap -sP 27.201.193.100-200   # 指定探测的网段,看是否在线.
nmap -sL 192.168.1.0/24       # 计算网段主机数,不发送任何报文到目标主机
nmap -PR 192.168.1.0/24       # 通过ARP协议探测网络

nmap --packet-trace 192.168.1.20            # 跟踪报文(tracert) 跟踪发送和接收报文
nmap -sP --scan-delay 1 192.168.1.0/24      # 探测主机在线情况,设置超时时间为1秒
nmap -sP --max-scan-delay 1 192.168.1.0/24  # 探测主机在线情况,最多等待1秒
nmap -sP --max-retries 1 192.168.1.0/24     # 探测主机在线情况,数据包最多重传1次

开放端口与协议探测: 探测方式有两种TCP开放扫描,SYN半开放扫描,后者更加的安全.

nmap -sS 192.168.1.10       # TCP SYN 半开放扫描(隐蔽性好)
nmap -sT 192.168.1.10       # TCP 开放扫描
nmap -sU 192.168.1.10       # UDP 服务扫描
nmap -sA 192.168.1.10       # TCP ACK扫描
nmap -sN 192.168.1.10       # 空扫描: 不设置任何标志位(tcp 标志头是0)
nmap -sF 192.168.1.10       # 只设置 TCP FIN 标志位
nmap -sX 192.168.1.10       # Xmas扫描 设置 FIN,PSH,和 URG 标志位
nmap -sO 192.168.1.10       # IP协议扫描,可以确定目标机支持哪些IP协议

nmap -p T:0-1000,U:100-200 192.168.1.10     # 探测目标端口,T=TCP,U=UDP协议
nmap -p smtp,http,https 192.168.1.10        # 根据服务名称进行探测

探测目标主机版本: 用于扫描目标主机服务的具体版本号,扫描探测目标主机操作系统.

nmap -sV 192.168.1.10       # 探测目标主机服务详细情况
nmap -O 192.168.1.10        # 识别目标主机操作系统版本
nmap -A 192.168.1.10        # 输出详细扫描信息

扫描时排除主机: 扫描主机时,我们需要排除掉指定主机,此时就需要使用exclude来排除.

nmap -PR 192.168.1.0/24 --exclude 192.168.1.1,192.168.1.9     # 扫描时排除单个主机
nmap -PR 192.168.1.0/24 --exclude 192.168.1.1-10              # 扫描时排除连续主机
nmap -PR 192.168.1.0/24 --excludefile lyshark.log             # 扫描时排除文件里的主机,每行一个
nmap -PR -iL lyshark.log                                      # 从一个文件中导入IP,并进行扫描

规避IDS检测: 通过设置时间模板(<Paranoid=0|Sneaky=1)的方式,来规避IDS的检测.

nmap -T0 192.168.1.10
nmap -T1 192.168.1.10
nmap -f 192.168.1.10                # 自动分段
nmap --mtu 4/8/16 192.168.1.10      # 自定义分段,必须是4的倍数
nmap -D 192.168.1.1 192.168.1.10    # 使用诱饵扫描
nmap -sS -P0 -sV -O -v 27.200.22.0/24
nmap -sS -P0 -A -T5 -version-intensity 9  192.168.1.110

输出漂亮的报表: 通过相关选项,可以让Nmap输出指定的文件格式,通过模板转换为HTML文件.

nmap -PR -oX lyshark.xml 192.168.1.0/24      # 以XML格式输出扫描结果
nmap -PR -oN lyshark.log 192.168.1.0/24      # 以标准格式输出扫描结果
nmap -PR -oG lyshark.log 192.168.1.0/24      # 以Grep可识别的格式输出

# --------------------------------------------------------------------
# 输出漂亮的html报告
nmap -PR -sV -oX lyshark.xml 192.168.1.0/24
wget https://www.blib.cn/cdn/nmap/mode.xsl
xsltproc -o index.html mode.xsl lyshark.xml

# --------------------------------------------------------------------
# 输出成.xls结尾的报告
wget https://www.blib.cn/cdn/nmap/converter.py
pip install python-libnmap XlsxWriter
nmap-converter.py -o lyshark.xls lyshark.xml

基本扫描脚本:

nmap -p 80 --script=default 192.168.1.20
nmap --script=vuln 192.168.1.20                                # 检测常见漏洞
nmap -p 80 --script=http-enum.nse 192.168.1.20      # 扫描WEB敏感目录
nmap -p 80 --script=http-robots.txt www.baidu.com # 发现WEB中Robots文件
nmap -p 443 --script http-date.nse www.baidu.com   # 检查WEB服务器当前时间

nmap -n --script=broadcast 127.0.0.1   # 内网服务探测(收集局域网数据)
nmap --script=broadcast-netbios-master-browser 192.168.1.1  # 发现内网网关
nmap --script http-slowloris --max-parallelism 1000 192.168.1.20   # 执行DOS攻击
nmap --script=whois www.baidu.com    # 简单的Whois查询
nmap --script=dns-brute.nse baidu.com  # 暴力破解DNS记录

第三方漏洞扫描脚本: 首先下载zip压缩包,然后直接解压到script目录下,即可使用.

wget https://www.blib.cn/upload/vulscan.zip

#使用默认的库进行漏洞扫描
nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=cve.csv 192.168.1.10

#使用特定的库cve.csv扫描
nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=exploitdb.csv 192.168.1.10

内网VNC扫描: 通过使用脚本,检查VNC版本等一些敏感信息.

[root@localhost ~]# nmap --script=realvnc-auth-bypass 127.0.0.1                                            #检查VNC版本
[root@localhost ~]# nmap --script=vnc-auth 127.0.0.1                                                       #检查VNC认证方式
[root@localhost ~]# nmap --script=vnc-info 127.0.0.1                                                       #获取VNC信息
[root@localhost ~]# nmap --script=vnc-brute.nse --script-args=userdb=/user.txt,passdb=/pass.txt 127.0.0.1  #暴力破解VNC密码

内网SMB扫描: 检查局域网中的Samba服务器,以及对服务器的暴力破解.

[root@localhost ~]# nmap --script=smb-brute.nse 127.0.0.1                                                            #简单尝试破解SMB服务
[root@localhost ~]# nmap --script=smb-check-vulns.nse --script-args=unsafe=1 127.0.0.1                               #SMB已知几个严重漏
[root@localhost ~]# nmap --script=smb-brute.nse --script-args=userdb=/user.txt,passdb=/pass.txt 127.0.0.1            #通过传递字段文件,进行暴力破解
[root@localhost ~]# nmap -p445 -n --script=smb-psexec --script-args=smbuser=admin,smbpass=1233 127.0.0.1             #查询主机一些敏感信息:nmap_service
[root@localhost ~]# nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=admin,smbpass=1233 127.0.0.1  #查看会话
[root@localhost ~]# nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=admin,smbpass=1233 127.0.0.1   #查看系统信息

MSSQL扫描: 检查局域网中的SQL Server服务器,以及对服务器的暴力破解.

[root@localhost ~]# nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 127.0.0.1  #暴力破解MSSQL密码
[root@localhost ~]# nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa 127.0.0.1   #dumphash值
[root@localhost ~]# nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4 xp_cmdshell      #执行命令

MYSQL扫描: 检查局域网中的MySQL服务器,以及对服务器的暴力破解.

[root@localhost ~]# nmap -p3306 --script=mysql-empty-password.nse 127.0.0.1                                             #扫描root空口令
[root@localhost ~]# nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 127.0.0.1                         #列出所有用户
[root@localhost ~]# nmap -p3306 --script=mysql-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 127.0.0.1  #暴力破解MYSQL口令

Oracle扫描: 检查局域网中的Oracle服务器,以及对服务器的暴力破解.

[root@localhost ~]# nmap --script=oracle-sid-brute -p 1521-1560 127.0.0.1    #oracle sid扫描
[root@localhost ~]# nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 127.0.0.1     #oracle弱口令破解

爆破其他一些服务:

nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=.mypwds.lst,telnet-brute.timeout=8s 192.168.1.103
nmap --script=broadcast-netbios-master-browser 192.168.137.4   发现网关
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4  破解rsync
nmap --script informix-brute -p 9088 192.168.137.4    informix数据库破解
nmap -p 5432 --script pgsql-brute 192.168.137.4       pgsql破解
nmap -sU --script snmp-brute 192.168.137.4            snmp破解
nmap -sV --script=telnet-brute 192.168.137.4          telnet破解
posted @ 2019-08-24 17:23  lyshark  阅读(1549)  评论(0编辑  收藏  举报

loading... | loading...
博客园 - 开发者的网上家园