我的网络安全架构知识点的总结(待完善)
作者:11阳光 禁止转载
题记
算了算时间,也该总结一下学过的知识点了,我想实时的总结会对我的进步大有裨益。知识点多又杂,实战能用上的才是一个成熟的知识点。知识点多少都有点重叠的部分。
Tips
Linux:/etc/passwd与/etc/shadow
Windows:C:/windows/system32/config/sam
信息收集
信息收集为重重之重,很可能少一种收集你就错过了进后台的机会。
1、架构框架收集:cms、中间件、编辑器、脚本类型、waf、cdn。
2、ip、域名、端口、cdn、c段、旁站。
3、历史漏洞收集(零组找)。
4、人员信息收集,社工库,制作管理人员相关字典进行密码爆破。
5、敏感目录扫描。
6、fofa/sodan/钟馗之眼等搜索工具找类似测试站点或是备份文件。
我的信息收集姿势小总结http://cnblogs.com/sunny11/p/14453343.html
解析漏洞(文件上传用)
首先要清楚解析漏洞基于什么运行的,系统或者是中间件。解析漏洞一般配合图片马使用,我一开始学的时候还以为直接上传图片马就直接可以连接了,后面看来我太年轻了。
系统:iis 5.0 win2000/iis 6.0 win2003/iis 7.5 win2008
中间件:Apache/Nginx
1、iis解析问题(微软不把它当成漏洞)
iis 5.0/6.0解析漏洞: /xxx.asp/xxx.jpg 会被解析为asp。
iis 6.0 :wo.asp;.jpg会被解析为asp、.asa/.cer/.cdx会被解析为asp。
iis 7.0/7.5:在Fast-CGI运行模式下,在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
2、Apache解析漏洞
Wo.php.owf.rar会被解析为php,原理是Apache遇到不认识的后缀就会一直往前解析,直到遇到PHP。
上传.htaccess,此文件可设置把什么后缀文件解析为什么文件,可留后门。
3、Nginx解析漏洞
Nginx版本小于8.03,空字节代码执行 ,fast-cgi开启下,xxx.jpg%00.php与xxx.jpg/.php会被解析为php。
4、00截断
wo.php%00.jpg 会被解析为wo.php
get接收,直接%00
post接收,编码url-decode,或者Ctrl+shift+U
上传漏洞(绕过监测机制上传)
上传分为绕过黑白名单等验证机制与绕过安全狗等。
可以尝试找找编辑器进行拿shell,例如FCK、ueditor等。
绕过黑白名单等验证机制:
1、mime
2、改上传路径
3、双文件上传
4、文件头标识,例如GIF89a
5、黑名单绕过
大小写
名单列表绕过
特殊文件名:z.asp.
00截断
https://www.cnblogs.com/sunny11/p/13608289.html
防火墙绕过举例:
过安全狗
1、f加个加号
2、name大小写
3、filename换行
4、filename另一种换行
过云锁
1.、get换成post提交。
架构漏洞篇
这些漏洞基本靠尝试爆出的0day利用,很多不重视安全的厂商没有及时更新版本或者新的网站搭建的时候就使用了有漏洞的架构。
还有一些经常出漏洞的地方,名字听太多了。
零组地址:http://wiki.0-sec.org/#/wiki
Apache、Nginx、iis-asp、Jboss/weblogic/tomcat-jsp(java编的页面)。
1、Tomcat如果可以访问默认配置页面可以弱口令破解然后部署war包拿shell。
2、Redis(数据库,nosql)、Apache solr(全文搜索引擎)、fastjson(阿里开源的json解析库)。
3、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,St2检测action后缀的网站。
4、Apache shiro看响应包返回remember me没有。Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
5、phpMyAdmin可以弱口令进入,看情况可以直接写一句话或者在日志里面写一句话,然后shell链接。
phpMyadmin的Getshell思路:https://www.cnblogs.com/sunny11/p/13581470.html
6、我还常遇到Django框架,debug开启,路径报错显示所有目录。
闻名的漏洞
1、永恒之蓝
永恒之蓝一度成为内网大杀器,这里强调直接打容易蓝屏,我在一篇文献看到过可以利用永恒之蓝执行命令,不是直接控制。
https://www.cnblogs.com/sunny11/p/14082618.html
2、ssl心脏滴血
https的问题,攻击者可以构造请求包导致心跳包内容不足,最终返回大量数据,我上次看文章写30%的电脑可能泄露账号密码。
3、破壳漏洞
这是我看知道创宇的盗版网课第一次了解他,可以构造特殊的语句以系统权限执行命令,形象的描绘为破壳。
https://www.cnblogs.com/sunny11/p/13603177.html
4、新出的sudo提权,前天复现的。
https://www.cnblogs.com/sunny11/p/14417148.html
5、linux提权之脏牛提权。
Linux内核的内存子系统在处理写入复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。
http://blog.csdn.net/qq_36119192/article/details/97248374
基本web漏洞
这里提一嘴我对注入的理解,漏洞经常出现于用户交互的地方。
SQL注入,外部传入的SQL语句。
XSS,外部传入的JavaScript代码。
XXE,外部传入的XML代码。DTD定义代码标签,根据DTD定义标签写xml代码,分为内部引入与外部引入。
1、XSS,我会选择去看我的毕业论文,和各种大佬分享的payload与src文章。
http://cnblogs.com/sunny11/p/13608724.html
http://cnblogs.com/sunny11/p/14407055.html
2、SQL注入,我上次总结了,但少了个搜索框的注入总结,回头补上。SQL使用反编译可以预防。
http://cnblogs.com/sunny11/p/14402679.html
SQL注入的WAF绕过思路+知识点:http://cnblogs.com/sunny11/p/14438269.html
三大数据库写入WebShell的姿势总结 :http://cnblogs.com/sunny11/p/14495378.html
3、csrf,配合存储型xss威力巨大,借助已经登录的账号访问链接就会做到相应的事情。危险的例如改密码、转账等操作。加token可防止。
4、命令执行,相当于在cmd下执行命令,与代码执行区分。
5、代码执行,例如test.php?code=phpinfo();会跳出phpinfo页面。
6、任意文件下载,网站URL中存在下载参数,并且未进行过滤../../../字符。
7、文件上传,匿名上传,登录后上传,后台上传。其实我也想过拿到shell然后留一个文件上传后门的。
8、逻辑漏洞,我会在最后放一个图片,里面总结了大部分逻辑漏洞的利用姿势,改请求包或者响应包,造成逻辑错误。
http://cnblogs.com/sunny11/p/13615061.html
Js文件追踪到未授权访问:http://sec-in.com/article/806
9、文件包含,文件包含有的包含服务器的文件有的甚至可以包含其他网站的资源。Include(),找漏洞免不了跟各种函数打交道,可留后门拿shell过防火墙。
"葵花宝典"——本地文件包含(LFI):http://sec-in.com/article/865
"葵花宝典"——远程文件包含(RFI):http://sec-in.com/article/882
10、弱口令,永远的0day,我见过安全厂商拿admin当账号密码的,惊呆了。
11、反序列化漏洞,序列化是把一个对象变成可以传输的字符串,反序列化是反过来,只要中间的过程是可控的就能利用,例如传给unserialize()的参数可控,便可以写入一句话。利用反序列漏洞要知道序列化之后类名称与类包含的变量名称。
PHP反序列化:http://blog.csdn.net/elephantxiang/article/details/113407214
java反序列化:http://jianshu.com/p/1c2e8aa874d0
12、SSRF,服务器端请求伪造,可直接访问内网资源,SSRF 形成的原因大都是由于服务端提供了从其他服务器获取数据的功能,但没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等。比如:该资源地址类型为 http://www.xxx.com/a.php?image=(地址)的就可能存在SSRF漏洞。
http://blog.csdn.net/lionzl/article/details/100570193
http://cnblogs.com/sunny11/p/14467417.html
13、XXE,普通实体引入外部实体xml,xml为输入点,json格式请求。
http://cnblogs.com/sunny11/p/14460702.html
14、CORS漏洞。
15、信息泄露,多找找接口什么的可能泄露大量敏感信息。查询的地方插入%可能返回所有数据。
JSFinder(改造升级版本的使用)+url批量验证脚本:https://www.cnblogs.com/sunny11/p/14350636.html
16、URL注入攻击:https://www.cnblogs.com/sunny11/p/14428540.html
常用端口
https://www.cnblogs.com/sunny11/p/13582855.html
网络协议解析
https://www.cnblogs.com/sunny11/p/13693725.html
各种权限拿shell方法
管理拿shell
1、上传
2、添加上传类型后缀
3、解析漏洞
4、配置文件插马
5、模板编辑写一句话
6、上传插件
7、数据库
8、文件包含
9、命令执行
普通用户拿权限
1、0day
2、iis写权限
3、命令执行
4、注入漏洞
XSS打cookie,flash钓鱼:http://cnblogs.com/sunny11/p/14285369.html;
sql注入--os-shell【知道路径与dba权限】,写木马等。
5、头像上传
6、st2
7、java反序列化
Cms拿权限
常见cms:WordPress,织梦,骑士,thinkphp,帝国等
除了工具检测还有文库找爆出来的漏洞。
Linux反弹shell
地址:http://cnblogs.com/sunny11/p/14290092.html
提权(待补充骚姿势)
我们要先知道渗透是有很大运气成分的,要多尝试各种方式,不知道哪里就碰对了,可能拿到的shell就是管理权限,可能各种姿势不行,最普通的姿势却可以。多收集exp,推荐github,啥都有。而且还有因为脚本、系统什么的比较杂,提权就写一起了,会计算机的应该都能区分开。
拿权限路径:匿名à后台àweb权限à系统权限
我们还要清楚各种脚本对应的权限,1、asp/php为匿名权限2、aspx为user权限3、jsp为系统权限(我学的时候那个讲师提过一嘴java出问题基本都是大问题,weblogic,st2这种一般都是大公司用)
1、拿到蚁剑或者菜刀或者冰蝎shell后可以上线cs或者上线msf进入下一步后渗透的操作。
http://cnblogs.com/sunny11/p/14234218.html
whoami查看当前用户,systeminfo查看系统的补丁
这里推荐一个在线网站,可以看实时更新的安全类文章,还可以用一些辅助工具。
地址:http://i.hacking8.com/tiquan/
上线后可以尝试各种经典提权exp,msf尝试getsystem,CS尝试各种土豆家族提权。
2、上传cmd
3、上传aspx大马提权
4、windows提权
(1)第三方软件提权:FTP、远控、vnc。
(2)溢出提权
(3)启动项提权
(4)破解hash
(5)数据库提权:udf,mof,启动项,反连端口。
5、linux提权:http://cnblogs.com/BOHB-yunying/articles/11517748.html
(1)找密码破解
(2)sodu提权:http://cnblogs.com/sunny11/p/14417148.html
(3)计划任务
(4)破壳漏洞
(5)劫持环境变量提权
(6)suid提权
(7)脏牛漏洞
内网渗透
内网渗透主要分为信息收集与横向移动一块,内网渗透大部分都要用到CS与msf。推荐谢公子的CS插件,他把梼杌与ladon都整合到了一起。
我们当内网渗透的时候最好要有足够的网络架构知识,vlan,端口,子网掩码,域,网络服务,TCP,arp等网络常识最好都懂一些,最好画个拓扑图,要不当目标足够大的时候会乱。
前提知识:我们上线后可以信息收集一波,开启3389,上传ew/frp等内网穿透软件进行内网渗透,横向移动,制作黄金票据(作用于域内任何机器任何服务),白银票据(作用于域内想要干的服务)。基本来说服务都是通过端口进行运作的,我们要有一个宏观与微观的概念,web仅仅是我们系统网络体系下的一部分,有时候我们仅仅攻击端口就能拿下整个服务器,例如对linux服务器22端口进行爆破。
传木马à提权à收集信息,抓密码à内网穿透à横向à权限维持à痕迹清除(虽然一直有人给我灌输你干了什么怎么都能抓到你,我想基于ip抓人也是很难的,挂个外网ip难不成还跨国查吗,或者是连邻居家无线会抓到邻居?虽然我是一个坚定的白帽子,但我会思考这种问题。)
收集的信息内容:系统、用户、权限、尝试提权、加路由、扫内网电脑、端口看服务、进程、域名、域计算机名、域用户名、域用户组、抓密码、hash传递/伪造登录、开启3389。
我的经验,我认为内网渗透最重要的几点为免杀,定位域控或者域控登陆过的机器,代理的使用。
我的文章:
Kali、windows配置内网穿透并进行内网漫游(此处用3389举例):http://cnblogs.com/sunny11/p/14314939.html
EarthWorm内网穿透(结合前2天学的smb上线不出网机器完成一级与二级流量代理):http://cnblogs.com/sunny11/p/14307502.html
cs利用smb上线出网与不出网主机:http://cnblogs.com/sunny11/p/14301425.html
使用frp进行内网穿透(内网隧道搭建):http://cnblogs.com/sunny11/p/14264293.html
使用frp把目标端口的服务代理出来:http://cnblogs.com/sunny11/p/14267666.html
CS与msf的shell互相传递:http://cnblogs.com/sunny11/p/14258876.html
Kali的msf模块利用之我的理解:http://cnblogs.com/sunny11/p/14192986.html
内网渗透实操:http://cnblogs.com/sunny11/p/14339599.html
权限维持
Win:http://cnblogs.com/sunny11/p/14379051.html
Linux:http://cnblogs.com/-mo-/p/12337766.html
木马与脚本免杀
这部分分为网上找大佬分享的免杀马,免杀工具,免杀方法研究,在线帮你免杀网站。
Budusb后台静默上线Cobalt Strike与ps1的免杀:http://cnblogs.com/sunny11/p/14250628.html
FourEye免杀框架实操与上线(服务器到期解封):https://www.cnblogs.com/sunny11/p/14240151.html
Shellcodeloader免杀过火绒:https://www.cnblogs.com/sunny11/p/14105624.html
python实现的分离免杀(包含pyinstaller的安装与使用):https://www.cnblogs.com/sunny11/p/14079096.html
免杀PHP一句话木马,人才太多了:https://www.cnblogs.com/sunny11/p/13680612.html
在线免杀:http://go.咕.com
Python学习
语言都是需要勤加练习的,否则会生疏,变成只能看不能动手,我当时学的时候是打印了一本关于python2安全编程PDF书籍,没学完呢还,然后照着他给的例子背下来,不看书自己敲一遍,成功后笔记在整理一遍,应该也管点用吧,现在能看懂脚本和改点poc了,python就是导入模块(导包很重要,python要时刻在网上下载相应模块),然后把各种函数组合在一起干各种各样的事情。
JSFinder(改造升级版本的使用)+url批量验证脚本:https://www.cnblogs.com/sunny11/p/14350636.html
V2配合proxifier以及免费ip的获取方法:https://www.cnblogs.com/sunny11/p/14273947.html
2021/03/31更新
最近在学python3,跟着视频学,感觉挺好用的,python真好用啊。
python3实现Fofa用户版批量提取ip(附流程详解):https://www.cnblogs.com/sunny11/p/14596343.html
使用python3批量生成经过异或免杀php一句话木马:https://www.cnblogs.com/sunny11/p/14599033.html
python3实现漏洞批量探测:http://cnblogs.com/sunny11/p/14596691.html
WAF判别
看图识别waf:https://www.cnblogs.com/sunny11/p/13796473.html
渗透测试思维导图
优秀博客
看别人文章是学习姿势必不可少的一环,这里推荐几个。
干货集中营:http://nmd5.com/test/mobile.php
雨从:http://ddosi.com
渗透笔记:http://xffbk.cn/page/1/
远海:http://websecuritys.cn
hacking8安全信息流:http://i.hacking8.com
小陈:http://hackxc.cc
sec-news:http://wiki.ioin.in/page-1
我是killer:http://cnblogs.com/cwkiller/
在线工具
常用的我就不说了,经常提及,我截图一下我用过的在线工具,想知道的私聊我。
总结
整理了一天,结合了我的知识框架与博客园中的文章,我想这也是一件很有意义的事情,生活真是无趣啊。我从书与影视剧中看过了很多人的人生,我的人生会怎样呢?前两天与我同学聊了聊,我非常感谢我的大学时期自己塑造的价值观,我相信我以后也会以乐观的心态面对生活与工作。我自认为看透了社会,从底层百姓到高层建筑,花花世界都遵循着正态分布,我们大多数都属于中间的普通人,可能最好的状态就是老子提出的中庸之道,在最后祝愿自己能找到一个好伴侣平凡又不平凡的过安稳的一生,一个非常逗比的工科生如是说。再加一条,学过的东西总会藏在你的灵魂深处,学习是不能停止的,考研没成功我也了解了很多不考研根本不会知道的知识点,马克思说,事物的发展历程是螺旋一样曲折前进的,一切都会变好的,我们为改造这个世界贡献自己的力量。