┌──(root㉿Eecho)-[~] └─# rustscan -a 192.168.100.28 -- -A .----. .-. .-. .----..---. .----. .---. .--. .-. .-. | {} }| { } |{ {__ {_ _}{ {__ / ___} / {} \ | `| | | .-. \| {_} |.-._} } | | .-._} }\ }/ /\ \| |\ | `-' `-'`-----'`----' `-' `----' `---' `-' `-'`-' `-' The Modern Day Port Scanner. ________________________________________ : http://discord.skerritt.blog : : https://github.com/RustScan/RustScan : -------------------------------------- Port scanning: Because every port has a story to tell.
[~] The config file is expected to be at "/root/.rustscan.toml" [~] File limit higher than batch size. Can increase speed by increasing batch size '-b 10140'. Open 192.168.100.28:22 Open 192.168.100.28:80 Open 192.168.100.28:3333 [~] Starting Script(s) [>] Running script "nmap -vvv -p {{port}} -{{ipversion}} {{ip}} -A" on ip 192.168.100.28 Depending on the complexity of the script, results may take some time to appear. [~] Starting Nmap 7.99 ( https://nmap.org ) at 2026-07-20 16:11 +0800 NSE: Loaded 158 scripts for scanning. NSE: Script Pre-scanning. NSE: Starting runlevel 1 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed NSE: Starting runlevel 2 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed NSE: Starting runlevel 3 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed Initiating ARP Ping Scan at 16:11 Scanning 192.168.100.28 [1 port] Completed ARP Ping Scan at 16:11, 0.03s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 16:11 Completed Parallel DNS resolution of 1 host. at 16:11, 0.50s elapsed DNS resolution of 1 IPs took 0.50s. Mode: Async [#: 3, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0] Initiating SYN Stealth Scan at 16:11 Scanning 192.168.100.28 [3 ports] Discovered open port 22/tcp on 192.168.100.28 Discovered open port 3333/tcp on 192.168.100.28 Discovered open port 80/tcp on 192.168.100.28 Completed SYN Stealth Scan at 16:11, 0.02s elapsed (3 total ports) Initiating Service scan at 16:11 Scanning 3 services on 192.168.100.28 Completed Service scan at 16:11, 11.03s elapsed (3 services on 1 host) Initiating OS detection (try #1) against 192.168.100.28 NSE: Script scanning 192.168.100.28. NSE: Starting runlevel 1 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.34s elapsed NSE: Starting runlevel 2 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.01s elapsed NSE: Starting runlevel 3 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed Nmap scan report for 192.168.100.28 Host is up, received arp-response (0.00057s latency). Scanned at 2026-07-20 16:11:29 CST for 13s
PORT STATE SERVICE REASON VERSION 22/tcp open ssh syn-ack ttl 64 OpenSSH 9.2p1 Debian 2+deb12u2 (protocol 2.0) | ssh-hostkey: | 256 9c:e0:78:67:d7:63:23:da:f5:e3:8a:77:00:60:6e:76 (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGjZjT9uVInycGr+L2uWFk2OHfIU6ziqLqjc31ns1WmQ6Hr6uDnP8LT23hig2aIXwb3uRT1F7Q1q5YSr4zozu64= | 256 4b:30:12:97:4b:5c:47:11:3c:aa:0b:68:0e:b2:01:1b (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINl5E2qTz+BE4drC1MXdiCyaKavO+3ur4RldEaIe41fC 80/tcp open http syn-ack ttl 64 Apache httpd 2.4.57 ((Debian)) |_http-server-header: Apache/2.4.57 (Debian) |_http-title: Apache2 Debian Default Page: It works | http-methods: |_ Supported Methods: HEAD GET POST OPTIONS 3333/tcp open http syn-ack ttl 64 Node.js Express framework | http-title: Site doesn't have a title (text/html; charset=UTF-8). |_Requested resource was /login | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS MAC Address: 08:00:27:44:BA:79 (Oracle VirtualBox virtual NIC) Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose|router Running: Linux 4.X|5.X, MikroTik RouterOS 7.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3 OS details: Linux 4.15 - 5.19, OpenWrt 21.02 (Linux 5.4), MikroTik RouterOS 7.2 - 7.5 (Linux 5.6.3) TCP/IP fingerprint: OS:SCAN(V=7.99%E=4%D=7/20%OT=22%CT=%CU=32747%PV=Y%DS=1%DC=D%G=N%M=080027%TM OS:=6A5DD83E%P=x86_64-pc-linux-gnu)SEQ(SP=101%GCD=1%ISR=10A%TI=Z%CI=Z%II=I% OS:TS=A)OPS(O1=M5B4ST11NW7%O2=M5B4ST11NW7%O3=M5B4NNT11NW7%O4=M5B4ST11NW7%O5 OS:=M5B4ST11NW7%O6=M5B4ST11)WIN(W1=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6= OS:FE88)ECN(R=Y%DF=Y%T=40%W=FAF0%O=M5B4NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O% OS:A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0 OS:%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S OS:=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R OS:=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N OS:%T=40%CD=S)
Uptime guess: 12.632 days (since Wed Jul 8 01:01:40 2026) Network Distance: 1 hop TCP Sequence Prediction: Difficulty=257 (Good luck!) IP ID Sequence Generation: All zeros Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE HOP RTT ADDRESS 1 0.57 ms 192.168.100.28
NSE: Script Post-scanning. NSE: Starting runlevel 1 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed NSE: Starting runlevel 2 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed NSE: Starting runlevel 3 (of 3) scan. Initiating NSE at 16:11 Completed NSE at 16:11, 0.00s elapsed Read data files from: /usr/share/nmap OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 13.47 seconds Raw packets sent: 26 (1.938KB) | Rcvd: 18 (1.410KB)
22 ssh
80 http
3333 http
密码爆破
3333端口存在登录界面,尝试爆破管理员密码
密码是admin,同账号一样
登录进去是一个文件下载的功能。
当我们填入url的时候发现提示我们不是管理员。
查看网站指纹
nodejs写的考虑原型链污染
去除cookie且将Content-Type设置为json格式。
可以看到返回的以及不是you are not the admin了二十Forbidden
尝试反弹shell,这里需要添加之前删除的cookie。
这里尝试执行了ls发现是无回显的
提权
puchero -> root
上传pspy分析定时任务,可以看到/opt目录下有个grasioso.sh运行
1 2 3 4 5
puchero@puchero:/opt$ ls -al total 8 drwxr-xr-x 2 root root 4096 may 22 2024 . drwxr-xr-x 18 root root 4096 abr 12 2024 .. -rwxrwxrwx 1 root puchero 0 may 22 2024 grasioso.sh