能够成功地通过web漏洞获取到webshell,对于一次完整的渗透测试来说,仅仅相当于万里长征的第一步。并不是所有渗透测试都会遇到几百台机器的大内网。
在渗透测试中,当我们获得了外网服务器(如web服务器,ftp服务器,mali服务器等等)的一定权限后发现这台服务器可以直接或者间接的访问内网。此时渗透测试进入后渗透阶段,一般情况下,内网中的其他机器是不允许外网机器访问的。这时候,我们可以通过 端口转发(隧道) 或将这台外网服务器设置成为 代理,使得我们自己的攻击机可以直接访问与操作内网中的其他机器。实现这一过程的手段就叫做内网转发。
运维时,你可能会遇到这样的问题,那就是Docker 容器已经运行的情况下,我希望宿主机外的程序,比如数据库客户端,能够连接容器内部的端口,如数据库端口。
有如下图所示测试环境,外网服务器拥有双网卡,既可与公网进行通信,也可以与内网服务器进行通信。
众所周知,在 Linux 系统下,只允许 Root 用户运行的程序才可以使用特权端口 ( 1024 以下的端口 )。如果在普通用户下使用特权端口将会报错。
socks5代理(-D):相当于ss/ssr指定本地“动态”应用程序级端口转发。这通过分配一个套接字来侦听本地端的端口(可选地绑定到指定的bind_address)来实现。每当与此端口建立连接时,该连接都会通过安全通道转发,然后使用应用协议确定从远程计算机连接到的位置。当前支持SOCKS4和SOCKS5协议,而ssh将充当SOCKS服务器。只有root可以转发特权端口。动态端口转发也可以在配置文件中指定
当我们在外网打下一个点,通过arp,netstat,以及ifconifg(ipconfig)等信息收集,发现此点为dmz,可通内网,那么这时候我们需要在此点上搭建通向内网的隧道,为内网渗透打下坚实基础。
上一节中,我们讲解了网络层的隧道技术(IPv6 隧道、ICMP 隧道)和传输层的隧道技术(TCP 隧道、UDP 隧道、常规端口转发)。现如今,TCP、UDP 通信大量被防御系统拦截,传统的Socket隧道也已经濒临淘汰,DNS、ICMP、HTTP/HTTPS 等难以被禁用的协议已经成为了攻击者控制隧道的主要渠道。在这一节中,我们将对应用层的隧道 SOCKS 代理技术进行实验性的讲解,由于小编能力太菜,很多东东也是现学现卖,应用层的DNS隧道我会在未来专门写一个专题进行讲解。
最近帮实验室装了两台服务器,计算用的服务器放在内网,通过一台堡垒机与外界相连。碰到很多小问题,在这里记录一下。 组建内网 这一部分没有太多好说的,堡垒机需要有两块网卡,一块对外一块对内,内网服务器一块就够了。组网的时候根据情况可以手工指定IP也可以DHCP。如果内网只有一台机器的话可以找一根网线直连两台机器,如果机器多的话还是买个路由器吧,最好找高级一点的,可定制的功能多一点,否则会很坑。 端口转发 从外面访问内网服务器的时候有三种方法: 最简单的办法是先ssh到堡垒机,再ssh到内网的服务器。这样做的
SSH开启端口转发需要修改 /etc/ssh/sshd_config配置文件,将 GatewayPorts修改为yes
各位老司机在日常的渗透过程中,都会有自己趁手的工具集合,有开源的有私有的,不管什么样的工具组合,能够达到最佳的渗透效果就是好工具,老司机分享一点自己在内网渗透中惯用的开源工具和平台。
Linux 的 SSH 服务不仅仅能够远程登录和管理,还可以在本地计算机和服务器之间建立 TCP 通道, 实现代理、内网穿透、暴露内网服务等功能,简单可靠。
所谓端口转发就是,本来你的进程是提供端口A的TCP服务,但是由于一些特殊原因(比如该端口禁止外网访问,或者金志明某些用户访问),如果还是想要访问到该端口A的服务,可以配置一下端口转发,使得到端口B的请求被自动转发到端口A,而端口B是可以访问的,从而也就实现了对端口A服务的访问。
echo `date +%Y%m%d_%H%M%S` 3proxy quit >> /../logs/3proxy.log
ssh隧道大致可以分为3种,分别为本地端口转发,远程端口转发,动态端口转发,本文将让你彻底搞懂这3个转发的命令表达形式,让你能够灵活运用解决生活中的各种特殊场景。
渗透测试平台类: Metasploit,这个大家都不陌生了,集信息收集,预渗透,渗透,后渗透,木马,社会工程学于一体的平台,居家旅行,杀人越货之必备。SET(Social-engineer-toolkit) 主要用来做社工平台,邮件伪造,dns劫持,以及office钓鱼。 Cobaltstrike,目前来说最好用的针对windows的渗透平台,也是目前最牛逼的APT协同工作平台。扩展性很强,兼容各种平台,独立的框架,不依赖于其他框架,提供了丰富的第三方接口,可以进行内网渗透,社工钓鱼,木马远控以
在实际渗透过程中,我们成功入侵了目标服务器。接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口、内网网站8080端口等等。传统的方法是利用nc、lcx等工具,进行端口转发。
ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖。 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: 1) 模块化实现 2) 一切都尽可能的-异步 3) 依赖关系注入 微软已经如期发布了.NET Core R2, 具体参见文章《微软.NET Core RC2正式发布,横跨所有平台》,现在可以放心的基于.NET Core 构建 ASP.NET Core 。那么问题就来了,生产环境我们如何部
lcx.exe是一个端口转发工具,有Windows版和Linux版两个版本,Windows版是lcx.exe,Linux版为portmap,
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。在1.9.13版本后,Nginx已经支持端口转发。之前分享过《Linux安装rinetd实现TCP端口转发》,rinetd配置简单,使用方便,但遗憾的是不支持UDP转发。如果需要同时支持TCP/UDP端口转发可以使用Nginx
对面服务的nodejs进程有内存泄露的情况,服务已经启动对外开发了一段时间了,这时候希望能够debug这个运行中的进程,生成一些heapdump来分析内存泄露的具体位置。针对运行中的nodejs程序,我们可以使用kill命令传递信号来开启nodejs程序的debug模式。
大部分公司内部测试服务器是放在公司内网,一般来说,由于NAT的原因,这种访问是单向的。例如,我们借助电脑,手机登设备,可以访问百度的服务器,但是百度服务器是没法主动访问我们终端。由于只能通过公司内网访问,员工回家之后就无法访问了,安全是安全了,但是万一有个需求需要从公司外部访问呢?
很多时候我们需要内网穿透来进行一些操作 因为我们本地是内网而且在没有端口转发的情况下 msf不能很好的去使用。所以今天来总结一下 利用ssh frp实现内网穿透后 利用msf的过程。
1. 你有台服务器,上面开着个数据库,但该数据库不对外开放,只能通过ssh登录到服务器上才能对其操作,但有时候,你想在本地直接访问该数据库来做些测试,怎么办?
在企业安全对抗中,红方攻击团队经常会遇到这种情况,在企业的网络边界上获取到部分权限,比如一个web服务器的webshell,然而如何更方便的进行下一步的渗透呢?如何对内网进行渗透测试,这时就需要隧道转发技术,穿透边界防火墙、安全代理等安全设备,进行深层次的安全测试。本文的主要内容是穿透内网的各种姿势。
当我们在服务器上搭建一个资料以及一个下载的应用,其中资料应用启动了 8001 端口,下载应用启动了 8002 端口。此时如果我们可以通过
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
SSH隧道或SSH端口转发是一种在客户端和服务器机器之间创建加密SSH连接的方法,通过该连接可以中继服务端口。
在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。
Secure Shell(SSH)拥有几个非常酷的技巧,每个技巧都提供了一个方便的功能(包裹在安全的保护层中),可以让你的生活变得更轻松一些。
说到SSH终端工具,大家首先想到的可能会是putty、xshell这些老牌客户端。以上这些工具能够流行至今,并有一定的用户群体,一定有其独特之处。不过在互联网日益发达的今天,我们工作中的使用需求也越来越多,比如:在远程连接服务器、运行Linux命令的同时,可能还需要传输一些文件;我们希望可以同时连接多台服务器,在多个窗口下管理,便于相互切换;在管理Linux的同时,还可以运行cmd/zsh以及gitbash,而不是开多个软件......
SSH(Secure Shell)协议是一种加密的网络传输协议,它可以在不安全的网络中提供安全的远程登录和文件传输服务。SSH协议使用加密技术来保护数据的机密性和完整性,使得网络传输数据的安全性得到了保障。除了提供安全的远程登录服务外,SSH协议还可以用于隧道穿透,即将一种网络协议的流量通过SSH连接传输,以绕过防火墙或其他网络限制。
NAT 英文全称是 Network Address Translation,中文意思是“网络地址转换”;
本文将介绍如何在Linux中使用SSH动态端口转发代理,让你轻松畅享网络自由,保障个人隐私和数据安全。
ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 -- Pradeep Kumar 本文导航 ◈ 例子: 1) 监听入站连接 18% ◈ 例子: 2) 连接远程系统 23% ◈ 例子: 3) 连接 UDP 端口 34% ◈ 例子: 4) 将 nc 作为聊天工具 46% ◈ 例子: 5) 将 nc 作为代理 53% ◈ 例子: 6) 使用 nc 拷贝文件 61% ◈ 例子: 7) 通过 nc 创建后门 7
在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。
1.ssh -CfNg -L 11001:10.10.10.128:3389 XXX@10.10.10.133
今天为大家分享一篇关于SSH 的介绍和使用方法的文章。本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录、端口转发等多种场景下进行独立的讲述,希望能对大家有所帮助。
1. 查看当前Linux系统是否已经安装java,输入 rpm -qa | grep -i java
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
Lcx是一个端口转发工具,有windows版和linux两个版本(linux版本名为protmap)
在我们拿下一个Webshell的时候,我们没办法把一些工具上传到目标服务器上去使用,那样可能会有风险,而且有的时候还没有特定的环境来使用工具。这个时候我们就可以使用内网穿透来吧服务器的流量代理到本地,就相当于我们是在内网环境,我们就可以使用自己PC上的工具对内网进行扫描,内网渗透,域渗透等等。
从技术层面来讲,隧道是一种通过互联网的基础设施在网络之间传递数据的方式,其中包括数据封装、传输和解包在内的全过程,使用隧道传递的数据(或负载)可以使用不同协议的数据帧或包。
让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:
在渗透测试过程中,我们经常会用到端口转发,利用代理脚本将内网的流量代理到本地进行访问,这样极大的方便了我们对内网进行横向渗透。最常见的端口转发工具不限于以下几款,大家可以根据在实际测试过程的需要进行选择。
这篇讲一些关于 Linux 提权的方法,也是参考网上的一些提权方式,对于刚接触 Linux 提权的伙伴来说,需要花不少时间去理解,所以这里是以个人通俗易懂的思路去写,希望能帮到热爱学习的朋友,先写这些提权方法。若有更好的提权方式,欢迎老哥们在评论里补充一下。
NxShell是一款开源的Linux远程管理工具,是我日常远程Linux服务器必备的工具,界面比较好看、可以直接SFTP。针对软件的功能目前作者还在持续更新当中,还是相当好用的一款Linux远程管理工具。
这么做的目的是为了与我同一个局域网的其他用户可以使用访问到本机局域网IP访问本机WSL中开放的服务。
领取专属 10元无门槛券
手把手带您无忧上云