Vulnhub 靶场 Jetty: 1

news/2024/12/19 16:54:06/文章来源:https://www.cnblogs.com/sainet/p/18612772

前期准备

靶机地址:https://www.vulnhub.com/entry/jetty-1,621/

Description
Back to the Top
The company Aquarium Life S.L. has contacted you to perform a pentest against one of their machines. They suspect that one of their employees has been committing fraud selling fake tickets. They want you to break into his computer, escalate privileges and search for any evidences that proves this behaviour.ZIP Password: EsSabad0!Extra information:The suspicious username is Squiddie.
He was in charge of the ticket selling for the Aquarium.
Ethernet settings set to NAT with DHCP enabled.
You should find the IP in your VLAN.
The idea of the machine it is not just to gain root privileges but obtaining all the evidences to prove that the user was commiting fraud.Difficulty: I would say the machine is Medium regarding gaining root privileges. If we consider all the steps to obtain the evidences, Hard.这台机器的目的不仅仅是获得 root 权限,还要获得所有证据来证明一名员工在进行销售假票的欺诈行为。

kali攻击机IP:192.168.11.128
靶机IP:192.168.11.131

一、信息收集

1. 使用nmap对目标靶机进行扫描

image

发现开了 21(FTP)、 80、 65507(SSH)端口。从 nmap 扫描结果可以看出,ftp 可以匿名登陆,且有两个文件,80 端口有 robots.txt,里面有四个目录。

2. 21(FTP)端口

匿名登录 ftp。用户名:anonymous:

image

把这两个文件下载到本地并查看:

image

README.txt:Hi Henry, here you have your ssh's password. As you can see the file is encrypted with the default company's password. 
Please, once you have read this file, run the following command on your computer to close the FTP server on your side. 
IT IS VERY IMPORTANT!! CMD: service ftp stop.Regards, Michael.嗨,亨利,这是你的 ssh 密码。如你所见,该文件使用默认的公司密码加密。
请在阅读完此文件后,在你的计算机上运行以下命令以关闭你这边的 FTP 服务器。
这非常重要!!CMD:service ftp stop。
Regards, Michael.

sshpass.zip 被加密了,尝试爆破一下:

image

zip 的密码是:seahorse! (根据 README.txt 的说明,这个密码是默认的公司密码)。解压 sshpass.zip:

sshpass.txt:Squ1d4r3Th3B3$t0fTh3W0rLd  (根据 README.txt 的说明,这个密码是 ssh 密码)

现在有了 ssh 的密码,还需要一个用户名,靶机描述里说:The suspicious username is Squiddie.。故用户名应该是:Squiddie。现在可以登录 ssh 了。不过 80 端口还没有看,先看下 80 端口。

3. 80 端口

image

看下 robots.txt 里面的四个目录:

image

都是 404,扫一下目录:

image

80 端口上没什么发现,直接 ssh 登录吧。

二、提权

ssh 登录 ssh -p 65507 squiddie@192.168.11.131。登陆上去后发现是个受限的 shell:

image

不过还可以使用 python,尝试使用 python 升级下 shell,突破受限,

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

image

有告警。禁止 /bin/bash 路径,尝试在 python 里面写:

image

shell 升级成功,查看权限:

image

可以使用 find 提权,参考 gtfobins:

image

sudo find . -exec /bin/sh \; -quit

image

提权到 root。得到 flag:

image

三、收集犯罪证据

在 /root 目录下发现 Documents/.docs/ 下有一些表格,表格的名字是:

Accountabilty not cooked
Accountabilty Report Morning
Money Balance
Pending to erase

看着应该就是犯罪证据,ftp 还开着,所以用 ftp 把这些文档和 .docs 目录下的其他文件下载下来,ftp 文件目录在 /home/ftp/(因为是隐藏目录,所以在 ftp 中用 dir -a 查看,或者复制时就改一下目录名称,下载还是用 mget mget "."):

image

查看下载的文件,四个表格中三个是加密的,Password_keeper 中有两个 txt 和一个 exe:

database.txt:instagram T9Y0Ku/oDv80H8CUzBKkwQ==
facebook IXKnuKh73jCOKcEZAaHnIQ==
Accountabilty_not_cooked rbRH72cf3UiHXcmQB6o0OA==
MoneyBalance rRd3m80KzzTik3Eu9BRWy95GsORKwD+adfTUfPLaxVk=
Pending_to_erase aneylFYmV/jz/7g5j+Ck15oreK1VhmaKmTwa8cdSnpY=
usage.txt:Usage: *Linux: wine password_keeper.exe (database.txt must be in the same folder as the password_keeper.exe)*Windows: password_keeper.exe (database.txt must be in the same folder as the password_keeper.exe)This program was compiled using pyinstaller.

password_keeper.exe

image

提示 password_keeper.exe 是用 pyinstaller 编译的。故需要将 exe 还原成 pyc 文件。然后再进行反编译。使用 pyinstxtractor.py 还原

image

image

可以使用 uncompyle6 反编译 PYC ,也可以用在线反编译pyc的网站:

image

password_keeper.pyc 反编译后的 password_keeper.py 文件:

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7from Cryptodome.Cipher import AES
import base64
BS = 16pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)unpad = lambda s: s[0:-ord(s[-1])]# 加密功能:用AES-CBC 模式实现加密,密钥以 Base64 编码存储
def cipher_message(key, message, iv):message = pad(message)key = base64.b64decode(key)obj = AES.new(key, AES.MODE_CBC, iv)ciphertext = obj.encrypt(message)ciphertext = base64.b64encode(ciphertext)return ciphertext# 解密功能:ciphertext 和 key 需要从 Base64 编码中解码,解密后再解密
def decipher_message(key, ciphertext, iv):ciphertext = base64.b64decode(ciphertext)key = base64.b64decode(key)obj2 = AES.new(key, AES.MODE_CBC, iv)decipher_text = obj2.decrypt(ciphertext)decipher_text = unpad(decipher_text)return decipher_text#生成加密密码
def generate_key(ciphertext, tag, key, iv):ciphertext = cipher_message(key, ciphertext, iv)print ''print "Now copy this into your database.txt (It's the free version... pay for an automated tool!)"print ''print 'Tag Password'print tag + ' ' + ciphertext#查看密码:查看存储的密码,需要输入 base64 解密后的 key
def show_keys(database, key, iv):check_permissions = raw_input('Insert password: ')if base64.b64encode(check_permissions) == key:for i in range(len(database[0])):ciphertext = database[1][i]decipher = decipher_message(key, ciphertext, iv)print ' 'print 'Tag: ' + database[0][i] + ' Password: ' + decipherprint ' 'else:print ''print 'Tag: Instagram Password: WRONG 'print 'Tag: Facebook  Password: PASSWORD 'print 'Tag: SSH       Password: TRY 'print 'Tag: root      Password: HARDER! 'print ''#数据读取
def read_database():database = [[],[]]f = open('database.txt', 'r')for line in f.readlines():line = line.strip().split()database[0].append(line[0])database[1].append(line[1])f.close()return databasedef main():print 'Welcome to the best password keeper ever!'print '__        __         _                _  __                         'print '\\ \\      / /__  __ _| | ___   _      | |/ /___  ___ _ __   ___ _ __ 'print " \\ \\ /\\ / / _ \\/ _` | |/ / | | |_____| ' // _ \\/ _ \\ '_ \\ / _ \\ '__|"print '  \\ V  V /  __/ (_| |   <| |_| |_____| . \\  __/  __/ |_) |  __/ |   'print '   \\_/\\_/ \\___|\\__,_|_|\\_\\__,  |     |_|\\_\\___|\\___| .__/ \\___|_|   'print '                          |___/                    |_|   'iv = '166fe2294df5d0f3'key = 'N2FlMjE4ZmYyOTI4ZjZiMg=='database = read_database()loop = Truewhile loop:print ''print 'Choose what you want to do: 'print '1) See your passwords!'print '2) Generate a cipher-password'print '3) Close'option = raw_input('Insert your selection here --> ')if option == '1':print ''print 'Showing content of your secret passwords...'print ''show_keys(database, key, iv)print ''returned = raw_input('Press any button to return to the menu...')continueif option == '2':print ''print ''title = raw_input('Type the name of the application: ')password = raw_input('Type the password(BEWARE OF SHOULDER SURFING!!!): ')generate_key(password, title, key, iv)print ''print ''returned = raw_input('Press any button to return to the menu...')continueif option == '3':loop = Falseprint ''return 'Bye Byeeeeeeeeeeeee'print print print ''print 'WHAT? FAILURE TO COMMUNICATE... Reseting connection...'print ''print ''returned = raw_input('Press any button to return to the menu...')if __name__ == '__main__':print main()

根据以上分析,需要输入 base64 解密后的 key:

key = 'N2FlMjE4ZmYyOTI4ZjZiMg=='base64 解码得:7ae218ff2928f6b2

运行Password_Keeper.exe,选择 “1”,然后输入密码:7ae218ff2928f6b2

image

得到保存的密码,查看 execl:

Accountabilty_not_cooked.xlsx:

image

AccountabiltyReportMorning-1112018.xlsx:

image

MoneyBalance.xlsx:

image

Pending_to_erase.xlsx:

image

证据应该是收集完了。

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

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

相关文章

人车防碰撞识别智慧矿山一体机矿山监控系统中的平台一体机和解码器如何选型?

在构建高效、可靠的视频监控系统时,选择合适的平台一体机和解码器是至关重要的一步。这不仅关系到监控系统的稳定性和可靠性,还直接影响到监控画面的清晰度和系统的扩展性。以下是在选择过程中需要考虑的关键因素,以确保您的监控系统能够满足特定场景的需求,并在未来几年内…

2024年项目管理软件对比:14款高效工具帮你提升工作效率

在快节奏的现代社会,项目管理的重要性日益凸显。为了提高工作效率,各类项目管理软件应运而生。本文将为您介绍14款高效的项目管理工具,包括禅道、Trello、Jira、Asana、Teambition、Wrike、Monday.com、ClickUp、ProjectManager、Basecamp、Zoho Projects、Smartsheet、Liqu…

2024年项目管理软件对比:14款高效工具帮你提升工作效

在快节奏的现代社会,项目管理的重要性日益凸显。为了提高工作效率,各类项目管理软件应运而生。本文将为您介绍14款高效的项目管理工具,包括禅道、Trello、Jira、Asana、Teambition、Wrike、Monday.com、ClickUp、ProjectManager、Basecamp、Zoho Projects、Smartsheet、Liqu…

vb编译环境运行没问题,生成exe运行时报错,错误48加载dll错误,右键以管理员身份运行可以但麻烦,其解决办法如下。

解决办法(推荐): 打开vb后,弹出新建工程标准exe,要点打开。 然后再打开已建的工程,这样生成的exe可以直接双击运行,就不会报错了。2、如需重装vb,要记得“数据访问”点“更改选项”去掉ADO和RDS前面的勾选,不然会一直停在更新状态。 1.打开安装包点击SETUP.EXE(如果会…

Java项目实战之Java小游戏-俄罗斯方块设计与实现(附项目源代码地址)

该项目gitee地址:https://gitee.com/lsy_loren/loren-tetris.git一、游戏概述 本游戏是一款经典的俄罗斯方块游戏,使用Java语言开发,具有图形用户界面(GUI)。玩家通过操作方块的移动、旋转和下落,使其填满一行或多行来消除得分,并随着得分的增加提升等级。游戏还具备暂停…

charles中map local改写接口返回参数

先找到接口-》右键-》save response -》存入桌面然后文件的返回参数 右键-》map local 即可修改返回结果

renben-openstack-keystone操作

controller节点操作source /root/keystonerc_admin 1.查看openstack中keystone的endpoint openstack endpoint list +----------------------------------+-----------+--------------+--------------+| ID | Region | Service Name | Servic…

docker可视化管理工具lazydocker使用

工具介绍 Lazydocker是一个基于Go语言开发的命令行界面Docker管理工具。它通过一个简洁的终端界面,可以实时查看Docker容器、镜像、网络等信息。它提供了交互式的操作方式,可以直接用鼠标操作也可以键盘操作,几乎所有操作都可以通过方向键和快捷键完成,省去了很多需要用命令…

17盒子模型练习-设置背景-附加背景图片

一、元素的水平居中方案 这个是在开发中比较常见的功能,就是元素的水平居中,需要元素在父元素中水平居中显示,父元素一般都是块级元素,inline-block 如果想要居中目前我们学习了两种方案: 行内级元素(包括inline-block元素) 水平居中:在父元素中设置text-align:center …

2024年项目管理工具大对比:15款软件助力团队高效协作

在当今竞争激烈的商业环境中,项目管理的效率直接关系到团队的成败。无论是大型企业的复杂项目,还是小型团队的日常任务,合适的项目管理工具都能起到事半功倍的效果。随着技术的不断发展,市场上涌现出了众多功能各异的项目管理软件。在 2024 年,有 15 款软件脱颖而出,成为…

视频融合平台EasyCVR热知识:5G网络对智能监控系统远程控制的影响有哪些潜在风险?

随着5G技术的快速发展和广泛应用,智能监控系统正迎来一场革命性的变化。5G网络以其高速率、低延迟和大连接数的特性,极大地提升了智能监控系统的远程控制能力,使其在城市管理、交通监控、公共安全等多个领域发挥着越来越重要的作用。然而,正如任何技术进步都伴随着新的挑战…