TryHackMe-Year of the Pig(Linux渗透测试)

Year of the Pig
有些猪会飞,有些有故事要讲。开始吧!
端口扫描
循例nmap

Web枚举
进入80

gobuster扫

进到/admin,尝试弱口令,给出了密码提示

密码本身的一些很简单的单词,密码的后三位是两位数字加一个特殊字符
我们利用cewl去爬取网页,获取单词表

这里可以利用john的rule去生成字典

生成保存

由于登录时密码是经过md5的,那么我们也需要对明文密码字典处理一下

python把明文密码给MD5,由于区分大小写,默认获取的字典爆了没爆出来,于是进行全小写
import hashlibf = open('pass.txt', 'r')for pwd in f.readlines():obj = hashlib.md5()obj.update(pwd.strip().lower().encode("utf-8"))print(obj.hexdigest())

hydra在这里似乎有些问题,直接换ffuf


修改一下python脚本,让他把明文密码也输出出来,直接拿着hash去比对

登进后台,可以执行命令,但有限制,getshell似乎几乎不可能

拿着marco的凭据,尝试登ssh, 成功,同时拿到flag1

横向移动
查找marco所在的web-developers组有权限管理的文件

显然整个Web我们都有权管理
/var/www下有个db,想必里面就存放了另一个账户的凭据

但该文件不归我们所有
除了数据库文件以外,其他Web的文件我们基本都有权限读写,而web服务是由www-data用户启动的
这意味着我们可以直接往网站根目录写shell.php,然后获得www-data的shell,再读取db文件

利用she11.php

给admin.db个777的权限然后这个shell就可以丢掉了

开启http服务把admin.db传回攻击机

拿到curtis的md5 hash,直接用CrackStation秒出

直接su过去,同时拿到flag2

权限提升
查看sudo -l

很简单的提权,我们需要先回到marco,因为只有它我们才能再/var/ww/html下操作
创建两目录,然后ln创建个链接文件指向passwd

openssl生成密码hash

利用sudoedit,添加账号

保存退出,直接su过去,成功拿到root



