前言

vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的渗透来加深理解,下面我们开始。

环境准备

环境已经打包好了,环境拓扑结构如下:



下载好后如下:有三台机器,win7,win2003,win2008。



现在要做的就是模拟内外网环境了,win7是Web服务器,外网能访问,同时也要能访问域成员win2003和域控win2008。所以要给win7配置两张网卡。先配置内网环境,让其在同一网段,如下,都设置成自定义仅主机模式。



然后再添加一张网卡,我这里把win7和攻击机kali设置成了自动桥接模拟外网。环境配置完成。

外网探索

拿到外网IP后,咱们第一步就是进行端口扫描,看看开放了哪些端口。说干就干,祭出nmap。扫描结果如下:



发现开放了这么多的端口,激动啊,这样思路就很多了。说一句题外话,如果现实站点开这么多端口那就是妥妥的蜜罐了。咱们回到这里,有80端口,说明有Web服务,可以从那里起手,但我们发现它开放的445端口,这里直接可以想到ms17-010,看看能不能直接拿到shell。接下来使用MSF,搜索ms17-010,



这里选择第二个,然后设置payload和要攻击的IP,如下:



幸福就是这么突然,我们成功拿到了shell,如下:



之后就是添加路由,杀入内网了。既然是靶机实战,在讲解一下通过其他的方式拿下外网服务器。咱们刚才在扫描端口的时候,发现开放了80端口,那就从它下手。现在访问IP地址如下:



发现是phpstudy探针,其中咱们最开始扫描端口时就已经知道是phpstudy搭建的站点了,nmap已经识别出来了。接下来的思路就是扫目录,看看有没有什么资产。我这里使用的是dirmap,御剑也是可以的。两个工具的扫描结果如下:

dirmap



御剑



差别不大,我们发现了一个备份文件,解压看一下,发现是yxcms站点的源码打包,这个cms是开源的,可以直接在搜索引擎搜它之前有没有被爆出什么漏洞。在实战中,如果扫出来备份文件,且不是开源的,那么可以直接代码审计,然后找到相关的漏洞。



接下来,我们搜索发现,这个cms爆出过后台模板写一句话木马并getshell的,现在访问这个站点。通过观察,发现站点公告处存在信息泄露,现在直接访问后台并登陆。



实战中,找到后台,手工测试一下常见弱口令,有惊喜哦。现在按照网上说的,在模板里插入一句话木马,这里我选择在首页index.php中插入。



然后就是访问首页,看看有没有插入成功。结果很满意,咱们成功了,下面就是通过菜刀连接,拿到shell了。



祭出菜刀,连接。



那么还有没有其他的姿势拿到Webshell呢?还记得咱们之前扫描目录的时候发现的phpmyadmin页面吗,现在咱们访问,并使用root,root弱口令尝试登陆。幸福就是这么突然,咱们进来了。



phpmyadmin是可以通过日志功能getshell的,现在咱们查询一下日志功能是否开启,默认是关闭的。

show variables like "general_log%";



果不其然,这里也是关闭的,不要紧,咱们手动开启它:set globalgeneral_log='on';

开启后,设置日志文件的输出路径,通过phpinfo查看,直接将日志输出到Web的绝对路径下:set global general_log_file ="C:\\phpStudy\\WWW\\phpinfo.php";,未来避免出错,这里用\



接下来写入一句话,输出到日志文件中成功getshell。



接下来就是遨游内网了。写不动了,歇一歇再遨游吧=_=。

vulnstack靶机实战01的更多相关文章

  1. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  2. Java并发编程实战 01并发编程的Bug源头

    摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...

  3. python 数据分析与挖掘实战01

    python 数据分析与挖掘实战 day 01 08/02 这种从数据中"淘金",从大量数据包括文本中挖掘出隐含的.未知的.对决策有潜在价值关系.模式或者趋势,并用这些知识和规则建 ...

  4. redis实战(01)_redis安装

    早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...

  5. ExtJS实战 01——HelloWorld

    前言 Extjs5的发布已经有些日子了,目前的最新稳定版本是Extjs5.1.0,我们可以在官方网站进行下载.不过笔者今天访问得到的是502Bad Gateway,原因可能是sencha的nigix没 ...

  6. 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2

    转自:https://blog.csdn.net/eson_15/article/details/51277324 今天开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH.这篇博文主要总 ...

  7. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

  8. DVWA靶机实战-文件上传漏洞(二)

    继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...

  9. hacknos靶机实战

    工具: kali 192.168.1.6 nmap 打开使用nmap -sP 192.168.1.0/24 扫描活跃的主机 发现目标ip 使用nmap 查看开启了什么服务Nmap -v -A -PN ...

随机推荐

  1. ubuntu18.04下stlink的一种安装方法

    安装前准备: 从软件包存储库中安装以下软件包: git gcc或clang或mingw32-gcc或mingw64-gcc(C编译器:很可能已经存在gcc) build-essential (在基于D ...

  2. maven profile filter 线上线下分开打包配置

    maven自动选择不同的配置文件打包profile+filter 1. profile: [要点:] activeByDefault默认激活,不用再mvn命令时指定额外参数: [注意:] 使用非默认的 ...

  3. 【webSocket】实现原理

    服务端文件: import base64 import hashlib import socket # 将请求头格式化成字典 def get_headers(data): ""&q ...

  4. Exactly Once 语义

    将服务器的 ACK 级别设置为-1,可以保证 Producer 到 Server 之间不会丢失数据,即 At Least Once 语义. 相对的,将服务器 ACK 级别设置为 0,可以保证生产者每条 ...

  5. Linux程序开发中如何判断目录是否为根目录?

    问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...

  6. 2020年最新ZooKeeper面试题(附答案)

    2020年最新ZooKeeper面试题 1. ZooKeeper 是什么? ZooKeeper 是一个开源的分布式协调服务.它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zooke ...

  7. 结合实战和源码来聊聊Java中的SPI机制?

    写在前面 SPI机制能够非常方便的为某个接口动态指定其实现类,在某种程度上,这也是某些框架具有高度可扩展性的基础.今天,我们就从源码级别深入探讨下Java中的SPI机制. 注:文章已收录到:https ...

  8. Dubbo 初识SPI-Version2.7.5

    1简介 SPI 全称为 Service Provider Interface,是一种服务发现机制.SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类.这样可以在 ...

  9. linux打包 压缩 解压tar常归操作

    tar 打包 tar -cvf 打包后路径和文件名.tar 需要打包的路径和文件压缩 tar -zcvf 打包后路径和文件名.tar.gz 需要打包的路径和文件解压 tar -xvf 包名 -C 路径 ...

  10. js-根据日期获取本年所有周日

    /** * 方法 描述 Date() 返回当日的日期和时间. getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31). getDay() 从 Date 对象返回一周中的某一天 ( ...