hackmyvm | venus 21-30 mission 靶机

venus靶机适合刚开始玩CTF,想练练Linux技能的人
靶机地址:https://hackmyvm.eu/venus/
共给出50个mission,提交这明面上的50个flag算通关
(目前排名第一的提交了58个flag
靶机介绍:


venus 21-30 mission

  • 0x21 base64 转 jpg
  • 0x22 十六进制转换
  • 0x23 bash脚本 字典爆破可访问的文件
  • 0x24 找没有重复的行
  • 0x25 bash脚本 查看持续生成删除的 .txt文件
  • 0x26 curl 访问
  • 0x27 保存临时文件,hydra爆破ssh,或bash脚本本地爆破
  • 0x28 查找 .html ,ssh隧道,gobuster爆破页面
  • 0x29 mysql数据做字典,hydra爆破ssh
  • 0x30 curl PUT 查看隐藏信息


接着上篇的mission 20

0x21 base64 转 jpg

~$ ls
eloise  flagz.txt  irispass.txt  mission.txt
~$ cat mission.txt
################
# MISSION 0x21 #
################## EN ##
User eloise has saved her password in a particular way.
用户eloise以一种特殊的方式保存了她的密码
## ES ##
La usuaria eloise ha guardado su password de una forma particular.
scp -P 5000 iris@venus.hackmyvm.eu:~/eloise .
下载到本地base64 -d eloise | file -
/dev/stdin: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4], baseline, precision 8, 394x102, components 3
base64解码,查看到文件类型是jpgbase64 -d eloise > test.jpg

0x22 十六进制转换

~$ ls
flagz.txt  hi  mission.txt
~$ cat mission.txt
################
# MISSION 0x22 #
################## EN ##
User lucia has been creative in saving her password.
用户lucia在保存密码方面很有创意
## ES ##
La usuaria lucia ha sido creativa en la forma de guardar su password.

hi文件是二进制文件

eloise@venus:~$ xxd -r hi

0x23 bash脚本 字典爆破可访问的文件

~$ ls
dict.txt  flagz.txt  mission.txt
~$ cat mission.txt
################
# MISSION 0x23 #
################## EN ##
The user isabel has left her password in a file in the /etc/xdg folder but she does not remember the name, however she has dict.txt that can help her to remember.
用户isabel将密码放在/etc/xdg文件夹中的一个文件中,但是她不记得名字,但是她有dict.txt可以帮助她记住## ES ##
La usuaria isabel ha dejado su password en un fichero en la carpeta /etc/xdg pero no recuerda el nombre, sin embargo tiene dict.txt que puede ayudarle a recordar.

lucia/etc 目录是不能直接访问的,利用给出的dict.txt,写bash脚本爆破

while IFS= read -r line; do readlink -e /etc/xdg/$line ; done < dict.txt 2>/dev/null
或 结合cat
while IFS= read -r line; do cat /etc/xdg/$line ; done < dict.txt 2>/dev/null'IFS= '	表示内部字段分隔符设为空格
读取dict.txt中每一行进行 while do 语句 

0x24 找没有重复的行

~$ ls
different.txt  flagz.txt  mission.txt
~$ cat mission.txt
################
# MISSION 0x24 #
################## EN ##
The password of the user freya is the only string that is not repeated in different.txt
用户freya的密码是different.txt中唯一没有重复的字符串
## ES ##
La password de la usuaria freya es el unico string que no se repite en different.txt

找没有重复的字符串(行

sort different.txt | uniq -u
先排序,再找无重复行

或用awk

awk 'NR==FNR{a[$0]++;next}a[$0]==1' different.txt different.txt
NR==FNR	这是一个模式,它只在处理第一个文件 different.txt 时执行。在 awk 中,NR 表示当前行号,FNR 表示当前文件的行号。
awk 解析第一个参数 different.txt,处于 NR==FNR 模式下,建立了名为 a 的数组,以文本文件中的每个行作为键。
a[$0]++	用于计算文本文件中每个行出现的次数。
next	指示awk  处理下一行。
awk 解析第二个参数 different.txt,处于  a[$0]==1 ,awk检查数组a 中出现次数计为1的行,并输出如果修改 a[$0]==1 为 a[$0]==2 ,则表示只输出出现次数为2的行

0x25 bash脚本 查看持续生成删除的 .txt文件

~$ cat mission.txt
################
# MISSION 0x25 #
################## EN ##
User alexa puts her password in a .txt file in /free every minute and then deletes it.
用户alexa时时刻刻都会把她的密码放在/free的.txt文件中,然后删除它## ES ##
La usuaria alexa pone su password en un fichero .txt en la carpeta /free cada minuto y luego lo borra.

密码在 /free 文件夹的某个.txt文件中,并不断创建、删除
这里也利用bash脚本

false; while [ $? -ne 0 ];do cat /free/*.txt ;done 2>/dev/null
其中 while [] 里面的空格不能省
命令解释:
这是循环命令
false;		上一次没找到 返回 false,这里再用 false 则为 true
while [ $? -ne 0 ]	检查上一个命令的退出码,不为0则继续
所以,终止条件是‘上一次运行结果为true’,开头用 false,到while检查到的退出码为0,终止

0x26 curl 访问

~$ cat mission.txt
################
# MISSION 0x26 #
################## EN ##
The password of the user ariel is online! (HTTP)## ES ##
El password de la usuaria ariel esta online! (HTTP)
curl http://localhost

0x27 保存临时文件,hydra爆破ssh,或bash脚本本地爆破

~$ ls -a
.  ..  .bash_logout  .bashrc  .goas.swp  .profile  flagz.txt  mission.txt
~$ cat mission.txt
################
# MISSION 0x27 #
################## EN ##
Seems that ariel dont save the password for lola, but there is a temporal file.
看来ariel没有保存lola的密码,但是有一个临时文件## ES ##
Parece ser que a ariel no le dio tiempo a guardar la password de lola... menosmal que hay un temporal!

vim临时文件.goas.swp

vim -r .goas.swp

打开后是

Ctrl V进入块模式,选中多余的 d 删除,做成字典

另存,退出
:w /tmp/dict.txt
:q!

下到本地,用hydra爆破

scp -P 5000 ariel@venus.hackmyvm.eu:/tmp/dict.txt .
hydra -l lola -P dict.txt ssh://venus.hackmyvm.eu:5000

也可以直接用bash脚本爆破

while IFS= read -r line; do echo $line | timeout 2 su lola 2>/dev/null; if [ $? -eq 0 ]; then echo $line; break; fi; done < /tmp/dict.txt
读取 /tmp/dict.txt 中的每一行,将其作为密码尝试以 lola 用户身份登录,
直到成功登录或所有密码都被尝试过为止
timeout 2 su lola 命令会在 2 秒内尝试以 lola 用户身份登录。
如果登录成功,则返回状态码 0,否则返回非0状态码。
if [ $? -eq 0 ]; then echo $line; break; fi; 
判断上一条命令的退出状态码,如果状态码为 0,表示登录成功,输出当前尝试的密码并跳出循环

0x28 查找 .html ,ssh隧道,gobuster爆破页面

~$ ls
flagz.txt  mission.txt  pages.txt
~$ cat mission.txt
################
# MISSION 0x28 #
################## EN ##
The user celeste has left a list of names of possible .html pages where to find her password.
用户celeste留下了一个可能的.html页面的名称列表,在那里可以找到她的密码## ES ##
La usuaria celeste ha dejado un listado de nombres de posibles paginas .html donde encontrar su password.

直接find

find /var/www -name *.html 2>/dev/null
再用 curl

或者,将给出的pages.txt下到本地,搭建ssh隧道利用工具爆破

ssh -L 2333:127.0.0.1:80 lola@venus.hackmyvm.eu -p 5000
gobuster爆破
gobuster dir -w pages.txt -u http://127.0.0.1:2333 -x html

0x29 mysql数据做字典,hydra爆破ssh

~$ cat mission.txt
################
# MISSION 0x29 #
################## EN ##
The user celeste has access to mysql but for what?## ES ##
La usuaria celeste tiene acceso al mysql, pero para que?

提示当前用户可以使用mysql

mysql -uceleste -p
show databases;
use venus;
show tables;
select * from people;

得到一堆 id_people uzer pazz
这种格式的数据

|         1 | nuna          | ixpfdsvcxeqdW                  |
|         2 | nona          | ixpvcxvcxeqdW                  |

构建字典
复制到 venus.txt,因为是对应关系,且hydra -C默认分隔符是冒号
sed处理下格式

sed -i 's/.*|\s*\([^ ]*\)\s*|\s*\([^ ]*\)\s*|.*/\1:\2/g' venus.txt

得到如下格式的

nuna:ixpfdsvcxeqdW
nona:ixpvcxvcxeqdW

ssh爆破

hydra -C venus.txt ssh://venus.hackmyvm.eu:5000

0x30 curl PUT 查看隐藏信息

~$ cat mission.txt
################
# MISSION 0x30 #
################## EN ##
The user kira is hidding something in http://localhost/method.php## ES ##
La usuaria kira esconde algo en http://localhost/method.php
~$ curl localhost/method.phpI dont like this method!~$ curl -XPUT http://localhost/method.php

本文链接:https://my.lmcjl.com/post/9946.html

展开阅读全文

4 评论

留下您的评论.