攻防环境搭建
1. 安装虚拟机软件
首先,你需要在 Windows 上安装一个虚拟机软件,如 VMware Workstation、Oracle VirtualBox 或 Hyper-V。
(1)VMware Workstation
-
访问 VMware 官方网站下载并安装 VMware Workstation Player 或 VMware Workstation Pro。
(2)Oracle VirtualBox
-
访问 Oracle VirtualBox 官方网站下载并安装 VirtualBox。
(3)Hyper-V(仅限Windows 10专业版和企业版)
-
在“控制面板”中搜索“程序和功能”,点击“启用或关闭 Windows 功能”。
-
在弹出的列表中勾选“Hyper-V”,然后点击“确定”进行安装。
2. 下载 Kali Linux 镜像
-
访问 Kali Linux 官方网站 下载适用于虚拟机的 Kali Linux 镜像文件(通常是
.iso格式)。
3. 创建新的虚拟机
(1)VMware Workstation
-
打开 VMware Workstation,点击“创建新的虚拟机”。
-
选择“典型(推荐)”并点击“下一步”。
-
选择“安装程序光盘映像文件(iso)”,然后浏览并选择下载的 Kali Linux 镜像文件。
-
根据向导完成虚拟机的创建和配置。
(2)Oracle VirtualBox
-
打开 Oracle VirtualBox,点击“新建”。
-
输入虚拟机名称(如 Kali Linux),选择类型为“Linux”,版本为“Debian(64 位)”。
-
分配内存大小(至少 2GB)和创建虚拟硬盘。
-
点击“设置”按钮,选择“存储”,然后点击“控制器:IDE”,选择“空白”,点击右侧的光盘图标,选择“选择磁盘文件”,加载下载的 Kali Linux 镜像文件。
(3)Hyper-V
-
打开“Hyper-V 管理器”。
-
点击“操作”菜单,选择“新建”然后点击“虚拟机”。
-
在“指定名称和位置”页面输入虚拟机名称和存储位置。
-
在“指定生成”页面选择“第一代”。
-
在“分配内存”页面设置启动内存(至少 2GB)。
-
在“配置网络”页面选择网络适配器(默认即可)。
-
在“连接虚拟硬盘”页面选择“创建虚拟硬盘”并设置大小。
-
在“安装选项”页面选择“从可启动的 CD/DVD-ROM 安装机”,浏览并选择下载的 Kali Linux 镜像文件。
-
点击“完成”创建虚拟机。
4. 安装 Kali Linux
-
启动虚拟机,它会从你指定的 Kali Linux 镜像启动。
-
按照屏幕上的指示完成 Kali Linux 的安装过程。
-
安装完成后,重启虚拟机并移除镜像文件(在虚拟机设置中移除 CD/DVD 驱动器的镜像文件)。
5. 配置 Kali Linux
-
登录到 Kali Linux 系统。
-
更新系统软件包:
sudo apt update && sudo apt upgrade -
安装必要的工具和驱动程序。
-
配置网络连接,确保 Kali Linux 可以访问互联网。
6. 安全设置
-
更改默认的用户名和密码,增强安全性。
-
配置防火墙,只允许必要的端口和服务。
-
定期更新系统和安全补丁。
apache、nginx、Lighttpd、tengine等php攻防环境搭建
搭建 Apache、Nginx、Lighttpd、Tengine 等 PHP 防攻环境需要对这些 Web 服务器进行安装配置,并确保 PHP 环境正确安装和配置。以下是针对这些 Web 服务器搭建 PHP 防攻环境的具体步骤:
Apache 防攻环境搭建
Apache 是最常用的 Web 服务器之一,搭建 Apache 防攻环境需要以下步骤:
-
安装 Apache 服务器:
bash复制
sudo apt update sudo apt install apache2 -
安装 PHP 及常用扩展:
bash复制
sudo apt install php libapache2-mod-php php-mysql -
配置 PHP 与 Apache 的连接:
bash复制
sudo systemctl enable apache2 sudo systemctl start apache2 -
测试 PHP 安装: 创建一个 PHP 文件来测试 PHP 是否正确安装:
bash复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php在浏览器中访问
http://your_server_ip/phpinfo.php。
Nginx 防攻环境搭建
Nginx 是高性能的 Web 服务器,搭建 Nginx 防攻环境需要以下步骤:
-
安装 Nginx 服务器:
bash复制
sudo apt update sudo apt install nginx -
安装 PHP 及常用扩展:
bash复制
sudo apt install php-fpm php-cli php-json php-common php-mysql -
配置 PHP 与 Nginx 的连接: 编辑
/etc/nginx/sites-available/default文件,添加 PHP 处理配置:nginx复制
location ~ \.php$ { include snippets/fastcgi_params; fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }重启 Nginx 服务:
bash复制
sudo systemctl restart nginx -
测试 PHP 安装: 创建一个 PHP 文件来测试 PHP 是否正确安装:
bash复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php在浏览器中访问
http://your_server_ip/phpinfo.php。
Lighttpd 防攻环境搭建
Lighttpd 是轻量级的 Web 服务器,搭建 Lighttpd 防攻环境需要以下步骤:
-
安装 Lighttpd 服务器:
bash复制
sudo apt update sudo apt install lighttpd -
安装 PHP 及常用扩展:
bash复制
sudo apt install php7.4 php7.4-mysql -
配置 PHP 与 Lighttpd 的连接: 编辑
/etc/lighttpd/lighttpd.conf文件,添加 PHP 处理配置:lighttpd复制
server.modules += ( "mod_fastcgi") fastcgi.server = (".php" => ( "socket" => "/tmp/php7.4-fpm.sock", "bin-path" => "/usr/bin/php7.4", "file-type" => "application/x-httpd-php" ) )重启 Lighttpd 服务:
bash复制
sudo systemctl restart lighttpd -
测试 PHP 安装: 创建一个 PHP 文件来测试 PHP 是否正确安装:
bash复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php在浏览器中访问
http://your_server_ip/phpinfo.php。
Tengine 防攻环境搭建
Tengine 是基于 Nginx 的 Web 服务器,搭建 Tengine 防攻环境需要以下步骤:
-
安装 Tengine 服务器:
bash复制
sudo apt update sudo apt install tengine -
安装 PHP 及常用扩展:
bash复制
sudo apt install php-fpm php-cli php-json php-common php-mysql -
配置 PHP 与 Tengine 的连接: 编辑
/etc/tengine/tengine.conf文件,添加 PHP 处理配置:nginx复制
location ~ \.php$ { include snippets/fastcgi_params; fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }重启 Tengine 服务:
bash复制
sudo systemctl restart tengine -
测试 PHP 安装: 创建一个 PHP 文件来测试 PHP 是否正确安装:
bash复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php在浏览器中访问
http://your_server_ip/phpinfo.php。
tomcat+Sruts攻防环境搭建
-
下载 Jspstudy:首先,你需要下载 Jspstudy,这是一个集成环境,可以让你快速搭建 Java Web 应用的开发和测试环境。
-
放置 Struts2-showcase:将下载的 Struts2-showcase 放入 Tomcat 的 webapps 目录下,它会自动解析出网站。这一步是利用 Struts2 的示例应用来搭建测试环境,方便进行攻防演练。
-
打开 Struts2 并进行拿shell:在浏览器中输入网址
http://localhost:8080/struts2-showcase/showcase.action来打开 Struts2 应用。然后点击 Configuration,点击 Action Chaining 来进行进一步的测试和利用。 -
利用漏洞扫描工具:你可以利用专门的 Struts2 漏洞利用工具进行扫描攻击。例如,可以利用 K8 struts2 工具进行漏洞扫描利用。复制网址
http://localhost:8080/struts2-showcase/actionchaining/actionChain1!input.action并执行命令,如 ipconfig 命令,来验证漏洞是否存在并成功执行。 -
发现并利用远程代码执行漏洞:在漏洞扫描过程中,可能会发现 Struts2 存在远程代码执行漏洞,如 s2-045 和 s2-046。选择 s2-046 进行攻击,攻击成功后,可以返回 ipconfig 信息,成功拿到对方的 shell,实验结束。
jboss攻防环境搭建
-
环境搭建: 使用 Docker 快速搭建 JBoss AS 4.0.5 漏洞环境。靶机 IP 为 192.168.10.144,操作系统为 Ubuntu 18.0.4 LTS。攻击机 IP 为 192.168.10.150,操作系统为 Kali。安装完 Docker 后,直接拉取 vulhub 的源码。靶机启动服务执行命令
docker-compose up -d启动 JBoss AS 4.0.5。 -
漏洞复现:
-
对 JBoss JMXInvokerServlet 反序列化漏洞进行复现。直接使用 Docker 搭建的漏洞环境。环境启动以后,直接访问
http://you-ip:8080。使用下载的工具进行检测,例如java -jar DeserializeExploit.jar执行命令,文件管理,进行漏洞利用。 -
对 JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)进行复现。此次环境尝试用 Docker 搭建。一、环境搭建。1.docker 的安装参考。2.安装完 docker 后,直接拉取 vulhub 的源码。3.靶机启动服务执行如下命令启动 JBoss AS 4.0.5
docker-compose up -d。
-
-
利用工具:
-
使用
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java编译,设置反弹的 IP 和端口,生成序列化对象保存在ReverseShellCommonsCollectionsHashMap.ser中,用 curl 命令发送到 JBoss 服务地址进行漏洞利用。
-
-
反弹 Shell:
-
先在测试机运行 nc 命令,进入监听模式。再打开另一个控制台,运行如下 curl 命令进行反弹测试。
-
-
漏洞修复建议:
-
升级 JBoss 为高版本。
-
删除
/**/jbossmq-httpil/HTTPServerILServlet接口。 -
通过向
http-invoker.sar的web.xml文件中的安全约束添加url-pattern来保护对整个http-invoker上下文的访问。不想使用http-invoker.sar可以将其删除。具体方法包括修改web.xml文件、不需要http-invoker.sar组件的直接删除、升级 JBoss 到 JBoss7x 版本等。
-
Weblogic攻防环境搭建
-
环境搭建:
-
使用 Docker 快速搭建 WebLogic 漏洞环境。靶机 IP 为 192.168.10.144,操作系统为 Ubuntu 18.0.4 LTS。攻击机 IP 为 192.168.10.150,操作系统为 Kali。安装完 Docker 后,直接拉取 vulhub 的源码。靶机启动服务执行命令
docker-compose up -d启动 WebLogic AS 4.0.5。
-
-
漏洞复现:
-
启动 WebLogic 服务,环境就搭建完成了。信息收集:端口扫描 先使用 nmap 去尝试探测端口。发现存在 80,1433,3389,7001 端口。重新开了服务,发现 7001 端口开放。访问 WebLogic 页面。漏洞利用:WebLogic 反序列化 使用工具进行探测,发现存在 CVE-2020-2551。
-
-
利用工具:
-
利用 K8 struts2 工具进行漏洞扫描利用。复制网址
http://localhost:8080/struts2-showcase/actionchaining/actionChain1!input.action并执行命令,如 ipconfig 命令,来验证漏洞是否存在并成功执行。
-
-
反弹 Shell:
-
先在测试机运行 nc 命令,进入监听模式。再打开另一个控制台,运行如下 curl 命令进行反弹测试。
-
-
漏洞修复建议:
-
升级 WebLogic 为高版本。
-
删除
/**/jbossmq-httpil/HTTPServerILServlet接口。 -
通过向
http-invoker.sar的web.xml文件中的安全约束添加url-pattern来保护对整个http-invoker上下文的访问。不想使用http-invoker.sar可以将其删除。具体方法包括修改web.xml文件、不需要http-invoker.sar组件的直接删除、升级 WebLogic 到 WebLogic7x 版本等。
-
渗透测试之信息收集
主域名及二级域名探测
-
使用在线工具:
-
可以使用如 Layer子域名挖掘机、subDomainsBrute,oneforall,dnsmaper,K8,wydomain ,Sublist3r,Maltego等工具来探测主域名及二级域名。例如,SubDomainsBrute 是一个子域名爆破工具,该工具使用字典暴力破解的方式来尝试各种可能的子域名,并通过DNS解析来确定是否存在有效的子域名。在kali 中使用:
python3 subDomainsBrute.py -t 10 域名(-t指定线程数量)。
-
-
利用搜索引擎:
-
利用谷歌语法
site:bilibili.com查询来发现子域名。此外,还可以利用 FOFA 搜索子域名,语法:domain="bilibili.com"。
-
Google Hack信息探测
-
搜索引擎技巧:
-
使用 Google 搜索引擎进行高级搜索,以发现公开可访问的敏感信息。这可以通过 Google 的高级搜索技巧,如
site:、intext:等,查找特定文件类型,如.pdf、.doc,可能包含敏感数据。
-
-
特定文件搜索:
-
搜索特定文件类型,例如
filetype:pdf来找到公开的敏感文件。
-
子域名探测、敏感信息收集
-
第三方服务:
-
使用第三方服务如 VirusTotal 来检索给定域名的子域名。DNSdumpster 可以找到给定域名的大量潜在子域名。
-
-
证书透明(CT):
-
利用证书透明(CT)日志来检索子域名信息。SSL/TLS 证书通常包含域名,子域名和电子邮件地址。这使他们成为攻击者的宝库。可以在这里(https://blog.appsecco.com/certificate-transparency-the-bright-side-and-the-dark-side-8aa47d9a6616) 阅读这个系列。
-
-
基于字典的子域名枚举:
-
DNSRecon 是一个功能强大的DNS枚举工具,它的功能之一是使用预定义的列表进行基于字典的子域名探测。使用命令如下:
$ python dnsrecon.py -n ns1.insecuredns.com -d insecuredns.com -D subdomains-top1mil-5000.txt -t brt。
-
Web系统指纹识别
-
使用工具:
-
使用 Whatweb 工具来识别网站使用的操作系统、CMS、服务器与中间件信息等。此外,可以通过分析 HTTP 响应头、JavaScript 文件等,确定 Web 应用的技术和框架。
-
fofa及nmap使用
-
网络扫描与指纹识别:
-
fofa可以用来识别网站 CMS 及平台环境的工具,而nmap是一款网络扫描和指纹识别的工具,用于端口扫描,识别开放的服务和应用程序。
-
-
端口扫描:
-
使用
nmap进行端口扫描,识别开放的服务和应用程序。例如,使用nmap --script targets-asn --script-args targets-asn.asn=17012来扫描特定 ASN 号码下的网络块。
-
前期信息资产梳理
-
资产整理:
-
整理收集到的信息,如 IP 地址、域名、服务、应用等。分析资产的重要性和潜在的安全风险,有助于提高渗透测试的成功率。
-
通过上述方法,您可以对目标组织的信息资产进行全面梳理,为渗透测试和安全审计提供基础信息。

6246

被折叠的 条评论
为什么被折叠?



