首先下载Node靶机:
链接:https://pan.baidu.com/s/1AM7ARoYy9IvSQXXbUi7Lsg
提取码:5o2o
在虚拟机中打开
1.局域网主机扫描查看哪些主机存活,命令netdiscover -i 网卡号 -r子网号。
发现目标主机192.168.127.137
2.对主机的开放端口进行扫描
nmap命令使用:
-sT:使用TCP对主机进行扫描,使用tcp三次握手探测端口是否打开
-sS:使用SYN包进行探测,在tcp协议的第二步当系统收到一个SYN包的时候回复ACK说明端口开放,回复RST表示端口没有打开,但是需要root权限
sF:使用Fin包探测端口,比较隐蔽当系统收到一个FIN包端口打开的话不做任何处理,但端口是关闭的话会回复RST,但是对于windows系统不适用因为对tcp协议的描述不同收到该包时不做任何反应,可以用来对操作系统进行探测
-sU:使用UDP协议进行探测,有的时候比较慢系统对icmp的错误报文进行了限制
-sV:查看端口对应的服务类型,如:http、ssh等
-O:对目标主机的操作系统的类型进行探测返回操作系统的类型和版本号
-F:只扫描一些常用的端口,在nmap-service中的端口
-p:指定需要扫描的端口
-P:指定一个端口范围
-T:设置扫描时间,超过该时间放弃退出
法一:nmap -Pn进行扫描
法二:masscan ip --rate=发包率 --ports 端口
发现主机的20和3000端口是打开的显示20是ssh服务,3000为ppp服务。进一步使用nmap -sV查看端口具体对应的服务命令:nmap -sV(查看服务) -T4(超时退出)
发现3000端口为http服务系统linux内核版本为4
3.在浏览器输入目标主机的端口进入web页面
利用dirb对目标进行目录扫描没有任何发现
通过burp爬虫发现admin、login等js,一般这些代码中包含了一些登录相关的信息(不会burp可以直接在网站F12进入代码检查查看相应的文件)
在网站页面点击F12进入检查元素->在调试器下有这些js文件
进入js发现一些目录
4.在浏览器输入这些目录查看相应目录下的信息,在输入api/users/latest之后发现了一些账户名与加密密码,一般这些密码采用MD5加密,在网上利用MD5对密码进行解密
5.在登录页面输入密码账户登录,但是没有发现任何有用的信息应该是一些普通的用户在搭建网站测试使用的,此时我们继续对目录进行测试。
6.在输入/api/users时发现同样存在很多的用户名和密码,并且在第一个用户下显示是is_admin为true表示是管理员,进行解密登录查看是否有有用的信息
7.登录第一个用户名之后发现存在一个备份文件的下载,这种管理员下的文件很有可能是搭建的配置文件包含网站的很多信息尤其是服务器的信息,这里将文件下载下来
8.使用vim打开刚刚下载的文件发现是不认识的乱码,这种乱码一般是某种加密手段加密后的,熟悉base64的朋友应该很快就可以看出这是base64加密后的
9.使用base64命令对该文件进行解码,之后打开解码之后的文件发现很多乱码,但是用记事本打开过压缩文件的应该会发现和这个很像,于是判断这是一个压缩文件
这是记事本打开压缩文件之后的样子和之前文件很相似
10.使用解压命令解压文件发现需要密码
11.使用命令fcrackzip对压缩包进行破解(速度比较慢这里破解的密码为magicword)
12.得到密码之后解压压缩包完成之后发现目录下多了一个var目录这个目录是网站所在的目录说明是访问的网站的备份文件,进如目录发现在myplace下有许多的文件有网站的js,网页页面文件等等进入文件进行查看,在app.js中发现一个用户名和密码
13.使用密码登录到账户,建议先对用户的密码进行修改后面使用时更加方便,查看/etc/passwd发现mark是一个普通用户,这里我们需要进行提权
14.首先查看系统的信息,然后在kali中使用searchsploit查看相应版本的可用的提权工具发现了该版本在linux/local下存在一个c程序可以进行提权
15.通过命令scp将该文件发送到目标主机进行运行,注意如果用户是普通用户只能上传到tmp目录下
在目标主机下运行该程序,运行之后发现已经切换到root用户,进入/etc/passwd将用户mark的uid改为0升级超级用户
到此完成对整个Node靶机的渗透工作下次登录到mark用户是就是超级用户权限
在前面可以使用ssh远程登录到目标主机ssh 用户名@主机名或ip -p 端口