靶场攻略 | 网络安全靶场合集

admin 2023年1月5日16:33:37安全文章评论14 views19943字阅读66分28秒阅读模式
1
JAVA环境

1、WebGoat

WebGoat 是一个由 OWASP 维护的 Web 应用程序靶场环境,旨在帮助大家学习 web 应用程序的漏洞原理及测试方法。
项目地址:
| https://github.com/WebGoat/WebGoat
该项目使用 java 语言开发,涉及漏洞包括 OWASP Top10,参考文档:
| https://owasp.org/www-project-webgoat/

2、JVApp

Java漏洞练习程序,开发工具Eclipse,运行环境Java 1.7以上版本,Tocmat7以上。
https://github.com/shack2/JVApp
安装方法:
1.首先安装jdk1.7以上版本,下载Tomcat7以上版本,将war包程序部署到Tomcat webapps目录
2.安装mysql5.7,如果是其他5.x版本或导入SQL报错,修改JVAPP.sql中的utf8mb4为utf8,然后新建数据库apptest使用navicat导入sql文件。
3.启动tomcat,待程序解压后,修改JVApp中WEB-INF/classes/config.properties中的数据库连接信息(ip、数据库、账号、密码)等信息,修改完成后重启tomcat即可。
 4.访问程序:http://127.0.0.1/JVApp/

3、SecExample

https://github.com/tangxiaofeng7/SecExample
AVA 漏洞靶场 (Vulnerability Environment For Java)
Name
Star
[注入漏洞-SQL注入]
🌟🌟🌟
[注入漏洞-命令注入]
🌟
[注入漏洞-spel表达式注入]
🌟🌟🌟
[XSS漏洞]
🌟
[CSRF漏洞]
🌟🌟
[SSRF漏洞]
🌟🌟
[CORS漏洞]
🌟🌟🌟🌟
[反序列化漏洞-Fastjson反序列化]
🌟🌟🌟🌟
[验证码相关漏洞]
🌟🌟

安装
git clone https://github.com/tangxiaofeng7/SecExample.git
cd SecExample
docker-compose up -d
访问: http://localhost:8080
靶场攻略 | 网络安全靶场合集
http://127.0.0.1:8080/ssrfoutput
靶场攻略 | 网络安全靶场合集

4、Micro_service_seclab

这是一个Java漏洞靶场
这个Java漏洞靶场是基于SpringBoot开发,目的是用来检测SAST工具的准确性(关注漏报和误报问题)的。
如果想学习使用CodeQL检测漏洞,可根据文章《CodeQL从入门到放弃》 结合此项目进行学习。
可以用此靶场测试(CodeQL, CheckMarx, Fortify SCA)白盒检测工具,根据预先埋点的漏洞,与测试结果进行对比,
判断在什么地方存在误报和漏报的问题。
当然,你也可以用这个靶场做黑盒测试,所有漏洞都提供了数据库文件
https://github.com/cream-sec/micro_service_seclab
支持的漏洞
SQL注入
SQL注入这部分,会出现很多不同白盒写法导致的SQL注入。
种类
解释
伪代码
String Source
输入点是字符串类型
one(@RequestParam(value = "username") String username)
List
输入点是Long泛型(用来测试误报)
longin(@RequestBody Listuser_list)
Optional
新特性
optionalLike(@RequestParam(value = "username") Optionaloptinal_username)
ListSource
输入点是String泛型
in(@RequestBody Listuser_list)
Object Source
对象类型
objectParam(@RequestBody Student user)
MyBatis注入
XML分离SQL检测
myBatis(@RequestParam(value = "name") String name)
In类型注入
In类型注入
参照代码
Like类型
Like类型注入
参照代码
Lombok
Lombok对注入漏洞的影响
参照代码
MyBatis注解方式注入
MyBatis注解方式注入
参照代码
Spring Data JPA
JPA 方式
参照代码

2). RCE命令执行
种类
解释
伪代码
processBuilder
processBuilder导致的RCE
--
Runtime.getRuntime().exec(args)
Runtime.getRuntime().exec(args)导致的RCE
--

3). FastJson反序列化漏洞
提供1.2.31版本的Fastjson供进行测试。
@RestController
@RequestMapping
(value = "/fastjson")
public class FastJsonController
{

    @PostMapping(value = "/create")
    public Teacher createActivity
(@RequestBody String applyData,
                                  HttpServletRequest request, HttpServletResponse response
){
        Teacher teachVO
= JSON.parseObject(applyData, Teacher.class);
       
return teachVO;
   
}

}

Bash

4. SSRF漏洞
种类
解释
伪代码
url.openConnection()
url.openConnection()引起的SSRF
参照代码
Request.Get()
Request.Get()引起的SSRF
参照代码
OkHttpClient
OkHttpClient引起的SSRF
参照代码
DefaultHttpClient
DefaultHttpClient引起的SSRF
参照代码
url.openStream()
url.openStream()引起的SSRF
参照代码

5.XXE
种类
解释
伪代码
DocumentBuilderFactory
DocumentBuilderFactory引起的SSRF
参照代码

6. 反序列化漏洞
持续添加中
7. 逻辑漏洞
添加中


5、Hello-Java-Sec

Java漏洞平台,结合漏洞代码和安全编码,帮助研发同学理解和减少漏洞,代码仅供参考
https://github.com/j3ers3/Hello-Java-Sec
默认账号:admin/admin
目前实现的漏洞点有:
 SQLi
XSS
RCE
Deserialize
SSTI
SpEL
SSRF
Directory Traversal
Redirect
CSRF(X)
File Upload
XXE
Actuator
Fastjson
Xstream
Log4shell
JNDI
Dos
more(X)
Bash

安装运行方法如下:
IDEA
配置数据库连接,数据库文件db.sql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username
=root
spring.datasource.password
=1234567
Bash

JAR(JDK1.8)
git clone https://github.com/j3ers3/Hello-Java-Sec
cd
Hello-Java-Sec
mvn clean package -DskipTests
java -jar target/hello-1.0.0-SNAPSHOT.jar
Bash

Docker
mvn clean package
./deploy.sh
Bash

靶场攻略 | 网络安全靶场合集
技术架构:
Java 1.8
SpringBoot 4.0
Bootstrap 4.6.0
Codemirror 5.62.0
开启环境:
靶场攻略 | 网络安全靶场合集
访问:http://127.0.0.1:8080
账号密码:admin/admin
靶场攻略 | 网络安全靶场合集

2
Python环境

1、TIWAP


https://github.com/tombstoneghost/TIWAP
**TIWAP是一款包含大量漏洞的Web应用渗透测试学习工具,**该工具基于Python和Flask实现其功能,帮助信息安全爱好者或测试人员学习和了解各种类型的Web安全漏洞
当前版本的TIWAP实验环境中包含了二十种安全漏洞,具体如下所示:
SQL注入
Blind SQL注入
NoSQL注入
Command注入
业务逻辑漏洞
敏感数据泄露
XML外部实体
安全错误配置
反射型XSS
存储型XSS
基于DOM的XSS
HTML注入
不安全的证书验证
硬编码Credentials
不安全的文件上传
暴力破解
目录遍历
跨站请求伪造(CSRF)
服务器端请求伪造(SSRF)
服务器端模板注入(SSTI)
其中,每一种漏洞都提供了三种等级的漏洞利用难度,即低级Low、中级Medium和困难Hard,可以根据自己的需求在设置页面中进行相应的配置。

2、SSTI-labs

https://github.com/X3NNY/sstilabs书签:https://github.com/X3NNY/sstilabs
这个项目是为了帮助正在学习SSTI的伙伴,你可以从中学到一些绕过方法,同时如果你有新的绕过姿势,你可以参与到本项目的贡献之中.
flask-lab
确保你已经安装了python
克隆项目或者下载zip文件
pip install -r requirements.txt
python app.py
它将运行在5000端口上,为了安全起见,请不要使用root用户运行

3
PHP环境
1、DVWA
DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的 PHP/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助 web 开发者更好的理解 web 应用安全防范的过程。项目地址:
| https://github.com/digininja/DVWA
可docker安装
docker pull vulnerables/web-dvwa
docker run --rm -it -p
80:80 vulnerables/web-dvwa
访问80端口就可以了哈
Bash

DVWA 共有十个模块,分别是:
1.Brute Force(暴力(破解)) 2.Command Injection(命令行注入) 3.CSRF(跨站请求伪造) 4.File Inclusion(文件包含) 5.File Upload(文件上传) 6.Insecure CAPTCHA (不安全的验证码) 7.SQL Injection(SQL注入) 8.SQL Injection(Blind)(SQL盲注) 9.XSS(Reflected)(反射型跨站脚本) 10.XSS(Stored)(存储型跨站脚本)

DVWA-WooYun

DVWA-WooYun 是基于 wooyun 历史真实漏洞而设计的漏洞靶场, 项目地址:
| https://github.com/lxj616/DVWA-WooYun
包含的漏洞如下:
靶场攻略 | 网络安全靶场合集


2、Bwapp

一款非常好用的漏洞演示平台,包含有100多个漏洞
docker search bwapp
docker pull raesene/bwapp
docker run -itd --name bwapp raesene/bwapp
Bash

3、iwebsec

4、Pikachu
Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。
Pikachu上的漏洞类型列表如下:
Burt Force(暴力破解漏洞)
XSS(跨站脚本漏洞)
CSRF(跨站请求伪造)
SQL-Inject(SQL注入漏洞)
RCE(远程命令/代码执行)
Files Inclusion(文件包含漏洞)
Unsafe file downloads(不安全的文件下载)
Unsafe file uploads(不安全的文件上传)
Over Permisson(越权漏洞)
../../../(目录遍历)
I can see your ABC(敏感信息泄露)
PHP反序列化漏洞
XXE(XML External Entity attack)
不安全的URL重定向
SSRF(Server-Side Request Forgery)
管理工具
More…(找找看?..有彩蛋!)
项目地址:
| https://github.com/zhuifengshaonianhanlu/pikachu
docker安装
git clone https://github.com/zhuifengshaonianhanlu/pikachu
cd
pikachu
docker build -t
"pikachu" .
使用当前目录 kerfile 创建镜像,命为 pikachu。要和 Dockerfile 在同一目录,注意命令后面还有一个点
中间会拉取 lnmp 环境,大约有 200M
docker run -it -d -p
8082:80 pikachu
首页有一个初始化按钮,点击初始化后即可
Bash

5、Permeate

6、SQLI-Labs
专注于 sql 注入研究的靶场,共计 65 关,项目地址:
https://github.com/Audi-1/sqli-labs
docker安装
docker pull acgpiano/sqli-labs
docker images
docker run -dt --name sqli -p
80:80 --rm acgpiano/sqli-labs
访问80端口
Bash

7、Upload-Labs

upload-labs 是一个使用 php 语言编写的,专门收集渗透测试和 CTF 中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。项目地址:
| https://github.com/c0ny1/upload-labs
靶机包含的漏洞类型分类:
靶场攻略 | 网络安全靶场合集
docker pull c0ny1/upload-labs
docker run -d -p
81:80 c0ny1/upload-labs
可以正常启动
但是,当上传文件时,会出现下图所示的报错,即使上传合法的文件也是报错
解决:
① 进入upload-labs容器
docker
exec -it [CONTAINER ID] /bin/bash  #查看CONTAINER ID命令docker ps
② 创建upload文件夹:mkdir upload
③ 给upload赋权限:chmod
777 upload
此时,一切正常。靶场搭建完毕!
Bash

8、XSS-Labs

针对 xss 漏洞的专项训练靶场,一共 20 关,涉及的知识点包括:
无过滤 XSS (level 1)
各种难度的构造闭合 XSS (level 2、3、4、5、6)
各种难度的绕过过滤 XSS (level 2、3、4、5、6)
双写拼接 XSS (level 7)
实体编码+HTML 编码 XSS (level 8、9)
input 中的 XSS (level 10)
HTTP headers 头中的 XSS (level 11、12、13)
exif XSS (level 14)
angularjs XSS (level 15)
URL 编码 XSS (level 16)
embed 标签的 XSS (level 17、18)
Flash XSS (level 19、20)
项目地址:
| https://github.com/do0dl3/xss-labs
在线地址:http://test.xss.tv

XSS Vulnerability Scenarios (challenges)

https://github.com/moeinfatehi/xss_vulnerability_challenges
this repository is a docker containing some "XSS vulnerability" challenges and bypass examples.
The ideas behind challenges are: 
Javascript validation bypass
html entities bypass
WAF bypass
Black-list validation bypass
Basic XSS validation bypass
Double encode bypass of WAF to exploit XSS
Exploiting XSS by bypassing escape characters
启动方法:
sudo docker run -d -p 9003:80 moeinfatehi/xss_vulnerability_challenges
Bash

或者
git clone https://github.com/moeinfatehi/xss_vulnerability_challenges.git
cd
xss_vulnerability_challenges
docker-compose up
访问http://localhost:9003
Bash

靶场攻略 | 网络安全靶场合集

9、SSRF-LAB

SSRF-LABS 有一个好看又简洁的界面,提供了最基本的 REST API 和客户端 WebHook 功能用于 SSRF 测试。项目地址:
| https://github.com/m6a-UdS/ssrf-lab/
以此衍生出的新的靶场,基于实际环境的云基础设施攻击靶场 DVCA,项目地址:
| https://github.com/m6a-UdS/dvca
项目以 AWS 为目标云,通过 SSRF 漏洞获得云基础设施的管理员权限


10、Webug4.0

基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 虚拟机中
安装
虚拟机下载地址:https://pan.baidu.com/s/1k6Th3RwJZTHrmoS2EbO6vA 提取码:pzaq


11、XXE-lab(针对XXE)
xxe-lab由国内大佬@c0ny1开发的,与sqli-labs有些类似,主要专注于XML外部实体注入漏洞这一块。
xxe-lab是一个使用php,java,python,C#四种当下最常用语言的网站编写语言来编写的一个存在xxe漏洞的web demo。
GITHUB地址:https://github.com/c0ny1/xxe-lab
安装
php_xxe
直接放在php web页面下即可运行。

java_xxe
java_xxe是serlvet项目,直接导入eclipse当中即可部署运行。

python_xxe:
安装好Flask模块
python xxe.py

Csharp_xxe
直接导入VS中运行

Bash

12、PHP7 版 sqli-labs

基于第一个 sqli-lab 项目,将所有代码适配到 php7 版本,涉及的技术和测试方法跟第一个项目相差无几,项目地址:
| https://github.com/skyblueee/sqli-labs-php7
靶场攻略 | 网络安全靶场合集

13、Mutillidae_2

包含四十多个漏洞,使用 php 语言编写
部署:curl -sSL https://websploit.org/install.sh | sudo bash

4
ASP环境
1、MSSQL-SQLi-labs
https://github.com/Larryxi/MSSQL-SQLi-Labs
关于系统的说明
1.前期使用的架构是Windows 2003上的iis+asp+bootstrap+mssql 2000
2.asp开发参考的书目是《ASP 从入门到精通(放弃)》
3.主要的代码逻辑则仿造的是php版的sqli-labs,完成了前20关的内容,其中也有些小替换
程序的几个关键点
1.asp不支持动态包含文件所以就重复了多次前端页面
2.对于数据库的报错特性,在脚本中设置了捕获陷阱,当有报错时再把错误信息写入到页面中
3.由于使用到Recordset,不能简单地取出某一列来判断SQL语句是否有查询出结果,而是需要同时判断BOF和EOF才更加合理
4.在SQL Server 2000中QUOTED_IDENTIFIER 为 ON 时,双引号只能用于分隔标识符,不能用于分隔字符串,所以在某些关卡中对查询语句进行了替换
详见:NmapRecordSearch && MSSQL-SQLi-Labs 初步开发小结

5
NoSQLi Lab

之前的项目都是针对关系型数据库的利用,这个项目是针对非关系型数据库的漏洞环境,比如 redis、mongoDB 等,测试起来还是有所差别的,项目地址:
| https://github.com/digininja/nosqlilab
apt-get update && apt-get dist-upgrade
apt-get
install php-mongodb apache2 vim mongodb git php

cd
/var/www/html/
rm
index.html
git
clone https://github.com/digininja/nosqlilab
Bash

靶场攻略 | 网络安全靶场合集

6
GO环境
https://github.com/leveryd/go-sec-code书签:GitHub - leveryd/go-sec-code: Go相关的安全研究
"漏洞类型"包括:
任意文件读取
任意文件写入
SSRF
命令执行注入
SQL注入
模板注入
并发攻击
靶场攻略 | 网络安全靶场合集
靶场攻略 | 网络安全靶场合集


7
Node靶场



1、Vulnerable-node

https://github.com/cr0hn/vulnerable-node

2、JuiceShop

使用 Node.js、Express 和 Angular 编写的 web 漏洞靶场环境,同样包含 OWASP Top 10 所有漏洞,比较贴近现在流行的前后端分离的架构,学习如何发现 API 的安全漏洞
curl -sSL https://websploit.org/install.sh | sudo bash

8
Ruby靶场

Ruby靶场

https://github.com/cliffe/secgen
9
API测试环境

1、APISandbox

Pre-Built Vulnerable Multiple API Scenarios Environments Based on Docker-Compose.
APISandbox是一个包含多个场景的API漏洞靶场。
目前有以下几个API漏洞场景靶场:
✔️4ASystem: 4A认证系统下的API平行越权
✔️APIVuln: 生产消费流水线中的API缓存投毒
✔️GraphqlNotebook: 一个使用GraphQL的留言板以及经典API漏洞
✔️InfoSystem: WSDL泄露API越权进后台Getshell
✔️OASystem: SpringBoot微服务架构下的API Gateway配置问题
✔️OWASPApiTop10: 使用go作为后端实现解释OWASP API Top 10的漏洞
欢迎小伙伴提交更多API安全实战思路攻略等,社区会帮忙实现成靶场环境~
安装
在Ubuntu 20.04下安装docker/docker-compose:
# 安装pip
curl
-s https://bootstrap.pypa.io/get-pip.py | python3

# 安装最新版docker

curl
-s https://get.docker.com/ | sh

# 启动docker服务

systemctl start docker

# 安装compose

pip
install docker-compose
bash

其他操作系统安装docker和docker-compose可能会有些许不同,请阅读Docker文档进行安装。
使用
# 下载项目
wget
https://github.com/API-Security/APISandbox/archive/refs/heads/main.zip -O APISandbox-main.zip
unzip
APISandbox-main.zip
cd
APISandbox-main

# 进入某一个漏洞/环境的目录

cd
OWASPApiTop10

# 自动化编译环境

docker-compose build

# 启动整个环境

docker-compose up -d
bash

每个环境目录下都有相应的说明文件,请阅读该文件,进行漏洞/环境测试。
测试完成后,删除整个环境
docker-compose down -v


本项目中所有环境仅用于测试,不可作为生产环境使用!
注意事项:为防止出现权限错误,最好使用root用户执行docker和docker-compose命令、docker部分镜像不支持在ARM等架构的机器上运行
项目地址:https://github.com/API-Security/APISandbox

10
云安全测试环境

云安全测试环境

Metarget的名称来源于meta-(元)加target(目标,靶机),是一个脆弱基础设施自动化构建框架,主要用于快速、自动化搭建从简单到复杂的脆弱云原生靶机环境。
安装环境
Ubuntu 16.04或18.04
Python >= 3.6 (不支持Python 2.x!)
pip3
 从源码安装
拉取仓库,安装必要库文件:
git clone https://github.com/brant-ruan/metarget.git
cd metarget/
pip install -r requirements.txt
使用Metarget,搭建脆弱场景,例如:
./metarget cnv install cve-2019-5736
基本操作
usage: metarget [-h] [-v] subcommand ...
automatic constructions of vulnerable infrastructures
positional arguments:
  subcommand     description
    gadget       cloud native gadgets
(docker/k8s/...) management
    cnv          cloud native vulnerabilities management
    appv         application vulnerabilities management
optional arguments:
  -h, --help     show this
help message and exit
  -v, --version  show program's version number and
exit
Bash

执行./metarget gadget list了解当前支持的云原生组件。
管理云原生组件
usage: metarget gadget [-h] subcommand ...
positional arguments:
  subcommand  description
    list      list supported gadgets
   
install   install gadgets
    remove    uninstall gadgets
optional arguments:
  -h, --help  show this
help message and exit
Bash

示例
#安装制指定版docker
./metarget gadget
install docker --version 18.03.1
#安装指定版本Kubernetes

./metarget gadget
install k8s --version 1.16.5
#安装指定版本的Kata-containers

./metarget gadget
install kata --version 1.10.0
#安装指定版本Linux内核

./metarget gadget
install kernel --version 5.7.5
Bash

管理“云原生组件”的脆弱场景
usage: metarget cnv [-h] subcommand ...

positional arguments:
  subcommand  description
    list      list supported cloud native vulnerabilities
    install   install cloud native vulnerabilities
    remove    uninstall cloud native vulnerabilities

optional arguments:
  -h, --help  show this help message and exit

Bash

执行./metarget cnv list了解当前支持的云原生组件脆弱场景。
示例:
#CVE-2019-5736
./metarget cnv
install cve-2019-5736
#CVE-2018-1002105

./metarget cnv
install cve-2018-1002105
#Kata-containers安全容器逃逸

./metarget cnv
install kata-escape-2020
#CVE-2016-5195

./metarget cnv
install cve-2016-5195
Bash

目前支持的云原生脆弱场景
场景名称
涉及组件
场景类型
CVSS 3.x
Writeup
cve-2018-15664
docker
容器逃逸
7.5
cve-2019-13139
docker
命令执行
8.4
链接
cve-2019-14271
docker
容器逃逸
9.8
链接
cve-2020-15257
docker/containerd
容器逃逸
5.2
链接
cve-2019-5736
docker/runc
容器逃逸
8.6
cve-2019-16884
docker/runc
容器逃逸
7.5
cve-2021-30465*
docker/runc
容器逃逸
7.6
链接
cve-2017-1002101
k8s
容器逃逸
9.6
链接
cve-2018-1002105
k8s
权限提升
9.8
cve-2018-1002100
k8s/kubectl
容器逃逸
5.5
cve-2019-1002101
k8s/kubectl
容器逃逸
5.5
cve-2019-11246
k8s/kubectl
容器逃逸
6.5
cve-2019-11249
k8s/kubectl
容器逃逸
6.5
cve-2019-11251
k8s/kubectl
容器逃逸
5.7
cve-2019-11253
k8s
拒绝服务
7.5
cve-2019-9512
k8s
拒绝服务
7.5
cve-2019-9514
k8s
拒绝服务
7.5
cve-2019-9946
k8s
流量劫持
7.5
cve-2020-8554
k8s
中间人攻击
5.0
cve-2020-8555
k8s
服务端请求伪造(SSRF)
6.3
cve-2020-8557
k8s
拒绝服务
5.5
cve-2020-8558
k8s
服务暴露
8.8
cve-2020-8559
k8s
权限提升
6.8
cve-2021-25741
k8s
容器逃逸
8.1
cve-2016-5195
kernel
容器逃逸
7.8
cve-2016-8655
kernel
权限提升
7.8
cve-2017-6074
kernel
权限提升
7.8
cve-2017-7308
kernel
容器逃逸
7.8
链接
cve-2017-16995
kernel
权限提升
7.8
cve-2017-1000112
kernel
容器逃逸
7.0
链接
cve-2018-18955
kernel
权限提升
7.0
cve-2020-14386
kernel
容器逃逸
7.8
cve-2021-22555
kernel
容器逃逸
7.8
kata-escape-2020
kata-containers
容器逃逸
6.3/8.8/8.8
cap_dac_read_search-container
危险配置
容器逃逸
-
链接
cap_sys_admin-container
危险配置
容器逃逸
-
cap_sys_ptrace-container
危险配置
容器逃逸
-
privileged-container
危险配置
容器逃逸
-
链接
mount-docker-sock
危险挂载
容器逃逸
-
链接
mount-host-etc
危险挂载
容器逃逸
-
mount-host-procfs
危险挂载
容器逃逸
-
链接
mount-var-log
危险挂载
容器逃逸
-
链接

管理“云原生应用”的脆弱场景
usage: metarget appv [-h] subcommand ...

positional arguments:
  subcommand  description
    list      list supported application vulnerabilities
    install   install application vulnerabilities
    remove    uninstall application vulnerabilities

optional arguments:
  -h, --help  show this help message and exit

Bash

执行./metarget appv list了解当前支持的云原生应用脆弱场景。
注意:在构建云原生应用的脆弱场景前,需要先安装Docker及Kubernetes,可以使用Metarget相关命令来完成。
示例:
./metarget appv install dvwa
参考文档:https://github.com/Metarget/metarget/blob/master/README-zh.md

容器测试工具
CDK是一款为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。
https://github.com/cdk-team/CDK/wiki/CDK-Home-CN
11
APP靶场


1、DIVA

在APP项目交付的时候经常会测试客户端今天通过靶场来学习一下客户端不规范项。
DIVA (Damn insecure and vulnerable App),是一个故意设计为全身漏洞的APP软件,它能让开发人员、QA、安全人员了解到APP软件一般存在的问题。
| https://github.com/payatu/diva-android
Compile Diva
Download the source
Open the project in Android Studio
For Native library - open command line
$ cd /app/src/main/jni
$ make (This needs to be done only once, unless you make changes to the native code - in which case run "make clean && make")
This will compile the native library and copy all the compiled versions in directory jniLibs which is required when building the app
From the menu bar: Build->Make Project or Run->Run App
Run Diva
Compile/download the app
On your phone settings. Go to security and check Unknown Sources checkbox. This allows you to install apps outside of play store. You don’t need to do this if you are installing the app on an emulator.
Connect your phone to the computer (make sure USB debugging is enabled on your phone) or run the emulator.
cd
adb install
Start playing.
Current Challenges include:
1.Insecure Logging
2.Hardcoding Issues – Part 1
3.Insecure Data Storage – Part 1
4.Insecure Data Storage – Part 2
5.Insecure Data Storage – Part 3
6.Insecure Data Storage – Part 4
7.Input Validation Issues – Part 1
8.Input Validation Issues – Part 2
9.Access Control Issues – Part 1
10.Access Control Issues – Part 2
11.Access Control Issues – Part 3
12.Hardcoding Issues – Part 2
13.Input Validation Issues – Part 3


不安全日志输出-Insecure Logging
开发人员有意或无意地记录敏感信息(如凭据,会话ID,财务详细信息等)
靶场攻略 | 网络安全靶场合集
我们输入的数字”123456789”,使用adb logcat 命令可以看到
E/diva-log( 3575): Error while processing transaction with credit card: 123456789
text

使用jd-gui看下logActivity.class 可以发现
{Log.e("diva-log", "Error while processing transaction with credit card: " + paramView.getText().toString());
Toast
.makeText(this, "An error occured. Please try again later", 0).show();}
Java

代码中使用了log.e,如果开发人员在debug时不小心忘记去掉log输出,将会造成很大的安全隐患。
不安全的数据存储
Insecure Data Storage -Part1
不安全的数据存储也是App常见的安全问题之一,主要有三种方式:
将敏感数据保存到配置文件中。
将敏感数据保存在本地的sqlite3数据库中
将敏感数据保存在临时文件或者sd卡中。
使用了SharedPreferences类,该类是Android平台上一个轻量级的存储类,主要是用来保存一些常用的配置,本例中是用该类存储了用户名和密码,因此是具有风险的。SharedPreferences类存储的数据会以.xml的形式存储在/data/data/apppackagename/shared_prefs目录下
输入用户名和密码都为admin
靶场攻略 | 网络安全靶场合集
使用adb连接手机查看文件
靶场攻略 | 网络安全靶场合集
InsecureDataStorage1Activity.class
paramView = PreferenceManager.getDefaultSharedPreferences(this).edit();
EditText
localEditText1 = (EditText)findViewById(2131493000);
EditText
localEditText2 = (EditText)findViewById(2131493001);
paramView
.putString("user", localEditText1.getText().toString());
paramView
.putString("password", localEditText2.getText().toString());
paramView
.commit();
Toast
.makeText(this, "3rd party credentials saved successfully!", 0).show();
Java

Insecure Data Storage -Part2
一般app对应的数据库目录: /data/data/apppackagename/databases
输入用户名,密码都为ceshi
靶场攻略 | 网络安全靶场合集
使用adb查看数据库
靶场攻略 | 网络安全靶场合集
InsecureDataStorage2Activity.class
  SQLiteDatabase localSQLiteDatabase = this.mDB;
  paramView
= new java/lang/StringBuilder;
  paramView
.<init>();
  localSQLiteDatabase
.execSQL("INSERT INTO myuser VALUES ('" + localEditText1.getText().toString() + "', '" + localEditText2.getText().toString() + "');");
 
this.mDB.close();
 
Toast.makeText(this, "3rd party credentials saved successfully!", 0).show();
Java

Insecure Data Storage -Part3
输入用户名和密码为demo
靶场攻略 | 网络安全靶场合集
使用adb查看临时文件,目录在/data/data/apppackagename/
靶场攻略 | 网络安全靶场合集
InsecureDataStorage3Activity.class
      Object localObject2 = File.createTempFile("uinfo", "tmp", (File)localObject1);
     
((File)localObject2).setReadable(true);
     
((File)localObject2).setWritable(true);
      localObject1
= new java/io/FileWriter;
     
((FileWriter)localObject1).<init>((File)localObject2);
      localObject2
= new java/lang/StringBuilder;
     
((StringBuilder)localObject2).<init>();
     
((FileWriter)localObject1).write(localEditText.getText().toString() + ":" + paramView.getText().toString() + "n");
     
((FileWriter)localObject1).close();
     
Toast.makeText(this, "3rd party credentials saved successfully!", 0).show();
Java

Insecure Data Storage -Part4
存储sd卡的目录一般在:/mnt/sdcard
InsecureDataStorage4Activity.class
    paramView = (EditText)findViewById(2131493010);
   
EditText localEditText = (EditText)findViewById(2131493011);
   
File localFile = Environment.getExternalStorageDirectory();
   
try
   
{
     
Object localObject1 = new java/io/File;
     
Object localObject2 = new java/lang/StringBuilder;
     
((StringBuilder)localObject2).<init>();
     
((File)localObject1).<init>(localFile.getAbsolutePath() + "/.uinfo.txt");
     
((File)localObject1).setReadable(true);
     
((File)localObject1).setWritable(true);
      localObject2
= new java/io/FileWriter;
     
((FileWriter)localObject2).<init>((File)localObject1);
      localObject1
= new java/lang/StringBuilder;
     
((StringBuilder)localObject1).<init>();
     
((FileWriter)localObject2).write(paramView.getText().toString() + ":" + localEditText.getText().toString() + "n");
     
((FileWriter)localObject2).close();
     
Toast.makeText(this, "3rd party credentials saved successfully!", 0).show();
     
return;
   
}
Java

可以看到使用Environment.getExternalStorageDirectory()来获取sd卡的目录,文件名为.unifo.txt
靶场攻略 | 网络安全靶场合集

12
其他测试环境

1、Vulhub

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。项目地址:
| https://vulhub.org/
使用文档:
| https://vulhub.org/#/docs/
当前涉及漏洞环境 200 个,Github 项目地址:
| https://github.com/vulhub/vulhub
靶场攻略 | 网络安全靶场合集

2、VulApps

收集各种漏洞环境,为方便使用,统一采用 Dockerfile 形式。同时也收集了安全工具环境。
| 喜欢请点 Star,如果不打算贡献,千万别 Fork
本项目 GitHub 地址: https://github.com/Medicean/VulApps
DockerHub 在线镜像地址
http://vulapps.evalbug.com/
靶场攻略 | 网络安全靶场合集

3、vulawdhub

https://github.com/0xs1riu5/vulawdhub
利用docker技术创建的有漏洞的cms环境集合
13
综合靶场环境

1、Metasploitable
它是一个虚拟靶机系统,里面含有大量未被修复的安全漏洞,它主要是用于metasploit-framework测试的漏洞目标。
安装
下载链接:https://github.com/rapid7/metasploitable3
导入Oracle VM VirtualBox虚拟机即可


2、VulnHub

Vulnhub 它是一个提供各种漏洞环境的平台,里面大部分的环境是要用 VMware 或者 VirtualBox 打开运行的。目前该项目已累计设计开发 700+ 靶场,官方网站:
| https://www.vulnhub.com/
靶场攻略 | 网络安全靶场合集


3、Vulnstack

红蓝对抗,内网、域渗透最新靶场:地址:http://vulnstack.qiyuanxuetang.net/vuln/
下载靶机,导入虚拟机即可开始
靶场攻略 | 网络安全靶场合集


4、Vulntarget

vulntarget靶场系列仅供安全专业人员练习渗透测试技术,此靶场所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用靶场中的技术资料对任何计算机系统进行入侵操作。利用此靶场所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 vulntarget靶场系列拥有对此靶场系列的的修改、删除和解释权限,未经授权,不得用于其他!!!
vulntarget靶场是我们自行设计搭建的靶场,其中涵盖Web漏洞、主机漏洞、域漏洞、工控漏洞等等。
目前正在不断更新中。。。。。。
靶场下载
vulntrarget-a~vulntarget-f
百度云:链接: 链接: https://pan.baidu.com/s/1sv9qdioNF4PTUliix5HEfg 提取码: 2dwq
靶场攻略 | 网络安全靶场合集

5、WebSploit Labs

https://websploit.org/
#安装
curl
-sSL https://websploit.org/install.sh | sudo bash


#更新

wget
https://websploit.org/update.sh
sudo
bash update.sh

Bash

靶场攻略 | 网络安全靶场合集

-END-

▎经典文章精选

安全攻防 | APP抓包大全
安全攻防 | frp内网穿透
安全攻防 | mysql安全问题及修复方式
安全攻防 | MSF生成Payload方式总结
安全攻防 | 浅谈ms17-010多种利用方式
安全攻防 | CobaltStrike与水坑攻击的联动
安全攻防 | 记一次sql注入到内网漫游
安全攻防 | 多种方式关闭讨厌的defender!

靶场攻略 | 网络安全靶场合集

扫描下方 二维码 加入我们吧!

靶场攻略 | 网络安全靶场合集

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月5日16:33:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  靶场攻略 | 网络安全靶场合集 http://cn-sec.com/archives/1500130.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: