欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

网安学习——信息收集

时间:2023-06-26

   

          1)旁注

        旁注是一种入侵方法,在字面上解释就是-"从旁注入",利用同一主机上面不同网站的漏洞得到webshell,从而利用主机上的程序或者是服务所暴露的用户所在的物理路径进行入侵。同服务器不同站点。两个网站或者多个网站放在同一个服务器上,其中一个网站是目标。

        可实施前提:

                有多个站点服务器;

                www.a.com(目标)

                www.b.com

                ........

                独立站点服务器

          2)c段

        同网段不同服务器不同站点。网站有一个或多个站点,通过服务器IP地址的网段来进行测试。              

                192.168.1.1

                www.a.com(目标)

                www.b.com

                ........             

                192.168.1.101

                www.a.com

                www.b.com

                ........

        通过查询网段1-254,去获取101网段服务器权限,在通过服务器同一个网段目标主机来实施内网安全的测试方法,来获取指定网服务器的权限。

(6)搭建软件

        如phpstudy、宝塔等搭建软件; f12查看站点信息,信息较全的通常软件搭建,如:        Apache/2.4.41(win32)OpenSSL/1.1.1c mod_fcgid/2.3.9a;

        类似搭建软件通常会有默认的账号密码或者是安全设置,如:/phpmyadmin目录

2、WAF         (1)简介(百度百科)

        Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品;

        Web应用防护系统(Web Application Firewall, 简称:WAF)代表了一类新兴的信息安全技术,用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题。与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。    

   (2)如何快速识别waf:wafw00f

        1)wafw00f下载及安装:

                github地址:https://github.com/EnableSecurity/wafw00f

               kali自带wafw00f:

                        a、启动命令:wafw00f -l

                

                       b、使用命令:wafw00f 域名/ip

                 

        2)sqlmap:

                命令:python sqlmap.py -u “url” --identify-waf

二、app及其他资产         1、app提取及抓包及后续配合

        (1)某apk一键提取反编译

                漏了个大洞安装及使用:

             APK提取反编译 漏了个大洞下载_热爱编程的菜鸟-CSDN博客_漏了个大洞

        (2)使用burp历史抓更多url

        2、某ip无web框架下的第三方测试思路

        (1)各种端口乱扫

        nmap、搜索引擎(shodan、钟馗之眼、fofa.info等)

       

        eg:

        

        

        (2)各种接口乱扫

        (3)各种接口测试

        3、实例(某传销网站)

        (1)查看网站

                

         (2)搜集各种信息:

                1)搜域名,查看各种端口

                

                

                发现登录端口

                

                2)ping 网站发现真实ip

               

                子域名查询

                

                旁注查询

                

                3)备案查询

                

                

                

三、资产监控拓展

 

1、POC、EXP、Payload与Shellcode

        渗透中POC、EXP、Payload与Shellcode的区别_浅浅的博客-CSDN博客_poc和exp     

(1) POC:全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。

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

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

        Shellcode:简单翻译 ' shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。

(2)POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了POC,才有EXP。

        Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的EXP,也就是说不存在通用的EXP。

        Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。

        Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。

2、github监控

         

3、各种搜集

                

 4、演示:监控最新的EXP发布及其他   (1)代码如下:

#Title: wechat push CVE-2020#Date: 2020-5-9#Exploit Author: weixiao9188#Version: 4.0#Tested on: Linux,windows#cd /root/sh/git/ && nohup python3 /root/sh/git/git.py &#coding:UTF-8import requestsimport jsonimport timeimport osimport pandas as pdtime_sleep = 60 #每隔 20 秒爬取一次while(True): headers1 = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"} #判断文件是否存在 datas = [] response1=None response2=None if os.path.exists("olddata.csv"): #如果文件存在则每次爬取 10 个 df = pd.read_csv("olddata.csv", header=None) datas = df.where(df.notnull(),None).values.tolist()#将提取出来的数据中的 nan 转化为 None requests.packages.urllib3.disable_warnings() response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&per_page=10",headers=headers1,verify=False) response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10",headers=headers1,verify=False) else: #不存在爬取全部 datas = [] requests.packages.urllib3.disable_warnings() response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&order=desc",headers=headers1,verify=False) response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc",headers=headers1,verify=False) data1 = json.loads(response1.text) data2 = json.loads(response2.text) for j in [data1["items"],data2["items"]]: for i in j: s = {"name":i['name'],"html":i['html_url'],"description":i['description']} s1 =[i['name'],i['html_url'],i['description']] if s1 not in datas: #print(s1) #print(datas) params = { "text":s["name"], "desp":"链接:"+str(s["html"])+"n简介"+str(s["description"]) } print("当前推送为"+str(s)+"n") #print(params) requests.packages.urllib3.disable_warnings() requests.get("https://sct.ftqq.com/SCT120223TgU9or8Qt2deaV50HnarzVRBN.send",params=params,headers=headers1,timeout=10,verify=False) time.sleep(1) #防止推送太猛 print("推送完成n") datas.append(s1) else: pass print("数据已在!") pd.Dataframe(datas).to_csv("olddata.csv",header=None,index=None) time.sleep(time_sleep)

(2)步骤:

1)在sct.ftqq.com扫微信注册账号,获取sendkey:

        

2)将sendkey值复制到requests.get这里:

 

3)执行结果:

 

        

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。