- Table of Contents
- 信息搜集
- 进入内网
- 隐匿攻击
- 内网跨边界应用
- 内网信息搜集
- 权限提升
- 权限维持
- 系统后门
- Windows
- 1、密码记录工具
- 2、常用的存储Payload位置
- 3、Run/RunOnce Keys
- 4、BootExecute Key
- 5、Userinit Key
- 6、Startup Keys
- 7、Services
- 8、Browser Helper Objects
- 9、AppInit_DLLs
- 10、文件关联
- bitsadmin">11、bitsadmin
- mof ">12、mof
- wmi">13、wmi
- Userland Persistence With Scheduled Tasks">14、Userland Persistence With Scheduled Tasks
- Netsh">15、Netsh
- Shim">16、Shim
- DLL劫持">17、DLL劫持
- DoubleAgent /)">18、DoubleAgent /)
- waitfor.exe ">19、waitfor.exe
- AppDomainManager">20、AppDomainManager
- 21、Office
- CLR">22、CLR
- msdtc">23、msdtc
- Hijack CAccPropServicesClass and MMDeviceEnumerato">24、Hijack CAccPropServicesClass and MMDeviceEnumerato
- Hijack explorer.exe">25、Hijack explorer.exe
- 26、Windows FAX DLL Injection
- 27、特殊注册表键值
- 28、快捷方式后门
- Logon Scripts">29、Logon Scripts
- Password Filter DLL">30、Password Filter DLL
- 利用BHO实现IE浏览器劫持">31、利用BHO实现IE浏览器劫持
- Linux
- Windows
- WEB后门
- 系统后门
- 横向渗透
- 痕迹清理
Author: Evi1cg
Blog: https://evi1cg.github.io
Table of Contents
- 信息搜集
- 进入内网
- 隐匿攻击
- 内网跨边界应用
- 内网信息搜集
- 权限提升
- 权限维持
- 系统后门
- Windows
- 1、密码记录工具
- 2、常用的存储Payload位置
- 3、Run/RunOnce Keys
- 4、BootExecute Key
- 5、Userinit Key
- 6、Startup Keys
- 7、Services
- 8、Browser Helper Objects
- 9、AppInit_DLLs
- 10、文件关联
- 11、bitsadmin
- 12、mof
- 13、wmi
- 14、Userland Persistence With Scheduled Tasks
- 15、Netsh
- 16、Shim
- 17、DLL劫持
- 18、DoubleAgent
- 19、waitfor.exe
- 20、AppDomainManager
- 21、Office
- 22、CLR
- 23、msdtc
- 24、Hijack CAccPropServicesClass and MMDeviceEnumerato
- 25、Hijack explorer.exe
- 26、Windows FAX DLL Injection
- 27、特殊注册表键值
- 28、快捷方式后门
- 29、Logon Scripts
- 30、Password Filter DLL
- 31、利用BHO实现IE浏览器劫持
- Linux
- Windows
- WEB后门
- 系统后门
- 横向渗透
-
- Windows日志清除
- 破坏Windows日志记录功能
- msf
- 3389登陆记录清除
信息搜集
开源情报信息收集(OSINT)
github
Github_Nuggests(自动爬取Github上文件敏感信息泄露) :https://github.com/az0ne/Github_Nuggests
- GSIL(能够实现近实时(15分钟内)的发现Github上泄露的信息) :https://github.com/FeeiCN/GSIL
x-patrol(小米团队的):https://github.com/MiSecurity/x-patrol
whois查询/注册人反查/邮箱反查/相关资产
- 爱站:https://whois.aizhan.com/target.com/
- 微步在线:https://x.threatbook.cn/
- IP反查:https://dns.aizhan.com/
- 天眼查:https://www.tianyancha.com/
- 虎妈查:http://www.whomx.com/
历史漏洞查询 :
- 在线查询:http://wy.zone.ci/
- 自搭建:https://github.com/hanc00l/wooyun_publi/
google hacking
创建企业密码字典
字典列表
passwordlist:https://github.com/lavalamp-/password-lists
- 猪猪侠字典:https://pan.baidu.com/s/1dFJyedz
Blasting_dictionary(分享和收集各种字典,包括弱口令,常用密码,目录爆破。数据库爆破,编辑器爆破,后台爆破等) -
密码生成
GenpAss(中国特色的弱口令生成器: https://github.com/RicterZ/genpAss/
- passmaker(可以自定义规则的密码字典生成器) :https://github.com/bit4woo/passmaker
pydictor(强大的密码生成器) :https://github.com/LandGrey/pydictor
邮箱列表获取
theHarvester :https://github.com/laramies/theHarvester
- 获取一个邮箱以后导出通讯录
- LinkedInt :https://github.com/mdsecactivebreach/LinkedInt
Mailget:https://github.com/Ridter/Mailget
泄露密码查询
ghostproject: https://ghostproject.fr/
pwndb: https://pwndb2am4tzkvold.onion.to/
对企业外部相关信息进行搜集
子域名获取
Layer子域名挖掘机4.2纪念版
- subDomainsBrute :https://github.com/lijiejie/subDomainsBrute
- wydomain :https://github.com/ring04h/wydomain
- Sublist3r :https://github.com/aboul3la/Sublist3r
- site:target.com:https://www.google.com
- Github代码仓库
- 抓包分析请求返回值(跳转/文件上传/app/api接口等)
- 站长帮手links等在线查询网站
- 域传送漏洞
Linux
Windows
- GetDomainsBySSL.py :https://note.youdao.com/ynoteshare1/index.html?id=247d97fc1d98b122ef9804906356d47a&type=note#/
- censys.io证书 :https://censys.io/certificates?q=target.com
- crt.sh证书查询:https://crt.sh/?q=%.target.com
- shadon :https://www.shodan.io/
- zoomeye :https://www.zoomeye.org/
- fofa :https://fofa.so/
- censys:https://censys.io/
- dnsdb.io :https://dnsdb.io/zh-cn/search?q=target.com
- api.hackertarget.com :http://api.hackertarget.com/reversedns/?q=target.com
- community.riskiq.com :https://community.riskiq.com/Search/target.com
- subdomain3 :https://github.com/yanxiu0614/subdomain3
- FuzzDomain :https://github.com/Chora10/FuzzDomain
- dnsdumpster.com :https://dnsdumpster.com/
- phpinfo.me :https://phpinfo.me/domain/
dns开放数据接口 :https://dns.bufferover.run/dns?q=baidu.com
进入内网
基于企业弱账号漏洞
VPN(通过邮箱,密码爆破,社工等途径获取VPN)
-
基于系统漏洞进入
Metasploit(漏洞利用框架):https://github.com/rapid7/metasploit-framework
-
网站应用程序渗透
SQL注入
- 跨站脚本(XSS)
- 跨站请求伪造(CSRF)
- SSRF(ssrf_proxy)
- 功能/业务逻辑漏洞
- 其他漏洞等
- CMS-内容管理系统漏洞
-
无线Wi-Fi接入
隐匿攻击
Command and Control
ICMP :https://pentestlab.blog/2017/07/28/command-and-control-icmp/
- DNS :https://pentestlab.blog/2017/09/06/command-and-control-dns/
- DropBox :https://pentestlab.blog/2017/08/29/command-and-control-dropbox/
- Gmail :https://pentestlab.blog/2017/08/03/command-and-control-gmail/
- Telegram :http://drops.xmd5.com/static/drops/tips-16142.html
- Twitter :https://pentestlab.blog/2017/09/26/command-and-control-twitter/
- Website Keyword :https://pentestlab.blog/2017/09/14/command-and-control-website-keyword/
- PowerShell :https://pentestlab.blog/2017/08/19/command-and-control-powershell/
- Windows COM :https://pentestlab.blog/2017/09/01/command-and-control-windows-com/
- WebDAV :https://pentestlab.blog/2017/09/12/command-and-control-webdav/
- Office 365 :https://www.anquanke.com/post/id/86974
- HTTPS :https://pentestlab.blog/2017/10/04/command-and-control-https/
- Kernel :https://pentestlab.blog/2017/10/02/command-and-control-kernel/
- Website :https://pentestlab.blog/2017/11/14/command-and-control-website/
- WMI :https://pentestlab.blog/2017/11/20/command-and-control-wmi/
- WebSocket :https://pentestlab.blog/2017/12/06/command-and-control-websocket/
- Images :https://pentestlab.blog/2018/01/02/command-and-control-images/
- Web Interface :https://pentestlab.blog/2018/01/03/command-and-control-web-interface/
- JavaScript :https://pentestlab.blog/2018/01/08/command-and-control-javascript/
-
Fronting
-
代理
VPN
- shadowsockts :https://github.com/shadowsocks
- HTTP :http://cn-proxy.com/
-
内网跨边界应用
内网跨边界转发
- LCX端口转发
- nps
- 代理脚本
- …
内网跨边界代理穿透
EW
正向 SOCKS v5 服务器:
反弹 SOCKS v5 服务器:
a) 先在一台具有公网 ip 的主机A上运行以下命令:
b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口
多级级联
lcx_tran 的用法
lcx_listen、lcx_slave 的用法
“三级级联”的本地SOCKS测试用例以供参考Termite
使用说明:https://rootkiter.com/Termite/README.txt代理脚本
reGeorg :https://github.com/sensepost/reGeorgshell反弹
bash
perl
python
php
ruby
java
nc
lua内网文件的传输和下载
wput
wget
ariac2(需安装)
powershell
vbs脚本执行 :cscript test.vbs
Perl
执行:perl test.pl
Python
执行:python test.py
Ruby
执行:ruby test.rb
PHP
执行:php test.php
NC
attacker
target
FTP
TFTP
Bitsadmin
Window 文件共享
SCP
本地到远程
远程到本地
rsync
远程rsync服务器中拷贝文件到本地机
本地机器拷贝文件到远程rsync服务器
certutil.exe
copy
WHOIS
接收端 Host B:
发送端 Host A:
WHOIS + TAR
First:
Next
Finally
PING
发送端:
接收端ping_receiver.py
:
DIG
发送端:
接收端dns_reciver.py
:
…
搭建 HTTP server
python2
python3
PHP 5.4+
ruby
Perl
busybox httpd
内网信息搜集
本机信息搜集
1、用户列表
windows用户列表
分析邮件用户,内网[域]邮件用户,通常就是内网[域]用户
2、进程列表
3、服务列表
与安全防范工具有关服务[判断是否可以手动开关等]
存在问题的服务[权限/漏洞]
4、端口列表
开放端口对应的常见服务/应用程序[匿名/权限/漏洞等]
利用端口进行信息收集
5、补丁列表
分析 Windows 补丁
第三方软件[Java/Oracle/Flash 等]漏洞
6、本机共享
7、本用户习惯分析
8、获取当前用户密码工具
Windows
- mimikatz
- wce
- Invoke-WCMDump
- mimiDbg
- LaZagne
- nirsoft_package
- QuarksPwDump fgdump
-
Linux
-
扩散信息收集
端口扫描
常用端口扫描工具
- masscan
- zmap
- s扫描器
- 自写脚本等
- NC
-
内网拓扑架构分析
DMZ
- 管理网
- 生产网
-
常见信息收集命令
第三方信息收集
NETBIOS 信息收集
- SMB 信息收集
- 空会话信息收集
-
权限提升
Windows
BypassUAC
常用方法
使用IFileOperation COM接口
- 使用Wusa.exe的extract选项
- 远程注入SHELLCODE 到傀儡进程
- DLL劫持,劫持系统的DLL文件
- eventvwr.exe and registry hijacking
- sdclt.exe
- SilentCleanup
- wscript.exe
- cmstp.exe
- 修改环境变量,劫持高权限.Net程序
- 修改注册表HKCU\Software\Classes\CLSID,劫持高权限程序
-
常用工具
- Bypass-UAC
- Yamabiko
-
提权
windows内核漏洞提权
检测类:Windows-Exploit-Suggester,WinSystemHelper,wesng 利用类:windows-kernel-exploits,BeRoot
服务提权
数据库服务,ftp服务等
WINDOWS错误系统配置
- 系统服务的错误权限配置漏洞
- 不安全的注册表权限配置
- 不安全的文件/文件夹权限配置
- 计划任务
- 任意用户以NT AUTHORITY\SYSTEM权限安装msi
- 提权脚本
Linux
内核溢出提权
计划任务
SUID
系统服务的错误权限配置漏洞
不安全的文件/文件夹权限配置
找存储的明文用户名,密码
权限维持
系统后门
Windows
1、密码记录工具
WinlogonHack
WinlogonHack 是一款用来劫取远程3389登录密码的工具,在 WinlogonHack 之前有 一个 Gina 木马主要用来截取 Windows 2000下的密码,WinlogonHack 主要用于截 取 Windows XP 以及 Windows 2003 Server。
键盘记录器
安装键盘记录的目地不光是记录本机密码,是记录管理员一切的密码,比如说信箱,WEB 网页密码等等,这样也可以得到管理员的很多信息。
NTPass
获取管理员口令,一般用 gina 方式来,但有些机器上安装了 pcanywhere 等软件,会导致远程登录的时候出现故障,本软件可实现无障碍截取口令。
Linux 下 openssh 后门
重新编译运行的sshd服务,用于记录用户的登陆密码。
2、常用的存储Payload位置
WMI :
存储:
读取:
包含数字签名的PE文件
利用文件hash的算法缺陷,向PE文件中隐藏Payload,同时不影响该PE文件的数字签名
特殊ADS
…
特殊COM文件
磁盘根目录
3、Run/RunOnce Keys
4、BootExecute Key
由于smss.exe在Windows子系统加载之前启动,因此会调用配置子系统来加载当前的配置单元,具体注册表键值为:
5、Userinit Key
WinLogon进程加载的login scripts,具体键值:
6、Startup Keys
7、Services
8、Browser Helper Objects
本质上是Internet Explorer启动时加载的DLL模块
9、AppInit_DLLs
10、文件关联
11、bitsadmin
12、mof
13、wmi
14、Userland Persistence With Scheduled Tasks
15、Netsh
后门触发:每次调用netsh
16、Shim
常用方式:
InjectDll
RedirectShortcut
RedirectEXE
17、DLL劫持
通过Rattler自动枚举进程,检测是否存在可用dll劫持利用的进程
使用:Procmon半自动测试更精准,常规生成的dll会导致程序执行报错或中断,使用AheadLib配合生成dll劫持利用源码不会影响程序执行
工具:https://github.com/sensepost/rattler
工具:https://github.com/Yonsm/AheadLib
18、DoubleAgent /)
编写自定义Verifier provider DLL
通过Application Verifier进行安装
注入到目标进程执行payload
每当目标进程启动,均会执行payload,相当于一个自启动的方式
POC : https://github.com/Cybellum/DoubleAgent
19、waitfor.exe
不支持自启动,但可远程主动激活,后台进程显示为waitfor.exe
POC : https://github.com/3gstudent/Waitfor-Persistence
20、AppDomainManager
针对.Net程序,通过修改AppDomainManager能够劫持.Net程序的启动过程。如果劫持了系统常见.Net程序如powershell.exe的启动过程,向其添加payload,就能实现一种被动的后门触发机制
21、Office
劫持Office软件的特定功能:通过dll劫持,在Office软件执行特定功能时触发后门
利用VSTO实现的office后门
Office加载项
- Word WLL
- Excel XLL
- Excel VBA add-ins
- PowerPoint VBA add-ins
参考1 :https://3gstudent.github.io/3gstudent.github.io/Use-Office-to-maintain-persistence/ 参考2 :https://3gstudent.github.io/3gstudent.github.io/Office-Persistence-on-x64-operating-system/
22、CLR
无需管理员权限的后门,并能够劫持所有.Net程序
POC:https://github.com/3gstudent/CLR-Injection
23、msdtc
利用MSDTC服务加载dll,实现自启动,并绕过Autoruns对启动项的检测
利用:向 %windir%\system32\目录添加dll并重命名为oci.dll
24、Hijack CAccPropServicesClass and MMDeviceEnumerato
利用COM组件,不需要重启系统,不需要管理员权限
通过修改注册表实现
POC:https://github.com/3gstudent/COM-Object-hijacking
25、Hijack explorer.exe
COM组件劫持,不需要重启系统,不需要管理员权限
通过修改注册表实现
26、Windows FAX DLL Injection
通过DLL劫持,劫持Explorer.exe对fxsst.dll
的加载
Explorer.exe在启动时会加载c:\Windows\System32\fxsst.dll
(服务默认开启,用于传真服务)将payload.dll保存在c:\Windows\fxsst.dll
,能够实现dll劫持,劫持Explorer.exe对fxsst.dll
的加载
27、特殊注册表键值
在注册表启动项创建特殊名称的注册表键值,用户正常情况下无法读取(使用Win32 API),但系统能够执行(使用Native API)。
《渗透技巧——“隐藏”注册表的创建》
《渗透技巧——“隐藏”注册表的更多测试》
28、快捷方式后门
替换我的电脑快捷方式启动参数
POC : https://github.com/Ridter/Pentest/blob/master/powershell/MyShell/Backdoor/LNK_backdoor.ps1
29、Logon Scripts
30、Password Filter DLL
31、利用BHO实现IE浏览器劫持
Linux
crontab
每60分钟反弹一次shell给dns.wuyun.org的53端口
硬链接sshd
链接:ssh root@192.168.206.142 -p 2333
SSH Server wrapper
SSH keylogger
vim当前用户下的.bashrc文件,末尾添加
source .bashrc
Cymothoa_进程注入backdoor
rootkit
openssh_rootkit
Kbeast_rootkit
Mafix + Suterusu rootkit
Tools
WEB后门
PHP Meterpreter后门
Aspx Meterpreter后门
weevely
webacoo
….
横向渗透
端口渗透
端口扫描
常见的默认端口
1、web类(web漏洞/敏感目录)
第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix …
2、数据库类(扫描弱口令)
3、特殊服务类(未授权/命令执行类/漏洞)
4、常用端口类(扫描弱口令/端口爆破)
5、端口合计所对应的服务
域渗透
信息搜集
获取域控的方法
SYSVOL
SYSVOL是指存储域公共文件服务器副本的共享文件夹,它们在域中所有的域控制器之间复制。 Sysvol文件夹是安装AD时创建的,它用来存放GPO、Script等信息。同时,存放在Sysvol文件夹中的信息,会复制到域中所有DC上。
相关阅读:
- 寻找SYSVOL里的密码和攻击GPP(组策略偏好)
- Windows Server 2008 R2之四管理Sysvol文件夹
- SYSVOL中查找密码并利用组策略首选项
-
MS14-068 Kerberos
利用mimikatz将工具得到的TGT_domainuser@SERVER.COM.ccache写入内存,创建缓存证书:
相关阅读 : - 深入解读MS14-068漏洞
-
SPN扫描
Kerberoast可以作为一个有效的方法从Active Directory中以普通用户的身份提取服务帐户凭据,无需向目标系统发送任何数据包。
SPN是服务在使用Kerberos身份验证的网络上的唯一标识符。它由服务类,主机名和端口组成。在使用Kerberos身份验证的网络中,必须在内置计算机帐户(如NetworkService或LocalSystem)或用户帐户下为服务器注册SPN。对于内部帐户,SPN将自动进行注册。但是,如果在域用户帐户下运行服务,则必须为要使用的帐户的手动注册SPN。
SPN扫描的主要好处是,SPN扫描不需要连接到网络上的每个IP来检查服务端口,SPN通过LDAP查询向域控执行服务发现,SPN查询是Kerberos的票据行为一部分,因此比较难检测SPN扫描。
相关阅读 : - SPN扫描
-
Kerberos的黄金门票
在域上抓取的哈希
相关阅读 : - 域服务账号破解实践
- Kerberos的认证原理
深刻理解windows安全认证机制ntlm&Kerberos
Kerberos的银票务
黄金票据和白银票据的一些区别:
Golden Ticket:伪造TGT
,可以获取任何Kerberos
服务权限
银票:伪造TGS,只能访问指定的服务
加密方式不同:
Golden Ticket由krbtgt
的hash加密
Silver Ticket由服务账号
(通常为计算机账户)Hash加密
认证流程不同:
金票在使用的过程需要同域控通信
银票在使用的过程不需要同域控通信
相关阅读 :-
域服务账号破解
与上面SPN扫描类似的原理
https://github.com/nidem/kerberoast
获取所有用作SPN的帐户
从Mimikatz的RAM中提取获得的门票
用rgsrepcrack破解凭证盗窃
地址解析协议
获取AD哈希
使用VSS卷影副本
- Ntdsutil中获取NTDS.DIT文件
- PowerShell中提取NTDS.DIT —>Invoke-NinaCopy
- 使用Mimikatz提取
- 使用PowerShell Mimikatz
- 使用Mimikatz的DCSync 远程转储Active Directory凭证
提取 KRBTGT用户帐户的密码数据:
管理员用户帐户提取密码数据:
- NTDS.dit中提取哈希
使用esedbexport恢复以后使用ntdsxtract提取AD持久化
活动目录持久性技巧
https://adsecurity.org/?p=1929
DS恢复模式密码维护
DSRM密码同步Windows Server 2008 需要安装KB961320补丁才支持DSRM密码同步,Windows Server 2003不支持DSRM密码同步。KB961320:https://support.microsoft.com/en-us/help/961320/a-feature-is-available-for-windows-server-2008-that-lets-you-synchroni,可参考:[巧用DSRM密码同步将域控权限持久化](http:_drops.xmd5.com_static_drops_tips-9297)
Security Support Provider
简单的理解为SSP就是一个DLL,用来实现身份认证
这样就不需要重启c:/windows/system32
可看到新生成的文件kiwissp.log
SID History
AdminSDHolder&SDProp
利用AdminSDHolder&SDProp(重新)获取域管理权限
组策略
https://adsecurity.org/?p=2716
策略对象在持久化及横向渗透中的应用
Hook PasswordChangeNotify
http://wooyun.jozxing.cc/static/drops/tips-13079.html
TIPS
《域渗透——Dump Clear-Text Password after KB2871997 installed》
《域渗透——Hook PasswordChangeNotify》
可通过Hook PasswordChangeNotify实时记录域控管理员的新密码
《域渗透——Local Administrator Password Solution》
域渗透时要记得留意域内主机的本地管理员账号
相关工具
BloodHound
CrackMapExec
DeathStar
在远程系统上执行程序
- At
- Psexec
- WMIC
- Wmiexec
- Smbexec
- Powershell remoting
-
IOT相关
1、路由器 routersploit
- 2、打印机 PRET
- 3、IOT exp https://www.exploitee.rs/
4、相关
OWASP-Nettacker
isf
icsmaster中间人
- Ettercap
- Responder
- MITMf
-
规避杀软及检测
Bypass Applocker
UltimateAppLockerByPassList
https://lolbas-project.github.io/bypassAV
Empire
- PEspin
- Shellter
- Ebowla
- Veil
- PowerShell
- Python
- 代码注入技术Process Doppelgänging
-
痕迹清理
Windows日志清除
获取日志分类列表:
获取单个日志类别的统计信息:
eg.
回显:
查看指定日志的具体内容:
删除单个日志类别的所有信息:破坏Windows日志记录功能
利用工具
- Windwos-EventLog-Bypass
msf
3389登陆记录清除