OSCP靶机-node
好久不见, 甚是想念, 这个靶机相对于来说属于简单级别的, 因为需要的步骤并不多, 主要是需要进行细心地观察以及自己的思路要清晰
靶机地址: https://www.vulnhub.com/entry/node-1,252/
日期:2023/03/02
信息收集阶段
IP Discovery
┌──(aaron㉿aacai)-[~/Desktop/OSCP]
└─$ sudo arp-scan -l
192.168.146.57 00:0c:29:66:2c:60 VMware, Inc.
端口扫描
使用nmap进行全端口扫描
┌──(aaron㉿aacai)-[~/Desktop/OSCP/node]
└─$ sudo nmap -p- 192.168.146.57
PORT STATE SERVICE
22/tcp open ssh
3000/tcp open ppp
MAC Address: 00:0C:29:66:2C:60 (VMware)
可以看到打开了22和3000端口, 接着对这两个指定端口进行扫描
┌──(aaron㉿aacai)-[~/Desktop/OSCP/node]
└─$ sudo nmap -p22,3000 -sV -A 192.168.146.57
Starting Nmap 7.92 ( https://nmap.org ) at 2023-03-02 16:32 HKT
Nmap scan report for 192.168.146.57
Host is up (0.00030s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 dc:5e:34:a6:25:db:43:ec:eb:40:f4:96:7b:8e:d1:da (RSA)
| 256 6c:8e:5e:5f:4f:d5:41:7d:18:95:d1:dc:2e:3f:e5:9c (ECDSA)
|_ 256 d8:78:b8:5d:85:ff:ad:7b:e6:e2:b5:da:1e:52:62:36 (ED25519)
3000/tcp open hadoop-tasktracker Apache Hadoop
| hadoop-datanode-info:
|_ Logs: /login
| hadoop-tasktracker-info:
|_ Logs: /login
|_http-title: MyPlace
MAC Address: 00:0C:29:66:2C:60 (VMware)
紧接着访问3000端口查看内容
从图片当中不难看出这是一个博客网站, 并且有登录的入口
页面目录枚举
dirsearch
┌──(aaron㉿aacai)-[~/Desktop/OSCP/node]
└─$ dirsearch -u "http://192.168.146.57:3000"
[16:44:25] Starting:
[16:44:48] 301 - 171B - /assets -> /assets/
[16:45:22] 301 - 173B - /uploads -> /uploads/
从dirsearch可以发现, 这个app基于vue来设计的
dirb
┌──(aaron㉿aacai)-[~/Desktop/OSCP/node]
└─$ dirb "http://192.168.146.57:3000" -f
START_TIME: Thu Mar 2 16:43:28 2023
URL_BASE: http://192.168.146.57:3000/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
OPTION: Fine tunning of NOT_FOUND detection
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.146.57:3000/ ----
-----------------
END_TIME: Thu Mar 2 16:43:33 2023
DOWNLOADED: 4612 - FOUND: 0
dirb也没有结果, 那就看看源代码里面能够提供什么信息
看到/controllers里面可能对我们有用的js文件
login.js
home.js
admin.js
profile.js
通过home.js, 我们可以试试访问/api/user/latest
在所有的OSCP打靶记录当中, 我都会将密码等进行打码处理, OSCP贯彻两个词"Try Harder", 所以各位需要各凭本事去进行打靶
得到3个有用的用户!
去使用creckstation进行解密试试
拿到了两个用户的密码, 那么我们就可以使用用户的密码去进行登录, 这里使用tom
然后就可以访问里面的内容了, 但是我们不是管理员, 所以我们尝试去访问一下非latest的用户, 直接访问/api/users试试
okk,咱们的想法是正确的, 再次去解密hash
拿到了管理员的密码, 然后再次去登录管理员账号
就可以下载一个backup的文件
使用file去辨别这个文件, 发现这是一个ASCII的文件
使用vim打开看看
虽然看起来很没有用... 但是这不是咱熟悉的base64吗, 试试base64解码
┌──(aaron㉿aacai)-[~/Desktop/OSCP/node]
└─$ cat myplace.backup | base64 -d > myplace
可行, 然后再来看一下这个文件的信息
可以看到这是一个zip文件, 那修改后缀名进行解压
却发现这个文件被加密了, 那就进行一个暴力破解, 使用fcrackzip工具
usage:
USAGE: fcrackzip
[-b|--brute-force] use brute force algorithm
[-D|--dictionary] use a dictionary
[-B|--benchmark] execute a small benchmark
[-c|--charset characterset] use characters from charset
[-h|--help] show this message
[--version] show the version of this program
[-V|--validate] sanity-check the algorithm
[-v|--verbose] be more verbose
[-p|--init-password string] use string as initial password/file
[-l|--length min-max] check password with length min to max
[-u|--use-unzip] use unzip to weed out wrong passwords
[-m|--method num] use method number "num" (see below)
[-2|--modulo r/m] only calculcate 1/m of the password
file... the zipfiles to crack
在这里使用--dictionary ----init-password --use-unzip 三个参数
这样压缩包的密码就拿到了
成功地解压了压缩包
然后打开app.js查看内容
在这里可以看到有一个mongodb的账户, 用户名是mark, 但是这里用的端口是27017, 而我们一开始看到的只有22和3000端口, 那不妨像以前一样死马当做活马医, 用ssh来试试
我说啥来着?我说啥来着!
提权
首先来看看内核版本, 看看能不能使用内核提权
mark@node:~$ uname -a
Linux node 4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
mark@node:~$ cat /etc/issue
Ubuntu 16.04.3 LTS n l
可以, 那就好办了, 直接用wget去下载exploitdb里面的脚本
然后gcc编译, 一步到位
getshell成功
完
OSCP需要不断的去打靶进行训练, 方能达到熟能生巧, 所以多打靶多积累经验, 当你打靶超过一定的数量的时候, 你就可以去尝试进行考试, 始终记住你可以向圈子内的师傅提问问题, 但是不要直接问答案, 因为"Try Harder".
结语
-
感谢各位师傅看到这里, 创作不易,如果有更多问题的话可以联系我。 -
如果您想联系我, 可以直接添加我的微信号ID: wengchensmile, 来技术交流. -
我们下期再见!
原文始发于微信公众号(Aaron与安全的那些事):悄咪咪的更新| OSCP-Node
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论