// 红队渗透 · 2024-12-21

打靶初始阶段:服务枚举

常见服务枚举

DNS (端口 53)

  1. 域传送漏洞扫描

    dnsrecon -d <domain> -a -n <IP_DNS>
  2. 枚举子域名

    dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>

SMB (端口 139, 445)

1. 基础信息扫描

  • 使用 enum4linux 扫描:

    enum4linux -a [-u "<username>" -p "<passwd>"] <IP>
  • 使用 enum4linux-ng 扫描:

    enum4linux-ng -A [-u "<username>" -p "<passwd>"] <IP>
  • 使用 crackmapexec 扫描:

    crackmapexec smb <IP> --users [-u <username> -p <password>]

2. 匿名连接RPC

  • 使用 rpcclient 执行匿名连接:

    rpcclient -U "" -N <IP>

    执行以下命令以枚举域用户、组等信息:

    enumdomusers
    enumdomgroups
    help

3. 获取用户信息

  • 使用 samrdump.py 获取用户信息:

    /usr/share/doc/python3-impacket/examples/samrdump.py -port 139 [[domain/]username[:password]@]<targetName or address>
  • 对于端口 445:

    /usr/share/doc/python3-impacket/examples/samrdump.py -port 445 [[domain/]username[:password]@]<targetName or address>

4. 获取RPC接口信息

  • 使用 rpcdump.py 获取RPC接口信息:
    /usr/share/doc/python3-impacket/examples/rpcdump.py -port 135 [[domain/]username[:password]@]<targetName or address>
    /usr/share/doc/python3-impacket/examples/rpcdump.py -port 139 [[domain/]username[:password]@]<targetName or address>
    /usr/share/doc/python3-impacket/examples/rpcdump.py -port 445 [[domain/]username[:password]@]<targetName or address>

5. 获取共享文件夹

  • 使用 crackmapexec 获取共享文件夹:
    crackmapexec smb <IP> -u '' -p '' --shares
    crackmapexec smb <IP> -u <username> -p <password> -H <hash> --shares

6. 爬取共享文件夹内的文件

  • 使用 crackmapexec 爬取共享文件夹内的文件:
    crackmapexec smb <IP> -u <username> -p <password> -H <hash> -M spider_plus [--share <share_name>]

7. 连接共享文件夹

  • 使用 impacket-smbclient 连接共享文件夹:
    impacket-smbclient

8. Smb-Trap

  • 启动 responder 进行 SMB 相关攻击:
    responder

9. 暴力破解

NFS (端口 2049)

  1. 列出 NFS 共享

    showmount -e 10.10.10.180
  2. 使用 Nmap 扫描 NFS

    nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 <IP>

SMTP (端口 25, 365, 587)

  1. 枚举用户

    smtp-user-enum -M VRFY -U <USER> -t <IP>
  2. 扫描漏洞

    nmap --script=smtp-commands,smtp-enum-users,smtp-vuln-cve2010-4344,smtp-vuln-cve2011-1720,smtp-vuln-cve2011-1764 -p 25 <IP>
  3. 暴力破解

SNMP (端口 161, 162, 10161, 10162/udp)

  1. 使用 snmpbulkwalk 获取信息

    snmpbulkwalk -c [COMM_STRING] -v [VERSION] [IP] .
  2. 使用 snmpwalk 获取信息

    snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP]
  3. 使用 snmp-check 获取信息

    snmp-check [DIR_IP] -p [PORT] -c [COMM_STRING]
  4. 使用 onesixtyone 执行 SNMP 枚举

    onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings-onesixtyone.txt {IP} -w 100
  5. 使用 snmp-check 执行 SNMP 检查

    snmp-check {IP}

Web 服务

  1. 识别 Web 服务信息

    whatweb -a 3 <URL>
    whatweb -a 1 <URL>
  2. 主动扫描

    • 综合性扫描:

      nikto -h <URL>
    • 目录扫描:

      dirsearch -u <URL> -w /opt/useful/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -f -e pdf,php
    • 参数爆破:

      arjun -u <URL> -m GET/POST
    • 爬取网页作为字典:

      cewl --with-numbers -w dict.txt <URL>
    • VHOST 枚举:

      gobuster vhost -w /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -u <URL>

自动化批量信息收集(推荐使用)

AutoRecon GitHub

寻找漏洞

  • 平台:
    exploitdb, GitHub, Google

  • 语法:

    <servername> [version] [port] exploit

    例子:

    mysql 5.1 port 3306 exploit

如何学习服务枚举?

  1. 掌握手工枚举与自动化枚举
  2. 了解枚举出来的信息
  3. 思考各种信息的组合利用

原文 https://blog.csdn.net/2301_79518550/article/details/144638642