前言
随笔一篇,用于记录,留下心得。
1.1 环境
① 攻击机:Kali
② 靶机:Machine_Matrix
1.2 渗透实战
1.2.1 信息收集
ifconfig 查看攻击机 Kali IP,以确定待会要扫描的网段
① 发现主机
命令:netdiscover -r 192.168.11.0/24
说明:192.168.11.136 是我另一台虚拟机的IP
由此可以得出 Machine_Matrix 的IP为 192.168.11.159
1.2.2 漏洞挖掘(获取敏感信息)
① 搜索靶机IP
发现是一个一般页面,没有可点击的按钮或链接,没有可用的信息。查看源代码也无济于事。。。
② nmap 端口发现
【1】-A:详细扫描目标IP,加载所有脚本,尽可能全面地探测信息
【2】-v:显示详细地扫描过程
【3】-sS:利用 TCP SYN 扫描
【4】-sV:探测开放
【5】-p-:扫描全部端口
命令:nmap -sS -sV -v 192.168.11.159
注:发现高位端口!!!
③ 端口利用
搜索 http://192.168.11.159:31337
可见,页面依然没有可利用点,查看源码发现了一串疑似 Base64 加密的字符串,
ZWNobyAiVGhlbiB5b3UnbGwgc2VlLCB0aGF0IGl0IGlzIG5vdCB0aGUgc3Bvb24gdGhhdCBiZW5kcywgaXQgaXMgb25seSB5b3Vyc2VsZi4gIiA+IEN5cGhlci5tYXRyaXg=
④ 解密求真
这里有两种方法:
【1】在线解密:
【2】Kali 自带 Base64 解密
解密结果发现一个可利用文件 Cypher.matrix
⑤ 文件利用
搜索 http://192.168.11.159/Cypher.matrix 得到一个可下载文件
打开下载的文件之后发现一堆机器码
⑥ 解密求真
CTF 在线工具网址:http://ctf.ssleye.com
解密的结果大致的意思就是:你可以用 guest 的身份登录靶机,但是密码只有 k1ll0rXX (密码的后两位字符不知道)要我们自行破解。
⑦ 生成字典
这里使用 Kali 自带的 crunch 字典生成工具。
man crunch 查看 crunch 用法。
生成字典:
crunch 8 8 -t k1ll0r%@ -o dictionary.txt
符号解释:
8 8 :是生成密码的最大和最小长度
%:数字
@:小写字母
-o:输出到指定文件
⑧ 暴力破解
命令:hydra -l guest -P dictionary.txt 192.168.11.159 ssh
得到密码:k1ll0r7n
1.2.3 远程登录提权(得到 flag)
① ssh 登录靶机
命令:ssh guest@192.168.11.159(这里密码不回显!)
本来再进行 sudo su 提权就可以拿到 flag 了,但是却发现常用的命令用不了,可见我们拿下的这个 shell , 也就是 rbash 受限制。
② echo $PATH
作用:发现可执行权限的路径。
③ echo $PATH/*
作用:发现可执行的命令。
④ 另一个shell (bash)
通过 vi 命令进入 vi 编辑器的人机交互界面
输入命令 " :! /bin/bash "
感叹号在前面表示调用外部命令,感叹号在后面 如:wq! 表示强制操作
进入一个 vi 打开的人机交互界面之后发现有些命令可以使用,但是还有一些重要命令不能使用,此时我们可以通过 sudo su 命令进行提权。
在 bash 下发现有些常见命令可用 ls 和 cd ,但是 sudo su 依然无法使用,那就没法进行提权,也就没法拿到 flag。
⑤ ls -la
通常一些命令,可执行的二进制文件放在 bin , sbin , usr/bin , usr/sbin 目录下
通过尝试之后我们发现:
在 /user/bin 路径下能够执行 sudo 命令
在 /bin 下能够执行 su 命令
注:通常一些命令,可执行的二进制文件放在 bin , sbin , usr/bin , usr/sbin 目录下
⑥ 添加环境变量
将能执行 sudo 和 su 的路径添加进环境变量。
export PATH=
P
A
T
H
:
/
u
s
r
/
b
i
n
e
x
p
o
r
t
P
A
T
H
=
PATH:/usr/bin export PATH=
PATH:/usr/binexportPATH=PATH:/bin
⑦ 提权夺旗
结尾
择其善者而从之,其不善者而改之。
猪头
2019.12.15