热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

给第一次做渗透项目的新手总结的一些感悟

零基础学黑客,搜索公众号:白帽子左一说在前面首先很重要的是授权~首先很重要的是授权~首先很重要的是授权~“为了给家乡做点贡献”男子入侵政府网站…之前

零基础学黑客,搜索公众号:白帽子左一

说在前面

首先很重要的是授权 ~ 首先很重要的是授权 ~ 首先很重要的是授权 ~

图片

“为了给家乡做点贡献” 男子入侵政府网站…

之前也看过很多关于渗透测试的文章,但是因为一些现实因素等等问题,没(bu)有(gan)真正实操,最近由于一次偶然的机会,什么都不会的我接到了一个渗透测试项目

然后就把最近学到的一些东西,和一些小感悟,小技巧记录下来,由于一些特殊原因,本文中不涉及到渗透过程中的任何敏感信息

第一次进行渗透如何优雅的"装"成是个"老手"

首先跟我一样菜当然是装不出大神的,当然还是多学,多积累最重要,但是既然都开始了,就不能显得太划水,下面的操作不能让你成为大神,但是可以让你在整个过程中"忙"起来

相比于网上那些很详细的手把手渗透教学,本文主要写一些到 xx公司 直接内网渗透测试的那种简要步骤

所以这一小节主要写给那些才接触安全,或者没有真正做过渗透测试的人吧

需要准备什么?

能够使用以下工具

Nessus
AWVS
Appscan
burpsuite
sqlmap
Github & Google 搜索框
Hydra

自己收集的一大堆 CVE 的 exp

各个中间件漏洞的利用工具

工具当然是越多越好

一些好用的字典

弱密码是一个亘古不变的问题,可能公司后台弱密码改掉了,可是一个公司这么多员工,可能有员工没有改自己原先的弱密码…或者公司一些设备没有改掉默认密码…所以一个好用的密码字典显得尤其关键

配合上 Hydra 或者其他好用点的爆破工具的使用,常常能够有不错的收获

提供以下几个生成字典方式

Github上有很多收集好的字典

https://github.com/rootphantomer/Blasting_dictionary

更多的可以在Github上自行寻找

可能你需要生成一些特殊定制

在线生成地址:http://xingchen.pythonanywhere.com/index

下面的py脚本你也可以尝试使用

pydictor 下载地址 :https://github.com/LandGrey/pydictor

使用指南:https://www.ddosi.com/b172/

somd5 提供的字典:

https://www.somd5.com/download/dict/

可能你需要学会配置IP

如果你需要你接进内网进行测试的时候,通常会要求你手动配置IP,如果不会配置到了现场就会像我一样很丢人…

右键点击:
在这里插入图片描述

图片

右键点击当前你链接,选择属性:

图片

填入他们给你提供的IP:

图片

新手的渗透测试的打开方式

本着划水也要划得合理一点的态度,如果刚好你也是第一次做渗透测试,就算不知道具体干什么,过程中也不要显得太无所事事了…

下面的操作适用于在放开中间一切安全设备(各种防火墙等…),所以作为一个技术不是很高超的新手,合理利用手里的现有工具就显得至关重要

很多大佬都说过渗透测试的本质是信息收集,信息收集的步骤和手段网上已经有很多专门文章详细的阐述过搞渗透!还不会信息收集的看这里(大佬的秘籍)、SRC信息收集思路分享,很有用!、红队信息收集,超干货!

一般去这种公司帮忙做渗透他们都会给你一定的资产(如内网IP,设备型号等),但一般是不够的。所以完成以下的步骤,也可以在一定程度上帮助你收集一些信息…

全都丢进工具跑

首先把资产里所有IP丢进 Nessus

图片

Nessus 本身扫描的过程中也会包含端口,但是如果你嫌慢你可以使用nmap扫描…

nmap -p 1-65535 -T4 -A -v <IP>

然后你嫌nmap慢可以使用 masscan…

masscan <IP> -p0-65535 - rate 1000000

扫出来了Web的端口&#xff0c;如80,8080,443等&#xff08;具体的还得具体看&#xff09;&#xff0c;丢进AWVS进一步扫描分析

图片

含有 ftp&#xff0c;ssh&#xff0c;mysql的端口可以丢进 hydra 爆破

1、破解ssh&#xff1a;

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh

2、破解ftp&#xff1a;

hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV

3、get方式提交&#xff0c;破解web登录&#xff1a;

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /admin/index.php

4、post方式提交&#xff0c;破解web登录&#xff1a;

hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username&#61;^USER^&password&#61;^PASS^&submit&#61;login:sorry password"
hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id&#61;^USER^&passwd&#61;^PASS^:"

&#xff08;参数说明&#xff1a;-t同时线程数3&#xff0c;-l用户名是admin&#xff0c;字典pass.txt&#xff0c;保存为out.txt&#xff0c;-f 当破解了一个密码就停止&#xff0c; 10.36.16.18目标ip&#xff0c;http-post-form表示破解是采用http的post方式提交的表单密码破解,

5、破解https&#xff1a;

hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https

10、破解rdp&#xff1a;

hydra ip rdp -l administrator -P pass.txt -V

如果扫出445端口可以尝试一下 ms17-010 ,丢进msf里使用相应的模块进行验证

图片

如果扫出3389端口可以尝试一下 CVE-2019-0708 (其实真的挺多都没打补丁的)&#xff0c;也能使用msf扫描&#xff0c;还可以使用 360 的漏洞扫描工具&#xff0c;或者使用Github上搜索其他poc进行验证

然后在各种扫描时候的闲暇时间&#xff0c;你就可以开展对一个网站的常规渗透&#xff0c;先扫个目录(dirsearch和御剑都行)&#xff0c;然后熟悉web站点的各个功能点&#xff0c;再根据功能来测试相应的漏洞是否存在…必要的时候burpsuite抓包&#xff0c;一个包一个包的看…

PS&#xff1a;一般对Web站点准备开始渗透时往往都变成了和登陆框的战斗&#xff0c;可以先上来burpsuite跑个几个弱密码字典&#xff0c;然后对登录框进一步测试sql注入&#xff0c;另外&#xff1a;如果有注册账号界面或者忘记密码界面可以尝试验证码爆破&#xff08;4位数验证码就试一下&#xff09;&#xff0c;短信轰炸&#xff0c;任意账号注册找回等&#xff0c;然后记得看一下URL&#xff0c;如果后面的参数为 ?returnurl&#61;xxx.com,可以尝试一下url跳转…

&#xff08;如果经历了大量的工程&#xff0c;对登录框毫无办法&#xff0c;连网站都没进去&#xff0c;无法展开下一步测试的时候&#xff0c;就自己注册一个账号&#xff0c;或者找他们提供一个测试账号叭…

然后在你忙以上操作的时候&#xff0c;就显得不是那么的划水&#xff0c;作为一个脚本小子也要有脚本小子应有的样子

善用搜索进行辅助验证

经过一段时间的等待&#xff0c;可能 Nessus 和 AWVS 都扫得差不多了…这个时候如果自己积累不多就寻找一切能够搜索的东西对扫描结果进行辅助验证…&#xff08;百度、谷歌、Github等…

如果是 CVE 就先去msf里面search一下&#xff0c;如果没有也可以去 Github 上找一波可以直接利用的 exp&#xff0c;或者可以看看各大论坛有没有大佬之前分析过…然后跟着手动复现&#xff0c;途中可能遇到很多莫名其妙没有复现成功的问题也可以通过善用搜索进行解决

然后各大论坛真的有很多很多很强的师傅们&#xff0c;每当你遇到过没见到过的漏洞&#xff0c;基本上都会有师傅分析过&#xff0c;吸取他们的经验完成你的渗透任务也是个事半功倍的事情

浅谈遇到过的有趣的东西

后知后觉还是积累太少

NFS的安全隐患

这个是真的第一次遇到&#xff0c;一开始还以为没什么&#xff0c;一顿操作发现可以看到几乎全部共享的数据&#xff08;orz…

起因是 Nessus 爆洞

图片

然后我现找了写的很详细的文章进行对该漏洞进行了复现

https://www.freebuf.com/articles/network/159468.html

简单来说就是两步走&#xff1a;

showmount -e <IP>

图片

然后挂载到本地

mkdir <创建一个目录>
mount -t nfs <ip>:/<你要挂的目录> /<你刚刚创建的目录> -o nolock

这个点真的能拿蛮多数据的

图片

后面就不贴图了…

弱密码啊弱密码

真的好多好多弱密码&#xff01;

小技巧就是

验证爆破用户名的方法就是看response包里的返回结果…比如存在用户名但是密码不对&#xff0c;就会显示用户名和密码不匹配&#xff0c;但是如果没有用户名就会显示不存在用户名

然后先根据返回包找到合适的用户名&#xff0c;再用字典有针对性的爆破该用户名的密码。如果没有回显可以通过 忘记密码 等选项来进一步测试&#xff0c;找回过程中如果说用户正确就会进入下一步操作&#xff0c;比如发送短信验证码&#xff0c;如果说没有用户就不会进入下一步操作

首先一般弱密码发生在如下几个地方&#xff1a;

  • 没有限制登录失败次数的登录框
  • 没有验证码或者验证码可以绕过(比如采用前端校验)的登录框

经过渗透测试统计和分析&#xff0c;将弱密码大致分为以下几个情况

  • js里有注释掉的测试账号密码
  • 各种登录界面&#xff0c;各种后台存在测试账号&#xff0c;且可以看到敏感数据&#xff08;这就可能是为什么test test 可以进去的原因吧&#xff09;
  • 改了管理后台页面的所有弱密码&#xff0c;但是在其他地方&#xff0c;比如办公系统等&#xff0c;有员工没有改自己的登录密码&#xff0c;经过爆破可以登录员工账号
  • 很多公司采用的系统是外部开发的&#xff0c;外部开发的时候有
  • 测试账号是弱密码&#xff0c;但是可能交接过程中存在一些问题&#xff0c;导致这边公司根本就不知道有这个账号密码
  • 很多设备&#xff0c;比如内网里面的防火墙&#xff0c;直接使用了出厂默认的密码
  • 大家都比较懒&#xff0c;都不想注册很长的密码&#xff0c;然后可能又觉得11111这种不合适&#xff0c;所以就有了那种键盘连键&#xff0c;如qwe123之类的&#xff0c;导致跑一个字典出一堆账号密码

MS17-010能验证但是反弹不了会话

永恒之蓝这种东西之前跟着网上的复现过…网上复现文章通常也是在C段然后MSF一把梭…

所以真正当我遇到这个漏洞的时候&#xff0c;用 验证模块&#xff08;use auxiliary/scanner/smb/smb_ms17_010&#xff09;验证成功之后就以为成功了&#xff0c;但是利用攻击模块却并不能反弹会话

下面的回答都很大程度上帮助到了我…

03使用永恒浪漫攻击&#xff0c;不要使用永恒之蓝&#xff0c;没用。请使用原版&#xff0c;不要用msf的。

然后我了解了一下永恒之蓝的历史&#xff0c;和 NSA 原版攻击工具

具体可以看博客地址&#xff1a;https://p2hm1n.github.io/2019/08/16/Shadow-Brokers-From-git-clone-to-Pwned/#more

还有网上一个大师傅的复现真的非常详细&#xff08;膜orz&#xff09;

永恒之蓝&#xff08;http://note.cfyqy.com/posts/caffa366.html&#xff09;、永恒浪漫&#xff08;http://note.cfyqy.com/posts/caffa366.html&#xff09;、永恒冠军复现&#xff08;http://note.cfyqy.com/posts/caffa366.html&#xff09;

很可惜的是因为一些时间的原因最后也没能成功利用&#xff0c;很多时候跟漏洞都是一个擦肩而过的距离

真的没办法进行sql注入了吗&#xff1f;

这个点给我的感触蛮深的&#xff0c;学sql注入的时候知道sql注入发生的点是&#xff1a;增 删 改 查&#xff0c;一切与数据库交互的地方都有可能进行sql注入

但是真正实际操作的时候满脑子都是登录框的用户名密码&#xff0c;甚至为了追求速度&#xff0c;养成了指定参数这种不好的习惯&#xff0c;所以连着很久都没有挖出sql注入

最后由于网站的特殊性&#xff0c;该网站忘记密码界面需要提供注册界面的手机号&#xff08;emm不方便截图…&#xff09;&#xff0c;最后在POST包里面的一个不显眼的参数存在sql注入…

给的体会就是渗透过程中千万不要偷懒&#xff0c;所有get&#xff0c;post的参数凡是你觉得能够和数据库进行交互的&#xff0c;能手测就手测&#xff0c;不能手测就用sqlmap跑

细心一点&#xff0c;每个地方都测试一下

利用了sqlmap最终跑出用户名密码…

图片
还有一点小感悟是 XFF 头注入是真的存在&#xff0c;渗透测试本身的过程就是把不可能的事变为可能&#xff0c;虽然我之前也一直觉得讲 XFF 头的注入是为了绕过gpc的过滤&#xff0c;需要很巧合才能完成&#xff0c;但是在测试一个办公系统的时候&#xff0c;开发跟我说到他们需要记录一下每个人登录的IP。所以为什么构成这种漏洞也就不奇怪了

COOKIE也敢明文传输用户名密码&#xff1f;

这个也是真的第一次遇到&#xff0c;教科书般的漏洞…

首先用弱密码进入了网站&#xff08;手动滑稽&#xff09;

然后在测试其他漏洞的时候突然发现COOKIE使用明文传输了用户名密码

第一个想到的当然是XSS&#xff0c;XSS如果能够打到COOKIE那么将会是很严重的问题…

找了一下午XSS&#xff0c;终于在一个参数那寻找到了一个反射型XSS&#xff0c;且没有设置httponly&#xff0c;最后成功打到了经过base64位加密的用户名密码

图片

图片

Redis未授权访问

Redis因配置不当可以导致未授权访问&#xff0c;被攻击者恶意利用。

当前流行的针对Redis未授权访问的一种新型攻击方式&#xff0c;在特定条件下&#xff0c;如果Redis以root身份运行&#xff0c;黑客可以给root账户写入SSH公钥文件&#xff0c;直接通过SSH登录受害服务器&#xff0c;可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生&#xff0c;严重危害业务正常服务。

部分服务器上的Redis 绑定在 0.0.0.0:6379&#xff0c;并且没有开启认证&#xff08;这是Redis 的默认配置&#xff09;

这个真的蛮多公司都存在…

一把梭进去还是 root 权限…

由于全是敏感数据就不贴图了

各种中间件的漏洞

各种中间件的漏洞的话在各大论坛都有很详细的文章&#xff0c;大家可以自行查阅

一点小感悟就是&#xff0c;很多公司用的版本真的很老很老&#xff0c;而且几乎不打补丁…虽然可能有的时候 IIS &#xff0c;Nginx那些解析漏洞没办法使用(真的挺难遇到上传点的)…但是如果看到老一点版本的 JBoss 、 weblogic 就可以利用很多工具了

Java RMI 反序列化漏洞检测工具的编写&#xff1a;https://www.anquanke.com/post/id/85681

WeblogicScan&#xff1a;https://github.com/dr0op/WeblogicScan

写在最后

渗透测试中&#xff0c;工具&#xff0c;经验&#xff0c;还有灵活的思维都是很重要的东西&#xff08;虽然自己一样也没有&#xff09;…

有的时候连上了shell之后&#xff0c;然后如同机器人一般的反弹shell&#xff0c;执行 whoami&#xff0c;发现权限不够就进一步查看系统信息&#xff0c;接着尝试各种提权的操作。其实可能有的时候这些操作没有必要&#xff0c;可能最终的目标都是拿到一些信息或者数据。所以根据实际情况判断一下是否需要提权&#xff0c;是一个提高效率不错的办法。

此外&#xff0c;一个 cat ~/.bash_history 命令有时候可能会给你带来一些惊喜

————————————————

在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【爬虫】关于企业信用信息公示系统加速乐最新反爬虫机制
    ( ̄▽ ̄)~又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构。升级后网站的层次结构并没有太多变化,表面上 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
mobiledu2502929627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有