AWD比赛入门攻略总结 您所在的位置:网站首页 nginx探测端口存活 AWD比赛入门攻略总结

AWD比赛入门攻略总结

#AWD比赛入门攻略总结 | 来源: 网络整理| 查看: 265

竞赛介绍 前言

最近参加了一些AWD比赛,之前没怎么接触过,顺带做个总结,希望能帮助到大家。

竞赛题型

主要题型为WEB和PWN,涉及语言多数为PHP,还有少量Java、Python。 WEB主要是一些CMS和框架安全漏洞,如注入、上传和反序列化等,更多是依赖已知漏洞。

竞赛拓扑

AWD比赛入门攻略总结

竞赛流程

一般比赛会将加固环节和攻击环节分开,先统一加固后再进行攻击。

AWD比赛入门攻略总结

攻击技术解析 信息确认

开赛前会给到参赛选手相关信息,如下图所示:

AWD比赛入门攻略总结

说明:

标记1:比赛名称

标记2:白名单一般用于防止外部恶意攻击,如果赛方发现名单以外IP 可能会进行封禁处理。

标记3:用户服务器登录,账号为team1 密码为fe85d7dec6e3757f391e013efdd67c0c,端口为2222,一般服务器为Linux系统,登录工具可以使用xSHELL,finalSHELL等。

标记4:Token主要用于脚本身份凭证用于自动化提交鉴别。虚拟IP为靶机访问网址。其他选手地址为192-168-x-250.pvp923.bugku.cn,x可以是1-255内任一个数字。

标记5:主要用于扫描其他选手靶机用来攻击获取到根目录FLAG并提交得分,靶机环境和自己的靶机一致。

标记6:FLAG提交处。

标记7:用于脚本提交的api接口。

标记8:大屏观赛区

也有可能是这种,做个参考吧。

AWD比赛入门攻略总结

登录靶机

以FinalSHELL为例,使用账户密码登录。 操作如下图所示:

AWD比赛入门攻略总结

说明:

标记1:主机地址,网址或ip地址都有可能。

标记2:端口信息,根据赛方信息提供

标记3:输入赛方提供的用户名和密码进行登录,用户权限一般较低。有时候会用RSA公钥登录的方式进行登录。

信息搜集 主机探测

一般使用nmap或httpscan

查看自己主机IP:

ifconfig #Linux ipconfig #Windows

扫描C段存活:

namp -sn 192.168.0.0/24 #扫描C段主机存活 httpscan.py 192.168.0.0/24 –t 10 #扫描C段主机存活 端口探测

一般先搜集自己的主机端口信息,比赛主机开放端口情况大多情况一致,然后类比指定扫描其他主机端口信息,最后挂后台全端口扫描防止端口遗漏!

nmap -sV 192.168.0.2 #扫描主机系统版本 nmap -sS 192.168.0.2 #扫描主机常用端口 nmap -sS -p 80,445 192.168.0.2 #扫描主机部分端口 nmap -sS -p- 192.168.0.2 #扫描主机全部端口

nmap官方文档: https://nmap.org/man/zh/man-host-discovery.html

httpscan 主机探测: https://github.com/zer0h/httpscan

应用发现

apaech2.conf是主配置文件,不是真正的具体配置文件,它只是把各 个零散的配置文件以inluceding方式包含进来,如下图所示:

AWD比赛入门攻略总结

组件发现:

find / -name "nginx.conf" #定位nginx目录 find / -path "*nginx*" -name nginx*conf #定位nginx配置目录 find / -name "httpd.conf" #定位apache目录 find / -path "*apache*" -name apache*conf #定位apache配置目录

网站发现:

find / -name "index.php" #定位网站目录

日志发现:

/var/log/nginx/ #默认Nginx日志目录 /var/log/apache/ #默认Apache日志目录 /var/log/apache2/ #默认Apache日志目录 /usr/local/tomcat/logs #Tomcat日志目录 tail -f xxx.log #实时刷新滚动日志文件

以上是定位常见文件目录的命令或方法,比赛需要根据实际情况类推,善用find命令!

备份扫描

自动化利用扫描工具参考: https://github.com/sry309/ihoneyBakFileScan 多进程批量网站备份文件泄露扫描工具 https://github.com/maurosoria/dirsearch WEB网站目录扫描

攻击主机端口

端口利用主要方式是未授权访问和弱口令漏洞。

未授权访问漏洞利用总结参考: https://paper.seebug.org/409/

常见端口利用总结参考: https://www.cnblogs.com/ldragon2000/p/14161054.html

部分利用工具参考: https://github.com/vanhauser-thc/thc-hydra Hydra九头蛇 https://github.com/shack2/SNETCracker 超级弱口令工具 https://github.com/se55i0n/DBScanner 数据库爆破工具 https://github.com/cwkiller/unauthorized-check 未授权检测工具

字典参考: https://github.com/cpkkcb/fuzzDicts https://github.com/TheKingOfDuck/fuzzDicts

攻击WEB服务

一般通过访问获取的端口就能访问到预设的WEB靶场,如下图所示:

AWD比赛入门攻略总结

WEB 方面的语言多为PHP,小部分为Java 和Python。这里的WEB环境分两种情况。

一种是已有漏洞的框架,一种是出题人写的框架。如果是已有漏洞的框架,通常会比较明显。比如说Struts2各种漏洞等等,用工具扫就可以扫出来。这个需要准备得比较充分,在电脑中备好 EXP 库、漏洞库和各种扫描工具库,以便能够快速利用比较明显的漏洞。

另一种情况就是分析WEB日志,学习其他选手攻击思路和漏洞利用过程,也是一个不错的得分途径。

别忘了WEB后台弱口令!!

漏洞资料库集合参考:

https://github.com/cckuailong/vulbase

部分已知漏洞检测工具参考:

https://github.com/chaitin/xray 支持被动主动扫描 https://gobies.org/ 主机探测、端口爆破和漏洞检测 https://github.com/knownsec/pocsuite3 批量利用框架

权限提升

现在比赛很少直接给予root权限,不多谈。但是加固环节权限过低无法进行,如果比赛允许可以尝试提权。

提权参考: https://cloud.tencent.com/developer/article/1942516 一般提权 https://github.com/SecWiki/linux-kernel-exploits 提权脚本

权限维持

拿到WEBSHELL后,需要维持权限!简单的WEBSHELL 一眼就会被识别,在AWD 中优先考虑种不死马、反弹 SHELL等留后门方式维持权限,以便后续刷 FLAG,再考虑提升权限。

隐藏的文件读取

header(php'flag:'.file_get_contents('/tmp/flag'));

条件允许的话,将flag信息直接读取并返回到header头中,这样做不易被发现。

PHP不死马示例:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有