我的内网渗透-代理转发(2)

news2024/11/24 6:30:45

目录

ssh

telnet与SSH的区别

安装环境

常用参数

本地端口转发

远程端口转发

动态端口转发

Socks

使用方法

msf端口转发

常用参数

使用方法

创建监听

MSF读取文件命令(开启msf的时候直接读取文件就自动设置好监听的各种配置)

获取会话后 

earthworm

常用参数

代理工具

正向和反向代理的区别:

正向代理

反向代理(内网穿透)

代理多开:

在windows中使用proxifier进行代理

报错解决:


ssh

telnet与SSH的区别

    telnet 23 --> 明文传输 --> 中间人攻击, 可以爆破
    ssh 22 --> 加密传输 --> 可以爆破

安装环境

sudo apt-get install openssh-server  
	
dpkg -l | grep ssh  #查找已安装的SSH软件包
	
systemctl enable ssh #开机自启动SSH
	
/etc/ssh/sshd_config配置文件,需将参数PermitRootLogin设为yes,并重启ssh服务。
	
service ssh restart #重启SSH
	
ssh-config #客户端配置文件
	
sshd-config #服务端配置文件

常用参数

-C	压缩传输,提高传输速度
	
-f	将ssh传输转入后台,不占用当前shell
	
-N	建立静默连接
	
-g	允许远程主机连接本地用于端口转发
	
-L	本地端口转发
	
-R	远程端口转发
	
-D	动态转发(sock5代理)
	
-P	指定ssh端口

本地端口转发

思路:

        在自己的kali中直接使用ssh进行端口转发,只需要知道跳板机的账户密码就可以完成端口转发的过程(前提是拿下跳板机)。

Kali: ssh -CfNg -L 1234:192.168.150.131:3389 (目标主机)root@192.168.200.129 (跳板机)
	
Kali: rdesktop 127.0.0.1:3389

 跳板机有无rdesktop功能都无所谓,只要靶机开启远程桌面的服务就可以

远程端口转发

思路:

        ①这个操作的前提条件是需要自己的kali开启ssh服务,可以被其他设备进行远程连接。

        ②在跳板机上进行操作,用ssh连接自己的kali和连接靶机,完成端口的转发。

        ③这个也需要拿下跳板机进行操作,比本地端口转发的操作相对麻烦

跳板机:ssh -CfNg -R 4567:192.168.150.131:3389 root@192.168.200.129  
#用Ubuntu做跳板机,ssh连接Kali,打开Kali的4567端口用来监听
#ssh -CfNg -R Kali端口(VPS端口):目标主机:目标端口  root@vps地址
	
kali:rdesktop 127.0.0.1:4567

再kali中可以看到进程中多了一个为9999端口的进程

动态端口转发

思路:

        ①与前两个端口转发相比,动态端口转发的优势明显。前面的端口转发转发的固定的端口,这个动态端口转发转发的可以是任意端口,可以在kali上连接靶机的任何端口服务。

        ②首先在自己的kali中开启动态端口转发,然后修改在kali中的配置文件(不修改文件的话直接在火狐浏览器中设置代理也是可以完成转发,访问到靶机的内网的)。

Socks

socks概念
			SOCKS:防火墙安全会话转换协议 (Socks:Protocol for sessions traversal across  firewall securely) Socks 协议提供一个框架,在 TCP 和 UDP  域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务。这个协议从概念上来讲是介于应用层和传输层之间的  “中介层(shim-layer)”,所以不提供传递 ICMP 信息之类的网络层网关服务。
		
Socks4与Socks5区别
			Socks4和Socks5都属于Socks协议,只是由于所支持的具体应用不同而存在差异。 Socks4代理只支持TCP应用,而Socks5代理则可以支持TCP和UDP两种应用。不过由于Socks5代理还支持各种身份验证机制,服务器端域名解析等;而Socks4代理没有,所以通常对外开放的  Socks代理都是Socks4代理。因此,UDP应用通常都不能被支持。也就是说,Socks4能做的Socks5都可以做,而socks5能做的,Socks4不一定都可以做。

使用方法 

Kali : ssh -CfNg -D 10000 hackbiao@192.168.200.133         
#ssh -CfNg -D 10000 跳板机用户名@IP
#和前面参数不一样,这边是-D 后面跟上任意的端口,这个端口就是开启代理的端口。
		
浏览器检测方式
			->设置网络配置: 手动配置代理 --> socks代理: 127.0.0.1 7000 --> socks4/5代理

proxychains检测方式 

vim /etc/proxychains4.conf 
#在末尾修改代理IP和端口(默认是9050)
			
proxychains4 curl myip.ipip.net   
#用来测试代理是否开成功

########################33
代理上的使用:直接再前面跟上proxychains4就可以			
proxychains4 curl http://192.168.48.138  
			
proxychains4 firefox
			
proxychains4 rdesktop 192.168.48.138
			
proxychains4 nmap -sT -Pn 192.168.48.138  -p 3389
				
-sT固定为为TCP探测,不加会报错
				
-Pn跳过存活检测,不加报错!!! ICMP不适用端口号 无法转发!!!
				
-p指定3389端口
#没加端口的话他是每一个端口都给你进行扫描,上面会对每一个端口进行尝试,显示一堆的报错信息,可以不用管

msf端口转发

思路:

        先进行后门的连接,连接成功后,可以以已经建立后门连接的机器作为跳板机,进行端口的转发(可以转发范围为跳板机所有可以达到的范围)

常用参数

Add:该参数用于创建转发。
	
Delete:从我们的转发端口列表中删除先前的条目。
	
List:列出当前转发的所有端口。
	
Flush:删除我们的转发列表中的所有端口。
	
-L:用于指定监听主机。 除非需要在特定网络适配器上进行转发,否则可以省略此选项。  如果未输入任何值,    则将使用0.0.0.0。
	
-h:显示以上信息。
	
-l:这是一个本地端口,它将在攻击机器上侦听。与此端口的连接将被转发到远程系统。
	
-p:TCP连接将转发到的端口。
	
-r:连接被中继到的IP地址(目标主机ip)

使用方法

创建监听

msf6 > use exploit/multi/handler 
	
msf6 exploit(multi/handler) > show options
	
msf6 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp
	
msf6 exploit(multi/handler) > set lhost 192.168.48.145
	
msf6 exploit(multi/handler) > run

MSF读取文件命令(开启msf的时候直接读取文件就自动设置好监听的各种配置)

-r #读取参数
	
文件内容
msfconsole -r 1 /msfconsole -r 2

获取会话后 

meterpreter>portfwd add -l 1122 -p 3389 -r 192.168.150.131
#add创建转发 l本地端口 p 靶机的端口 -r 靶机的地址
#把靶机的3389端口转发到本地的1122端口
	
meterpreter>porfwd  list   
#显示转发列表

转发完可以看到列表中存在转发的,然后直接新开一命令行就可进行连接

rdesktop 127.0.0.1:1122 

earthworm

常用参数

ssocksd   正向代理
    ​    
rssocks    反向代理(监听)
    ​
rcsocks    反向代理(连接)
    
-l 设置监听的端口.
    
-d 要连接的地址(单层跳板).
    
-e 要转发的端口.
    
-f 设置多层跳板目标转发ip .
   
-g 设置多层跳板目标的端口.
    
-a about show the about pages
    
-v version show the version.
    
-t usectime set the milliseconds for timeout.

代理工具

    windows: proxifer
    linux: proxychains

 

正向和反向代理的区别:

1、正向代理实际代理的是客户端。反向代理代理的是目标服务器。

2、正向代理是客户端架构,而反向代理是服务器架构。

3、正向代理中,服务器不知道真正的用户是谁。反向代理中,用户不知道真正的服务器是谁。

4、正向代理主要用来解决访问问题。反向代理主要用于解决负载均衡、安全防护,但二者都能提高访问速度。

 

正向代理

        思路:

        在跳板机开启代理之后,在自己的主机配置完代理之后,可以直接进行访问跳板机可以访问的所有范围。如果是仅主机模式的话,那么是可以在配置完代理的时候进行上网的。自己挂vpn的时候,没网络不能上网的原因是:没网络的时候是访问不了代理服务器的。

跳板机

socks5代理

Windows开启代理:ew -s ssocksd -l 7777
    
Linux开启代理:./ew_for_linux64 -s ssocksd -l 7777  

主机

vim /etc/proxychains4.conf

socks5  192.168.200.133 3344
#要注意修改配置文件为socks5,如果为4的话代理时不能够成功开启的

 

反向代理(内网穿透)

内网主机有限制, 可以利用反向代理转发内网主机流量

思路:

        现在跳板机中开启反向代理,然后再靶机上面进行连接。最后,再自己的kali中修改配置文件,将配置文件的ip端口进行修改就完成

跳板机

./ew_for_linux64 -s rcsocks -l 7777 -e 2222
#-l 设置本地要进行连接的端口,就是代理端口,在kali的配置文件中的代理端口就是这个

 内网主机

ew_for_Win.exe -s rssocks -d 192.168.0.104 -e 2222
#-d 连接的是目标地址也就是跳板机的地址 
#-e 开启监听端口 

在靶机中进行的操作状态

跳板机反向代理连接成功的状态

 再自己的kali中查看代理的开启是否成功

代理多开:

        ①在跳板机开启反向代理的时候,连接端口一定不能与windows的监听端口一致不然会报错。

        ②监听多开的时候,连接的本地端口一定不能冲突,在windows上面的监听端口也不能与之前的冲突

 

在windows中使用proxifier进行代理

思路:

        直接打开软件进行添加规则,添加的规则的地址端口就是跳板机的ip地址和开启代理的端口,这边是直接用的上面的反向代理。配置完之后,check检查一下,没有问题的话就可以开启网站进行测试。(可以开一个小皮进行测试,或者直接mstsc进行远程桌面连接测试,看一下是否可以访问的到)

 

报错解决:

        在开启方向代理后,我的主机kali正在使用跳板机的代理进行访问。这时候,在开一台windows想连接这个代理,可能会导致报错,网络连接不成功。总体的配置是没有问题的,应该就是连接不稳定导致的出错。这时候就需要在跳板机重新开启反向代理,在用windows去连接就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/685360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NCI Core Control Messages

NCI 版本参数应编码为 8 位字段,由两个 4 位无符号值组成,表示本规范的主要和次要版本级别。 最高有效 4 位应表示主要版本级别。 最低有效 4 位应表示本规范的次要版本级别。 如果 DH 支持 NFCC 报告的主要版本,则 DH 应继续通信&#xff0…

同比增长超300%,「手势识别」前装赛道借势多模态座舱交互

在座舱多模态交互系统中,手势识别功能正在成为主流的配置之一。高工智能汽车研究院监测数据显示,2022年中国市场(不含进出口)乘用车前装标配手势识别功能交付37.39万辆;今年1-4月交付23.90万辆,同比增长超过…

Linux下的free、uname、uptime、netstat、dmesg指令

文章目录 1 查看内存的使用情况:free2 查看系统与内核相关信息:uname3 查看系统运行时间和负载(uptime)4 查看端口监听:netstat5 分析内核产生的信息:dmesg 1 查看内存的使用情况:free free -m…

C++进阶—二叉搜索树

目录 0. 前言 1. 二叉搜索树概念 2. 二叉搜索树操作 3. 二叉搜索树的实现 3.1 非递归实现插入操作Insert 3.2 二叉搜索树中序遍历递归实现(排序) 3.3 非递归实现查找操作Find 3.4 非递归实现删除操作Erase 3.5 递归实现插入操作InsertR 3.5 递…

c++读取文件之---yaml-cpp使用

实际项目总会遇到有很多超参数的情况,用常规的结构体等无法有效的涵盖所有,为了方便用户进行配置使用,因此使用yaml的方式进行编辑配置,因此去调研使用了yaml-cpp的使用方法。 1、yaml-cpp下载和编译 下载方式很简单&#xff0c…

openfeign实现远程调用

一 openfeign简介 Feign 是声明性(注解)web 服务客户端它使编写 web 服务客户端更加容易请创建一个接口并对其进行注解.它具有可插入注解支持,包括Feign注解和JAXRS注解Feign 还支持可插拔编码器和解码器。Spring cloud 添加了对Spring MVC注解的支持,并…

chatgpt赋能python:Python编译成SO文件和反编译的介绍

Python编译成SO文件和反编译的介绍 什么是SO文件? SO文件,也称为共享对象文件,是一种二进制文件格式,用于在多个应用程序之间共享代码和数据。在Unix和类Unix系统中,它们通常是共享库文件的形式。因此,SO…

chatgpt赋能python:Python编译成可执行文件:让你的代码更加优雅高效

Python编译成可执行文件:让你的代码更加优雅高效 Python作为世界上最受欢迎的编程语言之一,拥有着丰富的库、面向对象的语法和简单易懂的语法结构。然而,在开发Python应用程序时,受限于Python的解释性,导致程序的效率…

Qt实现自定义控件能够以插件的方式加载到Qt设计师

目录 1、自定义部件/控件2、改进法3、插件法3.1、创建工程3.2、工程目录3.3、修改插件类的代码3.3.1、HexSpinBox类的头文件3.3.2、HexSpinBox类的源文件3.3.3、HexSpinBox类的UI文件3.3.4 需要的注意的事项 3.4、生成动态库 4、测试插件能否正常使用4.1、测试Qt设计师能否识别…

认识@Validated 和 @Valid

对于web应用来说,对方法参数的校验是十分重要的,参数校验的是否全面,直接决定整个方法的健壮性。 除了使用麻烦的if判断校验参数,还可以使用Validated 和 Valid注解来进行优雅地参数校验,让参数校验和写诗一样优雅。 …

手机移动 APP测试流程及测试点

1 APP测试基本流程 1.1 流程图 1.2 测试周期 测试周期可按项目的开发周期来确定测试时间, 一般测试时间为两三 周(即 15 个工作日),根据项目情况以及版本质量可适当缩短或延长 测试时间。正式测试前先向主管确认项目排期。 1.3 测试资源 测试任务开始…

移动云智能算力调度平台,谱写算力互联互通新篇章

中国移动算力网络建设取得新进展!移动云智能算力调度平台验证了多云服务商间异构算力的统一调度能力,联动国家级超算中心、智算中心,促进东部业务灵活使用西部算力,作为未来算力互联网的统一调度平台将持续开展技术攻关与应用创新…

linux系统LNMP架构部署

文章目录 一、Nginx编译安装1、关闭防火墙,安全机制2、安装依赖包3、创建运行用户与组4、解压包、编译安装路径5、编译安装6、优化路径7、添加 Nginx 系统服务、赋权 二、安装 MySQL 服务1、安装环境依赖包2、创建运行用户与组3、解压包、编译安装路径4.编译安装5、…

chatgpt赋能python:用Python编程计算BMI,轻松掌握健康

用Python编程计算BMI,轻松掌握健康 作为一个现代人,保持健康的体态是我们每个人都需要关注的问题。那么,如何快速地计算自己的BMI呢?Python编程可以帮助我们轻松地实现这个目标。 什么是BMI? BMI全称为Body Mass In…

【Linux操作系统】互斥的4个概念以及认识信号量

文章目录 进程互斥的4个概念认识信号量认识接口理解IPC 信号量主要用于同步和互斥的,下面先来看看什么是同步和互斥。 进程互斥的4个概念 我们把大家都能看到的资源,称为公共资源。并且要想实现进程间通信,首要条件就是要让互相通信的进程看…

一文了解kubernetes部署:API部署过程

API部署 准备工作 一、镜像制作 请参考:《API镜像制作》 二、为k8s配置docker私服密钥 请参考:《配置docker私服密钥》 部署API 修改yaml文件 vi/opt/kubernetes/api/config-server.yaml vi/opt/kubernetes/api/api.yaml 1、修改api相应image值为您的镜…

【深度学习】日常笔记7

可以通过在⽹络中加⼊⼀个或多个隐藏层来克服线性模型的限制,使其能处理更普遍的函数关系类型。要做到这⼀点,最简单的⽅法是将许多全连接层堆叠在⼀起。每⼀层都输出到上⾯的层,直到⽣成最后的输出。 上面红框的公式其实换个角度是没错的。实…

总结911

目标规划: 月目标:6月(线性代数强化9讲,考研核心词过三遍) 周目标:线性代数强化5讲,英语背3篇文章并回诵,检测 每日规划 今日已做 1.回诵之前文章 2.每日长难句,句句…

Redis五种数据结构底层编码结构

String String是Redis中最常见的数据存储类型: 其基本编码方式是RAW,基于简单动态字符串(SDS)实现,存储上限为512mb。如果存储的SDS长度小于44字节,则会采用EMBSTR编码,此时object head与SDS是…

Mysql(Linux数据库或者在Navicate中)

Mysql数据库组成 服务端:主要存储数据,并接收用户发过来的SQL语句,并执行结果返回给客户端 客户端:下发用户要执行的sql语句,并显示服务器返回的执行结果 命令行数据库连接方式 mysql -h 数据库 IP -P 端口号 -u 数据库登录用户名 -p 数据库登录密码 -h不加表示为本机,-P不…