venus靶机适合刚开始玩CTF,想练练Linux技能的人
靶机地址:https://hackmyvm.eu/venus/
共给出50个mission,提交这明面上的50个flag算通关
(目前排名第一的提交了58个flag
靶机介绍:
venus 1-50 mission
- 0x01 隐藏文件
- 0x02 按文件名找
- 0x03 文件指定行号
- 0x04 文件名为 -
- 0x05 按文件夹名找
- 0x06 按文件类型找
- 0x07 按文件大小找
- 0x08 按文件所有者找
- 0x09 解压zip
- 0x10 文件搜指定开头行
- 0x11 文件搜指定结尾行
- 0x12 按开头和结尾找字符串
- 0x13 查看环境变量
- 0x14 /etc/passwd 找信息
- 0x15 sudo 无密码提权
- 0x16 base64 解码
- 0x17 按修改时间查找文件
- 0x18 字典爆破zip
- 0x19 查找重复行
- 0x20 ssh key登录
- 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 查看隐藏信息
- 0x31 curl 指定UA 访问
- 0x32 查看别名 alias
- 0x33 tar 解压
- 0x34 strings 乱码中找信息
- 0x35 爆破后两位小写字符
- 0x36 二维码
- 0x37 挂载 iso 为循环设备
- 0x38 找不同
- 0x39 openssl 私钥文件 RSA解密
- 0x40 摩斯密码
- 0x41 curl 指定 header 访问
- 0x42 文件名为 ...
- 0x43 查看历史命令
- 0x44 指定组查找文件
- 0x45 图片隐写
- 0x46 本地命令提权
- 0x47 curl 访问文件 (有点迷惑)
- 0x48 john 字典爆破 hash
- 0x49 检查DNS服务器配置
- 0x50 某处找
登录
ssh hacker@venus.hackmyvm.eu -p 5000
havefun!
0x01 隐藏文件
~$ cat mission.txt
################
# MISSION 0x01 #
################
## EN ##
User sophia has saved her password in a hidden file in this folder. Find it and log in as sophia.
## ES ##
La usuaria sophia ha guardado su contraseña en un fichero oculto en esta carpeta.Encuentralo y logueate como sophia.
隐藏文件
ls -al
切换用户
su - 用户名
- 表示切换用户的同时,shell的工作目录和环境也切换过去
0x02 按文件名找
~$ cat mission.txt
################
# MISSION 0x02 #
################
## EN ##
The user angela has saved her password in a file but she does not remember where ... she only remembers that the file was called whereismypazz.txt
## ES ##
La usuaria angela ha guardado su password en un fichero pero no recuerda donde... solo recuerda que el fichero se llamaba whereismypazz.txt
文件名找文件
find / -name whereismypazz.txt -type f 2>/dev/null
0x03 文件指定行号
~$ ls
findme.txt flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x03 #
################
## EN ##
The password of the user emma is in line 4069 of the file findme.txt
## ES ##
La password de la usuaria emma esta en la linea 4069 del fichero findme.txt
输出4069行
cat -n findme.txt | grep 4069
0x04 文件名为 -
~$ ls
- flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x04 #
################
## EN ##
User mia has left her password in the file -.
## ES ##
La usuaria mia ha dejado su password en el fichero -.
文件名为 -
cat ./-
0x05 按文件夹名找
~$ cat mission.txt
################
# MISSION 0x05 #
################
## EN ##
It seems that the user camila has left her password inside a folder called hereiam
## ES ##
Parece que la usuaria camila ha dejado su password dentro de una carpeta llamada hereiam
文件夹名找文件夹
find / -name 'hereiam' -type d 2>/dev/null
0x06 按文件类型找
~$ ls
flagz.txt mission.txt muack
~$ cat mission.txt
################
# MISSION 0x06 #
################
## EN ##
The user luna has left her password in a file inside the muack folder.
## ES ##
La usuaria luna ha dejado su password en algun fichero dentro de la carpeta muack.
密码在muack文件夹中
~$ ls muack
1 123 148 172 197 220 245 27 294 318 342 367 391 415 44 464 489 512 537 67 91
10 124 149 173 198 221 246 270 295 319 343 368 392 416 440 465 49 513 538 68 92
100 125 15 174 199 222 247 271 296 32 344 369 393
是个嵌套文件夹,找文件
find muack -type f
和cat
组合一下
find muack/ -type f -exec cat {} \;
0x07 按文件大小找
~$ cat mission.txt
################
# MISSION 0x07 #
################
## EN ##
The user eleanor has left her password in a file that occupies 6969 bytes.
## ES ##
La usuaria eleanor ha dejado su password en un fichero que ocupa 6969 bytes.
文件大小找文件
find / -size 6969c -type f 2>/dev/null
'c'为以字节为单位
0x08 按文件所有者找
~$ cat mission.txt
################
# MISSION 0x08 #
################
## EN ##
The user victoria has left her password in a file in which the owner is the user violin.
## ES ##
La usuaria victoria ha dejado su password en un fichero en el cual el propietario es el usuario violin.
按用户所有者找文件
find / -type f -user violin 2>/dev/null
0x09 解压zip
~$ ls
flagz.txt mission.txt passw0rd.zip
~$ cat mission.txt
################
# MISSION 0x09 #
################
## EN ##
The user isla has left her password in a zip file.
## ES ##
La usuaria isla ha dejado su password en un fichero zip.
解压zip
压缩包
~$ unzip passw0rd.zip
Archive: passw0rd.zip
checkdir error: cannot create pwned
Permission denied
unable to process pwned/victoria/passw0rd.txt.
~$ unzip passw0rd.zip -d /tmp
解压到指定目录
0x10 文件搜指定开头行
~$ ls
flagz.txt mission.txt passy
~$ cat mission.txt
################
# MISSION 0x10 #
################
## EN ##
The password of the user violet is in the line that begins with a9HFX (these 5 characters are not part of her password.).
## ES ##
El password de la usuaria violet esta en la linea que empieza por a9HFX (sin ser estos 5 caracteres parte de su password.).
找指定开头的行
grep ^a9HFX passy
0x11 文件搜指定结尾行
~$ ls
end flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x11 #
################
## EN ##
The password of the user lucy is in the line that ends with 0JuAZ (these last 5 characters are not part of her password)
## ES ##
El password de la usuaria lucy se encuentra en la linea que acaba por 0JuAZ (sin ser estos ultimos 5 caracteres parte de su password)
找指定结尾的行
grep 0JuAZ$ end
0x12 按开头和结尾找字符串
~$ ls
file.yo flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x12 #
################
## EN ##
The password of the user elena is between the characters fu and ck
## ES ##
El password de la usuaria elena esta entre los caracteres fu y ck
找指定首尾内容
grep ^fu.*ck$ file.yo
0x13 查看环境变量
~$ cat mission.txt
################
# MISSION 0x13 #
################
## EN ##
The user alice has her password is in an environment variable.
## ES ##
La password de alice esta en una variable de entorno.
查看环境变量
export
或
printenv
0x14 /etc/passwd 找信息
~$ cat mission.txt
################
# MISSION 0x14 #
################
## EN ##
The admin has left the password of the user anna as a comment in the file passwd.
admin在passwd文件中留下了anna用户的密码作为注释
## ES ##
El admin ha dejado la password de anna como comentario en el fichero passwd.
查看passwd
文件
grep alice /etc/passwd
0x15 sudo 无密码提权
~$ cat mission.txt
################
# MISSION 0x15 #
################
## EN ##
Maybe sudo can help you to be natalia.
也许sudo能帮你成为natalia
## ES ##
Puede que sudo te ayude para ser natalia.
提示anna
有可使用的sudo
命令
~$ sudo -l
Matching Defaults entries for anna on venus:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User anna may run the following commands on venus:
(natalia) NOPASSWD: /bin/bash
:~$ sudo -u natalia /bin/bash
-u natalia 表示以natalia用户身份运行命令
或者用
sudo -u natalia -i
-i 表示打开新的交互shell
0x16 base64 解码
~$ ls
base64.txt flagz.txt mission.txt nataliapass.txt
~$ cat mission.txt
################
# MISSION 0x16 #
################
## EN ##
The password of user eva is encoded in the base64.txt file
## ES ##
El password de eva esta encodeado en el fichero base64.txt
~$ cat base64.txt
dXBzQ0EzVUZ1MTBmREFPCg==
base64解码
0x17 按修改时间查找文件
~$ cat mission.txt
################
# MISSION 0x17 #
################
## EN ##
The password of the clara user is found in a file modified on May 1, 1968.
clara用户的密码是在1968年5月1日修改的文件中找到的
## ES ##
La password de la usuaria clara se encuentra en un fichero modificado el 01 de Mayo de 1968.
(这题比较迷,1970.01.01是时间戳起始日期
以修改时间找文件
find / -type f ! -newermt 1970-01-01 -ls 2>/dev/null
若用下面这个就没有结果
find / -type f -newermt "1968-05-01 00:00:00" ! -newermt "1968-05-02 00:00:00" -ls 2>/dev/null
-newermt 表示以某个时间为起点,前面反转就表示结尾
-ls 表示输出文件的详细信息,包括文件名、权限、属主、属组、大小、最后修改时间等
2>/dev/null 将错误信息导向不存在的文件,只显示正确信息
也可以用
find / -type f -mtime +18000 2>/dev/null
18000天前
0x18 字典爆破zip
~$ ls
flagz.txt mission.txt protected.zip
~$ cat mission.txt
################
# MISSION 0x18 #
################
## EN ##
The password of user frida is in the password-protected zip (rockyou.txt can help you)
## ES ##
La password de frida esta en el zip protegido con password.(rockyou.txt puede ayudarte)
又是压缩包,提示字典rockyou.txt
,忘记了我哪下的,github上是有一堆的
下到本地
本地 sftp -P 5000 clara@venus.hackmyvm.eu
或
scp -P 5000 clara@venus.hackmyvm.eu:~/protected.zip .
(后面有个 . 下载到当前位置
用john
zip2john protected.zip > testhash
john testhash --wordlist=rockyou.txt
或
john --format=PKZIP --wordlist=rockyou.txt testhash
0x19 查找重复行
~$ ls
flagz.txt mission.txt repeated.txt
~$ cat mission.txt
################
# MISSION 0x19 #
################
## EN ##
The password of eliza is the only string that is repeated (unsorted) in repeated.txt.
eliza的密码是repeat .txt中唯一重复(未排序)的字符串
## ES ##
La password de eliza es el unico string que se repite (sin estar ordenado) en repeated.txt.
找重复行
uniq 只对相邻的行进行操作,要先排序(这题没排序也出了
sort repeated.txt | uniq -d
0x20 ssh key登录
~$ ls -a
. .. .bash_logout .bashrc .iris_key .profile flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x20 #
################
## EN ##
The user iris has left me her key.
## ES ##
La usuaria iris me ha dejado su key.
当前目录下 .iris_key
是ssh
身份文件
ssh -i .iris_key iris@localhost
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解码,查看到文件类型是jpg
base64 -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.php
I dont like this method!
~$ curl -XPUT http://localhost/method.php
0x31 curl 指定UA 访问
~$ cat mission.txt
################
# MISSION 31 #
################
## EN ##
The user veronica visits a lot http://localhost/waiting.php
## ES ##
La usuaria veronica visita mucho http://localhost/waiting.php
~$ curl localhost/waiting.php
Im waiting for the user-agent PARADISE.
~$ curl -A PARADISE localhost/waiting.php
0x32 查看别名 alias
~$ cat mission.txt
################
# MISSION 0x32 #
################
## EN ##
The user veronica uses a lot the password from lana, so she created an alias.
## ES ##
La usuaria veronica usa mucho la password de lana, asi que ha creado un alias.
查看别名 alias
0x33 tar 解压
~$ ls
flagz.txt mission.txt zip.gz
~$ cat mission.txt
################
# MISSION 0x33 #
################
## EN ##
The user noa loves to compress her things.
## ES ##
A la usuaria noa le gusta comprimir sus cosas.
解压
tar -xvf zip.gz -C /tmp/zip
-C 指定路径
0x34 strings 乱码中找信息
~$ ls
flagz.txt mission.txt trash
~$ cat mission.txt
################
# MISSION 0x34 #
################
## EN ##
The password of maia is surrounded by trash
## ES ##
La password de maia esta rodeada de basura
一堆被乱码包围的字符,处理后剩一堆字符,有条像密码的,删掉前面多余的字符(结合前面密码位数一般是一定的)
strings trash
0x35 爆破后两位小写字符
~$ ls
flagz.txt forget mission.txt
~$ cat mission.txt
################
# MISSION 0x35 #
################
## EN ##
The user gloria has forgotten the last 2 characters of her password ... They only remember that they were 2 lowercase letters.
用户gloria忘记了密码的最后2个字符…他们只记得是两个小写字母。
## ES ##
La usuaria gloria ha olvidado los 2 ultimos caracteres de su password... Solo recuerdan que eran 2 letras minusculas.
~$ cat forget
v7xUVE2e5bjUc??
显然爆破
python
脚本gloria.py
from string import ascii_lowercase
for c1 in ascii_lowercase:
for c2 in ascii_lowercase:
print(f"v7xUVE2e5bjUc{c1}{c2}");
python3 gloria.py > /tmp/gloria.txt
再用前面用过的bash脚本爆破
while IFS= read -r line; do echo $line | timeout 2 su gloria 2>/dev/null; if [ $? -eq 0 ]; then echo $line; break; fi; done < /tmp/gloria.txt
0x36 二维码
~$ ls
flagz.txt image mission.txt
~$ cat mission.txt
################
# MISSION 0x36 #
################
## EN ##
User alora likes drawings, that's why she saved her password as ...
## ES ##
A la usuaria alora le gustan los dibujos, por eso ha guardado su password como...
是个二维码
0x37 挂载 iso 为循环设备
~$ ls
flagz.txt mission.txt music.iso
~$ cat mission.txt
################
# MISSION 0x37 #
################
## EN ##
User Julie has created an iso with her password.
## ES ##
La usuaria julie ha creado una iso con su password.
下到本地挂载
scp -P 5000 alora@venus.hackmyvm.eu:~/music.iso .
mkdir /tmp/music
sudo mount -o loop music.iso /tmp/music
unzip /tmp/music/music.zip -d /tmp
sudo umount /tmp/music
0x38 找不同
~$ ls
1.txt 2.txt flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x38 #
################
## EN ##
The user irene believes that the beauty is in the difference.
## ES ##
La usuaria irene cree que en la diferencia esta lo bonito.
找不同
diff 1.txt 2.txt
0x39 openssl 私钥文件 RSA解密
~$ ls
flagz.txt id_rsa.pem id_rsa.pub mission.txt pass.enc
~$ cat mission.txt
################
# MISSION 0x39 #
################
## EN ##
The user adela has lent her password to irene.
用户adela把她的密码借给了irene
## ES ##
La usuaria adela le ha dejado prestada su password a irene.
RSA
私钥解密
openssl rsautl -decrypt -inkey id_rsa.pem -in pass.enc
使用RSA私钥解密一个经过加密的文件。具体来说,它执行以下操作:
使用-in参数指定要解密的文件为pass.enc。
使用-inkey参数指定用于解密的RSA私钥文件为id_rsa.pem。
使用decrypt参数表示进行解密操作(而不是加密)。
解密成功后,将结果输出到标准输出流中。
经过公钥加密的密码文件(pass.enc)和相应的私钥文件(id_rsa.pem)
0x40 摩斯密码
~$ ls
flagz.txt mission.txt wtf
~$ cat mission.txt
################
# MISSION 0x40 #
################
## EN ##
User sky has saved her password to something that can be listened to.
## ES ##
La usuaria sky ha guardado su password en algo que puede ser escuchado.
摩斯密码,注意大小写
0x41 curl 指定 header 访问
~$ cat mission.txt
################
# MISSION 0x41 #
################
## EN ##
User sarah uses header in http://localhost/key.php
## ES ##
La usuaria sarah utiliza header para http://localhost/key.php
curl
添加header
~$ curl localhost/key.php
Key header is true?
~$ curl -H 'key:true' localhost/key.php
0x42 文件名为 …
~$ ls -a
. .. ... .bash_logout .bashrc .profile flagz.txt mission.txt
~$ cat mission.txt
################
# MISSION 0x42 #
################
## EN ##
The password of mercy is hidden in this directory.
mercy的密码就藏在这个目录里
## ES ##
La password de mercy esta oculta en este directorio.
查看文件名为 ...
的文本文件
cat ./...
0x43 查看历史命令
~$ ls -a
. .bash_history .bashrc flagz.txt
.. .bash_logout .profile mission.txt
~$ cat mission.txt
################
# MISSION 0x43 #
################
## EN ##
User mercy is always wrong with the password of paula.
用户mercy总是用错paula的密码
## ES ##
La usuaria mercy siempre se equivoca con la password de paula.
查看历史命令
cat .bash_history
0x44 指定组查找文件
~$ cat mission.txt
################
# MISSION 0x44 #
################
## EN ##
The user karla trusts me, she is part of my group of friends.
用户karla信任我,她是我组的一员
## ES ##
La usuaria karla confia en mi, es parte de mi grupo de amigos.
通过组找文件
~$ id
uid=1044(paula) gid=1044(paula) groups=1044(paula),1053(hidden)
~$ find / -group hidden -type f 2>/dev/null
0x45 图片隐写
~$ ls
flagz.txt mission.txt yuju.jpg
~$ cat mission.txt
################
# MISSION 0x45 #
################
## EN ##
User denise has saved her password in the image.
## ES ##
La usuaria denise ha guardado su password en la imagen.
图片隐写,用exiftool
查看图像的exif
信息
exiftool yuju.jpg
0x46 本地命令提权
~$ cat mission.txt
################
# MISSION 0x46 #
################
## EN ##
The user zora is screaming doas!
用户zora正在尖叫doas ??
## ES ##
La usuaria zora no deja de gritar doas!
doas
可疑
~$ find / -name doas 2>/dev/null
发现是个命令
~$ doas
usage: doas [-Lns] [-C config] [-u user] command [args]
~$ doas -u zora bash
0x47 curl 访问文件 (有点迷惑)
~$ ls
flagz.txt zora_pass.txt
mission.txt
~$ cat mission.txt
################
# MISSION 0x47 #
################
## EN ##
The user belen has left her password in venus.hmv
用户belen在venus.hmv中留下了密码
## ES ##
La usuaria belen ha dejado su password en venus.hmv
这题很迷,找不到venus.hmv
文件,看别人是用curl
找的
~$ find / -name venus.hmv 2>/dev/null
无回显
~$ curl -H 'HOST: venus.hmv' http://localhost
0x48 john 字典爆破 hash
~$ ls
flagz.txt mission.txt stolen.txt
~$ cat mission.txt
################
# MISSION 0x48 #
################
## EN ##
It seems that belen has stolen the password of the user leona...
似乎belen偷了用户leona的密码
## ES ##
Parece que belen ha robado el password de la usuaria leona..
~$ cat stolen.txt
发现是/etc/shadow
中hash
值
将信息复制到本地,保存为leonahash
文件,使用john
工具进行爆破
john leonahash -w=/root/dict/wordlists/rockyou.txt
0x49 检查DNS服务器配置
~$ cat mission.txt
################
# MISSION 0x49 #
################
## EN ##
User ava plays a lot with the DNS of venus.hmv lately...
ava用户最近经常使用venus.hmv的DNS
## ES ##
La usuaria ava juega mucho con el DNS de venus.hmv ultimamente...
检查DNS服务器配置
~$ ls /etc/bind
密码在其中一个文件中
0x50 某处找
~$ cat mission.txt
################
# MISSION 0x50 #
################
## EN ##
The password of maria is somewhere...
## ES ##
El password de maria esta en algun lugar...
在某处找