Machine TwoMillion [EASY]
Im doing it adventure mode so no hints no guidance nmap scan:
❯ nmap -sV -T4 10.129.9.112Starting Nmap 7.98 ( https://nmap.org ) at 2026-03-02 22:41 +0100Nmap scan report for 10.129.9.112Host is up (0.23s latency).Not shown: 998 closed tcp ports (reset)PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)80/tcp open http nginxService Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 14.72 secondsalr so http + ssh;
let’s check:

let’s check one by one
so there’s http://2million.htb/invite with this :

alr lets try a login:
so i dont have any creds and i can’t create an account (no signup page)\
after a long time of being stuck, i tried a directory scan and got register:

but it still asks for an invite code
after viewing the source code i find this js file inviteapi.min.js and this is its code :
eval(function(p, a, c, k, e, d) { e = function(c) { return c.toString(36) } ; if (!''.replace(/^/, String)) { while (c--) { d[c.toString(a)] = k[c] || c.toString(a) } k = [function(e) { return d[e] } ]; e = function() { return '\\w+' } ; c = 1 } ;while (c--) { if (k[c]) { p = p.replace(new RegExp('\\b' + e(c) + '\\b','g'), k[c]) } } return p}('1 i(4){h 8={"4":4};$.9({a:"7",5:"6",g:8,b:\'/d/e/n\',c:1(0){3.2(0)},f:1(0){3.2(0)}})}1 j(){$.9({a:"7",5:"6",b:\'/d/e/k/l/m\',c:1(0){3.2(0)},f:1(0){3.2(0)}})}', 24, 24, 'response|function|log|console|code|dataType|json|POST|formData|ajax|type|url|success|api/v1|invite|error|data|var|verifyInviteCode|makeInviteCode|how|to|generate|verify'.split('|'), 0, {}))so let’s see if we can do something with this code:
idk what this does, but there’s like names of functions, like verifyInviteCode and makeInviteCode let’s try them in the console :

it does give me the autocomplete, let’s see if it gives me an invite code:

looks like rot 13 text, it translates to this:
In order to generate the invite code, make a POST request to /api/v1/invite/generate
alr lets try it:
i get this :
{"0":200,"success":1,"data":{"code":"TTk5QUMtVzRFSVotQUEwUkktS1JVODE=","format":"encoded"}}its a b64 that decoded to M99AC-W4EIZ-AA0RI-KRU81,
lets use it to register:
done, now we login:

oh this is big, really, let’s see
so all of these are fake buttons except for access , changelog, rules
let’s check them out:
nothing really interesting in rules, lets check changelog, so there’s a lot of logs, there’s ones marked as bugs, let’s read them there might be something as a hint that we could use prolly:
there’s this one that seems ineteresting : \
[*] Security Bug [reported by makelarisjr]: Shoutbox API information disclosure.A bug in the shoutbox API could allow an individual to acquire information about other members.we try to get info about admin, let’s keep it in mind and let’s check the access page:

we got some stuff going on. the buttons download openvpn download configs, im already connected to the htb vpn so it doesn make sense to connect to these, they’re prolly invalid too, let’s see if there’s anything else we could use:
so /api/v1/user/vpn/regenerate is where it downloads, so let’s look at the documentation of the api first:
(/api/v1)
we get this:

this is promising : /api/v1/admin/settings/update
i get this back ( when i give it nothing):
{"status":"danger","message":"Invalid content type."}
so we need to get the format of how the request should be :
so we make the content application/json:
it asks for email now:
lets try to give it the email :
and i get this:
"status":"danger","message":"Missing parameter: is_admin"so lets make is_admin=1 and get admin prolly:
returned this:
{"id":13,"username":"testUser","is_admin":1}we prolly got admin, lets refresh and see:
nothing different on the website, let’s see if we can do post to admin’s vpn and stuff like that:
i get this:
{"status":"danger","message":"Missing parameter: username"}let’s keep doing it until we get all the fields:
and yes, we get it:\
clientdev tunproto udpremote edge-eu-free-1.2million.htb 1337resolv-retry infinitenobindpersist-keypersist-tunremote-cert-tls servercomp-lzoverb 3data-ciphers-fallback AES-128-CBCdata-ciphers AES-256-CBC:AES-256-CFB:AES-256-CFB1:AES-256-CFB8:AES-256-OFB:AES-256-GCMtls-cipher "DEFAULT:@SECLEVEL=0"auth SHA256key-direction 1<ca>-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----</ca><cert>Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha256WithRSAEncryption Issuer: C=UK, ST=London, L=London, O=HackTheBox, OU=VPN, CN=2million/emailAddress=info@hackthebox.eu Validity Not Before: Mar 3 02:14:13 2026 GMT Not After : Mar 3 02:14:13 2027 GMT Subject: C=GB, ST=London, L=London, O=testUser, CN=testUser Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:bc:d6:8c:d9:61:2c:8b:09:f7:96:1c:b0:1f:2c: 43:a2:27:32:dd:a9:2e:48:9d:3e:c8:7f:6c:57:41: 28:07:65:a7:3c:a6:89:39:8c:2c:c8:76:7d:85:c1: a6:9e:26:c2:d7:41:07:4a:47:9b:0f:c7:9c:fa:56: cb:9f:5a:d2:42:4b:bc:ef:12:62:b4:83:25:b1:ca: 35:a7:63:47:b6:6e:f6:94:18:20:e5:61:48:e4:b1: 50:c2:71:b4:94:d6:19:fd:1e:3e:03:92:4b:00:db: 4a:04:ad:1e:eb:f7:a0:1d:41:34:3f:71:f6:b7:3c: 4f:9d:0d:9f:ab:1e:0a:e1:63:ab:28:9b:a7:49:66: 25:9e:6e:ef:e8:55:0f:46:e3:17:e4:b5:bb:3a:d6: ae:9c:0c:71:33:09:16:a2:df:c5:cc:06:0f:28:1a: 0e:51:98:97:0d:b2:2c:d8:5e:22:b0:f6:53:df:b1: cd:8b:6c:ac:3d:ce:51:eb:9b:22:00:f7:4c:fc:20: 40:57:9a:47:d3:06:bc:1b:87:42:63:9f:70:38:06: e4:3e:a7:91:ee:a4:8e:19:15:b6:0d:57:98:83:dc: 3b:ad:50:3d:76:59:2e:90:b3:6f:34:d0:c4:03:81: 0f:c8:f3:cd:a0:81:71:a2:ff:62:da:f6:ac:9f:ab: 91:93 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 1F:45:19:8B:82:D4:64:F9:2C:5F:2B:11:EF:3E:FE:AB:A5:5C:E6:E8 X509v3 Authority Key Identifier: 7A:62:DD:1D:B6:FE:4A:C8:E3:F8:9F:FA:AC:F4:15:0C:96:BA:2E:91 X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign Netscape Comment: OpenSSL Generated Certificate Signature Algorithm: sha256WithRSAEncryption Signature Value: 44:bc:66:9a:b7:f2:fe:08:f5:90:c8:af:d5:4c:71:91:e6:dd: 11:9f:93:da:d1:c4:d8:ff:6e:8d:af:6f:2e:84:8d:52:51:bc: db:b2:9b:84:fa:9f:ac:73:c8:e0:11:5f:4b:0f:ef:e2:f3:71: 80:75:0f:4a:6e:55:b6:1e:9b:7c:2a:35:e1:45:91:6f:c6:be: c8:f1:ee:90:31:54:a9:33:ef:2f:ef:e2:03:01:d5:a4:a9:93: 23:b1:5d:ed:c5:b1:8d:ec:55:5d:5a:54:7a:76:13:8e:e3:b5: 97:eb:2d:4c:c0:ce:93:75:2e:1c:c6:c8:88:34:30:c8:8d:08: 5c:2c:6c:e1:f5:66:0e:4c:8e:75:46:37:11:f1:ae:bd:95:c3: a4:f4:1f:b3:81:f0:a3:c9:3a:e4:cd:2a:2a:eb:cb:cb:ba:27: f7:a7:18:17:f7:be:0e:de:4b:3b:7d:36:78:e5:3d:6c:02:25: 0b:d3:40:4d:40:a5:73:ca:2a:f2:f8:14:7f:bc:5d:1d:97:e7: a1:f6:17:ed:dc:3f:b5:53:a5:39:7b:f0:3f:ae:d9:0c:d9:21: ec:72:ad:a4:27:a7:23:98:90:2c:1c:f1:83:47:9c:94:1b:e2: 3a:fe:aa:23:16:8e:01:5f:92:0b:58:3f:58:a3:6b:d0:f0:e3: 43:9e:ba:1d:ec:c7:37:d0:69:c3:d0:60:91:e7:3c:26:f7:97: 43:2e:ec:f2:d4:19:56:9a:8a:14:38:1c:d1:ed:6e:89:dc:a2: 4c:58:88:c7:ed:57:aa:72:59:88:f2:ae:47:23:19:10:1d:94: 57:bc:30:25:b3:47:a0:b9:69:b1:f2:62:cf:00:f6:ea:c7:5d: 06:fa:68:9a:b9:f5:ff:9c:ff:6e:64:bd:c5:0e:bc:31:54:aa: de:75:09:fb:e7:fd:8f:1a:30:ea:75:1a:eb:55:4b:86:58:b1: 56:e3:f2:99:31:77:b1:e4:45:e2:90:9b:5a:52:2f:01:56:15: 9f:b9:0a:9c:ff:49:74:bb:59:80:7d:d5:4f:7b:44:42:70:da: 5f:fd:67:e6:37:8d:fa:4b:e3:89:93:1a:69:ed:68:71:39:27: 19:0f:eb:a7:e5:34:ce:cf:11:e6:51:18:6d:65:fa:86:b8:4e: b5:18:40:11:ce:83:01:08:fa:db:66:f0:eb:23:18:85:90:9e: cb:e4:37:91:7d:30:24:0d:ac:18:3c:e4:31:6a:8f:b9:41:f3: 69:43:f6:9d:f1:51:c3:7c:34:b6:34:95:c6:80:88:3c:9f:01: dd:bf:e1:1f:70:bc:dc:fe:27:46:7c:d5:03:0e:98:cd:4c:ff: 67:69:b0:74:b8:ba:06:cc-----BEGIN CERTIFICATE-----MIIE4zCCAsugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9uZG9uMRMwEQYDVQQKDApIYWNrVGhlQm94MQwwCgYDVQQLDANWUE4xETAPBgNVBAMMCDJtaWxsaW9uMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGhhY2t0aGVib3guZXUwHhcNMjYwMzAzMDIxNDEzWhcNMjcwMzAzMDIxNDEzWjBVMQswCQYDVQQGEwJHQjEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25kb24xETAPBgNVBAoMCHRlc3RVc2VyMREwDwYDVQQDDAh0ZXN0VXNlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzWjNlhLIsJ95YcsB8sQ6InMt2pLkidPsh/bFdBKAdlpzymiTmMLMh2fYXBpp4mwtdBB0pHmw/HnPpWy59a0kJLvO8SYrSDJbHKNadjR7Zu9pQYIOVhSOSxUMJxtJTWGf0ePgOSSwDbSgStHuv3oB1BND9x9rc8T50Nn6seCuFjqyibp0lmJZ5u7+hVD0bjF+S1uzrWrpwMcTMJFqLfxcwGDygaDlGYlw2yLNheIrD2U9+xzYtsrD3OUeubIgD3TPwgQFeaR9MGvBuHQmOfcDgG5D6nke6kjhkVtg1XmIPcO61QPXZZLpCzbzTQxAOBD8jzzaCBcaL/Ytr2rJ+rkZMCAwEAAaOBiTCBhjAdBgNVHQ4EFgQUH0UZi4LUZPksXysR7z7+q6Vc5ugwHwYDVR0jBBgwFoAUemLdHbb+Ssjj+J/6rPQVDJa6LpEwCQYDVR0TBAIwADALBgNVHQ8EBAMCAf4wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4ICAQBEvGaat/L+CPWQyK/VTHGR5t0Rn5Pa0cTY/26Nr28uhI1SUbzbspuE+p+sc8jgEV9LD+/i83GAdQ9KblW2Hpt8KjXhRZFvxr7I8e6QMVSpM+8v7+IDAdWkqZMjsV3txbGN7FVdWlR6dhOO47WX6y1MwM6TdS4cxsiINDDIjQhcLGzh9WYOTI51RjcR8a69lcOk9B+zgfCjyTrkzSoq68vLuif3pxgX974O3ks7fTZ45T1sAiUL00BNQKVzyiry+BR/vF0dl+eh9hft3D+1U6U5e/A/rtkM2SHscq2kJ6cjmJAsHPGDR5yUG+I6/qojFo4BX5ILWD9Yo2vQ8ONDnrod7Mc30GnD0GCR5zwm95dDLuzy1BlWmooUOBzR7W6J3KJMWIjH7VeqclmI8q5HIxkQHZRXvDAls0eguWmx8mLPAPbqx10G+miaufX/nP9uZL3FDrwxVKredQn75/2PGjDqdRrrVUuGWLFW4/KZMXex5EXikJtaUi8BVhWfuQqc/0l0u1mAfdVPe0RCcNpf/WfmN436S+OJkxpp7WhxOScZD+un5TTOzxHmURhtZfqGuE61GEARzoMBCPrbZvDrIxiFkJ7L5DeRfTAkDawYPOQxao+5QfNpQ/ad8VHDfDS2NJXGgIg8nwHdv+EfcLzc/idGfNUDDpjNTP9nabB0uLoGzA==-----END CERTIFICATE-----</cert><key>-----BEGIN PRIVATE KEY-----MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC81ozZYSyLCfeWHLAfLEOiJzLdqS5InT7If2xXQSgHZac8pok5jCzIdn2FwaaeJsLXQQdKR5sPx5z6VsufWtJCS7zvEmK0gyWxyjWnY0e2bvaUGCDlYUjksVDCcbSU1hn9Hj4DkksA20oErR7r96AdQTQ/cfa3PE+dDZ+rHgrhY6som6dJZiWebu/oVQ9G4xfktbs61q6cDHEzCRai38XMBg8oGg5RmJcNsizYXiKw9lPfsc2LbKw9zlHrmyIA90z8IEBXmkfTBrwbh0Jjn3A4BuQ+p5HupI4ZFbYNV5iD3DutUD12WS6Qs2800MQDgQ/I882ggXGi/2La9qyfq5GTAgMBAAECggEAAyuMfiwhP4BLIlj+8YPTt6NcbKSZCbaiEpZl1Wn0zkYvMleoknyMIx1iHatSxorno6dy0OHQDf0pR6z9vbVPnE9OYt3cv4nU4yqXqTGDra6OzMB1WB4NYQSp0p0IDaUxsH8gEv1GU90nXY0hqY8+cxJ6JxDptfySm/qNK9k7drpaWvrcHQk/SVUoQOa8qMw8GxQyGYNhVCTnq3XQeLpVpOXd3baHJXj31dYoOqX3gtvFY/2fJLYXmBSSsONEen9fDzbND0Ad23E3RYIKuVuYxeXiYJee2sxJgaYzVyp0JK2h08j7XaaL2ZbD45JlKEf9g28rGQALjmPeUWS1YCJJyQKBgQD9to3BOv/AJGvQZ10X/ATJ36HtZ8sRlKjJlVwxq87z+OSLCHXEtZIM6v/S9JASJrnCLuOD+QhZHCIMtMssLzxylWnCvgFRIUUq9MBfsr7MzZnc0rIwOqegXQE47+RANJdd4lrKCArpwJxmlkloJaaqypW94aQVzIT7b4Muloe6nQKBgQC+ikvpJuM6BAffgHV8Q4pICWG2QFeZOv2wX3t86/0MRIQLFeq7EQoZDK+60z0cfn16DwpV34q9YcMUhbPEQ/d0TW3gMyzVSlV7S/roCvHrbtVk2aWPThXlDA1e94Y2reJqhERXr/F/R0SHWqiCeXwoiU7QLvBnC4ZK1OXXSKXt7wKBgQCPZI3ZmC7TucH1l3XWCGnsbqhmNTNgTFTZGcFxkVj2KsWAjteAxd41ztunrvF+UMTMKxQLksRVGMFlzQjHgCr519heaGT2JYeiL5JKhAuyVMGRPMPY3k2/JNF8DJlEcHTcawJFDSad1m6OzIHQivcXsEfReaXzbBP8x5msywcLQQKBgEaM2nKnzXbLy0Z8QAQU1fy6TI244TaBWzGVCRpGHtoN/H5GTTWap4yC4AZi9Lu6MiehrggBz1M0AZF1uAwxxkwv50Eecbk/3sraZTrJ4q1zylufIuge14iJn+HL8MwKMk2ST+PP57Fi6ALeFIrLBKfVv3LiDm15HO5USg4efiHNAoGBAM+M19hSd5kMfPqkpBvlrlzmZBozyZM/lCEC6cWiOOqUNTuQ8PUA1HMvMKyZ8J8MY5wiYcqIMIchdkwQ+RF1yfWzS7AYkp/2SARxi8PBcHZB55nHB3+JRU/zd41gyM+6/qg9bzN1ssKs/LsMnl8G1LpErc/AoH9AkIqKV98Yzj4W-----END PRIVATE KEY-----</key><tls-auth>## 2048 bit OpenVPN static key#-----BEGIN OpenVPN Static key V1-----45df64cdd950c711636abdb1f78c058c358730b4f3bcb119b03e43c46a85644405e96eaed55755e3eef41cd21538d041079c0fc8312517d851195139eceb458bf8ff28ba7d46ef9ce65f13e0e259e5e3068a47535cd80980483a64d16b7d10ca574bb34c7ad1490ca61d1f45e5987e267952930b85327879cc0333bb96999abe2d30e4b592890149836d0f1eacd2cb8ca67776f332ec962bc22051deb9a94a782b51bafe2da61c3dc68bbdd39fa35633e511535e57174665a2495df74f186a83479944660ba924c91dd9b00f61bc09f52fe7039aa114309111580bc5c910b4acc9efb55a3f0853e4b6244e3939972ff6bfd36c19a809981c06a91882b6800549-----END OpenVPN Static key V1-----</tls-auth>but this looks like an output of a command rather than file content:
let’s try command injection:

yep that’s it:
let’s get user flag:
before that i found a .env with this:
DB_HOST=127.0.0.1DB_DATABASE=htb_prodDB_USERNAME=adminDB_PASSWORD=SuperDuperPass123let’s keep it in mind, anyways:
these are the users:
root:x:0:0:root:/root:/bin/bashsync:x:4:65534:sync:/bin:/bin/syncwww-data:x:33:33:www-data:/var/www:/bin/bashpollinate:x:105:1::/var/cache/pollinate:/bin/falsetss:x:110:116:TPM software stack,,,:/var/lib/tpm:/bin/falselxd:x:999:100::/var/snap/lxd/common/lxd:/bin/falsemysql:x:114:120:MySQL Server,,,:/nonexistent:/bin/falseadmin:x:1000:1000::/home/admin:/bin/bashmemcache:x:115:121:Memcached,,,:/nonexistent:/bin/false_laurel:x:998:998::/var/log/laurel:/bin/falseso its probably admin that we login to:
and yep he used that password, and we got user!

CVE-2023-0386
we can use setuid, and give ourselves root:
i found this website where i can follow instructions : https://www.vicarius.io/vsociety/posts/cve-2023-0386-a-linux-kernel-bug-in-overlayfs
lets follow it
and we got root:

SOLVED:
