超级玛丽渗透测试
0x00实验环境
靶机:node,IP地址:192.168.8.205
测试机:Kali,IP地址:192.168.8.145;
0x01实验流程
信息收集——主机发现、端口扫描
渗透测试
0x02实验步骤
- netdiscover主机发现
- Masscan和nmap扫描
- 进入http://192.168.8.206:8180/
- dirb http://192.168.8.206:8180/ /usr/share/dirb/wordlists/big.txt
访问目录:
- 添加hosts记录并再次访问网站
- Dirb目录扫描http://mario.supermariohost.local:8180
- Cewl获取网页上的字符串,制作针对性的用户名密码字典
-d 爬取网页深度默认为2,不用调整
-e 收集包含email信息
-c 每个单词出现的次数
-m 最小单词长度
-v 显示详细信息
-w 输出到某个文件
- 用john可以丰富该字典,加一下前后缀等修饰
--wordlist 要丰富的字典
--rules 添加规则
--stdout 只输出候选密码
- 可以使用msf,hydra,美杜莎暴力破解ssh登录密码
这里使用hydra
-L 用户名字典 -l 指定用户名
-P 密码字典 -p 指定密码
-t 线程 -v详细信息 -I(大写)跳过等待
-e ns 可选选项 n 空密码试探 s 使用指定用户和密码试探
用户名密码为:
login: luigi password: luigi1
- Ssh登陆,提权
素质三连
但是shell被限制
可以使用的命令有这些
提权:
使用awk调用shell命令:
awk介绍
awk可以认为是一门语言,非常强大。
awk工作流程是这样的:先执行BEGIN,然后读取文件,读入换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。
调用方式
三种调用方式
awk '{pattern + action}' {filenames}
+ 命令行方式:
```awk [-F field-separator] 'commands' input-file(s)```
其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
+ shell脚本方式
将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用。
相当于shell脚本首行的:```#!/bin/sh``` 可以换成:```#!/bin/awk```
+ 将所有的awk命令插入一个单独文件,然后调用:```awk -f awk-script-file input-file(s)```; 其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。
awk 'BEGIN{system("/bin/bash")}'
查看版本信息:
查找版本漏洞:
- 继续提权,复制提权脚本并开启http服务
靶机下载脚本
编译并执行脚本
至此,提权成功
- 清理痕迹,留后门