如何进行一次网络渗透或者攻击?
在网安实验室暑期实习中,兴趣使然对网络安全方面进行了学习,在此记录下网络渗透中的一般步骤和常用工具,这只是一篇总结。
网络渗透过程
网络渗透主要分为三个阶段,准备阶段、实施阶段和善后阶段,这三个阶段都不可少,都是必备的部分,故不可忽视任何一个部分。
渗透环境:Kali Linux(十星推荐使用,自带非常多的hack工具,同时inux环境下很多相关shell用的很舒服)
准备阶段
准备阶段是整个网络渗透能否成功的前提。在这个过程中,要尽可能的搜集关于网站站点的信息,在另外一篇博客《座位管理渗透》中有详细的过程,这里不赘述,只是提一下需要搜集的工具和信息。
相关信息搜集
- 网站域名的相关信息(包括注册人,地点,注册时间等有价值的信息)
- 网站服务器的相关信息(地理位置,注册人,注册时间,电话等)
- 搜集系统信息包括 OS 版本、Linux内核版本
- 采用服务器软件的版本和信息(Apache、Nginx、Tomcat等)
- 服务器开放的端口 (80,443,3306,3389等)
- 网站是否采用防火墙WA的检测
- 网站是否使用了什么前后端框架(MVC或MVVM,或者具体的信息,Django、laravel、Vue、jQuery、flask等,)track:检测前后端的debug模式是否开启
- 阅读网站前端源代码,从源代码中找到相关的信息
常见漏洞扫描和分析
在进行相关信息搜集之后,开始进行漏洞的分析查找
常见漏洞的扫描包括但不限于:
- XSS跨站脚本攻击(有请求时或输入请求时可尝试,多是利用cookie)
- CSRF请求伪造(条件比较难,需要用户点击恶意链接)
- Clickjacking点击劫持(需要用户点击恶意链接)
- SQL注入攻击(可尝试,但现在利用框架很多,漏洞比较少)
- 文件上传漏洞(如果有漏洞,就非常的爽,直接上传木马)
- 访问控制,绕过管理员权限(认证时间等)
- 加密算法的破解(比较难,稍微了解下)
- 暴力破解密码……(确实比较暴力,但是对于某些防范不好的网站比较有用)
- 各种版本问题,OS,服务器软件版本,服务器语言版本,如果比较老的话,可以在相关漏洞库找到可以利用的漏洞
- 利用开放的端口,有些服务器开放的多余的端口可以加以利用(不是特别了解有的特定端口,遇到特定端口请google)
- 代码审计……阅读可以获取到的部分源码来渗透,如果有多个站点是同一团队也许可以阅读该团队或人写的特定代码来进行代码风格的猜测从而加以利用
实施攻击
- 以上提到的这么多的漏洞,可以加以利用
- 其他攻击方式:
- 缓冲区溢出(并没有机会尝试过)
缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。
- DOS、与DDOS拒绝服务攻击(你如果有可以利用的肉鸡。。或服务器,我用不上这种攻击方式)
- 木马、病毒、蠕虫攻击…(看你是否需要)
善后阶段
善后阶段也就是隐藏踪迹,不被网站管理员等发现,主要有两种方式。
跳板技术
在进行渗透的时候,使用自己的主机直接攻击另外一台设备比较愚蠢。所以需要借助跳板,举个例子,使用自己的主机挂一个境外的VPN(别实名..邮箱等信息),然后3389端口连接远程肉鸡的桌面,利用肉鸡,xshell连接远程服务器,然后在shell里进行渗透,跳板层数越多,追查起来就越复杂。
当然,你也可以在二手市场买一个旧电脑,在没有摄像头的地方连接公共wifi进行渗透,哈哈,然后电脑丢掉就行。
日志修改
入侵之后对入侵的主机进行操作肯定会有相关的日志记录,所以需要修改日志来隐藏痕迹,介绍两个看到的比较好的方法
第一个是上传日志清除工具
第二个是在入侵时备份所有可能修改的日志,然后离开时还原日志,可以自己写成一个shell比较方便,定制
那句诗怎么说的:
天空不留下鸟的痕迹,但我已飞过
好用的工具
-
Who.is 查询DNS记录
-
Sameip.org查询域名绑定的服务器
-
namp扫描OS、port、WAS等类似的SuperScan 、X-scan
-
DirBuster来进行网站文件包含漏洞的扫描,搜集文件和文件夹信息
-
OWASP ZAP和Nikto工具,进行常见漏洞的扫描
-
sqlmap进行SQL注入的扫描
-
Hydra进行密码暴力破解
-
antSword进行webshell连接
-
Burp Suite抓包分析
工具只是工具,不要被工具所束缚住,要做一些工具做不到的事情……作为一个渗透着,要学会从各个角度分析可能出现漏洞的方面,知己知彼百战百胜。
加油。