大家好,目前我的身份是安全爱好者,DeadEye安全团队外围主力提鞋扫地选手,0年安全行业经验,以下内容仅供参考,请结合自己的实验确认,以免误人子弟。B站同步分享了视频教学,关键词:sec875。说真的,其实整理这一套的目的就是为了奖励与人民币,没钱吃蟹了。。哪个平台若能给予奖励以后还有后续!!如果没有奖励,出于热爱之心我也乐于分享出去!!我会过一段时间再问问,赏一块两块吧:)啊哈
B站视频 https://space.bilibili.com/474397766/channel/index
主要收集服务器的配置信息,网站的敏感信息,域名,子域名,网站系统,CMS指纹,网站真实IP,开放端口等
用于收集网络注册信息,注册的域名,IP地址等信息。
kali:whois baidu.com
在线whois查询工具:爱站工具网(https://whois.aizhan.com)、站长之家(whois.chinaz.com)和Virus Total(https://www.virustotal.com)
国内法律规定,网站的所有者需向国家部门申请备案,防止从事非法网络经营活动。
ICP备案查询网:http://www.beianbeian.com 天眼查:http://www.tianyancha.com
谷歌语法:
burp suite的repeater功能,查看服务器类型和版本、PHP版本等
github协同环境,开发环境,代码托管,版本控制等环境看看泄露的信息
在线漏洞库查询:比如乌云
如果目标网络规模大,直接从主域入手是没什么机会的,他们也有自己的安全团队。
先从目标的某个子域开始,再想办法迂回接近真正目标是攻击者最主要的思维。
推荐:Layer子域名挖掘机、sublist3r和subDomainsBrute
Layer子域名挖掘机:直接输入域名
subDomainsBrute:python subDomainsBrute.py baidu.com
参考资料:https://blog.51cto.com/simeon/2114251
基于字典 dnsenum -f dns.txt baidu.com
基于已有的数据等映射的方式查询: dnsenum baidu.com
sublist3r:
maltego ce:官网注册,梯子 https://www.maltego.com/ https://www.maltego.com/ce-registration/
参考资料:https://www.jianshu.com/p/012fc0fdacc1
site: baidu.com
很多第三方服务汇聚了大量DNS数据集,检索某个域名会显示很多相关的子域名信息
比如DNSdumpster网站(https://dnsdumpster.com)、在线DNS侦查和搜索的工具
DNS记录
A记录 DNS Servers 名字最终解析IP地址(NS记录指派了我来做) 名字->IP地址
NS记录 NS(Name Server) 负载均衡,分配哪个服务器来进一步解析A记录的任务(指派谁去做)
MX记录 MX(Mail Exchanger)
CNAME记录 CNAME(Canonical Name )别名记录
证书透明度(CT)是证书授权机构(CA)的一个项目,颁发一个证书就把相关的东西放到公共日志中。里面常包含域名、子域名和邮件地址。
查某个域名所属证书最简单的方法就是搜索一些公开的CT日志
推荐crt.sh(https://crt.sh)和censys(https://censys.io)
其他在线子域名爆破网站,IP反查绑定域名网站
Nmap、Masscan、ZMap、御剑
-A 全面扫描 -sP ping扫描,不易被发现 -P0 防火墙禁止ping ,穿透防火墙
--packet-trace 包原理跟踪 -PS 穿透防火墙 -PS80,100-200 防止RST被丢弃 -PA
-PU -PE;-PP;-PM ICMP协议的ping -PA 内网探测 -n 禁止反向解析域名 -R 反向解析域名
-6 --traceroute -PY SCTP协议 -sS 半开放式,较隐蔽
-T0-5 -P 指定端口
指CMS、操作系统和web容器固有的特征来识别它们
CMS:整站系统;文章系统
代表工具:御剑、Whatweb、椰树等
在线网站:BugScaner(whatweb.bugscaner.com/look),云悉指纹(www.yunsee.cn/finger.html),whatweb(https://whatweb.net/)
vim编辑器 i ESC shift+: wq
目标服务器不存在CDN:直接www.ip138.com获取
C段 旁站
静态数据资源(html,css,js图片等文件)直接缓存到节点服务器上,当用户有实际数据交互时才会从远程web服务器上响应。
目标购买CDN服务时,直接ping目标的域名得到的只是离我们最近的一台目标节点的CDN服务器,无法直接得到目标的真实IP
直接ping目标主域,得到一个域名百度一下或者直接观察两者区别发现所有的关键词(甚至包含cdn词语)出入很大,以此来判断是否使用了CDN
在线网站17CE(https://www.17ce.com)超级ping,IP都一致则极有可能没有CDN
IP+端口访问
网站目录扫描工具:DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py、Sensitivefilescan、Weakfilescan
还可以用在线工具站WebScan(http://webscan.cc/)
社工库
linux,Apache,Nginx,MySQL和PHP应用环境
WDlinux集成安装包
kali linux
wget http://dl.wdlinux.cn/files/lanmp_v3.tar.gz
tar zxvf lanmp_v3... 解压
sh lanmp.sh
推荐:pikachu B站 xampp
布尔类型,时间,报错,联合查询,堆查询
参考资料:HackerSploit:https://www.youtube.com/channel/UC0ZTPkdxlAKf-V33tqXwi3Q
phpstudy wamp xampp
kali sqlmap tips:
sqlmap 运行
post请求包检测:
sqlmap -u http://192.168.1.4/vul/sqli/sqli_id.php --data="id=1&submit=%E6%9F%A5%E8%AF%A2"
sqlmap -r ./1.txt
sqlmap -r ./1.txt --dbs
sqlmap -r ./1.txt -D pikachu --tables
sqlmap -r ./1.txt -D pikachu -T users --columns
sqlmap -r ./1.txt -D pikachu -T users -C username
sqlmap -r ./1.txt -D pikachu -T users -C username,password --dump
sqlmap -r ./1.txt --users
--password
当前网站数据库名称 --current-db
当前网站数据库的用户名称 --current-user
当前用户是否为管理权限 --is-dba
列出数据库管理员角色 --roles
HTTP Referer头 --referer
运行自定义SQL语句 --sql-shell
运行任意操作系统命令 --os-cmd
从数据库服务器中读取文件 --file-read
上传文件到数据库服务器中 --file-dest
绕过脚本 --tamper
https 导入CA证书 设置SSL
基于信息的实战
火狐插件:foxyProxy Basic 代理之间切换
about:config
network.proxy.allow_hijacking_localhost
dvwa docker dvwa https://hub.docker.com/r/vulnerables/web-dvwa/
https://portswigger.net/web-security
apt-get install docker.io
docker version
service docker start
update-rc.d docker enable //暂时不开启
docker run --rm -it -p 80:80 vulnerables/web-dvwa //这些参数有助于学习时用一下,退出时不遗留垃圾
192.168.119.131 kali本地ip访问靶机触发抓包
docker run hello-world
docker image ls
localhost 浏览器
burp:
Target: sitemap-删除 show only in-scope items scope http://localhost/
Proxy: Options Intercept Client Requests-and URL is in target scope
zmap
which locate 查找文件
/usr/share/nmap/scripts 脚本路径
nmap -sV 192.168.1.4 服务,版本
nmap --script=brute 192.168.1.4 暴力破解
nmap -p 3306 --script=mysql-brute 192.168.1.4
1.拼接,可控
mysql 5.0以后 information_schema数据库 SCHEMATA TABLES COLUMNS表名
limit用法 limit 0,1 从0开始取一条
mysql # --空格 /**/ 注释符
函数 database() version() user()
union order by
SELECT * FROM users
UNION SELECT * FROM users
ORDER BY username,2,3
这里不采用,书籍中给出的术语。这是我自己命名的术语,请知晓。
/*! */ mysql用于声明其他数据库不兼容则不使用里面的SQL语句,但是mysql本身会执行里面的SQL语句
PHP 手册https://www.php.net/manual/zh/function.sleep.php
/etc/apt/sources.list 软件列表的来源地址,国内通常使用清华源或者阿里的源(百度关键词: kali 源)
apt-get update 就是声明一下可更新的软件列表(比如,您需要更新的列表里面包括QQ,YY,微信等软件请知晓),时间一长这个表会发生变化。列表里面如果没有英雄联盟这个软件,则无法安装与更新
apt-get upgrade 软件升级,这是真正的把你的QQ从1.0版本升级到最新版本,不是给你一个列表来示意!如果升级过程中改动非常大要删除以前的东西,比如删除一些过时的软件包或安装新的依赖项,则不升级
apt-get dist-upgrade 发行版升级,比如删除一些过时的软件包或安装新的依赖项,则升级与安装
service docker start
docker run --rm -it -p 80:80 vulnerables/web-dvwa
192.168.119.131
位置:Proxy-Options-Match and Replace
在修改数据包以后无法直观的看见修改第一次与修改第二次的区别,因此使用比较器。
1‘
1‘ OR 1=1 #
右键- URL-encode as you type
双层,多层URL编码
编解码知识的绕过是:浏览器会使用URL编码将用户输入的变量与值传给后台,而后台没有进行正确的解码。
一个东西经过几次编码以后,表达的是一个意思,而后台误以为是新的东西过来了,错误性判断导致绕过。
以上知识看起来需要找到开发课程,提到URL编码的应用场景以及后台对接收到的URL编码参数进行怎样的接收和处理。但本质上在让我们关注开发课程里面,对流量的产生(用户从浏览器发出的流量)到流量的接收与处理这整个过程,中间都发生了什么。
不仅要理解这个例子,还要通过例子看到本质,这次是编码函数接收,下次可能会出现正则过滤,安全检查函数等,有这种绕过就可能存在其他绕过,举一反三。
metasploit2靶机
dvwa 难度:low 如果您有此靶机可以直接使用DVWA,如果是一个个跟着我的视频刷过来的,我想你已经把docker靶机的DVWA容器准备好了。
输入账户密码:test 12345 此处插一个广告:考证渗透测试,内网渗透以及红蓝对抗,认准微信公众号:DeadEye安全团队 同时我也是DeadEye团队的“外围“主力成员,sec875。因为我技术菜的抠脚,不敢认领核心成员~~emmm。。等我从农夫安全团队出师后,我再来认领这个称号。。同时再自封一个农夫安全团队扫地僧称号。。TQ说不是开源的问题,而是没有实验环境,这句话很精辟。
转到intruder
cluster bomb 焦束炸弹型爆破
kali linux中已经集成了常见的弱账号密码字典
/usr/share/wordists/metasploit/adobe_top100_pass.txt 得到账号为:admin 密码为:password
kali crunch字典生成工具,比如现在大家都知道了大小写加数字加字母加符号,我们可以选择性的生成字典,比如生成三个维度的:1234567890abcdefghijklmnopqrstuvwsyz!()@#¥. 我们可以先从数字开始,先测试弱口令,一个个维度的逐渐增加。数字型密码,字母型密码,混合型密码,密码长度选择10-12
网络中还有一些个性化的个人信息关键词强相关的密码生成器,这需要自己找。您可以只需学会这一个技巧去SRC盯着弱口令的密码刷,然后写个报告把漏洞提交,体验一下白帽子的乐趣!
web应用程序防火墙 waf 黑盒,灰盒,白盒。企业为了节省白帽子门的合法测试时间,可能会把源码,目标都给你看,然后再针对性的测试,找到问题点。
如果存在waf,这个时候就需要用到编码,已特定的编码方式绕过waf。
这个waf检测工具就是wafw00f
lbd负载均衡检测
http://192.168.119.132/mutillidae/
由于burp社区版没有spider模块了,使用dirb来代替蜘蛛爬行功能,扫描功能使用nikto来代替
nikto -host http://192.168.119.132/mutillidae/
dirb http://192.168.119.132/mutillidae/
寻找隐藏的文件
lsb_release -a //查看发行版
apt-get update
apt-get install zaproxy OWASP
zaproxy在最近进行了大更新,可以用。在kali2019.4的版本中将其移除了,可能是观察它过去的时间里没有更新,没想到近期出现了大更新。
https://en.wikipedia.org/wiki/OWASP_ZAP
options-local proxies
实战靶机:http://192.168.119.132/mutillidae/
右键-attack-spider
用户名枚举
HTTP或DNS负载均衡
使用kali自带的lbd工具检测是否存在负载均衡
OWASP Broken Web Applications Project(owaspbwa)靶机
bwapp 选择漏洞场景XSS-Reflected(GET)
<script>alert("hello sec875")</script>
XSS- Stored(blog)
OWASP WebGoat靶机
ajax security LAB:DOM型XSS
<script>alert("hello sec875")</script>
<img src="" onerror="alert("sec875")">
SecIN地址:https://www.sec-in.com
SecIN是启明星辰云众可信旗下信息安全技术社区。社区旨在建设高品质信息安全技术共享生态圈,让每一个信息安全爱好者及安全从业人员在这里自我发展、自我提升。
注意线程数和并发次数等设置的值,会影响到目标的性能造成拒绝服务的问题。
组合型漏洞:通常将跨站脚本攻击与请求伪造组合在一起。 xss rf
OWASP Juice Shop靶机
修改密码的地方
http://192.168.119.132/dvwa/vulnerabilities/csrf/?password_new=1234567&password_conf=1234567
验证请求伪造是否存在:删除变量,改变值,调试一下看看响应包的情况
跨站脚本攻击:再试试xss是否存在
<script>alert("hello sec875")</script>
利用xss的方式触发请求。URL的地方换成请求伪造的payload
自己再试一次,看看是否触发CSRF,如果成功了,说明该漏洞存在。URL的地址就是发送给受害者的payload,发送前可能会使用短连接等方式修饰一下。
https://www.youtube.com/watch?v=tvNKp1QXV_8&list=PLBf0hzazHTGO3EpGAs718LvLsiMIv9dSC&index=13
# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
node --version
我这里各种错误,速度还很慢,改用清华大学开源软件镜像站的方案
如果是 https://deb.nodesource.com/node_10.x/ ,则改为 https://mirrors.tuna.tsinghua.edu.cn/nodesource/deb_10.x/
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
apt-get install -y nodejs
node --version
tar zxvf juice-shop-10.3.0_node10_linux_x64.tgz -C ./
http://localhost:3000
namp
route -n
https://www.youtube.com/watch?v=_c9eHetN6es&list=PLtShq-THkmvMSRm365rPuWDrLCWXd5uGf
https://www.youtube.com/watch?v=cwUrc7JL1hE&list=PLMcXv2jVcbgp4J7240jF3pxGh8LIsHdCU
https://www.youtube.com/watch?v=KmlwIwG7Kv4 hackone
https://www.youtube.com/watch?v=cj9gqqp07tk&list=PLelhKCa4OeJN56V4KF-CglBV15oS7MQUK
https://www.youtube.com/watch?v=XXkMY_VyJ-Y&list=PLV9O4rIovHhO1y8_78GZfMbH6oznyx2g2
https://www.youtube.com/watch?v=t9b48M0RmZY&list=PLwki63kt7nLr3F8CYgK7V_ExcwkGFipl5&index=2
cookie收集和json web token的逆向工程
https://www.youtube.com/watch?v=qtr0qtptYys&list=PLBf0hzazHTGO3EpGAs718LvLsiMIv9dSC&index=14
cookie不是登陆以后得到的,而是进入网站,登陆或者注册,注销等任何动作,请求以后都可能会得到不同的cookie。它是记录你的活动与行为的一些会话值。而不是登陆值。
上下文知识寻找:我随便打开了一本PHP的书,翻到了cookie与session章节,粗暴的过了一遍。并运用了最简洁的笔记法。智慧结晶(也可以称为知识压缩为只言片语,或者脑图,只不过我没有用Xmind软件)
HTTP无状态 跟踪数据的两种方法:cookie,session 浏览器-工具-Internet属性-隐私-高级
意思就是说,如果不使用这些跟踪数据的方法,服务器的网站是不知道你浏览了什么网页,购物栏里放了什么东西,这个余额是哪个用户的。而且你每次进入网站,一切都得从头开始,毫无存档与记录。
比如你设置了自己博客的字体与颜色,网站后台需要开发出对应的编码才能记录你的个人数据,代码如下:
否则的话,你今天设置好了,明天再登录,一切归零。而且别人访问你的博客,后台也无法区分谁是谁。
浏览器-工具-Internet属性-隐私-高级 如果你在这个地方,设置了提示选项,那么你就能看见,发送cookie的名字与值。
通常所说的协议头httponly,其实就是setcookie()这个函数里面的设置值。
完整参数:setcookie(name, value, expiration, path, domain, secure, httponly)
可以设置这个httponly来防止使用JavaScript读取cookie,那么XSS攻击cookie自然就失效了。
cookie将数据保存在客户端(浏览器)。session将数据保存在服务器,功能也比cookie多一点。
进入到解压后的文件夹中,使用npm start开启靶机
右键-审查元素 存储
注册 sec875@sec875 123456 母亲的娘家姓:liqing
登陆以后 再次查看cookie 多了一个token值
复制web令牌: Json web token 身份验证令牌
进入编解码网站以后,注意原始值的点号分割三段,第一段为头部分JWT以及字符串转换算法,第二段为json web token的有效载荷部分(payload),我们可以编辑token比如改一改ID值然后复制变化的原值到浏览器中,密码一看就是MD5哈希密文,直接使用MD5解密。我们关注token值里面的ID,email,name,password等字段信息,对它们进行篡改来进一步做渗透测试。如果你的电脑被别人在几秒钟内访问过,那这个token值就泄露了。
HTTP属性(Cookie窃取)
https://www.youtube.com/watch?v=8s3ChNKU85Q&list=PLBf0hzazHTGO3EpGAs718LvLsiMIv9dSC&index=15
<<script>test</script>script>alert(document.cookie)<</script>/script>
<iframe src="javascript:alert(`xss`)">
https://www.youtube.com/watch?v=nH4r6xv-qGg&list=PLBf0hzazHTGO3EpGAs718LvLsiMIv9dSC&index=16
目录爆破
bonus payload 第三方声音API接口的资源
DOM
比如包含一个admin,前缀可以自己生成一个1-4位的大小写字母数字和特殊符,后缀同理
注意:80%的人可能都会使用类似的密码习惯或在原有的密码基础上进行一些派生式的修改,比如将admin@123修改成为了admin@123456!,一般情况泄露了第一个密码,可能会接二连三的泄露后面很多的密码。除非这些密码都是相互独立的,字符串的差异性特别大。
从B站的第17个实战视频开始,后面的视频优先发布在知识星球:攻防对抗姿势
主要是前面B站上的视频太啰嗦了,比较随意。最近的视频唠嗑环境很少,较为精简放星球上。
支持的人越多,创造的人就越多,我们学习的环境就越好。 请sec哥哥喝奶茶:)
原文:https://www.cnblogs.com/sec875/p/13158674.html